First You need an app that solves a need (doesn't matter if other commercial or open source alternatives exist) and does not completely suck.
That's the easy part.
Then you need a channel to display your app. That also does not seem so hard these days. Mac, Windows both have stores, we can consider Synaptic and Ubuntu store thing to be a channel too(setting aside money question for now).
Unfortunately channel is not going to suffice.
The hard part is getting a funnel, that is a way to guide your prospective customers to your product.
One method perfected by patio11 was to create SEO friendly content for one audience, but use the SEO juice to sell to completely different audience. This is very very hard to do.
Of course, if you already have your own channel(nice e-mail list), then you can push your apps too.
But building an e-mail list is again very hard.
The days of late 1980s shareware boom have been over for a long time, but I suspect with razor sharp focus there are still some success stories(paging Patio11 and his Bingo Card Creator).
Disclaimer: I write internal apps at mediumcorp for a living and have no personal indie success stories.
Evan is a frequent contributor here on HN and it's also worth reading most of his other articles/posts as well.
Sure. Lots of people are making money from desktop apps. Just because it's not hip or cool these days doesn't mean it's useless.
Heh, good comment about Notch, and the others you mention too. For those who don't know, from the Wikipedia article about Notch - http://en.wikipedia.org/wiki/Markus_Persson :
"He is planning to stop working on this game after a recent deal with Microsoft to sell Minecraft for 2.5 billion dollars."
A huge outlier, of course, but the potential exists.
I do not see a change anytime soon.
With the XYZ (Apple, Microsoft) stores these days I wonder if a $39-99 desktop software can truly have success on these compare the the average < $9 app.
High-end B2B software can certainly be profitable, I would guess the $500-2500 software coming with support, integration, training etc.