My best thinking seems to be done in the shower. Yester-day, in the shower, I came up with the idea for what may in fact be a killer app.
The thing that distinguishes a killer app is not that it provides an excellent solution to a problem so much as that it provides an acceptable solution to an excellent problem. That is to say that a killer app may not have ideally efficient code, but manages to do something very desirable that other programs pretty much aren't doing at all.
Some time ago, I wrote a simple pair of programs for the use of the Woman of Interest and myself. Their functionality is very limited, and they were written under an assumption that now seems more dubious. So I was thinking about how to rewrite them into something more powerful, and quickly developed the general idea for the hypothetical app.
Later, I returned a phone call from my friend Phillip (a programmer), and during the course of our conversation sketched the idea for him, telling him that I would want to discuss it at some future date. But Phillip quickly got very actively interested, and discovered that I had coherent answers for related programming questions. (What I don't have are answers for some of the marketing problems.) Basically, he wouldn't let go of the subject, and we ended-up talking for hours. Phillip had one excellent technical suggestion about how to improve the app. He's planning to research potential sources of competition, and then get back to me.
The nature of the app is such that, if some party produces a decent implementation and gets a significant number of users before anyone else produces a decent implementation, then that party can probably profit for years, by virtue of path dependency. But, if a well-funded rival recognized the potential market before there were already a substantial number of users for the app, then that rival might be able to get utterly displace the first party. Hence, I'll remain annoyingly vague about the idea, until I either abandon it or have product ready to move.