Out: October 15, 2008
Due: November 4th, 2008

CENG302 – Assignment #3

1.  UML: Problem 2, pp 220: New Branch School District (8 marks)
The New Branch School District operates a fleet of 40 buses that serve approximately 1000 students in grades K-12. The bus operation involves 30 regular routes plus special routes for activities, athletic events and summer sessions. The district employs 12 full time drivers and 25-30 part-time drivers. A dispatcher co-ordinates the staffing and routes and relays messages to drivers regarding students and parents who call about pickup and dropoff locations. Additional Information: Teachers and summer camp directors can request the use of a bus to book groups for field trips through their office staff.

a.  Identify possible actors and use cases involved in school bus operations.

b.  Create a Use-Case diagram for the school bus system

c.  Create a Sequence Diagram for the use case you selected

  1. Create a class diagram showing the relationship between objects in the system.
    Note: This question is slightly different than the one in the book)
  2. In your own words, summarize the guidelines for generating reports from Chapter 6 of the text. (pp290-295 of the 7th edition) About 5 key points, no more than half a page. (5 marks)

3.  Pick a specific application, game or real world device that has a software interface (ie: Tobshiba DVD/VCR SDV394). You may not pick an application suite (ie: Microsoft Office), but you can pick an individual application (ie: Microsoft Word). You may not pick the Windows operating system as there is too much to cover and it’s too easy to find criticism on the Internet.
Using any 6 different user interface guidelines from Apple evaluate your application. Make sure that you cite the guideline you are using and give evidence either for or against that guideline being supported. (6 marks)
Example: Apple guideline #2: The user must be in control. In Windows’s Vista every time you try to do a questionable action a warning pops up asking if you really want to do this. This is supposed to make the system more secure and gives the appearance that the user is in control. In practice I found this to be annoying and I felt less in control – the warnings themselves were uncontrollable. After much searching I finally found out how to turn them off.

  1. Each of you has been assigned an input and an output device. You may trade devices but I want to avoid having 2 people research the same item. Research your device type on the internet and answer the following questions. Write about 150-250 words covering the following topics. Include a picture of your device. (5 marks each. distinct points/you don’t need to cover everything!!!!)
  2. What is the range of resolution, accuracy and or speed of the device both at the consumer and professional level. Please be exact – phrases such as “my device come with lots of different resolutions” says less than “a low end x reads at 72 dots per inch but the $8000 model reads at 4800 dpi)
  3. If there are significantly different types of this device, what are the differences. If not then list different makes but indicate there are no different types.
  4. What features are available in this device and at what price point(s) do these features occur. (ie: for $200 you get features x,y and z. For $2000 you get…)
  5. What is the standard language(s), drivers or protocols for communicating with this device and are they public or proprietary.
  6. Are there special considerations for this device in rugged environments (military, outdoor or factory), for people with different physical attributes (ie: height, left vs right handedness) or physical disabilities (impaired vision, hearing or motor control.) If possible, how could this device assist people with disabilities. (One starting point is http://www.afb.org/prodBrowseCategory.asp - the web site for the American Foundation for the Blind.)
  7. Input Devices
  8. bar code reader
  9. digital still camera (Siedlak)
  10. biometric device
  11. gamepad controller (excluding Nintendo Wii)
  12. magnetic strip reader
  13. MICR (Magnetic Ink)
  14. MIDI (musical instrument digitial interface)
  15. Mouse
  16. Wii controller (Nintendo) and Samsung SCH-S310 (and similar devices) - motion sensors
  17. RFID Reader
  18. telephone (for voice or data input)
  19. Touch Pad (include Apple’s new glass trackpad for notebooks)
  20. Touch screen
  21. trackball
  22. Voice Input/Voice Recognition
  23. web cam
  24. Digital Whiteboards (ie Smart Whiteboard)
  25. Wireless input keyboard
  26. Optical Character Recognition
  27. Multi-touch input) (ie: Microsoft Surface, iPhone)
  28. Graphic Tablets (ie: Wacom)
  1. Output Devices
  2. Braille Displays (ie: Focus, Pac Mate, Braille Blazer – see also freedomscientific.com)
  3. Colour Laser Printers
  4. Computer Output to Microfilm (COM)
  5. FAX machine
  6. High Density DVD recording (ie: Blu-Ray, HD-DVD)
  7. Digital Paper (E-Ink)
  8. Monochrome laser printer
  9. LCD Display Modules (small character generator style displays)
  10. LCD Monitors
  11. pen plotter (Thai)
  12. projection systems
  13. sound card
  14. USB key style MP3 Player
  15. Voice Output
  16. Digital Paper (E-Ink) (ie: Sony Reader, Kindle)
  17. Small LCD Displays (low and high resolution,ie: MP3 players, phones, digital cameras)
  18. Screen Readers for the blind
  19. Scanner
  1. Guidelines: Look up one of the following 7 web sites for User Interface Guidelines – in your own words summarize 3 key points from these guidelines that are not in the IBM or Apple guidelines. If you cannot find enough differences then write up which IBM or Apple guidelines are similar to these points. (6 marks/3 comparisons)
  2. http://developer.gnome.org/projects/gup/hig/2.0/ (GNOME Human Interface Guidelines)
  3. http://developer.kde.org/documentation/standards/kde/style/basics/ (KDE Human Interface Guidelines)
  4. http://dogbert.mse.cs.cmu.edu/charlatans/References/Tech_Doc/Palm%20OS%205.0%20Docs/Palm%20OS%20UI%20Guidelines.pdf (PalmOS User Interface guidelines
  5. http://www.w3.org/TR/2006/WD-mobile-bp-20060412/ (Mobile Web Best Practices)
  6. http://sw.nokia.com/id/7e457a32-caf7-41bf-889f-162ff3bef363/S60_UI_Style_Guide_v1_2_en.pdf (Nokia S60 Style Guide)
  7. http://msdn2.microsoft.com/en-us/library/Aa511258.aspx Microsoft Vista Guidelines.
  8. http://wiki.laptop.org/go/OLPC_Human_Interface_Guidelines/Design_Fundamentals (One Laptop Per Child – OLPC Guidelines)
    Apples’s Human Interface Guidelines can be found here: http://developer.apple.com/documentation/UserExperience/Conceptual/OSXHIGuidelines/XHIGIntro/chapter_1_section_1.html. It is suggested you work from the summary in the handout.
    pp 302 (pp266 in the 6th edition) lists a User’s Bill of Rights from IBM.
    pp 304-320 covers a set of UI guidelines recommended by the authors of the text.
  1. Pick one of the following UI controls:
  2. Microsoft Office Toolbar (write about how the toolbar behaves, not the behaviour of the buttons in the toolbar)
  3. A drop down combo box
  4. Tab controls in Microsoft Excel
  5. Google Earth or Google Maps navigation controls
  6. Tree Control (ie: NetBeans Project Explorer)
  7. Pie Menu (ie: the Sims)
  8. The Windows XP Calendar Control for setting the Date. (Ignore setting the time. Include the behaviour of the scroll wheel.)
    .Describe how the UI element is used and state the application(s) where you observed it. (5 marks – 1 for the sketches, 4 for the rest of the description.)
  9. Draw a sketch of the element or provide screenshots of it in its various states.
  10. What are its affordances, mappings and constraints?
  11. What gestures or events does it respond to?
  12. What is its expected behaviour?

The button description read out in class is a sample answer.

Behaviour of a button (ie Firefox)

If the action of a button is available the button’s icon is showed in full colour. If not it is greyed out. Moving over the button (a rollover action) causes the button to hilite. After a delay of half a second yellow tooltip may appear describing the action of the button. This also happens with an inactive button. Clicking on the left button causes a darker change in colour giving an impression that a real (physical) button is pressed. Releasing the mouse button while still inside the button causes the action to take place. Releasing the mouse button outside the button and no action takes place – you have to click and release inside the bounds of the button. Right clicking and then releasing the button brings up a menu (relating to the toolbar behind the button.
Buttons map to pushbuttons or mouse buttons in the real world. They stay “depressed” as long as you push down on the mouse button and return to normal as soon as the mouse button is released.

UI Demos – Some of these were shown in class – there is no particular order

  1. http://www.kartoo.com Kartoo web meta browser
  2. http://www.cs.umd.edu/hcil/fisheyemenu/fisheyemenu-demo.shtml (Fisheye Menu)
  3. http://www.cs.umd.edu/hcil/datelens/ (Data Lens)
  4. http://www.mprove.de/uni/asi/futureshock.html (Future Shock - Apple)
  5. http://www.idemployee.id.tue.nl/g.w.m.rauterberg/movies/SUN-Starfire.mpg (Starfire video, Sun Microsystems)
  6. http://honeybrown.ca/Pubs/BumpTop.html BumpTop Piles user interface
  7. http://www.cs.nyu.edu/~jhan/ftirtouch/ Multi-Touch (gesture based interface)
  8. http://www.theapplecollection.com/Collection/AppleMovies/mov/parkbench_navigator.html (Park Bench – Apple)
  9. http://google.ca/maps (Google Maps)

10.  http://www.youtube.com/watch?v=SG1Xl7V6M-Q 3D desktop

  1. http://www.youtube.com/watch?v=GbAo35mO3t4 Mution – camera based ui
  2. http://www.microsoft.com/office/preview/ui/demo.mspx Microsoft Office 2007
  3. http://www.sun.com/software/looking_glass/demo.xml Project Looking Glass 3D
  4. http://www.youtube.com/watch?v=TsEz_WayFqk LED Bar Graphs
  5. and http://www.youtube.com/watch?v=FOjjohg4G-Q Camera based video capture/sculpting
  6. http://www.kurzweilai.net/brain/frame.html?startThought=Artificial%20Intelligence%20(AI) Example of “The Brain” UI
  7. http://hypergraph.sourceforge.net/applications.html Hypergraph

18.  http://doc.trolltech.com/qq/qq11-piemenu.html http://easygestures.mozdev.org/screenshots.html
http://en.wikipedia.org/wiki/Pie_menu Pie Menu examples

  1. http://www.smartkom.org - gesture, voice + face recognition: Siemens, Daimler-Chrysler and others
  2. http://www.istartedsomething.com/20060812/what-did-you-say/ text to speech demos
  3. http://www.student.oulu.fi/~vtatila/reviews_of_speech_synths.html text to speech comparisons.
  4. http://www.student.oulu.fi/~vtatila/accessibility.html link to articles on accessibility
  5. http://www.acm.uiuc.edu/macwarriors/projects/trailblazer/TrailBlazer.mov Trail Blazer History navigator
  6. http://www.youtube.com/watch?v=QKh1Rv0PlOQ
    http://www.perceptivepixel.com/ Jeff Han – multi-touch
  7. http://sloan.stanford.edu/mousesite/1968Demo.html Doug Englebart – First mouse – public demo/1968.
  8. http://www.youtube.com/watch?v=0awjPUkBXOU - Johnny Lee’s adaptation of the WII Remote to multitouch (+2 other related videos)