Haiku R1 Beta1Haiku is an open source operating system and the spiritual successor to BeOS. Haiku is a single-user operating system which offers a highly responsive desktop interface and strives to be easy to use. Development of Haiku started in 2001 and the initial release came out in 2002. Development of Haiku has been gradual and the project released its first beta in September of 2018.
According to the project's release notes, Haiku requires just 256MB of memory and 3GB of disk space. The operating system includes a number of useful utilities, a virtual terminal, a system installer and a web browser (called WebPositive). Haiku's first beta also includes a new network connection tool and a different approach to package management.
By far the largest change in this release is the addition of a complete package management system. Finalized and merged during 2013 thanks to a series of contracts funded from donations, Haiku's package management system is unique in a variety of ways. Rather than keeping a database of installed files with a set of tools to manage them, Haiku packages are a special type of compressed filesystem image, which is 'mounted' upon installation (and thereafter on each boot) by the packagefs, a kernel component. This means that the /system/ hierarchy is now read-only, since it is merely an amalgamation of the presently installed packages at the system level (and the same is true for the ~/config/ hierarchy, which contains all the packages installed at the user level), ensuring that the system files themselves are incorruptible.
The download for Haiku is a compressed archive 887MB in size. Unpacking the archive gives us an ISO file that is about 1.1GB. Booting from the provided media brings up a window asking us to select our preferred language from a list. We can then launch the Haiku system installer or try the live desktop environment.
The live desktop features seven icons lined up along the top of the screen. Over in the upper-right corner of the desktop is an application menu (represented by a blue feather), a system tray and a list of open windows. The desktop seems designed to use space as efficiently as possible; the visible elements are mostly small and tucked away into the corners.
Haiku R1 Beta1 -- The application menu (full image size: 132kB, resolution: 1280x1024)
Looking over the desktop icons we find some that open the file manager, one which opens BeBook (which appears to be a developer guide), one that opens a welcome document and one that opens the user guide. The welcome document and user guide both provide some useful tips on using the desktop, installing wireless network support and the file system layout. The documentation is clear, features examples and often includes screen shots.
Haiku's system installer can be launched from the live desktop's greeter or from an icon on the desktop. The installer is very short and simple. We are asked to select the location of source packages (with the default location being the DVD). The only other thing the installer wants to know is where Haiku should be installed with available partitions being shown in a drop-down box. If no suitable partition is available we can click a button to launch DiveSetup, a graphical partition manager similar to GParted. Once we have selected an empty partition, the installer copies its files to the hard drive. The entire install process takes about 30 seconds. When it is finished, we can continue to use the live environment or restart the computer to use our new copy of Haiku.
The locally installed copy of Haiku boots directly to the desktop. The installed desktop is virtually identical to the live desktop, except the system installer icon has been removed. The graphical interface is amazingly responsive with new programs and windows opening almost instantly.
Something that took me a while to get used to is Haiku's windows are not entirely rectangular as on most other modern operating systems. Haiku's windows have a little tab that sticks out of the top that acts as the title bar and includes buttons to close and maximize windows. I also found maximizing a window does grow the window while avoiding covering the application menu. This feature, along with the upper window tab, means maximized windows leave empty screen space above and to the right (ie. they don't look maximized).
Haiku's application menu features options for accessing files, shutting down the computer, or browsing installed programs. There are also menu trees for accessing settings and demo programs. Each menu tree is arranged in alphabetical order without any sub-menus for categories of programs. I suspect that, over time, this will make the menus quite full and increasingly slower to navigate. However, in its default state, I found the menu tress easy to explore and most applications are clearly labelled; program names tend to match their functionality. For example, the archive manager is called Expander, the partition manager is called DriveSetup, and the addressbook is simply called People.
I experimented with Haiku in a VirtualBox virtual machine and on my physical workstation. When I tried running Haiku on the physical machine the operating system failed to complete the boot process. The graphical splash screen would display for a few seconds, but the system would lock up prior to getting the to desktop. This happened when booting in both UEFI and legacy BIOS modes.
When running in VirtualBox, Haiku did not integrate with the host environment. I was, however, able to make use of my system's full screen resolution by adjusting the display dimensions in Haiku's Screen configuration tool. The virtual machine used a lot of my host's CPU. Even when Haiku was idle, VirtualBox was using 25% of my host's CPU resources. Running a simple application such as the resource monitor in Haiku raised that usage to 35%.
Haiku has a pleasantly small footprint, using about 350MB of RAM when sitting idle at the desktop. The operating system, once installed, used 2.7GB of disk space, which is relatively light compared to most modern Linux distributions.
Haiku comes with several applications already installed. The WebKit-based WebPositive browser is featured, along with a Mail client. There is also a simple media player, the Pe text editor, a partition manager and a disk usage monitor. There is an audio recorder, a contact manager and a very simple web server called PoorMan which allows us to share a directory over the HTTP protocol. There is an application called TV which just shows a test pattern image and, so far as I could tell, won't do anything else as the menu for channels contains no additional entries. There is an IRC client called Vision, which is a rare exception to Haiku's obvious naming scheme for applications.
If we open a virtual terminal, Haiku presents us with the Bash shell. From the shell we can use most Unix command line tools, view manual pages and connect to remote computers using OpenSSH. The GNU Compiler Collection is installed for us in case we want to build new applications.
The media player was able to handle playing audio and video files. Playback was pleasantly smooth, even in the virtual machine environment. The one issue with media playing I ran into was stopping a video and trying to restart it from the beginning would cause the player to stop working. I had to close the player and re-open it to restart a video.
Another quirk I ran into was clicking the Help menu entry in the Pe editor would open WebPositive and display Haiku's website. A more pleasant feature I enjoyed was the terminal would change the colour of the shell prompt depending on whether the previous command had completed successfully. This gave a clear indication as to whether programs were completing their work properly.
A consistent problem I kept running into was Haiku's network connection dropped every few minutes. I could get on-line, visit a web page or two, but then the connection would drop. This would cause WebPositive, or whichever application I was using, to lock-up and refuse to either continue or close. Haiku's applications do not handle losing their network connection gracefully and need to be terminated from the command line.
I tried various different network settings in the hope that using a static IP, or different DNS, or a bridged connection would solve my connection issues. However, in the end, I typically just succeeded in locking up the network manager rather than re-establishing a connection to the Internet. The only reliable solution was to reboot Haiku to bring the network connection back on-line.
Programs are added to Haiku through a desktop utility called HaikuDepot. The depot is divided into two panes. The top pane displays a list of available applications in alphabetical order. Each entry includes the program's name, an icon and a brief description. Some feature a rating out of five stars. Clicking on an application causes the bottom pane to display a detailed description and a screen shot. Once a program has been highlighted we can install it with a single click.
The depot is easy to navigate though it shows a lot of software and there is no separation of applications into different categories, as many modern software managers do. If we are looking for a specific program or an application to handle a specific task we can perform searches using key words. Searching for "office" for example, will bring up the entry for LibreOffice.
While HaikuDepot is easy to navigate, I was never able to successfully complete an installation as my network connection kept dropping. I ran into a similar problem when using the update manager, SoftwareUpdater. The update manager, which must be run manually, displays a list of available updates with a short description next to each. We can then click a button to download the waiting items. When I started using Haiku there were 31 new updates waiting. My network connection never remained stable long enough to download more than 22 of the waiting packages.
As you can probably tell by this point, I ran into a number of frustrating problems while using Haiku. The main ones were the network connection constantly dropping every few minutes, and the operating system failing to boot on my workstation. There were some other aspects that I wasn't thrilled about - the title bar being a tab at the top of windows looks weird and inefficient to me, but that is a matter of taste.
Having an operating system which only has one user account and doesn't require passwords is a non-starter for me. Some people may like the convenience and simplicity of having a completely open, one-user system (it does streamline things) but it wouldn't be suitable for any of my environments or devices, apart from my mobile phone.
In short, in my situation and in my environments, Haiku is not a practical option. However, there are several aspects of the operating system and its surrounding project that I think are great. Haiku has unusually clear and well organized documentation. Most open source projects could use Haiku as an example of how to make user guides. There are little details I like, for example the notes on how to set up wireless networks are available locally, on the install media. This is a minor detail, but it's unfortunate how many projects explain how to get on-line in resources which are only available on-line.
Haiku's desktop is clean, the look is consistent across applications and visual elements don't use up much space. It took me some time to get used to having the application menu and task switcher on the right side of the screen instead of the left, but I like the way the desktop is presented.
One of Haiku's best features is that it is fast and responsive. Whether the system is booting, launching programs, browsing the web or displaying a video, the desktop is highly responsive. Everything feels light and reacts almost instantly to input. This is behaviour I usually only see in super light (and minimal) Linux window managers and I really appreciated the how everything happens quickly on Haiku.
So while Haiku is not practical for me, and I'm guessing for many people, I do think there are aspects of the project which should be held up as a good way to do things in the open source community. I must also applaud Haiku's team for porting several applications, including LibreOffice, to their operating system. Haiku has a lot of its own applications, but I think many users will appreciate having ports of popular programs in the HaikuDepot.
* * * * *
Hardware used in this review
My physical test equipment for this review was a desktop HP Pavilon p6 Series with the following specifications: