Haiku R1 beta 2Haiku is an open-source operating system that specifically targets personal computing. Inspired by the Be Operating System (BeOS), Haiku aims to be fast, efficient, simple to use, and easy to learn. It is specifically geared toward desktop usage and maintaining a responsive desktop environment.
The Haiku project has been, to date, in perpetual development mode. Which is to say the releases to date have been labelled as being alpha or beta releases. I mention this because while the version label is R1 beta 2, the platform should probably be regarded a relatively mature project with the benefit of nearly 20 years of development behind it.
The R1 beta 2 release includes a number of new features such as improved font scaling and HiDPI support, along with the ability to work with mouse devices that offer more than three buttons. More applications have been ported and are now available through the project's software manager. The installer has mostly remained the same, however users can now exclude the installation of optional packages while setting up Haiku. New driver support has been added and there are some new options for keeping the Deskbar (a sort of combined desktop panel and system tray) out of the way.
The project's latest release is available in 32-bit (x86) and 64-bit (x86_64) builds. There are also builds for ARM, PowerPC, m68k, and SPARC architectures, however these builds are considered to be unsupported. I downloaded the 64-bit build which is available as a 955MB ZIP file. Unpacking the ZIP file presents us with a 1,108MB (1GB) ISO file we can write to optical media or a thumb drive.
Booting from the live media brings up a graphical interface with a welcome screen. The welcome screen invites us to select our preferred language and keyboard layout (the defaults are English with a US keyboard mapping). We can then click buttons that start the live desktop environment or launch the system installer. If we choose the live desktop option we can launch the installer later from an icon on the desktop.
The live environment presents us with a mostly empty desktop. The background is a neutral blue and there is a panel or dock in the upper-right corner. Along the top of the screen are icons for opening documentation, a quick-start guide, the system installer, and the file manager. As there are multiple documentation options I think it is worth talking about them a little more.
One of the documentation options on the desktop is the manual, called the Be Book. This seems to be an updated manual from what I assume BeOS shipped with in the past. There is a quick tour option which gives users a summary of desktop features and options. I like the quick tour guide as it includes screenshots and an overview of how the user interface works. There is a user's guide too which seems to focus more on lower level system functions such the filesystem layout and operating system settings. The documentation strikes me as being well organized and I appreciate the work that has been done to explain what Haiku is and how it works.
In the upper-right corner of the desktop is a small system tray and an icon decorated with a blue feather, the latter opens the applications and settings menu. Right below the menu is a list of open applications and we can click an application's entry to give its window focus. The menu includes demo programs, system utilities, settings modules, mount options, and shutdown options.
Haiku R1 beta 2 - reading the documentation and running a demo program (full image size: 81kB, resolution: 1366x768 pixels)
Haiku's system installer is a graphical application which begins by telling us to set up a BeOS partition. From this initial screen we can click a button to launch a partition manager called DriveSetup.
DriveSetup is a fairly straight forward desktop partition manager. Its layout reminds me of GParted, though the menu options are a little different. Once a partition has been created of the BeOS type we can exit DriveSetup and return to the installer. At first the installer did not seem to recognize the new partition, even after I had closed and restarted the installer. With a little experimenting I discovered the installer needed us to not only created a partition of the BeOS type, but also format it with the BeOS filesystem. Then the installer would recognize the partition and agree to copy its files to this prepared location.
The only other thing the installer gives us to do is, optionally, we can choose to not install some non-critical components. The optional items are listed with their name and size only, without a description. This means we can choose to not install curl, bison, gcc, and other packages, but we need to know what they are based solely on their names. Most of the optional components appear to be development utilities. I chose to install everything.
When the installer begins copying its files the entire process, which placed 2.5GB of files on my drive, took approximately five seconds. (Not, as one might expect, five minutes. Just five seconds.) The installer reported it was then finished with no further configuration steps required. This means, in theory, an install (including boot time from the live media, partitioning, copying files, and rebooting) can be completed in well under five minutes.
I tested Haiku in VirtualBox first and found the operating system to be highly responsive. Boot times were under five seconds and the desktop was always quick to react to input. My mouse pointer did not integrate with Haiku when I was running Haiku in a virtual machine on my laptop, but it did when I switched over to a desktop machine running the same host platform and the same version of VirtualBox. In either virtual instance, Haiku's desktop would not dynamically resize with the VirtualBox window, however I found a settings tool which would allow me to resize the desktop in the feather menu.
While in the virtual environment the mouse pointer was very touchy and would zip across the screen with the slightest provocation. This sensitivity could also be toned down in using a graphical configuration tool.
When I switched over to running Haiku on my physical laptop, the operating system performed beautifully. It was quick to boot, it shutdown almost instantly, and the interface was wonderfully responsive. All of my hardware worked flawlessly, including my wireless network card.
A fresh install of Haiku with all of its optional components took up 2.5GB of disk space. Not much memory was required, typically around 230MB of RAM while sitting idly at the desktop, according to the ActivityMonitor tool.
Looking through the list of available applications I find it interesting that there are a lot of familiar functions being provided, however the names and styles of the applications are different from what we see in the Linux and BSD families. There is a system monitor (called the ActivityMonitor), a PDF viewer, and DriveSetup to partition disks. Many programs have simple, descriptive names such as Media Player, Mail, and Terminal. The contact manager is called People. There is a web browser called, optimistically, WebPositive. One of the few oddly named applications was the IRC client which is called Vision. There are also some common small utilities such as a text editor and archive extractor.
Haiku R1 beta 2 - running the WebPositive web browser (full image size: 133kB, resolution: 1366x768 pixels)
For people who are new to Haiku there is a great list of default programs presented in the project's documentation which describes the available applications. People coming from a Linux or BSD background will be happy to learn Haiku ships with UNIX command line utilities such as ls, ps, and grep. These programs are bundled with manual pages.
Something which stands out about Haiku is its focus on desktop computing, that is to say graphical utilities. While there is a terminal interface and there are powerful command line tools, virtually every task can be performed through the desktop. This focus on graphics and visual touches shows up in Haiku's configuration tools. The time zone tool shows the flags of countries next to each region's entry in the list of locations. The input configuration utility shows a picture of a mouse. The tool for setting the time shows both digital and analog clocks to display the system's current time.
Haiku R1 beta 2 - adjusting settings in two configuration tools (full image size: 71kB, resolution: 1366x768 pixels)
Haiku also shows off its focus on graphics in a sub-section of the feather menu which features demo programs. These demos test the screen's frame rate, show off simple animations, and show fractal images we can zoom in on. These tools don't do much, in a practical sense, but they are fun to play around with.
Managing software packages is handled by a tool called HaikuDepot. While most software managers take either a low-level package view of the system (the way Synaptic does) or a high-level view of desktop applications (as we see in GNOME Software), HaikuDepot tries to do a bit of both. The software manager has two tabs, the first shows a list of popular applications with their icon and a brief description. Entries in the list also have a rating out of five stars. We can click an item in this curated list and a longer description with a screenshot will appear in a pane at the bottom of the HaikuDepot window. Installing new packages can be achieved by clicking an Install button, followed by a confirmation prompt showing any dependencies the software needs. We can only install one new package at a time, but we can continue to browse available software while downloads are happening in the background.
The Depot's second tab lists all available, low-level packages in one long list. This approach is more in like with Synaptic or Pamac in the Linux community. Once again we can select and quickly install desired items.
HaikuDepot, while it straddles two approaches, manages to maintain a fairly simple user interface and does not overwhelm the user with a lot of options. It also works fairly quickly and in my experience, without fuss or problems. The one time I ran into a problem with HaikuDepot, I found out I had filled my operating system partition with new software packages and it caused HaikuDepot to give cryptic errors and bail out from installing new applications. Cleaning out my package cache directory to free up space corrected the problem.
A second utility, called SoftwareUpdater, handles updating installed packages. Here Haiku again takes a simple approach, displaying a list of new packages and giving us the chance to install them. Packages are listed with a brief description. Installing new updates is an all or nothing experience; as far as I can tell there is no way to only install some available updates.
Haiku is an interesting creation for several reasons. First of all, it does not generally feel like a modern operating system. The look of the desktop, the icons, the layout, the lack of user accounts - all of this feels very much a product of the 1990s. Which makes sense, Haiku is following in the footsteps of the BeOS legacy. In some ways the project has defied modernization, for better or for worse.
However, there are some downsides to not modernizing. The application menu does not offer much in the way of organization or searching for programs, which means if we install a dozen new programs the feather menu soon becomes large and unwieldy. The lack of user accounts means Haiku is really only suitable for single-user systems and ones where the user does not wish to use passwords or encryption at that. This puts Haiku into a small, special niche. An important niche to be sure, but a relatively small one.
There are two more things I'd like to acknowledge. The first is that while Haiku does not have a huge collection of open source software in its Depot, it does have a lot and probably enough for many people to get by. There are web browsers, games, development tools, some rich text editing functions, e-mail clients, and so on. Perhaps not the same mainstream fare we are used to in the Linux ecosystem, but plenty of functionality is available to cover the basics.
My second point is that the big issue I run into when reviewing non-Linux operating systems, particularly the BSDs and MINIX, is the lack of hardware support. Even Linux distributions that ship without non-free firmware tend to cause me problems. Haiku is rare in that it worked with all of my laptop's hardware. This meant I could fire up the laptop and be on-line in under 30 seconds from the power button being pressed to the time I was checking my preferred news sites. Not many operating systems can balance that kind of efficiency with this level of hardware support and my hat is off to the Haiku team.
I will be honest in that, in the past, I did not feel I got much out of Haiku and its previous alpha releases. They were interesting from a design standpoint, certainly, but not practical operating systems I could use to get things done on real hardware. That has changed. Haiku can be used almost exclusively to accomplish my work on a day-to-day basis on my laptop now and I am impressed with what this light, responsive, desktop-oriented project has accomplished in recent years.
* * * * *
Hardware used in this review
My physical test equipment for this review was a de-branded HP laptop with the followingspecifications:
Processor: Intel i3 2.5GHz CPU
Display: Intel integrated video
Storage: Western Digital 700GB hard drive
Memory: 6GB of RAM
Wired network device: Realtek RTL8101E/RTL8102E PCI Express Fast