7 features Linux could borrow from other systems
Source: Bryan Lunduke
Linux (or, GNU/Linux, if you prefer) distributions are absolutely amazing—stable, fast, flexible. Your average Linux-based system is a veritable powerhouse of functionality—a tour de force of what computers can accomplish. But from time to time, other operating systems have some pretty great ideas. Here are seven of my personal favorites that Linux distributions might want to consider “borrowing.” Hint, hint. Nudge, nudge.
Mac OS Classic — Extensions
Back in ye olden times—back before MacOS X was a thing—the classic Macintosh operating system had a cool little feature called Extensions. These were, essentially, little TSRs—programs that ran and stayed running in the background. The obvious usage for these were things such as device drivers and custom theme systems, all of which can be accomplished on Linux just fine. So, why are Extensions so cool? It was all about how easy they were to manage.
An Extension is a single file that you simply drag into your Extensions folder, and the next time you reboot, the extension is loaded. (Those icons along the bottom of the Mac OS boot screen? Those are Extensions.) Don’t want to use an Extension anymore? Simply drag it out of that Extensions folder. Is one extension causing problems? Reboot holding down the Shift key, and all Extensions are disabled. Handy. Easy.
BeOS/Haiku OS — UI for per-thread priorities
Being able to set the priority of running applications is nothing new. We’ve been using nice to set the priority of a task since Abraham Lincoln first sailed the Ocean Blue and discovered the printing press. Haiku OS kicks it up a notch by providing a simple user interface that allows you set the priority level of every thread in every running task throughout the system with just a few quick clicks. This is made even more powerful by Haiku’s heavy emphasis on multi-threaded applications. But it would still be beneficial on Linux.
Amiga — Icons of any size
The ability to have icons be (essentially) any size you like may be a bit less practical than the previous two features, but it’s still a fun one. And we’re not talking a global “set the icon size” setting here. The Amiga Workbench allows you to make each application icon a different size—some little, some huge—any size you like.
Mac OS Classic — AppleScript everywhere
Mac OS has a scripting language known as AppleScript. While it is still in use today, its usefulness and prevalence is a tiny fraction of what it once was (because I am pretty sure Apple doesn’t like cool things anymore). Back in the Classic Mac days (pre-OS X) almost every application had what is known as an AppleScript Dictionary—a set of publicly usable (and documented right in the application itself) APIs that allowed anyone to write a script to interact with and use graphical applications. Not only that, but a person could “record” a script by simply using an application (such as a word processor) while having a script editor in “record” mode. It was a godsend for automation.
In the Unix/Linux world, we have this power in the shell with command line applications, but graphical applications on Linux by and large lack proper interfaces for doing any real scripting.
Mac OS Classic — Easy RAM Disk
That’s right. Another feature of the classic (pre-OS X) Mac OS. It was a system with many, many flaws, but it also had some really cool features. One of those was how it handled RAM Disks. Open up the “Memory” control panel, turn on the RAM Disk, set the size and then select if you’d like the contents to be preserved (to the drive) when rebooting. Crazy easy to do.
Why would you want this, you ask? Want to increase the speed of a game or utility that needs to read/write to the disk a lot? Toss it in a Ram Disk, and it now runs entirely from RAM. The speed improvement can oftentimes be dramatic.
Mac OS — Applications in a single file
The traditional Linux repository model is absolutely phenomenal, but having applications that exist with all of their supporting data within a single file can be incredibly handy—no ifs or buts about it. Mac OS (classic) handled this by jamming all data for an application into what was classically called a resource fork (often edited with a tool known as ResEdit).
Mac OS X does something similar by storing all of that data within a predefined folder structure with a “.app” extension—thus showing it to the end user as if it were just a single file. Linux projects such as AppImage are slowly filling this need, but we’ve yet to see the mainstream Linux distributions really embrace this.
Mac OS Classic — Control Strip
Another classic Mac OS oddity that proved useful: the Control Strip. It was a movable, collapsible, expandable bar that provided quick access to a lot of commonly used bits of functionality. Volume, display, media playback, network drives—that sort of thing. The truly nice part of the Control Strip was I could place it wherever I liked and shrink it to get it out of my way when I didn’t need it.