Artificial Intelligence driven Marketing Communications
Earlier this month, the Haiku project released the second beta of its namesake operating system, Haiku.
Haiku is the reimagining of a particularly ambitious, forward-looking operating system from 1995—Be, Inc.’s BeOS. BeOS was developed to take advantage of Symmetrical Multi-Processing (SMP) hardware using techniques we take for granted today—kernel-scheduled pre-emptive multitasking, ubiquitous multithreading, and BFS—a 64-bit journaling filesystem of its very own.
Most of those who remember BeOS remember it for its failed bid to become Apple’s premiere operating system. The platform was created by Jean Louis Gassée, a former Apple executive who wanted to continue work he had done on the discontinued Apple Jaguar project. In its early days, Be developed the machine for its own hardware, called the BeBox—a system with two AT&T Hobbit processors on which BeOS’ unrivaled attention to SMP efficiency could shine.
Unfortunately for Be, AT&T discontinued the Hobbit in 1994—a move that perhaps should have been anticipated by Gassée, given that Apple itself had originally approached AT&T to develop the Hobbit, but then abandoned it due to it being “rife with bugs… and overpriced.” In the scramble to find a new hardware platform, Be moved to PowerPC architecture. The company moved through eight hardware revisions in two years before giving up on designing its own hardware.
The next step for BeOS was Apple’s own Common Hardware Reference Platform. Apple was in dire need of a refresh for the aging MacOS Classic, and briefly the tech industry was abuzz with the possibility that BeOS would be the next Apple operating system—but Gassée and Apple’s then-CEO Gil Amelio couldn’t agree on a price. Gassée demanded $300 million, but Amelio wouldn’t go higher than $125 million. In the wake of the stalled negotiations, Apple’s board decided to bring founder Steve Jobs back into the fold by purchasing his NeXT, instead.
This was the beginning of the end for BeOS, which went through another four years looking for a home—distributed first on Power Computing’s Mac clones, then Intel x86 computers, and even a free, stripped down “Personal Edition” intended to drum up consumer interest, which could be run atop either Microsoft Windows or Linux. In 2001, the rights to BeOS were sold off to Palm, largely ending the original BeOS saga.
Although Be, Inc sold the rights to BeOS to Palm in 2001, its community had no intention of abandoning the project—it founded an OpenBeOS project the same year. In 2004, Palm sent a notification of trademark infringement regarding the name, and the project renamed itself Haiku.
In June 2020—nineteen years after OpenBeOS was born, and sixteen after its rename to Haiku—the project released its second beta distribution. The project still adheres to backward application compatibility with 1990s BeOS—although only in its 32-bit version, which I did not test.
Haiku’s installer is easy to use, if you know what you’re doing—but that caveat is an important one. There’s a live desktop option, but I dove straight into the full hardware install in a new Haiku VM, and it was a bit frustrating.
Disk partitioning is both necessary and entirely manual. The installer tells you it will need “at least one partition [initialized] with the Be File System” but otherwise leaves you alone. Inside the partition manager, there are no hints about “Intel Partition Map” vs “GUID Partition Map”—or whether a GUID Partition Map will also need a BIOS Boot Partition.
It’s also not clear that creating a “Be File System” here really just means setting a Type ID on a raw partition and isn’t sufficient to let the installation continue. After creating the partition, you must then select it and format it—the installer won’t do it for you and won’t warn you why the installation can’t continue, either.
Once I’d figured that out, I went with a GUID partition scheme, created a 1000MiB BIOS Boot partition, allocated the rest of my 32GiB virtual drive to a BFS partition, and formatted it. The main installer stopped complaining that it couldn’t find a valid installation target, and the rest of the installation was over with in a minute or less.
There is a distinct, retrofuturistic air of the late 1990s about Haiku. If you gave an artist who had never seen a modern operating system four hours to spend with Windows NT 3.51, then asked them to imagine this operating system ten years in the future, you could end up with something that looks and feels very much like Haiku.
The desktop interface is primitive and funky, but—much like the OS’ boot time—it’s extremely snappy. This strengthened my feeling of deja vu—it reminded me strongly of removing Windows 98 from a friend’s underpowered Packard Bell and installing Windows 3.11 for Workgroups in its place. Sure, it was uglier and less user-friendly afterwards—but the little Pentium 75 without enough RAM to comfortably run Windows 98 just flew on the much older 3.11.
Unfortunately, Haiku also feels very buggy and half-finished. Staring at the desktop on first boot, it’s not immediately apparent what will function as a launcher. Double-clicking “Quick Tour” brings up twenty or so pages of Haiku’s “features and peculiarities.” But it loaded in what was clearly a Web browser—so I typed arstechnica.com into the address bar, and off I went.
Trying to browse the Internet in WebPositive, the Haiku default browser, is a frustrating experience. It failed to render several elements on the Ars front page, and that was the best experience I had with it—when I tried to move on to YouTube, the entire display server crashed. A forced reboot later, I tried Vimeo instead—which mostly worked but threw an obnoxious, page-filling SSL error. Moving on to Gmail, WebPositive did manage to login—but crashed while trying to render the actual mailbox.
The best thing about this experience was the application crash dialog, which pops up whenever something grenades itself. One click saves a full crash log to the desktop, and it’s quite detailed. Unfortunately, any attempt to browse the Web means you’ll be seeing a lot of that dialog—very few browsers are available for Haiku, and none is entirely functional.
Haiku has its own graphical package manager, called Haiku Depot. It’s extremely reminiscent of FreeBSD’s graphical interface to its own
pkg management tool—old-school gray dialogs, organized loosely into overall categories, packed chock-full of application names you’ve likely never heard of, with a few better-known exceptions popping up here and there.
I was very disappointed with WebPositive’s failure to render nearly any site properly, so I selected Haiku’s “Internet and Network” category. Inside, I found two additional browsers—NetSurf, and Otter Browser. A more careful look showed that this was a filtered view, showing featured packages only.
Selecting “all packages” instead didn’t make much difference—this exposed an additional pair of terminal-based options similar to Lynx and one more graphical browser called “Dooble.” Neither Firefox nor Chromium was available.
I tried every graphical Web browser offered in Haiku—the default system-installed WebPositive, the Haiku Depot featured apps Otter Browser and NetSurf, and the non-featured app “Dooble.” None was capable of correctly rendering even a small selection of modern must-have sites.
WebPositive couldn’t render the Ars front page correctly. The next browser we tried, Otter, did a better job with Ars—but Otter failed to render video in either YouTube or Vimeo.
NetSurf, the remaining “featured” Web browser, is the most broken of the lot. It turned the Ars front page into a quasi-random jumble of images and CSS elements, failed to render Vimeo at all, and turned YouTube into a never-ending selection of black boxes and gray bars, with no text visible at all.
At this point, I left the Haiku VM and hit the Internet in a modern browser, hoping to find a way to get Firefox or Chromium running. This appeared to be a fool’s errand—the closest thing I found was a 2016 forum thread declaring that “we have had Bezilla for a long time” and, based on Firefox 1.8, it was getting rather stale. Coming back to the Haiku VM and Haiku Depot, I looked for a Bezilla package, but it seems to have been abandoned without a trace.
The modern Web, clearly, is effectively inaccessible from Haiku.
Not long after the release of Haiku R1 / Beta 2, a reader reached out to suggest trying it out on the $140 EVOO laptop, which had proved itself too underwhelming to run any modern operating system well. Haiku was considerably leaner, faster, and more efficient than any Linux distro, said the reader—it would probably be fine on the EVOO!
I didn’t want to taint my first impressions of Haiku with the EVOO’s awful hardware, so all of my initial testing—everything you’ve seen up until this point—was done on a VM running on a modern Ryzen 7 3700X workstation. I did limit the VM to two CPU threads, 2GiB of RAM and 32GiB of storage, much like the little EVOO—but both the CPU threads and the storage are tremendously faster on my workstation than they are on the EVOO.
I knew from initial testing that Haiku wasn’t going to make for a compelling daily driver. But I still wanted to see how it felt on the EVOO, so I dumped the ISO onto a physical USB stick, got into BIOS and changed the boot priority, and gave it a go.
Haiku certainly seems to be snappy enough, even on the EVOO’s beyond-anemic hardware. It booted in about fifteen seconds—much faster than either Windows or Fedora did—and its applications launched in a reasonable amount of time as well. Even Haiku doesn’t seem fast on the EVOO—but, unlike the other two, it does make the EVOO feel like something that’s properly designed for a useful purpose.
Unfortunately, Haiku supports almost none of the EVOO’s hardware. The keyboard, screen, and physical USB ports work—and that’s about it. Haiku doesn’t recognize the EVOO’s eMMC storage device at all, so we were limited to a live desktop session only—installation isn’t possible. This meant that the left-hand USB port was occupied permanently with Haiku’s installation drive.
Making matters worse, the touchpad didn’t work either. This necessitated a wireless mouse dongle for the only remaining USB port, on the EVOO’s right-hand side—and when I got to the live desktop, I rapidly discovered that Haiku didn’t recognize the EVOO’s Wi-Fi or webcam, either.
I wasn’t ready to give up yet—I really wanted to see how the EVOO managed with Vimeo, the one video site I’d gotten to work in Haiku. I wanted to try an ath10k Wi-Fi dongle but didn’t have any more USB ports—so the mouse had to go. I opened a terminal first, then swapped out the mouse for an old and extremely Linux-friendly Linksys Wi-Fi USB NIC.
This turned out not to be any help—Haiku claims a “massive amount of supported hardware” by way of a FreeBSD compatibility layer, but Haiku supports no USB Wi-Fi interfaces whatsoever. A look at
ifconfig and at the
/dev/net directory confirmed it—Haiku on the EVOO was even more isolated and alone than it had been in a VM.
The lack of Internet connectivity also meant no easy package installation—and that meant no Libreoffice or any of the handful of other familiar applications that might otherwise give me a better idea of how Haiku performs on the EVOO.
To be fair, I could have downloaded the .hpkg “packages”—which are really compressed filesystem images, somewhere in between Mac DMGs and Linux flatpaks or snaps in function. Once downloaded, I could have used sneakernet to get them to the EVOO, and then dumped them into
/system/packages. That’s all you actually do to install a package in Haiku—the system watches that directory and a few others and automatically makes new .hpkg images available as they show up.
But that was more work than I was ready to put in just to answer a theoretical question about whether the EVOO could handle Haiku, if Haiku could handle EVOO. Haiku R1/beta 2 cannot handle the EVOO, and—unfortunately for both of them—that’s pretty much that.
Haiku is an interesting project—but it’s hard to imagine it turning into something fully modern and usable. If the Apple acquisition in the ’90s had gone through, it’s not difficult to imagine that the original BeOS would have become a powerhouse of an operating system. In the context of the 1990s, Haiku would seem incredibly advanced—if still crippled by the lack of a complete software ecosystem.
Unfortunately, it’s not the 1990s anymore, and the world seems to have passed Haiku by. Many of its unique and once forward-thinking concepts now seem more dated than futuristic, like the enormous fins on a rocket ship illustration from the Golden Age of sci-fi. Learning these conventions often requires the user to process odd terms that don’t seem to map well to their real meaning. Replicants—which are prominently mentioned in the launcher, and amount to desktop widgets built into some Haiku-native apps—are one example of this terminology SNAFU.
Despite Haiku being largely POSIX-compliant, porting major applications requires a significant developer investment that frequently isn’t available. Haiku is burdened with a design principle demanding decades of backward compatibility, and has a very small developer team compared to most distributions. This explains the lack of major modern browsers—as Haiku release coordinator @waddlesplash pointed out to us on Twitter, those browsers’ codebases are larger than that of Haiku itself.
The release notes for Haiku R1/beta2 describe it as “feature complete” but still containing known and unknown bugs. I don’t think most reasonable people who aren’t personally invested in the project would agree with that description—after nearly twenty years of development, it still feels like a pet project with gaping holes that may never be closed.
If you’re a kernel developer, a major distribution contributor, or just a really enthusiastic devotee of distro hopping, Haiku is worth taking for a spin. Much like TempleOS, it’s not very directly useful—but it’s a glimpse into a very different way of thinking, and in Haiku’s case, a world that might have been.