Lowering the barrier to entry

So I have been lurking about the forums, blogs and the site for the past week or so. Additionally, during this time I have been playing around with haiku in virtualbox and a few times from a usb drive on real hardware. From this, I have developed some initial impressions of the mechanics of the project and the community. So in a sense you can take this post as a bit of feedback about how things appear to an outsider.

A couple of weeks ago I decided that I needed to get a new hobby and I was thinking that if I was to get a new hobby why not make it something that would develop personal skills. So I had decided that I wanted to start working on an alternative OS project. I was considering either ReactOS or Haiku to this end. Before looking too much into either project, I found I was innately more interested in the ReactOS project because I could really see the impact that its creation would have, this is because I am familiar with windows. However, once I actually got around to looking into what had been produced by each project, on what timetable this was accomplished, and community involvement, I found Haiku to be strongly favorable. At that point in time I started working on getting acquainted with the project, tried to figure out what makes it special and also how I could help in this.

It seems to me that there is much documentation available to people who wish to start working on Haiku. Also, potential bugs and features to be worked on can easily be found on the bugtracker. The problem that I am having is that there are a number of difficulties which I believe significantly raise the barrier of entry for involvement with this project. I have started with the R1/alpha1 release of Haiku and played around with it for a while. I have wanted to update it to the newest version because I imagine that there are improvements and potentially some changes in how things function from the R1/alpha1 version. However, how this is done is from what I can tell never explicitly mentioned. The best explanation of the process that I could find was from an osnews article here (http://www.osnews.com/story/22903/Writing_Applications_for_Haiku). I am not saying that this article is not well written, what I am saying is that information of this nature should be something easily procured from the haiku project website.

While I understand that nightly builds are not tested and may not work correctly, it does make create a complication for new users, because they end up working with a version of haiku around six months old. I have tried for around a week to get a more up to date installation of haiku running and have failed so far. Does this mean that I am not trying hard enough or that I am not doing enough digging around or just not looking in the right places? Perhaps this is the case and it is my fault, however I think that at least for a small percentage of users, their experience may be the same as mine.

The end result from this experience is that I end up feeling discouraged. I am wondering how I can help when I can’t even manage to do something so trivial. Keep in mind that, I did not come onto the forums just to moan and complain. I am here on these forums making this post because I am still interested in working on this project and I am trying to figure out how to make that happen. I am thinking that right now the greatest contribution that I can make is to tell you exactly what my experience is and what parts of getting acclimated I find most difficult. I imagine that this barrier to entry that I am experiencing is the same that all people experience when trying to get involved.

I think that an important factor in increasing the flow new developers involved in the project is by finding ways to lower this barrier of entry. I also believe that criticism without suggesting improvements is nearly useless and a bit insulting, so in this particular case I do have an idea. Perhaps in regards to nightly builds, there can be a tag denoting particular builds as metastable meaning, updating a Haiku install to this build will not leave it in an unbootable state. I am not saying that too much time should be put into finding which of the most recent builds fits this metastable category, because too much overhead for developers will also reduce production time. My proposition is that perhaps every couple of weeks or every month, someone could go through builds in reverse chronological order to find one which results in a mostly working system. I would not complain about using having to use a nightly build that was a month old, because that would still make it six months newer than R1/alpha1. If you wanted to go the extra mile, a link somewhere on haiku-files which points to the latest build marked metastable, would be amazing.

Those are some of my ideas at the moment. I apologize for being so very verbose, that is just my nature. Also, I do hope that nobody takes offense to any comments I have made here. Thanks.

I can see that it might be a little annoying to use a six-month old release, but, to be honest, is it not a waste of developers’ time to try and constantly round things off into a stable package? They are always solving problewms, and, occasionally, finding new ones. If they have to make another alpha release every three months, they would spend more time testing than developing. If the developers were constantly trying to reach goals of stability, some of the best and newest features would keep being dropped in favour of an OS that was reliable enough. One can’t rush a work of art. Although I believe it to be the worst piece of rubbish on this Earth, Linux has been established for a long time, and is not still in alpha stage. Therefore, it’s massive community can continue to make ‘improvements’ on a frequent basis. Besides all this, what if an alpha was rushed to be released, and found to be faulty? Any articles and reviews on the OS would receive give it bad publicity for being unstable. Similarly, whilst documentation is useful, it’s more important to spend time getting code out into the open, and seeing what needs to be improved. Writing manuals is a very hard thing to do, especially through the somewhat large barrier of the technological knowledge of the reader and of the writer.

The closest I have come to answering the question is this:

http://www.haiku-os.org/community/forum/alpha_2

I don’t think your the only person annoyed with this situation. Ive been a fan of Linux for years now and like to try other alternative operating systems every once in a while.

The Alpha CD installed and ran reasonably well on my laptop and i did have fun with it. After repartitioning my laptop I decided to try a nightly ISO build but this doesn’t work for me.

I dont think a feature based release schedule is realistic, this is not a commercial endeavor, no-one is buying Haiku for its new features - all I want is something thats not 6 months old.

Other operating systems have releases every 6 months as standard with relatively stable prerelease versions in between.

As I said the nightly ISO wont work for me and I refuse to use an OS that was released in September 2009 - with a Linux release this may be just about acceptable, but with a young project like Haiku I want the newest fixes sooner.

As a result I have lost interest and stopped using it until a new release is available.

I suggest you try again, for sometime nightly released stopped working for me too. However, instead of quitting I just waited and did a download each weekend. This weekend not only did they start working again but my wireless now works. It still seems flakely at times (the wireless) but every thing else seems to work fine. And finally I was able to ‘checkfs’ my drive, and writing the boot sector works better too, so it all good for me.

Personally, the easiest way for me to upgrade was to download a nightly image then ‘dd’ it to a SD card (flash drive is also okay) then boot off that drive. If I could make it boot then I would install the image to my hard drive using the SD boot image bringing it up to the latest working version. Otherwise, I just left the version that was on the hard drive alone.

http://haiku-files.org/raw/haiku-nightly-r35778-x86gcc2hybrid-raw.zip is working great for me.

@pseudomind
While I agree that there’s no easy to find documentation, I’m not sure that promoting using unstable builds is exactly a good thing either.

Could you perhaps say what part of updating is causing problems? Have you tried the vmware nightly images?

I haven’t had any troubles on this matter, but I’m more than willing to help you out.
@civ247

Could you please use the edit function to add to your posts rather than creating a new post. Otherwise forums get rather hard to read.

Alpha 2 it not too far away, but it is still in planing stage right now.

Scottmc is updating the extra software that Haiku comes with, and HaikuPorter will now be used to make this process faster, so that the OptionalPackages can be built with less user interaction.

Once this is finished I guess devs will then look at when to release Alpha 2.

http://dev.haiku-os.org/wiki/R1/Alpha2/OptionalPackages
http://ports.haiku-files.org/


Have you looked on Haiku-files for the latest pre-made images ?

http://www.haiku-files.org/cd/


Also I think you are right about the order of the documentation on the website, and that it needs to be worked on.

The best thing you could do is join the haiku-website mailing list, and write a detailed report on your problems with finding out information on the website; Be as verbose as you want.

http://www.freelists.org/list/haiku-web

~Richie

Awesome, I’ll have to try this one out then.

@satsujinka
Well, I have started off with vmware nightly images before and I have had some of those run. I have also tested a number of cd images, which also run from live mode. What I want to do is to update the existing R1/alpha1 installation with the nightly version. During this installation process it always gets an error near the end and must be rebooted. This results in an unbootable installation of haiku.

I am not sure if this is the correct way to bring an install up to date. However, I was following directions from this page Writing Applications for Haiku – OSnews which was the only place on the internet which gave any description of this process.

Well yes, I would absolutely agree with you on this matter. I’m not suggesting that the developers should spend even more time trying to make sure that their work always results in a stable nightly build. Then again, I don’t think that every nightly build will have every part of it in complete discord. I think that at some points the network stack may not work, or that printing devices are nonoperational or that perhaps at some point any non-BFS filetype may not be accessible. Things like this while critical in a sense, may not result in the system not being able to boot. If that were the case, I would still like to try it out.

@stellarpower (continued)
As far as flagging a nightly builds as semi-stable goes. I don’t think that a very involved programmer has to be the person to do it. I think any person who has spare time and is capable of running the update process is probably a person who could determine whether or not a version of a nightly works. If it were the case that this person could only devote time to do this once a month, or once every two months, the end result would still be that a more recent version of the working system. Yes it will have bugs, but I knew that before I started poking around through the nightlies anyhow.

@stellarpower (still more)
There are differences between the nightlies and alpha1 that are important and will have an impact on people. A usb drive of alpha1 on my desktop booted and worked to an extent, but the network was nonfunctional. An updated version had the network operational but did not include a browser and sed was not working so I couldn’t install one. I was excited that my hardware was supported in the newer version and I think that other people will likely have a similar reaction. I truly believe that, reading about improved driver support is a lot less interesting than seeing real world examples of that especially on one’s own hardware.

I’ll probably follow through with this when I get more free time. Right now I am busy studying for my midterms.

That’s the one I’ve also used. Just to re-hash:

Boot nightly.
Make sure nightly works.
Run installer.
Select old haiku partition.
Install.
Write bootmanager (skip if you like.)

Though currently, I just install using a nightly cd on a clean virtual disk. Then use installoptionalpackage to get firefox.

Thanks a lot for your comments. Actually I agree with you that a lot could be improved to ease the barrier of entry. I’ve been involved with the project for quite a while and even I can be put off doing certain things, such as upgrading a Haiku install. I only just recently upgraded my Alpha1 install to a newer Haiku, and so far it is fine though others have had stability problems with recent versions. One thing that is nice is that our Installer handles well the case of installing Haiku over an existing system.

To upgrade my Alpha1 I just built a new image into a USB key, booted that, and installed on my existing drive. Magically it was upgraded, with all my personal settings and added applications preserved. Of course not everyone is building Haiku, and in that case it might be helpful to provide more instructions on how to use Nightly builds to upgrade, and also to track which Nightlies are stable, as you suggest.

In the future I think we will have an easier system for upgrading Haiku from within Haiku, but at the moment there are higher priorities to take care of.

I hope you don’t give up in trying to work on Haiku, and if there is any way I could help feel free to email me at my user name at Gmail. Maybe you could actually play a role in fixing the problems you encountered, such as working on that upgrading system I mentioned.