[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: