Haiku Documentation Team How-To

This how-to describes getting started with contributing to the Haiku documentation and the software you will need. The documentation team has a mailing list that can be found here:

3D-Accelerated Haiku Desktop

Body:  Using the 3D accelerated power of modern video cards to do basic 2D desktop tasks is a novel concept. OS X pioneered it. Vista and Linux copied it. Haiku should improve it. This will involve significant -- major, in some cases -- changes to the Deskbar,Tracker, the app_server, and possibly other system components, but the changes will be well worth it. Visual effects detailed here are not merely "eye candy", as some would call it, but have the dual purpose of giving the user a better idea of what his computer is doing while making the interface more visually appealing.

Application Level API Incompatibilities with BeOS

BodyHaiku R1 (x86) was designed and is being implemented to be binary and source compatible with applications written for BeOS R5 (x86) to a large extent, but not the other way around. In some cases we deliberately broke source compatibility while at the same time maintaining binary compatibility. Here are some specific examples: The "be" header path is gone - it's called "os" in Haiku; since it is always part of the default header search path anyway, you can always just remove it to let your software compile on both platforms, ie.

Developing IME Aware Applications

To support Haiku and do something useful for it, I am pleased to show you how to communicate with the input server in BeOS.

In BeOS, almost everything uses the UTF-8 character encoding for the processing of characters. Thus, if you want to write or display the characters of other languages than English, all you need to do is to find a font able to display the characters properly and an input method add-on to help you at outputting characters to the running application. The input method handling of BeOS was originally found in the Japanese support. It works this way: The input server loads the add-ons located at B_SYSTEM_ADDONS_DIRECTORY /input_server/methods or B_USER_ADDONS_DIRECTORY/input_server/methods, then filter all events generated by the keyboard or mouse with the Filter() method of BInputServerFilter to change them. There are only a few input methods written since the time BeOS R4 was released. Maybe it's because only ERGOSOFT Crop. and just a few developers know how to have method working. In my memory, existing methods are BeCJK, HanBe, Canna, ChineseTool and more recently "Anthy for Zeta".

Haiku boot screen

This is the Haiku boot screen. Pressing the spacebar while Haiku boots displays a screen with various boot options.

Playground demo application

Small demo app to showcase the 2D drawing functions of Haiku.

Rethinking scrolling

Body:  The way scrollbars work is pretty inefficient - especially for novice computer users. They offer three (!) methods for scrolling relative to the current position and none of them offers comfortable scrolling speed for all document sizes. The arrows in the corners are very small compared to the scrollbar's overall size and they are too slow in most cases. Still, a lot of people use the arrows to scroll rather large distances in a document.

Why Haiku Vector Icons are So Small

How is it that the Haiku vector icons are so small? You might expect great hackery, but actually HVIF is pretty simple. When I tell you all the "secrets", you might just go "doh!". The most important thing is that the format is optimized for icons. Once you take this simple assumption and think it through, you find all sorts of ways to reduce the storage space.

Driver Development Presentation at WalterCon 2006

This is a transcription of the Driver Development Presentation given by Axel Dörfler at WalterCon 2006.

Contents

  1. The Device File System, devfs
  2. Modules
  3. Device Types
  4. Interrupts
  5. Haiku Specials

End User Documents

Here is an index of the existing documentation for end users.