Are web-apps the future? App musings with

Before I start I should be clear that nothing I’m about to say is an official Microsoft comment or Microsoft views. It’s just my musings. I’m taking off my Microsoft hat for the time being.

It’s interesting to me to see the rise of apps (do we have to abbreviate them? Why not “applications”? Perhaps that’s another story) and how they compare to websites. Or, I suppose more accurately, I’m talking about information and functionality being delivered via an app as opposed to a website. The important point here is that while we tend to think of apps and the web as separate things, they are in fact fairly similar in terms of what they do from the user’s point of view. What I mean is that the end result is the same – that is, that they deliver some discrete value to you. They just go about it in different ways.

Now I’m sure everyone is pretty clear on what an app is, and what a website is, so bear with me for a bit because I still think it’s worth being really clear on the difference. As we all know an app – eg on a phone, or a tablet, or a PC – works like this (forgive the oversimplification): The developer writes the code, compiles it up, and it gets delivered to the target device, usually via some kind of store. When you launch the app it loads in its entirety and executes on the device, making calls across the network as required. It also interacts with the device eg using the camera, or responding to touch or mouse events, etc.

So how does that compare to how a website works? To illustrate the point I’d like to refer to “Pulse”, a content aggregation app that has proved very popular on iOS and Android. Working with the Internet Explorer team, Pulse recently produced a very slick web app using HTML5 and JavaScript, with a particular focus on making it touch-friendly. If you use the app on a touch device the experience is quite amazing. You would be extremely hard-pressed to tell that this is not an app. In fact, as I’m sure you know, Internet Explorer 10 on Windows 8 uses the whole screen so there is no visual indication that you’re viewing a web page, so viewing this site on a Windows 8 tablet with touch is extremely compelling. Behind the scenes of course the implementation is quite different to a “normal” app – first of all, you don’t need to download it from an app store, you just visit the website. When you do, the tablet (or PC, or whatever you’re using) downloads content and code as required and executes it both on the local machine and on the server as needed. But to the user this is all fairly irrelevant – they simply have a slick, touch-enabled app that delivers valuable content.

Why does any of this matter? Because we have become used to thinking in terms of apps and websites as if they are completely separate things that present themselves to us in a very different way. However as HTML5 becomes more sophisticated, and internet access becomes faster and more ubiquitous we are likely to see a significant blurring of the app/website difference.

Today, there are clear advantages to both approaches:

  • Apps can run offline, and may be able to make better use of features inherent to the device they’re running on
  • Websites (or perhaps more accurately web-apps) are always up to date, and only need to be written once and deployed to multiple device types. So I can access the site on a range of devices and get a similar experience. No store required. The developers don’t need to build separate apps for different platforms. But of course I need a good, constant internet connection to use them and they might not be able to take full advantage of the hardware they’re running on – well not yet, but as HTML5 continues to develop we’ll see hardware capabilities becoming increasingly accessible to web apps. The use of touch and gestures on is an example.

But as we move forward I can certainly see the attraction of web-apps to developers. You can write them using HTML5 and JavaScript skills that are widely available, and know that they’ll run on a variety of platforms. Plus you won’t need to submit them to app stores either.

Now I’m not particularly blowing the Microsoft trumpet here but it is interesting that developers will be able to build Windows 8 apps, and indeed Windows Phone 8 apps, using just HTML5 and JavaScript. To me that bodes well for the future if we move towards a more web-app-centric world.

I don’t know if this is the way things are going to go. Will we see a gradual drop-off in apps over the next few years and a move towards web-apps? Or are apps here to stay for the long term?

I’d love to hear your opinions.