We had it so easy on the web. You make your app once, and it ran everywhere. Sure, we had to contend with some nasty browser wars, but we learned how to work around those, and it all worked out in the end.
Now we’re back in trouble.
Developing for mobile means developing for iOS and Android, at least. Not only are they different OS’s (analogous to different browsers), but worse, they have different UI standards and expectations by their users.
So you can’t just create 1 UI for your app anymore, in an ideal world, you create mutliple UI’s.
Except, I am not convinced it works that way. I haven’t seen apps that successfully create many different experiences, each tailored to a different OS and set of UI expectations. The WinPho Twitter app, for example, kind of follows WinPho conventions, but it seems cobbled together and lacking, compared to their iOS app. It’s the same with most apps.
On the other side, the more successful apps seem to be creating 1 experience and porting it to multiple platforms, local UI expectations be damned. (Facebook, Path, etc. have essentially the same app, with very small concessions to local UI conventions, on different platforms).
It’s a conundrum. I’m not sure what the answer will turn out to be. Will we make different UI’s for different OS’s? Will some kind of “generic”, cross-OS UI conventions evolve (despite the OS owner’s best efforts to avoid this)? That’s where my money is right now, but I could change my mind tomorrow. Or perhaps we’ll all end up in HTML5 app land (although that is starting to seem unlikely; if it was going to happen, wouldn’t it have happened already by now?)