I often hear companies complain that transitioning to mobile is overwhelming. The mobile space is new and constantly changing; there are many opinions but few best practices.
“Which MDM vendor should I choose?”
“How do I enforce a Bring You Own Device policy?”
“Do I develop using native or web technologies?”
“Which tablet is the best for our business?”
Almost every week, a new mobile device is launched. Several new mobile OS’s are announced each year, each hoping to take a piece of the lucrative pie. If you are trying to make heads or tails out of this situation, it can quickly become frustrating. More than anything else, you want solutions that can respond to the changing marketplace effortlessly; something that doesn’t bind you to a single platform; something that can help you to “future-proof” your business.
Today, standards are being written at breakneck speed to provide native features in the browser. Performance, multimedia support, and a vibrant development community rival those of each of the native platforms. HTML5 is today’s best technology for future-proofing your apps, creating a seamless cross-platform experience without locking into a vendor.
The sheer number of device form factors and platforms available means there is no way to use native technologies to provide access to more than a very small subset. Even if there were a clear market leader today (which as of the time of this writing there isn’t), that may change dramatically in 6 months. Your employees and customers may soon be demanding access on watches or devices not yet conceived, and you need to be ready.
There are obviously still many compelling reasons to use native platforms and each comes with a unique set of features to take advantage of. However, often times when choosing technologies, companies suffer from ‘eyes bigger than stomach’ syndrome and they look at what the platform can do instead of what they actually need from it. We’ve seen countless businesses turn around and build web apps after spending vast amounts of resources building native first.
To illustrate the benefits of a single platform, consider the following analogy: When you rent a car for a trip to the mountains, you know there will be some gravel, a few bumps and ruts, but you’ll spend most of your time on pavement. You can tell the rental company that you’ll get a Ferrari for the pavement and then stop in at another rental location to swap to a Hummer for the off-road parts. But this is insane. While the cars are perfectly valid options for their respective requirements, they aren’t pragmatic choices. Native platforms are great if you have a very stringent set of requirements. They can quickly become a straightjacket if you need something more flexible.
In reality, your plans may change at a moment’s notice. Having rented four different cars at four different rental locations means you can’t make a spontaneous scenic drive at the drop of a hat. Unless your company is an aberration, it is almost guaranteed that your business will have different requirements as soon as the next quarter. As a result, the technology you choose should provide you with near limitless flexibility, industry-leading usability, attainable tools and developers, and adaptability for future platforms.
You may be under the impression that using web technologies is a compromise, however, this is not the case for most consumer and enterprise apps: web technologies are often indistinguishable from their native equivalents.
Microsoft has dramatically embraced web technologies; using them to build Windows 8 apps is their recommended approach. In a Build 2013 talk, they state, “we have taken a big bet on HTML” by creating a third development paradigm to DirectX and XAML. On Windows 8, they migrated their most popular app, Mail, to HTML5. But it doesn’t stop there: Microsoft has chosen to build Calendar, People, Store, Skype, Xbox Music, Xbox Video, Xbox Games, Travel, Weather, Sports, News, and Finance apps the same way.
Microsoft wouldn’t make this seismic shift without some confidence in the staying power of the technology and it isn’t the only company making the jump to HTML5 either. BlackBerry encourages using their WebWorks platform which works very much in the same way. Newer, experimental operating systems like Chrome OS and Firefox OS have made the web the only way of building apps.
The W3C head of the Core Mobile Platform Community Group, Jo Rabin, claims that “the web quite clearly has the very significant advantage in that it has a totally cross-platform reach. The web is really the only viable platform on which you can say ‘I will write this thing responsively and it will work, broadly speaking, on any device.’ That can’t be said of native platforms and that seems to me a clear advantage of the web platform, and one that will be emphasized over and over again.”
It’s important to mention the thriving ecosystem that allows mobile developers to integrate web technologies into native apps. No doubt you’ve heard mention of the likes of PhoneGap, Appcelerator Titanium, AppGyver, and Trigger.IO. New platforms or even home-brewed versions emerge all the time. They offer the promise of “write once, run anywhere”. While this isn’t true in a strict sense since each platform still requires some custom work to package the app for their devices, they get you most of the way there. In addition, PhoneGap has the track record and community to help you build anything you can conceive.
Success in the mobility space requires long-term strategy. While the future is hard to predict, we have technologies that set a precedent for adaptation and multi-platform support. As a result, we have a future-proof solution to the extent possible in today’s complex mobile world. As native platforms adopt new and more appealing technologies, browsers are quick to catch up. Instead of falling behind, the web is becoming better and better at quickly evolving to match native experience across the board.