Case Comparisons - Milestone 4 Key Features
As a requirement for Milestone 4
, each group was to create a unique feature for their SqueakPoint presentation software. I believe that some interesting insight can be gained by analyzing the different teams' choices of extra feature and also will serve as an index to various useful features for future students.
This group decided to aide presenters by giving them a more advanced timer for SqueakPoint. Their timer would output the times spent on each slide to a file, which would be later compared against for future presentation timing. A user could also manually create a time file if they had knowledge of about how long each slide would take. Interesting practices here are the reading/output of files as well as dealing with time issues and Squeak.
Team Half & Half
Half & Half decided to emulate a very useful option of Microsoft PowerPoint
: the Slide Show mode. In this mode, the slides would become full screen and an "advance to next slide" button would be the only user interaction (disabling the editing of fields, etc). Examining this case might come in useful for multiple-state programs which need to have interactivity changed based on the user situation.
Hola Mundo decided to create a Template Creation GUI, a way to change the styles (colors etc) of SqueakPoint and save it in a re-applicable format. This is useful for another vital factor of presenting-the visual appeal of slides. Future Squeak coders may find use in the code for creating a palette-based GUI that creates datasets that are stored for future use. Also of note, but not particularly relevant to SqueakPoint, is Hola Mundo's use of HTML styling in Swiki, something useful to look at if you're interested in that sort of thing.
Team Blumpkin implemented a version of what two of the above teams did - they decided on both a full-screen mode and a template creation palette. This cases page is especially useful because of the screenshots that illustrate the various features without the need to download and run the actual Squeak code. They also integrated their fullscreen mode with starting their timer, a rather intuitive additon that should increase usability of their application.
Team Without A Name
TWAN decided to implement a very impressive search function into their Milestone Four. This would display the slides in a thumbnail view, and you are able to search for text, which would subsequently be highlighted in the slide. This is a useful look at a number of different features, searching through a customized dataset being the most obvious, but also for navigation and highlighting (with the thumbnail view especially), this case could be extended into a variety of functions.
Team Lost was another group that implemented a non-trivial template builder, modifying the properties of the text and background on a slide. Their case is broken down in a way to specifically provide help as to one function: determining the text size of a text morph. This was non-trivial as it was not included in the Properties class that they had previously examined.
Team ASDF decided to implement a powerful layout creator that would allow for any object to be dropped in on a slide. Most appealing about their design was their multi-use toolbar UI, which would contextually change and really seemed to be usable to an end user. Also useful about this case is the well-written documentation, including UML diagrams and weaknesses of the system. A great example of how to do a case right.
Team 3M chose a simple implementation of fullscreen for their Milestone 4 extra feature. They go into some detail about how they implemented full screen, so if you have a similar issue you're looking to solve, this might be a useful link.
Hopefully this comparison of several different teams' Milestone 4 extra features has given you a quick overview of some of what the Fall 2005 class did as well as possibly pointed you in a useful direction on your current programming project. More information on each of the teams as well as cases for other milestones can be found on the Cases
page, so take a look!