Unpopular Opinion: Desktop GUI is the most efficient and fulfilling way of Human-Computer Interaction
17 Nov 2023 6 minsIn many ways, the classical paradigm of the “WEB” as a mere portal or information resource was the most likable and valuable one in the utilitarian sense. These were the earliest days of the Internet when most of the actual Human-Computer interaction took place in the form of a Windows Desktop GUI and people went online to just “look up” some information they wanted.
Then something changed in early 2000s as more and more of these sites started becoming “apps” and started doing the actual computing. It solved a real problem though as you no longer had to install these individual EXE/DLL/OCX files on every user’s machine and that ONE centralized place called “Web Server” was all that’s needed to be updated and maintained. Thus, some of the “fat clients” started offloading their work to the “thin clients” such as web-browsers more and more, and that was also a good place to be in.
But the worst thing to happen from an end-user utilitarian perspective was perhaps the “Cloud computing” paradigm. At this point, the Gods of Internet decided that even the “thin clients” no longer need to exist and that ONE client called the “Web Browser” should take on all functions of the operating system as per the directions received from that ONE place called “Web Server”. Circa 2008-10 is where I put the start of this kind of development, almost a decade or so ago from now.
That’s the trajectory we are roughly in right now as browsers, on their way to become a fully fledged OS, are getting stuffed with updates upon updates every week and shoved down the user’s throats. This approach has created several problems for everyone:
- Too much bloat as one software must cater to everyone’s needs. The “least common user” problem had always existed, no doubt, even with real OSs like Windows and even Office Software. But an OS has to just do the bare minimum of bringing up basic services like graphics, sound, background services, etc, they don’t have to worry about business logic or application layer. Web browsers trying to become OS, on the other hand, do have to worry about ensuring that each and every site loads correctly based on W3C standards and sadly, these standards are defined by what’s good for the enterprise sector than the ordinary or average end user.
- Open invitation to authoritarian software like DRMs, Adware, blobs, etc. DRMs and Adware have already made their entry into most browsers and though there are extensions like ublock-origin to block adware, there is also a sustained effort to fight them with all kinds of things like restricting their features through the upgraded manifest version itself, and things like coercing the user to disable those extensions in order to view the content.
- Use of Internet as propaganda tool. Because capitalism is very much built into our system, what is stopping those with lot’s of monies from using it to push propaganda through these ads or even just push propaganda in pure form? Users become sitting ducks to the subtle propaganda perhaps even without realizing it.
- Inefficient and bloated JavaScript. Instead of taking time-tested and efficient best practices of desktop development in C#/C++/Java and putting them in the browser, what they’re doing now is use the bloated JS/NPM paradigm to write even desktop apps using frameworks like Electron! In this paradigm, the desktop app is a whole bundle of universe containing the Node.js web server, the Blink rendering engine and a browser like chromium that renders the UX. There are many ways to achieve platform independence across different desktop kinds viz. Windows, Linux and Mac, but using a layered solution like Electron is the worst way to go about it.
I don’t know where the future of web is going, how long this “cloud and data” related madness will continue but until it lasts, those who can see the problem here can revert back to using desktop apps as much as possible. Desktop apps are typically seen as intrusive and distrustful these days, thanks to clever marketing by the cloud folks, but more and more desktop apps are getting open sourced every day and if you think about it, an open source desktop app can be way more trustworthy than a website containing blobs of minified JavaScript who’s working nobody knows?
Let’s start celebrating desktop apps like we used to earlier. They’re not “old” as is often said, but they are classical. It’s the Internet that ages by leaps and bounds, not the real world and desktop apps are as close to that real world as one could get!