After using Linux exclusively for a couple of years I began to feel a bit out of touch with the computer users in our rural community, nearly all of whom use some version of Windows. It had become more difficult to help people (especially over the phone) with computer problems, as my memories of Windows configuration and tweaking had faded. With a fresh set of YARD boot-disks at hand, I reinstalled Win95 from the CDROM, rebooted from the YARD disks, then reinstalled lilo on the usurped master boot record.
After completing this unpleasant and tedious task I felt that I deserved some sort of reward. Due to an inherent and insatiable curiosity about software and operating systems, I had ordered the BeOS release 4 CD a week or two before but hadn't gotten around to repartitioning a hard disk and installing it. In this article I'll discuss my first impressions of this BeOS installation, as well as compare the relative features, appearance, and usability of Be and Linux
The BeOS is a young operating system. Its hardware support and software availability reminds me of Linux in the mid-nineties. Since not everyone is willing to spend money on new hardware in order to run Be, the company is willing to refund the purchase price (no questions asked) if someone buys a copy but can't get it run. Luckily my hardware was supported, which was as much a matter of luck as anything else.
Be can only be installed on a primary partition, in contrast to Linux, which can be installed on any sort of partition. Earlier releases of Be were limited to IDE drives, but release 4 can be installed on SCSI drives as well, but only when connected to certain brands of controller cards. It happens that I have one of the supported SCSI cards, but the drivers are new so I thought I'd play it safe and make room for a new primary partition on my IDE drive. Be Inc. has licensed a limited version of the partition-resizing utility Partition Magic and included it on the Be CD. This version of Partition Magic is meant to be run from Windows, so it wouldn't be of much use to a Linux user without Windows installed. It's also limited to three preset partition sizes. I tried it but it refused to recognize the partition I had created.
The other method of installation is to boot from the supplied boot-floppy and insert the CD during the booting process. The new partition was still unrecognizable. To make a long story short, after several attempts I found that only one of the first two primary partitions would work for the installation. Unfortunately the first two primaries on my IDE disk were occupied by Win95 and Linux, so I ended up moving the contents of some Linux partitions on the SCSI disk, edited the /etc/fstab file to reflect the changes, and created a new first primary partition on the drive. BeOS installed without a hitch once it could find an acceptable boot partition, but it struck me as being rather picky about its partitions.
Be comes with a bootmanager (based on lilo) but I chose to add a new stanza
to my existing lilo.conf file, as lilo has always been dependable for
me and I couldn't see an advantage to using Be's. The stanza is simple:
Accustomed as I am to the verbose Linux boot-messages scrolling by, Be's seemed spare and uninformative. The messages which do appear let you know that a "boot-volume" has been found, and that unspecified devices are being initialized. Be requires about the same amount of time to boot as Linux if you add in the time X takes to start up.
The developers at Be have created a GUI which is reminiscent of both the Mac and OS/2 interfaces. Not spectacular or flashy, but nevertheless cleanly designed and functional. Linux users have become accustomed to configurability, a trait which aficianados cherish but which can be confusing to new users. A few minor tweaks of the interface are possible with Be, such as scrollbar style and desktop background, but the basic window appearance is hard-wired. In a sense, the legions of Linux programmers have, over the years, transformed a liability (X-Windows' lack of a built-in window-manager) into an opportunity. That this was even possible is due to X's inherent flexibility along with the availability of the X source.
Poking around in the directory tree I found some familiar names, directories such as /etc, dev, plus a directory /beos/bin which contains the standard unix utilities such as ls, cp, and the bash shell. These are Be ports of the GNU utilities; I suspect the source is tucked away on the CD in order to satisfy the GPL. An old, non-GUI version of the Vim editor is even included. These utilities can be run from a Terminal window, which is similar to xterm with the addition of a menubar from which font-size and colors can be set.
One interesting feature which I was interested in trying out is the support for more than one color-depth simultaneously (on separate pager desktops). This works, but not consistently in my case. Even though my video-card is supposedly one of the highly-recommended cards for Be, switching back and forth from an 8-bit to a 16-bit desktop will eventually result in a corrupted display. I quickly learned not to try a high resolution and then set it as default for all desktops, as if all screens are garbled rebooting is the only solution. A reboot into "safe mode" to reset the defaults is necessary when this happens.
This is one part of the OS which the Be developers got right. The screen fonts are crisply rendered at all sizes. Among the many demos included with Be is a very impressive font demo which displays fonts in a variety of ways: skewed, rotated, smoothly changing size, etc. One possible reason for the high-quality on-screen font display is that the only type of font currently supported in this release is TrueType, though Type 1 support is planned. TrueType fonts typically just look better than Type 1 on a computer screen, as can be seen in Linux when using one of the TrueType font servers such as xfstt. A basic editor is included with Be, called Styled Edit. It's similar to Microsoft's Wordpad in that it can use scalable fonts along with their bold and italic versions and saves the information in the file.
Be uses a new filesystem called befs. It sounds impressive; a 64-bit journaling filesystem which can store file metadata in a file's attributes. This is similar to OS/2's HPFS file-system, except HPFS files just have attribute pointers stored in the file; the actual attribute data is stored in a binary configuration file. When I first read about Be's filesystem I hoped that they had avoided using binary-database configuration files, as in my experience they cause more problems than they solve. The filesystem also has inherent database capabilities, whatever that might mean. I'd like to see a demonstration of this feature.
The be filesystem also has support for very large files, up to one terabyte. All of this sounds impressive, but without applications which make use of these features (I mean large applications which handle large amounts of data, such as video-editors) it's difficult for an end-user to see any particular benefit.
There has been much discussion in the past few months on the linux-kernel mailing-list about the feasibility of extending the trusty ext2 filesystem to include some of these features. People doing video-editing in particular would like large-file support; Linus Torvalds thinks that these people would be better off using a 64-bit machine for this sort of work, as the ability to make use of large files "comes with the territory". Journaling ability for ext2 is being worked on, and after a lengthy debate about file meta-data the consensus seemed to be that similar results can be achieved using the existing ext2 filesystem.
Be isn't a multi-user OS as Linux is, but the PPP networking is easy to set up. Unfortunately, my modem wouldn't respond. It turns out that external modems are autodetected well but internal modems can be troublesome. I eventually found a configuration window which allows the user to add a non-PNP ISA device, but it took me at least as long to figure out the format of the memory addresses needed as it ever has taken me to figure out a cryptic Linux config file. I finally found a newsgroup posting which explained it well, as well as several which claimed to but were wrong. Once over this hurdle opening a PPP session was easy, as long as the ISP uses PAP authentification. Otherwise you're out of luck. Once online stability of the connection and transfer rates seemed comparable to what I'm accustomed to with Linux.
A few network cards are supported, nowhere near the number which Linux supports. My card isn't supported, so I was unable to test an ethernet connection.
Printer support is very limited; only Apple Laserwriters and HP PCL3 Laserjets, and the Epson ink-jets are usable. I use an old Epson dot-matrix printer; even if my printer worked with Be I would miss being able to use Ghostscript.
There really aren't many, though much is promised. That's the chicken-and-egg problem with any new operating system: nobody wants to port applications until there is a sizable user-base, but people don't migrate to the new OS without those "killer apps" available. There are several e-mail clients, at least two word-processors-in-progress, but so far not too many of the audio and video applications which Be needs if it wants to live up to its nickname "the media OS".
One problem with application availability is the change in release 4 to the ELF file format, similar to Linux's. This means that programs written for earlier Be releases won't run on release 4. Evidently recompiling can be tricky, so there is a large backlog of ports and programs which haven't yet been updated for the new release. This was disappointing, as I was looking forward to trying the Be port of GNU Emacs. Another change made in release 4 is the adoption of the Cygnus egcs compiler as the default. Previous releases used a crippled free edition of the commercial Metroworks development tools. The software developed for and ported to previous Be releases was developed with the Metroworks tools; evidently some code rewriting is necessary to compile the old code with egcs. Yes, Be ships with a compiler, header files, make, etc., as does Linux, but the trend in the Be world is binary software distribution rather than the freely available source Linux users are accustomed to.
One of the most impressive applications available is Gobe Productive, a word-processor with spreadsheet and image-editing modules. The documents it produces are layer-based, similar to the usage of image layers in the Gimp. Speaking of the Gimp, the image editor includes a subset of Gimp plug-ins, though without preview windows. Unfortunately this application saves documents in Yet Another Proprietary Format, though RTF is also supported. Until Gobe Productive supports the ubiquitous Word file format (promised in a future release) it's unlikely to sell too well unless Be really takes off.
The apps situation reminds me of Linux a couple of years ago, minus the open-source tradition which kept Linux alive and thriving before the advent of commercial Linux interest (and is still responsible for much of the vitality and yeasty ferment of the Linux community). I admit I find the shareware-crippleware tendency in BeOS software to be a little irritating, but Be is unabashedly a commercial OS with all that implies. Commercial, but not above using driver and utility code developed by free software developers.
Right now the BeOS is not much more than potential. If Be Inc. can induce hardware manufacturers to write more drivers (and if enough users migrate) it may do well. This year is a perfect time for alternatives to Microsoft to gain user-share due to Microsoft's legal entanglements and growing public disenchantment. I don't think many current users of Linux will abandon it for Be, though I imagine there will be a significant number who will dual-boot if audio and especially video-editing applications for Be become available. I doubt the user-interface amenities Be provides are enough of an incentive to attract many current Linux users, as people who want these features are currently using KDE, with a stable release of Gnome on the horizon providing another choice. I believe in the principles fueling the free software movement, but not in an exclusionary sense. If Be should gain popularity and market-share the consequences will likely benefit Linux as well. Consumers will begin to realize that viable non-Microsoft choices exist; Be's unix-like structure could expose more people to the stability and other benefits of unix-like operating systems.