With the growing popularity of mobile devices, native application features are in high demand. After all, people want to be able to do everything they can do at a desk while traveling or hanging out in a coffee shop. One caveat, though, is the proprietary features different types of devices offer, requiring developers wanting to reach the broadest audience to rework their apps to function on several different platforms.
Native apps are those that run directly on the device, rather than via a web browser or other web-based application. For example, if you download a Twitter client to run on your phone, that is a native application.
We faced this years ago – back when desktop software was proprietary to the operating system (OS) you were running. In the beginning, you could only run Photoshop on a Mac and Microsoft Word only ran on PC. With the ability to run dual operating systems we now have the best of both worlds, without requiring every developer rework software to run on different types of systems.
With smartphones, though, we’re limited. I use webOS (I own a Palm Pre Plus) which means I can’t run applications developed for the iPhone or Android devices.
Mobile web apps could allow any device to connect and use the application. By utilizing HTML5, JavaScript and a few other goodies, developers can reach a much broader audience and features can be added more quickly. It also means all fixes and updates are done on-the-fly, so users don’t even have to manually check for software updates.
Still, part of the attraction of doing things on a mobile device is actually working “on the device.”
A document writer, for example, runs differently natively than it does as a mobile web application. On the web, everything you do – from starting a document, applying formatting, to saving the file, relies on a connection. And not just your connection (Wi-Fi or through a 3G or 4G network), but also jumping through all the hops it takes to connect to the server itself. Natively, though, everything could be done more quickly, with only saves and application updates requiring a connection. Plus, if a connection is non-existent, a native app could also save the work to the device itself, even if in a format that requires a server connection in order to be packaged for sharing with others.
Another issue is the OS itself. Each OS has its own set of features – many of which users have become reliant upon. For me, it’s the touch commands, card swiping and Universal Search (which allows me to just start typing anything on my device and the appropriate contact, app or file is returned). You can’t offer the search feature on my smartphone unless you also write information to my device that takes advantage of webOS.
Are mobile web apps the wave of the future? Possibly, but from my standpoint, there are several hurdles to clear first – like connection speeds (we need ’em higher), local saves (for backups) and education (developers will still need to understand some elements of each OS). That, and, developers will need to listen even more to users in order to gain the competitive edge.