With the ever increasing development of cloud computing, are web applications a threat to traditional desktop operating systems?
Cloud computing is a term thrown around a lot these days and increasingly we are seeing a shift to the cloud. The cloud offers many advantages, key among them being that data is stored in a remote (hopefully) secure location. The use of parentheses there is a not-so-subtle hint about one of the major issues that comes along for the ride.
One of the biggest questions is what do web apps mean for operating systems, are we going to see Windows and Mac turn into fancy, somewhat superfluous ways to launch a browser? It seems Google thinks so as it has been busy creating Chrome OS, an operating system which is, in essence, just a browser. It’s almost laughably simple, they’ve taken Ubuntu, stripped it down and made it run only a subtly different version of Chrome to what we already see today.
With Internet Explorer 9, Microsoft has worked to integrate web applications into the operating system so that line between native and web becomes somewhat blurred. One of the main changes has been the size of the browser ‘chrome’, as with many of it’s competitors Microsoft has decided to put its browser on a diet. This is of course an ever increasing trend, giving as much screen real estate to the web-pages themselves as possible. Indeed, making the UI fade into the background has become a bit of a bandwagon with phrases such as ‘so I get to see the content I care about’ being thrown around in abundance. Let’s not pretend for one minute that all but the most casual of users can afford to throw away the rest of the OS and just use the browser though.
Some applications simply have no net based alternatives, some aren’t feasible because of the sandbox created (very purposefully) to stop web-pages breaking out into the rest of the OS.
It’s not just technical feasibility that’s an issue though. Let’s not forget that web apps are a bit of a user interface nightmare. Native apps at least integrate with the look and feel of the operating system and generally conform to guidelines, at least partially through the constraints of the API. This means users of a Windows computer have a reasonably constrained, consistent environment where user’s mental models aren’t consistently challenged and broken. The same goes for Mac. Yes, it’s not perfect but native apps are generally more in-keeping and produce a better overall user experience. This is why we constantly see the ‘applification’ of common Internet sites for mobile devices. It produces a user experience which is more integrative with the environment of the rest of the phone. Perhaps Apple is partly to blame here, a sucker for great user experience and the benefits of integrated hardware and software, they promoted the app-centric model heavily with the iPhone.
So can you create great web apps for the iPhone which are as good as native equivalents? Yes, but there are at least three issues. Creating a native application restricts and encourages developers to follow certain patterns. Most of the UI will be made out of standard elements provided in the SDK. The end result is with little effort the application looks like an iPhone app. When creating a mobile web app you ideally want it work on all platforms which have a reasonable browser. The natural tendency is that it has it’s own style, this is great in that it’s consistent across platforms but not so great in that it looks nothing like the rest of the UI the user is exposed to on the phone. You could make it look like an iPhone app by carefully hacking the UI (that is trying to replicate the iPhone UI using HTML elements and images) but that’s not great for users on other platforms. Besides, with different people trying to hack together iPhone style UI’s you get different results which in the end could be less consistent and create more confusion than if they hadn’t bothered at all.
Problem number two is simply that on mobile devices users are now accustomed to the app-centric model, specifically in terms of acquiring and running. People go the the app store on their phone to find new apps, they don’t go off searching the Internet hoping they’ll find a web-page which just happens to work perfectly on their phone and meet their UI expectations. It’s with fairly good reason too because bar the most popular sites (Facebook et. al.) it’d be largely a crazy thing to expect.
Problem three is that currently web apps can’t be used offline on mobile devices. Nobody can seriously pretend that the network is always going to be a. available b. fast and c. that the users won’t mind all that data usage.
The problem is, if web applications are to become dominant, how do we avoid having to create different versions for different platforms? The only way to get around this is to forget about device and platform specific interfaces and put the web at the forefront. Getting web apps to conform to any sort of guidelines, however, is nigh on impossible. In addition to this, hands up which OS makers, mobile or otherwise would like their platform to be a glorified browser launcher with no unique selling points or room for innovation other than to update the engine which the user never sees. How could Microsoft ever retain it’s customers if the applications everyone cared about were web based and ran the same on any platform? Ultimately it’d only lead to fragmentation of the web as non-standard capabilities get added to differentiate and aid lock-in. Otherwise, the only hope for such big software companies would be to get businesses and users paying for their online services and applications. This is a move which is beginning to happen with Microsoft bringing out services such as Office 365.
What will be most interesting however is how operating systems will change further down the line. Will they embrance the web at the expense of their own identity or will try to keep it locked in its box and offer compelling platform specific applications in the hope users will stay?