30 days with Haiku


In depth: Haiku is a free operating system and an alternative to Linux. It celebrated its seventh birthday on 18 August, and it's still being actively developed. Haiku is nowhere near being considered a finished product, but it's now stable enough for everyday use.

Most importantly, it's very interesting. The design of Haiku closely mimics that of BeOS - but Linux Format magazine's Graham Morrison has never used BeOS. He doesn't know if it has a web browser, a file manager or even a command line. He has no idea how packages are installed, or even if they can be. This is his story...

I remember being quite excited about BeOS ten years ago, but before I'd had a chance to check it out, the company and the operating system had become defunct. Fortunately, BeOS made quite an impression on those who did get to try it, and as with the venerable Commodore Amiga, there have been numerous attempts to resuscitate the old operating system. And that's where Haiku and open source steps in.

Released under the MIT licence, Haiku is a worthy successor to BeOS. Not only is it compatible with the binaries created for the last release, it also offers significant improvements over its predecessor.

I have to admit I don't intend to use Haiku exclusively. I wouldn't be able to do my job if I did. Instead, I'm going to run Haiku as a virtual machine on my Linux desktop, and I'll use it for everything else that I can. Hopefully. To be absolutely clear, this feature was written using a pre-alpha build of Haiku - subsequent releases have fixed many of the problems I encountered, and now even include Firefox!

First impressions

On the first boot of Haiku, things look scarily like 1992. There's lots of primary colours, with a dash of yellow that borders an active window and a garish blue background and feather logo. I'm used to the BeOS theme from KDE, but that doesn't really help me feel at home here. It brings back distant memories of tuning fonts and installing application icons, and downloading 100KB overnight through the ancient JANET network. Fortunately, networking has come a long way and the desktop look is easy to change.

My first usability alteration is to modify the mouse control. It's too fast and accelerated while running inside the virtual machine. The mouse preferences panel was easy to find, tucked away with a strange 'feather' dock in the top right corner of the screen, but finding the mouse sweet spot wasn't as straightforward.

Day 1: The Mouse Preferences window is the first port of call, to slow down the cursor and get back control of the desktop.

I kept making small adjustments, and moving between the desktop and the mouse preferences menu resulted in my first crash. While I could still move the mouse pointer, the desktop was refusing to respond. A serious crash in the first five minutes reminds me of the days of KDE 4.0. But unlike KDE, a reboot of Haiku takes a matter of seconds.

With perfunctory usability modifications out of the way, it's time to browse the web. This leads me back to the blue feather in the top-right of the desktop, the only possible entry point I can see for any kind of menu system. Sure enough, a single click reveals an Xfce-like cluster of menus, one of which is labelled 'Applications'. This would hide the web browser - if one were installed. Instead, it lists a dozen or so technical demos, none of which add any functionality to the desktop.

Desperate, I open a command line terminal and type 'links' followed by 'lynx', but there's no glimmer of recognition from the Bash prompt. I'm stuck, and the only solution I can think of is to switch back to the Linux desktop and use a browser I know works. Which is exactly what I do next.

Doc deprived

I first try the Haiku online documentation, but the freefall state of development that Haiku is in means there's no documentation for prospective users, only documentation to help developers. I'm left resorting to Google, and search for 'haiku getting started browser'. This works, as the first hit is a link to Haiku's community forum and a new user asking exactly the same question.

Apparently, you can use the NetPositive browser, as found on the BeOS installation CD (which I obviously don't have). Alternatively, you can download a version of either Opera or Firefox. I go for the latter, but it's not straightforward. The answer is to use Wget to download a pre-built binary of Firefox, and type a few commands to create a couple of environmental variables.

As I can't load the page into Haiku directly, I have to painstakingly copy the command character by character into the Haiku terminal. But a couple of minutes later, and I'm able to jump into the Firefox directory and launch the executable. It's not exactly user-friendly, but these are the kind of problems you expect when you're visiting a new country.

It turns out that Firefox is being actively developed for BeOS, but that the BeOS Firefox project goes under the name of Bezilla. This is because the current port doesn't meet Mozilla's strict requirements to qualify for use of the Firefox brand. It also means that the BeOS version of Firefox is always going to be a few steps behind the Linux version. And the same is true of Java, which currently has no BeOS port (though a small team of developers have just taken on the task).

Day 7: Thanks only to the active forum, I was able to find instructions for installing and running Firefox.

Now that I've got a web browser running, things are looking much brighter. For a start, I can actually use Haiku productively. Firefox runs a little slowly, but otherwise it's the same browser we all know and love. Google Mail and Google Documents work fine, and I can download things through a GUI for the first time.

There's no Java and no Flash support, but that's prob ably a good thing, as it stops me wasting time watching early 80s pop music videos on YouTube. I was able to use the Haiku desktop for web browsing without much difficulty, and I carried on like this for several days before wanting to delve any deeper into the operating system.


After spending a couple of days using Haiku for idle browsing, I thought it was about time to try something more interesting. And that meant installing more software. Fortunately, there's a portal for all things BeOS, and it's BeBits.com. This is one of those subversive hideaways you never realise live on the internet until you have cause to visit.

Windows users must think the same thing about Linux until they first Google for it and realise the internet is Linux. BeBits is a time capsule for BeOS applications, utilities and games, many of which I hope should start on Haiku without too much difficulty. That's the idea anyway.

Serious business

The retro feel of the whole desktop put me in the mood for some classic gaming, so I searched the site for a BeOS Tanks clone, thinking that simplicity would be a good place to start. There were several (including the open source classic Barrage), but I opted for the primitive classic TankGame. Unfortunately, TankGame needed registration information to get to the download page.

Faced with dozens of other games to try, I simply switched back to BeBits and tried the second option - the infamous Barrage. This got a good rating, and was only a 709KB download (or should that be 'a single floppy disk'?), but the link was dead. I found dead links and forgotten applications were common in my Haiku confinement, and this left me with some random game searching.

I ploughed through the games list, and chose a game called Alien Attack 2, a title I can remember from my Acorn Electron days - which may explain why it was only a 40KB download and nearly 10 years old. After a split second, the zip file could be found on my desktop, and a right-click later the executable was extracted to the desktop. The nice thing about Haiku is that you can often run applications directly. There's even a pretty alien icon on the desktop, and a click on this and the game runs. In a small window. And way too fast. But it's a neat-looking game, and I'm left wanting to try something else.

This time, I went for the chart section on BeBits to see what everyone else was downloading. In the best rated category, the top spots were taken by crossplatform emulators - Qemu and ScummVM. Both of these are excellent at what they do, but they're hardly BeOS-specific. Further down the list you can find Vim, an audio jukebox and a BeOS version of the Handbrake DVD conversion tool. Most users seem to be using Haiku as a genuine desktop replacement, doing the same things we normally do on our Linux desktop.

There are also plenty of driver packages, including tools for Nvidia and ATI graphics cards, as well as a simple Ethernet driver. This makes me glad I'm running a virtual machine, as I don't have to worry about hardware compatibility. You can also find nearly every open source game and application you'd find in the average Linux package manager, which means there's obviously a lot of people working on BeOS conversions of popular software.

Day 16: It seems that Wget is the only concession to a networked environment, but I should really just be grateful that the network stack is part of the operating system.

Getting warmer...

It's at this point that I st umble upon a site called Haiku Ports (ports.haiku-files.org), which seems to be the central repository for modern BeOS software projects that are being converted from other platforms and maintained on the variety of BeOS-compatible derivatives. Those derivative operating systems are listed on the main project page, and obviously include the original BeOS, as well as Haiku. But it was interesting to discover other similar alternatives, including one called Zeta.

This was a commercial continuation of BeOS development headed by a company called YellowTab GmBH. If there's one thing I've learned about BeOS, it's that there are plenty of initiatives keeping the OS alive. Zeta led me to www.zeta-games.com, which seemed a much more modern approach to BeBits, and it was there I downloaded the SDL libraries.

Unzipping this archive recreated the /home directory structure on my desktop, and I guess that this should overwrite the real location for installation to succeed. But what I actually needed to do was copy the SO files to /boot/home/config/lib. From that point, I tried several excellent SDL ports of games that were functionally identical to their Linux versions. There's a lot that's familiar in Haiku.


It's at this stage, after more than a week of playing around, that I wanted to become more productive with my new operating system. Unfortunately, there's very little productivity software available, which is Haiku's biggest problem at the moment. There's an ancient version of AbiWord that works, and the BeOS version was even officially supported for a while before the operating system went the way of the dodo. But this release is too old to be taken seriously.

There are various projects attempting to port a newer version of AbiWord, including a 'pre-alpha' release of AbiWord 2, but I couldn't get anything to work, and there doesn't seem to have been any progress in the project for well over a year. You can also get hold of an old productivity suite called GoBe Productive. The company behind this software was even rumoured to be interested in buying the operating system at one point, but these days it seems happier selling Windows software. As mentioned, you can use Google Documents through Firefox, but neither are ideal when you're used to native Linux apps.

I can't criticise Haiku. It's in a rapid state of development and no one is claiming it's anywhere near a productivity level. But it's very close, and you can't help feeling that a little user-oriented documentation and packaging could go a long way. A recent port of AbiWord and Firefox is all you'd need for most small office environments, and you'd be able to install Haiku on virtually any spare machine in the office. It would also feel quicker than most other operating systems, Linux included, and the limitations in the desktop environment wouldn't be important.

KDE to Xfce

If you do decide to live in the world of Haiku, it's the desktop environment that's going to have the biggest impact on your routine. It's akin to switching from KDE to Xfce, for example. The file manager is an important part of any desktop environment, and I found BeOS very reminiscent of my Amiga days . Like Workbench and Gnome's spatial mode, each folder click opens a new window, as do all the application and preferences windows. Window borders are small, and desktop space is used very efficiently.

This was important 10 years ago, when screen real-estate was expensive, but it seems overly frugal in the era of high-resolution, super-cheap TFT monitors. The tiny dock in the top-right of the main window, for example, is similar to an old Amiga application called Tool Dock, and all this efficiency can take a little getting used to, as do other little quirks. Similar to Apple's OS X, applications don't quit when you click on the top-left 'close' icon, for example. Instead, they tuck themselves away in the small toolbar, and can be brought back to life at any moment. To quit an application, you must click on the toolbar icon and select Close from the pop-up menu.

The advantage to all this minimalism is speed. Windows are quick to open and move. Most applications and tools load immediately (an exception is Firefox), and the whole system can reboot in under 10 seconds. Real hardware will be even faster. This is the computer desktop we should always have had.

Day 22: Haiku has many modern features, including 3D graphics acceleration on native hardware, and anti-aliased text.

After a couple of weeks of Haiku sitting on my desktop, I've found dipping into another operating system strangely refreshing. It shows that there are other ways of doing things. There's more to open source software than the Linux kernel, and alternative operating systems like Haiku offer valuable choices, reminding us that Linux isn't the beginning and end of the free software world. And surely that can only be a good thing?

First published in Linux Format magazine

You should follow us on Identi.ca or Twitter

Your comments

Username:   Password: