[haiku-development] Two successful final year projects

  • From: Christof Lutteroth <lutteroth@xxxxxxxxxxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Sun, 21 Dec 2008 16:30:54 +1300

Hello!

I am happy to show to you the results of two successful final year software 
engineering projects here at the University of Auckland. Both projects were 
supervised by my colleague Gerald Weber and me. You might have read some of the 
students' emails on this mailing list.

The first 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. Have a look at their screencast, which explains the 
new features:
http://www.cs.auckland.ac.nz/~lutteroth/videos/stack-and-tile.html
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. Have a look at their 
screencast:
http://aucklandlayout.sourceforge.net/videos/alm-editor.html
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.

Both projects are ongoing. 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.

Thank you for supporting these projects by answering queries on the mailing 
list. Particularly, I would like to thank Ingo for his support.

A merry Christmas and a happy new year!

Christof

Other related posts: