I've been developing for the Android Market since May. There are some things to consider. One is some companies don't expect immediate success - lots of banks and such which may have been slow to get a website, have decided to get on smartphones and tablets now. The return for this might take years to come, but they have plenty of money. Why not do it now? They have the money and forecasts show they'll need it eventually, to stay competitive. Sometimes it is existing software. For Android, the Adobe PDF reader was really junky for the past few months. They just released an update, and now the app is much, much better. So they also are protecting their brand.
My capital costs, other than my labor time, are approaching $0.00. Well actually approaching $25.00 as that's what a lifetime Android Market account cost me. I have Admob ads in most of my apps, and average 5 cents a click. So after 500 clicks, I'm in the black. I can go on vacation for two weeks, and come back and see how much I have earned in the interim on Ad clicks. If I wanted to, I could sell apps, or do in-app sales and the like, and maybe I'll try that in the future.
This is something I enjoy doing. I do everything - I look over the entire market, I think up what to do, I write the code, I do the layout, I do the artwork (or get free for commercial ones from findicons.com, iconfinder.com etc.), I decide which user-requested features to implement and which to ignore. I decide whether to work on a new project or improve my existing projects. And then I get the money. Another thing is with work, in this young market, my check is increasing every month. Some of it is my improved products and some of it is people getting new Android devices for the first time.
Some of the things our community knows are relevant here I think. Release early, release often! Are there any Android apps which could load and search Microsoft Access databases on the phone, even if it had no network connection? There wasn't back in June. There still is not one as far as I know other than mine - Panacea Database. I didn't even have to do the Access-specific work, there was a LGPL license library out there I used called Jackcess. My first release took four days - all it did was load the database and iterate through the table rows. You couldn't even iterate backwards, and users said it then looked like junk on smaller phones. But in terms of competition, only one app came close, and for some things (free for an unlimited time, able to handle Access without needing to install a desktop app), it had no competition. Now, 1500 active users later, I have made a lot of improvements, many suggested by users. Which is another thing known by our community - listen to the users, and with a little bit of discrimination, let them have a large hand in determining the roadmap.
Panacea Database was really just an experiment to see if I could successfully port a popular open source Java library to Android. The experiment was an all-around success: I ported it, I sent patches back to the library which helped improve its Access 2010 usage (actually the lead developer took my patch and improved it even more), and lots of users are happy they can do what they want on their Android phones and tablets, and I'm making money on ads. And - I'm helping, in a very small way, an open source Linux platform be more useful. It's a small effort, but combined with a lot of other people like me, it has an effect. The users make out, the library makes out, Admob makes out, Google makes out, the manufacturers make out, the carriers make out, and I make out.
So the map seems pretty open to me. As the Cathedral and Bazaar says, whether its open source or not, scratch your own itch. Think what you'd like to see that is not on Android - or not on it in the way you want. Will people be able to find your app? There's 2 or 3 popular file managers, and those apps are easily findable by searching for file explorer or file manager or whatever. Will your app be as easily findable? Will people be looking for "file manager" or whatever yours does? I use file manager as an example as it's something to avoid - there are 3 popular file managers with many features, and you'd really need to bring something new to things to compete with that. Yours would need to be as good or better than the best of those 3 to make a dent in market share. But plenty of things people want are not out there yet. Read the message boards and forums of people complaining what they can't do on Android. If you can program, you can fill that niche.
Another thing of release early, release often - I try for my first version to be put out as fast as possible, with as few features as possible - but that people will still be happy. So people won't feel they wasted their time downloading it. Maybe I'd get a 3 or 4 star rating in the market. "Good, but should have feature X and Y as well". So enough people want features X or Y, or if it sounds like a good idea regardless, implement it. The "waterfall" development method of going off into a cave and developing for a year or two and coming back is probably not a good idea. Better to put it out (once it is somewhat useful though) and see if it takes off or drops with a thud. It's a delicate balance of deciding when to release - you don't want to do it too early, but you don't want to spend months of hard work and then learn no one cares. It's generally agreed developers tend toward the latter and err on too late rather than too early. I generally aim to spend no more than a month working on an app before releasing the first version. The idea would have to be really spectacular for me to spend more time.
People have been quoting Steve Jobs lately, and one thing he basically said is he didn't think about making money but about releasing great products that people wanted. He figured if you focused on that, the money would follow, and in his case he was right. For Panacea Database, the nice comments, occasional five star ratings and thank you emails are in many ways a payment for the work on that app, along with the ability to be giving back patches to the Java library I built around, and writing useful apps for an open source platform, Android, which I enjoy using. I also enjoy the craftsmanship of doing a job completely by myself. The money from Admob is just icing on the cake.