Archive for May 2012

What Haiku is missing

I recently realized something about the progress of the Haiku operating system. I think it’s ready for a large increase in users, but something is holding it back. That something is an itch. Haiku is missing the right itch to scratch.

There’s an annoying little problem any new operating system must face, whether it’s mobile, desktop, or other: People don’t want to use an operating system that doesn’t have the applications they need, and people won’t create applications until there are people using the operating system. Non-kernel-developers won’t even considering using an operating system until it is far enough along to allow a person to feel like they can do something with it, besides just being a beta tester. Well, I think Haiku is at that point.

Haiku is ready to be used by many people. It’s quite stable and contains many features that many people are looking for in an operating system, such as a nice web browser, chat, and a media player. It comes with great tools for developers. It can mount flash drives, it can be used to download torrents, and it can be used to connect to wifi. It has a pleasing appearance and is very consistant. Of course it’s not ready for everyone, but it certainly is ready to be used by some.

But

Mass adoption isn’t happening. There is talk on the Haiku forums about that being because of infrequent releases and the lack of focus on implementing single imortant pieces of the operating system. I briefly considered the idea that Haiku isn’t being used more because more people don’t know about it, in regards to there being a lack of some sort of marketing. But the more I think about it, the more I don’t think that’s the case.

I enjoy watching people post to the Community Contributions section on the Arch Linux forums. I like watching new applications flourish. Not all of them flourish, but the ones that do seem to have something in common: They were made by someone who was scratching an itch, and a large group of others had the same itch that needed scratching. One of my favorite relatively recent examples is for a fast and powerful file manager, SpaceFM.

I understand that SpaceFM is a relatively small application compared to something as large as an operating system, but even large pieces of software such as GNOME or the Linux kernel started out small. Haiku has been in development for over a decade, but still people aren’t swarming to it. Why is that?

I think the reason is that Haiku is missing an itch.

Microsoft Windows is the most used desktop operating system today. BeOS, which Haiku is based on, was designed to be a nicer, better, easier to use competitor to Windows. It may be, but things have changed a lot since then.

Windows has become easier to use. Mac OS has become much more popular. And people who want the most simplicity in a computing device will use a tablet or just stick with their mobile phone.

People who enjoy writing software and being their own system administrator have the option of using one of the many GNU/Linux distributions or similar operating systems. Haiku would benefit the most if these types of people would start using it and developing for it more. But why would they?

Haiku was designed to be a easy to use desktop operating system. It has one primary API, one GUI toolkit, and one user interface with relatively little customability. Why would a person who uses GNU/Linux with all of the great options and configurations that it provides want to use something so seemingly limiting?

There are people, like me, who love GNU/Linux but are tired of the fragmentation in distributions, user interfaces, GUI toolkits, sound servers, and so on. I wanted an operating system that was cohesive, designed to be easy to use, was free and open source software, and looked good by default. In my search for something with those features I found Haiku. But I think I’m in the minority.

If the needs of free and open source software developers can better be met by GNU/Linux, why would they use and develop software for Haiku? If they don’t, that only leaves professional software developers, and it would take someone who really likes gambling to take a bet on being able to make money by developing their software for Haiku.

If the needs of people who want an easy to use and cohesive operating system can be met by Mac OS and even Windows nowadays, why would they use Haiku? They would if free and open source software was important to them, but that hasn’t really happened with the general public. They want something that just works.

Who is left to use Haiku? People who miss the days of BeOS are interested in Haiku, but those numbers are dwindling. I’m certainly not one of them. I’d never even heard of BeOS until after learning about Haiku.

What can be done to bring software developers to Haiku? I don’t believe there’s really any great technical reasons to use Haiku instead of another modern operating system. Any technical benefit of Haiku, such as pervasive multithreading, is met with a drawback, such as it might not even boot on your current hardware.

I think stressing what Haiku does offer will help find people who are searching for something like Haiku but didn’t really know it. The more people that are informed about Haiku, the higher the chance of finding someone that is interested in using and developing for it.

What are the benefits of using and writing software for Haiku? I’m in the middle of writing my second piece of software for Haiku, and am learning a lot about why someone would want to use and develop for it. I plan on detailing these points over the next many posts. Maybe it’ll spark some interest in the next generation of Haiku developers. Maybe it’ll cause Haiku to jump into the mainstream! Most likely it’ll just allow me a place to blabber on about an operating system I love to blabber on about.

Software on Haiku

I’ve been spending a lot of time using Haiku recently. I had a particularly fun night recently.

I’ve been itching to contribute some nice software to Haiku for a while. Last year I made my first piece of Haiku software: a screensaver of pretty falling leaves. It seemed like a good place to start for me since I like making video games, and screensavers are pretty much just video games without any user input.

http://haikuware.com/directory/view-details/utilities/screensavers/fallleaves

My plan for my next piece of software is to pick a nice library, compile in on Haiku, and then write a native GUI to interact with it. I decided to start by writing an RSS client. It’s coming along slowly but fine.

It’s funny, there’s “no software applications for Haiku”, but at the same time, every time I think I have a great idea to fill in some functionality gap, I find out there already is an application for it in Haiku that works fine. Combine that with the WebPositive web browser and you now have a ton of functionality that’s provided by websites (RSS feed readers, email, document creation…) Probably the biggest application gap I see is that there’s no native word processor, but it’s really hard for me to care. I don’t really use word processors in any operating systems.

Lastly, here’s my usual list of some of the stuff I did in Haiku recently:

  • Log in to my MSN, Yahoo, AIM, and Gmail chat accounts using Caya
  • Download YouTube videos using youtube-dl and watch them using MediaPlayer
  • Listen to music while I program using a playlist in MediaPlayer
  • Host a simple static web page using PoorMan (a “poor man’s” web server)
  • Create a new software project with the Paladin IDE, setup a new project on SourceForge, and sync my work using git
  • Check my email and visit various websites using WebPositive
  • Use BePDF to view some documents that were emailed to me
  • I had some fun trying out and voting on some of the new software releases on Haikuware.

In the past I’ve downloaded files through bittorrent using Transmission, but for some reason it wasn’t working last week. I didn’t really look into it, but I think I was trying to use a crummy seeds.

I plan on spending more time in Vision, the native IRC client, to learn more about software development in Haiku.

Oh, I almost forgot! I resized my partitions and gave myself a new Haiku native partition. So I now have a partition for the Arch Linux operating system, the Haiku operating system, my Linux personal data, and my Haiku personal data. This way I don’t have to fret when upgrading.