Robert Važan

Smartphones: 90s déjà vu‎?

There's a reason why the world dumped desktop apps in favor of the web in the 90s. It looks like smartphone app developers are repeating an old mistake.

Don't get me wrong. The form factor of smartphones is just right. Hardware is great and it's still improving. What's wrong is the whole idea of apps. I think the concept of apps is totally retro and totally 90s. What's worse is that the concept of platform ecosystem, encouraged by the app metaphor, is thoroughly vile in its nature and, if allowed to grow, poses serious threat to the Internet as we know it.

Smartphone app as it exists today is essentially a piece of software installed directly on the smartphone. The workflow is very much like with traditional software. You choose software according to its description and reviews, wait for it to download and install, give it permission to access your sensitive data, and then you run it offline on your own hardware.

The problem with this concept is that it is an awful pain in the ass for the average consumer. Where are the times when you could just browse to a site a try it instead of reading reviews about it? Part of the reason why people jumped onto the Internet was that it was safe. No matter what sites you visited, nothing could possibly happen to your computer. That eased people into trying and testing lots of different sites.

People now use orders of magnitude more sites that software applications. They don't even realize that what they are looking at is a piece of software. Concepts of data and software have been blurred. Internet is document-centric and that makes it easier for people to understand it. Nobody really wants software anyway. Everyone just wants the function the software performs. Most software merely eases communication, content authoring, or content consumption. If a function of the software is prominent, all that needs to be exposed is the interface to use that function. Nobody wants to deal with the software behind it.

Internet applications now run in the cloud. Performance of access devices doesn't matter anymore. All the browser has to do is to render the content and to send user's interaction back to the server. Sure that abuse of JavaScript will bring down every device, no matter how powerful, but the point is that as a software developer, you are no longer constrained by device capabilities. As long as you keep the heavy-duty stuff in the cloud, you have no hardware requirements at all.

To be honest, I do have a smartphone too. The essential value of smartphone is that you don't have to deal with whatever bloatware was left on the device by the manufacturer. You can replace it with 3rd party software. This annoyance-zapping ability of smartphones is the killer feature that makes them attractive.

Google, Apple, and now Microsoft are building a universe of apps, kind of a parallel Internet with rules set forth by the respective platform owner. They regulate what can appear in their app markets and by extension what can appear in the apps. They have streamlined content monetization and protection. They are quickly evolving platform APIs that are more featureful that the Internet, with fewer incompatibilities as far as you stay within the platform's universe. They can enforce single points of distribution for protected content. They are heavily taxing all content delivered on their platforms. These things are very hard to do in the open Internet.

That's where the concept of "optimization" for mobile devices comes from. Smartphones come with seriously crappy browsers, perhaps intentionally. They encourage use of native APIs that compete with the Internet. Smartphones are essentially proprietary Internets, segregated from each other and oppressively managed. Content providers are pressured to develop apps, because they cannot enter the platform through the web browser. Suddenly, web-based services are no longer cool. Apps are presented as the better alternative. The same apps that have been dumped by the end of 90s in favor of the Internet.

If you go through the list of differences between smartphone apps and Interent websites, you will notice that the smartphones are skewed in favor of content owners and optimized for monetization. They are designed ground up to wrestle control out of consumer's hands and to give it to the businesses that fill the smarphones with content. Obviously, this is only possible by restricting user's access to the Internet, because opening up the Internet access on smartphones would poke a huge hole in their content monetization system.

By keeping the platform closed, platform owners are working against market pressure from consumers to provide smooth browsing experience that would really bring the web to the smartphone world. It is uneconomical to port all the content from the web onto all the mobile platforms in existence. The app concept is detrimental to distribution of content that is consumed one small piece at a time. The openness of the Internet attracts hordes of independent content creators who cannot be bothered to provide "native experience" on mobile platforms. Expecting everything to move into app marketplace is totally unrealistic. The pressure on smartphone vendors is huge. They can get only so far with the fad wave and the "optimized for" nonsense.

Their oligopoly is cracking though and first signs of change are appearing. Firefox OS might have failed, but Firefox for Android lives. There are now entirely opensource smartphones running Ubuntu Touch, Plasma Mobile, PureOS, or even LineageOS, usually on open hardware like PinePhone or Librem 5. None of these have any incentive to limit browser performance and features. They do support apps, but they don't try to replace the web and the apps available on these phones are opensource and thus highly respectful towards users.