Yesterday, Christof Lutteroth sent out an e-mail to the Haiku-development mailinglist, where he announced the results of two successful final year software engineering projects at the University of Auckland. Both projects were supervised by him and his colleague Gerald Weber.
The first project really impressed us at IsComputerOn, and we hope that is the start of a whole new app_server team! The project was undertaken by Ahmed Al Hassani and Mohannad Hammadeh and is called "A more manageable multi-window interface". Ahmed and Mohannad extended the Haiku app server with functionality for tiling and stacking of windows. That is, windows can be arranged in a non-overlapping manner by snapping them to other windows, or stacked similar to tabbing in a web browser. Enough said, have a look at their screencast, which explains the new features:
Video of Stack and Tile
The two have not only implemented the new features but have also evaluated them using eye tracking equipment, showing that with a high probability stack & tile is more efficient in certain situations.
The second project is called "Multi-platform document-oriented GUIs", and was undertaken by James Kim and John Kim. They extended the Auckland Layout Model (ALM), which is a layout manager based on linear programming that has already found its way into the Haiku source tree. They implemented new functionality that allows users to switch a GUI of a running application into an "editing mode", in which a user can modify the GUI using a WYSIWIG editor. A user can customize a GUI on demand, and immediately use it afterwards. The only requirement is that ALM was used as the layout manager. Customized layouts can be loaded and saved using XML files, which can be used on different platforms (Java, .NET, Haiku) to produce the same layout. Also these two students have published a screencast showing their project:
Video of ALM
The example GUI in the screencast consists mostly of buttons, however, the layout manager and editor work with any type of control. James and John have also performed a small evaluation of the prototype, which indicated that many end-users appreciate this new feature.
Christof continues with that both projects are still ongoing, and here comes the early Christmas gift: "If there is any interest, we would be more than happy to give the code to the Haiku project. The window management functions developed in the first project might be useful as an optional feature that can be turned on and off somewhere in a preference app. The extension of ALM developed in the second project does not have any immediate impact on the system. It would only enrich the existing ALM API.
In the end of his email he thanks all the developers for answering questions on the mailing list, and especially Ingo.
We would like to thank Christof Lutteroth and Gerald Weber for choosing Haiku as base for their projects, and hope they will do so also in the future.