Now that I'm an independent developer again, I've been giving a lot of thought to what I should learn next. I still love Delphi for developing Windows desktop apps, but I've been doing that for (holy shit!) 15 years now and it's waayyy past time for me to update my skills.
I had been leaning towards iPhone development, and I even attended Macworld to get a feel for the development community. But as wonderful as the iPhone developers I met were, I'm completely turned off by the way Apple handles their App Store. Having a one-stop shopping source for the iPhone is great – I'd love to have something similar on Windows so customers wouldn't have to fill out their personal information every time they want to buy software online – but Apple's lack of respect for their developers killed any interest I have in iPhone or Mac development.
The obvious choice, then, is for me to drop desktop/single-device development completely and create web-based software. Nothing for customers to install – they just browse to a URL to use my app. The trick, of course, is to create a web app that people are willing to pay for. I'm not one of those developers who wants to rely on VC financing to stay afloat while they figure out a business model, and I'm far from convinced that every web developer can earn a living from advertising (yes, I recognize the irony of me saying that). Having a family to support sort of kills the willingness to create something and hope it somehow makes money down the road (I mean, have you seen the cost of health insurance these days?).
Strangely enough, I find myself leaning towards sticking with Windows development. I say "strangely enough" because I have a love/hate relationship with Microsoft, and I cringe every time I see a Microsoft app favor geekiness over simplicity and usability. But lately I've been impressed with what they're coming up with. Their moves with Azure, Silverlight and .NET are impressive and show that they're not down for the count. For the time being it may not be "cool" to develop for Windows, but if you care about being cool, then WTF are you doing being a geek in the first place? I'm perfectly fine being anti-cool if it enables me to keep my family covered and develop software that tons of people use.
So…if you've read this far, then there's a good chance you're a developer and not just someone who uses my software. If so, what would you do in my shoes? What platform and development tool(s) would you focus on now?