I’ve been thinking a lot lately about the merits of mobile native development compared to mobile web development. Native mobile development is so complex and fraught with so many pitfalls, and that situation doesn’t look like it’s changing much, despite the advances many handset manufacturers and platform providers trumpet. Myriad technical issues remain, while the difficulty in establishing a business model persists.
Obviously this isn’t a zero-sum game; there are plenty of instances where native apps make a lot more sense than web apps or services (or are the only way to tackle a problem). But are those instances becoming more rare? And will the best mobile devices in the future — in terms of development platforms — just be the ones with the best browser?
Michael Mace beat me to the punch with an excellent post today, asserting that “The business of making native apps for mobile devices is dying, crushed by a fragmented market and restrictive business practices.” The general gist is that native development is a real pain in the ass — and the business model is so broken that the rewards for those who undertake the task aren’t that great anyway.
Mike Rowehl and Dean Bubley both have good responses on their own blogs, and both echo the horses for courses point, while illustrating some of the problems with the native app business environment — in particular, Dean highlights the difficulties of distribution, given the lack of a viral mechanism to spread apps as well as the resistance of most people to install applications.
What got me thinking about all of this was the Nokia N82 I picked up recently. I’ve been pretty happy with it, as the hardware features are great, and the S60 software platform is improving (for one thing, it’s gotten a much-needed speed boost). But it still has a lot of faults from a usability angle: it’s just way too damn complex. Getting all of these great features like Wi-Fi set up are a challenge, even for a seasoned mobile tinkerer like yours truly. I can’t imagine handing one of these to a normob and asking them to get the Wi-Fi working. Furthermore, I spent a good deal of time installing all my usual apps when I got the phone. It’s hard to see an average user spending so much time getting things all set up. In comparison, opening up a web browser and navigating to a page is much simpler (though it remains far too difficult on many browsers).
Mobile web development isn’t without technical issues of its own, fragmentation among all the different browsers paramount among them. And if you’re looking to reach hardware or other functionality of a device, web apps don’t always offer much help (though this should be changing). There are plenty of cases in which native apps still make sense and can thrive (Dean runs through a bunch of them in his post), but I think the confluence of the business and technical environments (and I guess you could say the telecom environment, too), will push many developers towards the mobile web instead of native apps.