Linux in a World of Web Apps
THERE ARE FEW THINGS more frustrating than realizing a key application has no Linux support. In a world where AppImage and Electron exist, vendors don’t have excuses anymore.
The past few years have seen a big shift in the way computer applications are used. Long gone are the days when you had to go to a local computer store to buy a CD or stack of diskettes to be able to write up documents or do your taxes. Sure, you can still buy tax software in a store, but it’s more likely that you’ll download the software or use a web application.
As more popular applications move to web interfaces, Electron has become a dominant method of displaying web views in a way that makes applications appear native, by using Chromium’s rendering engine. Slack, for example, makes use of Electron to render its web application without the overhead of a full browser. The popular text editor Atom uses Electron as its base as well.
One might wonder why an Electron app is better than navigating to the app in a browser. Glad you asked. One of the main features is the ability to store data for offline use. Also, an Electron app has its own window, and won’t get mixed up with the 40 other tabs you have open in Chrome or Firefox.
There are bad things about Electron, though. The main complaint is that instead of offering offline or desktop-specific capabilities, Electron apps can be half-assed wrappers for a web application. The other complaint is that some Electron apps can be quite heavy when it comes to memory use.
Even with the shortfalls, I still believe wellwritten and implemented Electron apps are a step forward for the Linux desktop. I feel some of you staring. Let me explain.
For as long as most Linux users can remember, major software vendors have steered clear of offering Linux versions of their applications. One of the main reasons for this is the fragmentation of the Linux desktop. First, a vendor has to develop a Linux version of the app, then target a specific GUI library (such as GTK or Qt), and package it for a specific distribution. All of that, of course, takes resources and time that may not be worth the effort. It was an easy cop-out that’s also an easy way to have complaints from Linux users go away.
Fragmentation and development cost are big reasons Linux doesn’t have official desktop versions of applications such as Evernote or OneNote. Solutions exist, but might be imperfect: Wavebox runs web apps in a single application, but costs $20 per year if you want to add more than two Google accounts.
With Electron and distributionagnostic packaging formats such as AppImage, these arguments don’t hold true anymore. With AppImage, the vendor has just one package format to consider, and they can be sure that the app will run on the overwhelming majority of reasonably modern Linux desktops. AppImages are userfriendly to people who are used to downloading an app for Windows or Mac OS. With an AppImage, all you do is download the file, set the permission of the file to executable, then double-click the file to run it.
With this technology available to app developers, there is little reason to avoid the Linux desktop anymore. Companies such as Evernote (I’ll pick on that for now) have long resisted developing for Linux, citing development effort and fragmentation. Third-party developers stepped up to cobble together Electron wrappers for web applications. (Tusk is a good example of an Evernote Electron app available as an AppImage.) There is no reason vendors couldn’t do the same—or, better yet, contribute code to those projects.
Both Electron and AppImage represent a path of least resistance to publishing apps on Linux. Going forward, saying “Linux users can use the web application” isn’t acceptable anymore. Vendors, you can do better.
Third-party developers stepped up to cobble together Electron wrappers for web apps. Why can’t vendors do the same?
Alex Campbell is a Linux geek who enjoys learning about computer security.