Software Code

A little elegy for the native application

Most, if not all, applications are destined to end up on the Web. This is a mistake, says Jason Walsh
Image: Markus Spiske/Pexels

31 August 2022

I first encountered a Macintosh computer at school. A Macintosh Classic, to be precise, it was far from the first computer I had ever used, nevertheless it was a revelation. Not only easy to use, its sharp, monochrome bitmapped display was light years ahead of the eight bit blob generators I was accustomed to, while its operating system’s user interface was a modernist lesson in purity, simplicity of line, and form following function.

Truthfully, the original Macintosh operating system – this was long before the Unix-based macOS – was not pretty all the way through. Lashed together in Pascal and written to run on a machine desperately starved of resources, it would come to struggle over the years with grafted-on upgrades, resulting in a desperately flaky and crash prone system; something that was not a great deal of fun when I graduated into the world of newspaper design as a career.

Still, as an experience it was coherent, responsive and attractive. The same cannot be said for today’s software slop served up on the Internet.




So-called cloud computing has brought a lot to the world, but it has also taken from us. While the ability to access near infinite computational power and storage over the Internet is certainly a boon, the rush to move every app to the Web browser is a real step backward.

Indeed, more than a few ‘native’ applications are little more than wrappers around jumped-up Web pages. You can tell because they, like the Java abominations of the 1990s, are slow to load, are prone to graphical glitches, and suffer from inconsistent user interfaces. Two inexplicably popular team-based messaging tools come to mind, for instance.

Software bloat is nothing new. With every leap in RAM or processing power, applications grow in size. Today, I routinely receive e-mails that are larger than fairly heavy duty applications once were. It’s hard to blame developers for this: high level languages, libraries and APIs bring consistency to their work and, frankly, make it a lot easier. Few people today write code in assembler, and, having read it, who can blame them for wanting life to be a little easier? Besides, reinventing the wheel every time you want to write a programme is less than ideal in its own way. 

But the problem with delivering software via browsers is not just one of bloat. Moving everything to the Web seems inevitable at this stage, but it is a mistake. Even if browsers were not resource hungry monsters that greedily gobbled RAM and CPU cycles (they are) and even if designers were not given free rein to torture us with ever-changing and poorly thought out user interfaces (they are), moving our actual work to such a high level of abstraction represents a real loss of control.

Back in 1995, Sun Microsystems’ boss Scott McNealy, predicted in Wired that “disposable word processors and spreadsheets […] delivered over the Web via Java, priced per use” would become the norm. These were the days when Microsoft’s monopoly on computing, outside the server room and university lab at least, seemed unassailable, so it made sense that McNealy told the reporter: “This blows up [Bill] Gates’s lock and destroys his model of a shrink-wrapped software that runs only on his platform.”

It took a while, and Sun and its quarter of a million dollar servers are now a distant memory having been swallowed whole by that other ‘network computer’ enthusiast Oracle, but McNealy’s dream did come true.

In the 1990s, the danger of a dominant Microsoft was real, but in our rush to transform the Internet into the universal operating system we have not seized control of the means of production so much as cemented the centralising power of the tech corporations, albeit different ones. More than that, we have made the experience of actually using applications to get real work done noticeably worse.

Read More:

Back to Top ↑