Implementation Schedule

We designed the system in two major iterations. While the second milestone has significantly more polish and robustness, the two milestones have slightly different feature sets:

Milestone 1

  • Browsing
  • Column Stacking
  • Pinning
  • Preview
  • Contextual Menu

Milestone 2

  • Browsing
  • Folded Scrolling
  • Column Stacking
  • Pinning

Project Looking Glass

We used the Project Looking Glass toolkit from Sun Microsystems to develop our prototype. The toolkit is an open source project aimed at creating a 3D desktop experience. For more information about this toolkit, and our development experiences, see the Project Looking Glass page.

Result

At the end of our implementation phase we produced a relatively stable filesystem browser. Because of the limitations of the Looking Glass toolkit, we were unable to implement many features, such as renaming files. But, we were able to use the prototype to test the novel parts of the interaction with users. Other interactions with the file manager (such as opening a file with a double click) are commonplace so implementing and testing them was not a concern.

Implementation


Intro

One requirement for this project was to develop an interactive prototype of our design idea. This process is often useful for forcing us to think about the small details of interaction for for the system under design.

Building an interactive prototype was crucial for this project because we often found that paper-prototyping and other mid-fidelity prototyping did not meet our user testing needs. For instance, paper prototypes had a hard time expressing the 3D look and feel that was crucial to our client. Paper also does no handle the animated scene transitions that were fundamental to our design.

Other prototyping techniques, such as Macromedia Flash, also did not apply to our interface. Since the file browser is highly interactive, it has many possible states. Almost everything in the interface is clickable, and brings the user to a unique state. When we tried to test the prototype with Flash animations, we faced a "state explosion" problem where we could not detail out every place the user might decide to go. In such a dynamic interface, producing a working prototype was essential to the design and validation process.

Development

Our team spent a significant part of the summer semester implementing our prototype. The process involved approximately 7800 lines of code (2500 statements) and 55 classes. Since we had a relatively small team, the effort was significant: we spent approximately 6 weeks of development time with between two and three developers.