Clemens Zeidler (a.k.a. czeidler) ha pubblicato sul sito del progetto un resoconto dei suoi due anni di lavoro presso l’Università di Auckland. Il titolo della tesi di dottorato di Clemens è “User Interface Customization” e copre tre aspetti. Il primo riguarda la gestione di finestre multiple di differenti applicazioni tramite Stack and Tile, il secondo invece riguarda come l’utente può cambiare il layout di un applicazione ad esempio per ottimizzarla per i suoi usi, infine il terzo si occupa di come sia possibile adattare velocemente le funzionalità di un’applicazione ad esempio connettere la pressione di un bottone ad un nuovo evento che riproduca un suono per enfatizzare l’importanza dell’evento.
Stack and Tile è ora integrato nel app_server di Haiku ed attivato di default. Ci sono due operazioni principali in Stack and Tile, Stacking consente all’utente di stack (creare una pila) le finestre una sull’altra mentre il tiling permette di agganciarle una accanto all’altra. Per ottenere questo basta premere il tasto windows mentre trascinate la finestra dalla (tab) linguetta sulla linguetta di un’altra finestra oppure dal bordo di una finestra verso il bordo di un’altra, ciò consente di creare complessi gruppi di finestre agganciate. Il principale obiettivo è rendere la gestione delle finestre più facile e il lavoro con finestre multiple più efficiente. Quindi fondamentalmente Stack and Tile vuole risolvere il problema che si crea quando una finestra tende a coprire l’area di un altra richiedendo lo spostamento o il ridimensionamento delle stesse, che invece risulteranno tutte organizzate e di facile accesso.
Durante il BeGeistert è stato valutato l’uso di questo nuovo approccio rispetto a quello tradizionale ed il risultato è stato molto positivo riducendo in misura significativa i task necessari nel normale uso mentre il tempo necessario alla creazione di un gruppo Stack and Tile è accettabilmente basso rispetto a quello che si salva nell’uso di un gruppo Stack and Tile.
Nonostante Clemens abbia finito il suo lavoro su Stack and Tile, come parte della sua tesi di dottorato, ha ancora diverse idee su come migliorarlo ed integrarlo ulteriormente in Haiku. Ad esempio una delle idee è mostrare i gruppi Stack and tile nella Deskbar, unire due gruppi, o rendere customizzabile il tasto Stack and Tile. Inoltre ci sono ancora alcuni bug da risolvere.
Secondo Clemens la più importante caratteristica ancora non implementata è rendere i gruppi Stack and Tile persistenti per poterli ricaricare o ripristinare dopo il riavvio di Haiku. Quindi lo stato di tutte le finestre va archiviato, ma anche se ciò sembra facile non è implementabile con le attuali API di Haiku. Il primo problema è che una finestra Stack and Tile non è la finestra principale di un’applicazione. Quando si memorizza lo stato di un’applicazione ogni finestra ottiene un ID univoco che può essere utilizzato da Stack and Tile per memorizzare la configurazione del gruppo. Per ripristinare tutti i gruppi Stack and Tile dopo un riavvio, in primo luogo devono essere ripristinate tutte le applicazioni e quindi devono essere di nuovo agganciate tutte le finestre.
Un’implementazione base di un manager di sessione in grado di ripristinare gruppi Stack and Tile potete trovarla su github github.com/czeidler/haiku (SessionManager branch) inoltre c’è qualche discussione su l’API del manager sulla mailing list http://www.freelists.org/post/haiku-development/session-manager
Poiché Clemens non ha molto tempo per lavorarci sopra, eventuali volontari sono i benvenuti!