As a Web maker, in a time when phones and tablets are increasingly common devices on which to connect, making an "app" has started to feel like an evolutionary step. This is a strange phenomenon, the Web is also accessible from mobile devices after all; and I've never felt the need to make a desktop application. For those of us in this space, there is always learning ahead, but there is also a decision to be made about what it is exactly that we want or need to learn. Before talking about apps any further, let's clarify what I mean by an "app"? It's obviously an abbreviation of "application", but I believe that in common parlance "app" has come to mean an application that is installed on your mobile device. This is the definition I will be using here. More broadly, apps can be described as belonging to one of three types: Native, Web, or Hybrid. Native being apps built for a specific operating system (such as Android or iOS); Web being built to run on web technologies; and Hybrid being Web apps inside a native app. Progressive Web Apps (PWAs), a hot topic in the tech world at the moment, are a specific kind of Web app with a range of enhancements to integrate further with the device. These enhancements include for example, the ability to install the app onto the device, (bringing the app in-line with my definition).
With PWAs seemingly gaining traction they are an attractive prospect; for someone such as myself, who already builds for the Web, and perhaps more importantly, has a love for its principles. I believe that part of the decisions around what we want and need to learn should be about investing in the infrastructures that we want to see succeed. This for me is where PWAs start to feel like a very different proposition to the app options that have come before. Since the emergence of smart phones, or more specifically, their app stores, I have been uncomfortable with the trend towards there being "an app for that". It felt like a step backwards, when considering the changes that the Web has brought to how we use our computers. I have feared that this trend could become the new model of how we use the internet, depriving the Web of resources, innovation and voices. To quote Tim Berners-Lee - "these closed, “walled gardens,” no matter how pleasing, can never compete in diversity, richness and innovation with the mad, throbbing Web market outside their gates. If a walled garden has too tight a hold on a market, however, it can delay that outside growth". The antithesis of the walled garden of the app store, is the openness of the Web. Perhaps the defining characteristic of openness in this context is the absence of a controlling party. In the app store paradigm, a controlling party, such as Apple, can decide what apps they allow users access to. The impact of this on developers can range from having to wrestle with an opaque and seemingly arbitrary approval systems, to censorship. For users this can obviously mean a lack of access.
As a user, and a maker, I'm joining a growing circle of keen PWA onlookers, and hoping that there will be more Web in the apps of the future. Will we see this future realised? What obstacles might stand in the way? Here I will look some recent events in the app world, and what they might suggest about the future.
There's a (native) app for that #
In the realm of mobile devices, apps have come to dominate our usage. According to a 2017 report 80-90% of the time we spend on our mobile devices is in an app other than a Web browser. Putting to one side whether the slightly grey area of progressive Web apps would be considered app use or Web use, this statistic tells us that users are, for the vast majority of their time, working within a native experience. It also tells us that while users are probably using the Internet during this time, they are not using the Web. This probably won't come as a surprise to anyone, I think we can all relate; we get our email in an app, we watch videos in an app, probably have several apps for social media etc. It's worth noting that this is in contrast to how we use our PCs, where we often do those activities on the Web. This distinction, might on the surface seem like a semantic one; one would say they "use Gmail" whether they are referring to an app, the website, or both. The implications though, of a move from the Web (back) to native software are huge, at least in the eyes of those of us who value the openness of the Web. Back in 1997 Wired Magazine ran the headline "Kiss your browser goodbye: The radical future of media beyond the Web". Since then, others have made similar predictions, for example the 2014 Wall Street Journal article headlined: "The Web Is Dying; Apps Are Killing It". In this article, not only did Mims make the argument that apps are killing the Web, but also echoed my concerns about the implications of this. The end of the Web would mean the end of the openness that allowed it to grow into what we know and love today.
So how did we get here, to a place where Facebook, YouTube, and Amazon are no longer just websites? Why did phones not pickup from where the Web browser had taken us? From a technical perspective, which is usually the perspective from which this question is discussed, there are a couple of simple and widely accepted answers.
Native apps are considered to be faster, and more efficient. While our mobile devices are getting ever more powerful, they have not been in the same league as our desktop computers. As such, any gain in performance can make the difference between a smooth and sluggish user experience.
We want the data on our phones to be persistent, that is to say that we like our apps to work whether we are connected to WIFI, 3G, or have no connection at all. As Galen Gruman wrote in InfoWorld "I want my airline boarding pass locally stored on my smartwatch or smartphone, not available only on demand via the Web". This is not how Web browsers, and so Web apps have worked thus far.
These are the most compelling arguments commonly cited for the native app model, along with perhaps comments about closer hardware and software integration (which I find less relevant, as they are not exclusive to mobile devices). Looking at this case from another perspective, namely a business one, there is another obvious driver for the native app paradigm. Operating within the capitalist system that they do, companies are going to be pretty happy to encourage a model that gives them control over the market, as the app store model has done for Apple and Google. The Web has perhaps been the exception, rather than the rule, in terms of seeing companies working towards a common, standardised platform.
There's not an app for that #
Despite the dominance of apps in our mobile usage, there are circumstances where There's an app for that doesn't ring true.
Perhaps the simplest scenario for this is when nobody has made the app, or more specifically, nobody has made the app for your device. The significant investment it takes to create apps for multiple platforms often leads to apps being unavailable to a lot of potential users. A 2013 report found that 30% of the top 50 iPad apps in Apple’s US App Store were not available in Google's Play store. A huge advantage of Web apps of course is that they can exist on a single platform (the Web), but be available to everyone. Take for example Topple Trump, an app not available in the Apple or Google stores, but is available on their respective platforms via the Web's own distribution method, the URL: https://parall.ax/hub/topple-trump
I spoke to the developers of Topple Trump; the reasons they gave for taking the Web app route were around accessibility, and sharing; stating that "this is a lot easier to do using a website than a native app, as convincing someone to check out a web page is a lot easier as there's nothing to download". If we speculate a little about how else the project might have differed as a native app, there is evidence to suggest that there would have been additional barriers. For an app to be made available in either of the two big app stores, it needs to be approved by Apple / Google. There is a history of these stores rejecting politically opinionated apps. Apple for example initially rejected the iSinglePayer app for being "politically charged"; and Metadata+ (previously Drones+ - an app that alerts the user when a drone strike takes place), due to "objectionable content". More closely related to Topple Trump, Obama Trampoline was reportedly rejected because "Apple does not approve of ridiculing public figures".
In all this talk of iOS and Android, we shouldn't forget that there are other mobile operating systems; here again, we may find that there is in fact not "an app for that". For example, Windows Phone users do not have an app for the popular image messaging service Snapchat.
The last scenario I want to mention here is when an app might exist for your platform, but you don't install it. There are some frictions that might be enough to stop you from installing an app; you need to commit the time it takes to download it, and possibly more significantly, commit to the storage space that it is going to occupy. Storage space can be at a premium on mobile devices, and native apps require a relatively large chunk of that space, especially compared to Web apps. This can be demonstrated by looking at a couple of recent Web app releases, that also have native app counterparts. According to the developers of the new Starbucks Web app, the iOS version requires 148MB of storage space to install, making the Web app 99.84% smaller at 233KB. There's a similar story for the Pinterest app; to see your home feed on Android you'll need 9.6MB, on iOS 56MB, and on Web 150KB.
There's a web app for that #
Perhaps the most notable Web app launched this year would be Twitter Lite. Presumably taking its name from its aim to use less data, and take up less storage space, Twitter Lite, like other Web apps mentioned, has a much smaller footprint; being 1-3% the size of its native counterparts. Despite the "Lite" moniker, the app feels fully fledged. I've been using it in place of the native app on my phone for the past couple of months and have not found the experience to be diminished in any way, other than some interface design decisions, which I don't believe to be platform related. The app makes use of new Web features that make it feel like an app in the ways that we expect; for example it can be added to your home screen via a prompt when first used, has push notification support, and can be used offline, without feeling broken. This app seems to demonstrate that the historical arguments for native over Web, that I referred to as "performance" and "persistence", no longer apply. Like any other Web app, Twitter Lite also avoids some of the frictions highlighted earlier, and even for Twitter this could be significant, as it continues to expand into emerging markets. Potential users who might be on slow internet connections can connect without the big download. Users who might for whatever reason not have an account with Apple or Google can connect without needing to go through an app store.
Looking forward to a mobile Web... or is it back? #
The likes of Twitter and Pinterest embracing the latest Web technologies for their mobile experiences is encouraging, for those of us who would like to see the ratio of Web to native apps on our phones comparable to that of our PCs. To me, this sounds likes an exciting future. It also sounds like a recent past. This idea feels a lot like the one promised by Mozilla with their release of FireFox OS, back in 2013. FireFox OS was a mobile operating system, built on this premise of a Web app ecosystem. Towards the end of its life, the FireFox OS project seemed to move away from this original goal, but considering that the year that has given us the Twitter PWA is also the year that Mozilla officially put FireFox OS to bed, it seems like a good time to reflect on the Mozilla project, and look at how it relates to the emergence of the progressive web app. I spoke to Benjamin Francis, a Software Engineer at Mozilla, and asked if he thought my comparison of FireFox OS and PWAs was a fair one. He said he thought that it was, and added that the long term goal of the project was to "create new web standards to make the web just as capable as native app platforms". The OS brought with it the vision that I have been referring to, of freeing mobile use from the confines of app stores. As Benjamin put it "to make the open web the third app platform on mobile". It would seem that the vision was not realised however, FireFox OS is not today competing with iOS and Android. I would suggest though that the vision is still in the process of being realised, despite there no longer being a team at Mozilla working on it. The apps emerging today could be argued to be a continuation of the work started by Mozilla. Benjamin gave an example of how closely related FireFox OS was to what we today are calling progressive Web apps, pointing out that a version of the software included the concept of "pinned apps", the same as, but predating, what we see today with PWAs. So can Web apps thrive on mobile, where FireFox OS struggled? We should first recognise that this is not an apples and apples comparison, its like comparing the Web emerging on desktops with an emerging desktop operating system. While the Web has never quite become an operating system, FireFox OS is just one of several attempts that have failed to get traction, on our desktops the Web browser has become a platform that sort of resembles one, a place from where we run a lot of our applications. The same cannot be said for mobile. So perhaps the question should be, was there something inherent in mobile devices, that stifled Mozilla's efforts? The prevailing opinion seemed to be "sort of"; not inherent technical aspects, but rather the foothold that Apple and Google have on that market. Benjamin offers an alternative view, suggesting that rather than FireFox OS being too late to market, it was actually too early, ahead of its time.
In the spirit of the Web, let's collaborate #
Whether you believe that Mozilla was too early or too late to the mobile OS party, I think it's safe to say, given that Apple and Google also (probably not coincidentally) dominate the mobile browser market, mobile Web stands a better chance of thriving if these dominating forces are pushing it forward. The fact is that Google at least, is already very much doing this, being a driving force for the progressive app concept, and adding support for it in Chrome for Android. Apple on the other hand has been reluctant to get behind the technology at the heart of PWAs, though there are signs that their position might be shifting. The differing positions of Apple and Google comes as no surprise, when you consider their differing business models (one makes electronic devices, the other collects data), but as long as Apple resists implementing the features that define progressive Web apps, some developers will be reluctant to embrace the Web as a legitimate alternative to native mobile apps. I'm somewhat optimistic on this issue however, I think we can draw a parallel with an earlier phase of browser evolution. When Web designers really started to push the boundaries of what a website could look like, Internet Explorer was dragging its feet in terms of its rendering capabilities. One could argue that Microsoft was forced to play catch up when users started switching their browser to the likes of FireFox. This of course relied on Web designers and developers pushing the boundaries, not letting them be drawn by Microsoft.
2017 has been a significant year in the story of how we interact with our mobile devices, how developers build the applications that make them useful, and ultimately how we interface with the internet. The release of a mobile Web app by Twitter gave credibility to the idea that we may be at the dawn of a new era of mobile app. For those of us excited by this idea though, the disbanding of the FireFox OS team reminded us that we had been here before, and gave us pause for thought. While we may not see a wholesale replacement of the app ecosystem, such as a Web based OS, any time soon; in my assessment, the Web will continue to evolve to meet our mobile needs, just as it did our desktop needs. That is to say that the Web on mobile devices will become more sophisticated, more integrated, and more utilised. Just as with the earlier Web evolutions, there remains a need for creation and adoption of cross browser standards, to keep the platform viable, and to avoid a situation where developers replace native app development with some sort of OS dependant Web development. At this time, one of the biggest question-marks on the future of mobile Web appears to be Apple's adoption of the emerging developments. I believe though that if the Web community keeps pushing the boundaries of the platform, then Apple will adopt the standards, rather than have Safari become the next Internet Explorer. We should make no mistake though, an open Web is something that we increasingly need to fight for; the push-back against the app store paradigm is just one of the battles.