Native applications are doomed

I take this for granted, but I realized many people are not aware of this change: Native applications are endangered species.

By native application, I mean any application intended to be run on the user’s computer that does not use web technologies. And by computer I don’t mean only the good old dektop computer. We have seen a proliferation of devices that can now be considered as computers: laptops of any sizes, smartphones, tablets, navigation systems…

Our relation to these computers has change over the previous decade: we use more than one computer everyday, and they are all connected to the same network named the Internet.

Here are some points that lead me to conclude native applications cannot survive in this environment :

1 Diversification of operating systems

I don’t think I’m mistaken if I say that all these computers will never share the same OS. Today developers of mobile applications have to face the same problem than with the desktop: what OS to support ? For one given platform, focusing the development for a specific OS is simply reducing the number of targeted users. Supporting a large number of operating systems has a real cost and duplicates efforts.

Choosing to build an application that runs with standardized web technologies assure you that anyone accessing the Internet with a recent browser will be able to run your application. Browsers are the new operating systems, and they all almost share the same API.

2 Web technologies gain power

Advanced functionnalities of web application are coming with HTML5 specifications. They are specifications pushed forward by the industry that need them and don’t want to rely on external proprietary solutions (such as Adobe’s Flash).

  • An online application does not necessarily require a constant Internet connection. Most of the application operations are done client-side (using Javascript). Structured data is exchanged with the server but can also be stored in a local data store and thus provide an offline exprience.
  • Advanced graphics animations are completely possible. And real time 3D  could even be used with the upcomming WebGL technology.
  • Video and sound are as simple to use as images.
  • Browsers also expose new types of information such as geolocalisation.

In the end, web technologies have the potential to be used for everyday tasks. We may wonder if heavier professional software can also be created using web technologies. Personally, I have no doubt that they could.

Of course, we will assume that users who use online applications will use a modern and standard compliant browser. I think the attractiveness of these apps is strong enough to make the user change his browser for something up to date.

3 Many computers implies simpler administration

If you multiply the number of machines the user has to care of, it is logical that configuring them should require less time than today. However easy it may be, installing a software should be considered as too much.

With web based applications, first access require only one single step : launch the application by following its URL. And no need to upgrade in the future: the deployment of a new version of the application is done instantaneously. Corrections can be done on the fly and it is not needed any more to wait for the user base to upgrade by themselves.

4 Freedom

Application Stores gained in popularity recently. They may pose a threat if they are the only way the user can install applications. In that case, the distribution is controlled by a single totalitarian company who can decide what can be distributed and what cannot.

The story of Google Voice on iPhone points out this issue and the power of modern web based application: Google’s application wasn’t accepted on the Apple Store, even after negotiation, so Google just came back a few months later with an online mobile version of Voice fully powered by HTML5 technologies. Google does not hesitate to claim that however successful they seam to be, app stores are not the future (consider that they also have their own store with Android Market).

However, App Stores brought the idea of giant directories from which user can choose his applications and discover new ones. This is in what I think they will evolve in the future, proposing links to web applications.

In the end, it may just be sad for fortunate developers who succeeded in making money by selling stupid applications that people would never have bought if they where online.

Conclusion

What was still a supposition for me four years ago is now a certitude: Computers will only be access point to the web, everything we will need to use will be online, be it Data or Applications and it’s coming faster that I would have imagined.

Advertisements

7 thoughts on “Native applications are doomed”

  1. I heard of a company proudly stating that they had their DOS application recently rewritten in Windows.

    After reading this article they would realise their Windows application is already falling behind the times.

  2. Great post Steren!
    I guess the diversification of OS isn’t as bad as the diversification of web browsers (espacially with Internet “Pain in the Ass” Explorer).
    But google is pushing really hard towards this direction. I can’t wait to see Chrome OS to see how far web apps can go.

    1. Hi,
      Today it’s almost impossible to have the same code run on all desktop and mobile OS. My stance is that web browsers are technically less diversificated than OS. Of course, websites may not look exactly the same on every browsers. (I talk about modern browsers)

      I’m also looking forward to test ChromeOS.

  3. “It’s coming faster that I would have imagined.”

    Well… While I agree that for many applications online software will become more and more mainstream, it will take quite some time before everything is transfered to the web.

    Why ? Well I see several reasons :

    1 – data transfert speed. Today even having to transfer a few dozens of megabytes over the internet is a pain. The speed might be 100 times higher than ten years ago, but we would need another tenfoldsincrease to make this even remotly similar to working locally (maybe in 10 years ?) . Consider HD video editing : unthinkable.

    2 – connection : quality and network size. I live in the center of one of the largest french towns (and France is supposed to have a reasonable internet network), and sometime Internet just get’s really sluggish. It simply isn’t as reliable as a local computer. I recently reinstalled thunderbird because gmail somtime get’s unusable. That’s me in a large city. My parents live in a little towns that got ADSL 5 years ago, and they were recently able to upgrade from a 512k connection to 2M, which is still ten times less than I can get. If local application are to be dropped, then 100% of the population needs access to a high speed network.

    Things will improve, of course, but when I see how much time it took for the smaller towns to have (fairly) high speed ADSL, and all the problems I have with simple web applications like youtube or gmail, I really think the time when native applications will disappear is not that close.

    1. Hi, thanks for your comment.

      I’m aware of this problem since I come from the countryside and really didn’t enjoyed a reliable internet connection before.

      I tried to mention that web applications can run offline or on slow/unstable connections with the power of local data stores and client-side running code.
      For your example, I bet that if you were using Gears (which is an implementation of the HTML5 “offline mode” specification) your Gmail would be faster. A part of your online data is downloaded and edited locally, then synchronized when possible with the cloud.

      We could also imagine an application build around (new) web standards that runs without any Internet connection (an word processor for example).

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s