T3 : Ipod Head Remote
From SoftwarePractice.org
T3 - Project Logbook - Guys, put what you have updated on the wiki and on what date in here so that we can keep track of things.
Contents |
Introduction
Project:
Topic B. Head-controlled Music Player
The aim of this project is to design a music player for those that are physically disabled and are unable to use their limbs. This device will consist of a accelerometer that works by measuring the direction, tilt and acceleration of a person's head in order to derive input control commands.
Our team aspires to create a system where the user is able to control and do everything without the assistance of another person. The only assistance required is installing the headgear.
The user is able to stop and play music, as well as scroll through directories adding and deleting songs with ease.
Our team members:
- Jonathan Ka Ming LEANG
- Hao Liang Steven Zhu
- Adrian Wong
- David Du
Requirements
- The wearable device communicates over wireless with the sound system to control the selection, playback, volume, and so forth, of music.
- The sound system contains a graphical user interface that displays the current track, a playlist, duration of track, etc.
- The system can play tracks in either .wav or .mp3 format.
- The graphical user interface also contains a separate panel that shows a visual indication of the user!|s head movements, and associated comands.
Stakeholders
A list of stakeholders and some concerns that each may have
*Disabled person using the Ipod Head Remote*
- Functions of the music player
- User friendliness
- Comfort of the head remote
- Cost of the device
*Family of the disabled person using the Ipod Head Remote*
- Satisfaction of the disabled person using the device
*Person(s) caring for the disabled person using the Ipod Head Remote*
- Safety of the device
- User friendliness
*Company developing the Ipod Head Remote*
- Development team
- Cost of developing the project
- Time given till deadline
- Wants and needs of target audience
- System Admin
- Maintenance Personnel
- Complexity of mechanical parts
- Cost of parts
- Deployment (Advertising)
- Target audiences
- Cost contraints
*Retailers selling finished product*
- Amount of stock avaliable
- Profitability from selling device
Usage Scenarios
- Sally puts on the controller with the help of her family, and then she chooses a song from the play list to play through various head movements. Sally and her family are happy because she can do something by herself without having to totally rely on others.
- Bill is testing the Beta version if the software, everything works fine but after a while he finds that his neck hurts from all the moving of his head, so adjusts the sensitivity option from the option menu to help him use the system.
- Steve wants to lock the device so he can move his head freely while listening to music, so he uses a combination of keys to lock the interface, preventing the accidental movement of his head to interrupt play.
- Jeff has just bought some new songs and wants to enjoy listening to them on his player, so he scrolls though the main menu using head movements and selects the option to add songs to the player's playlist.
- Jeff finds that he has added the wrong song to the playlist and wants to now remove it. Once again he scrolls though the main menu and selects the option to delete songs from the player's playlist.
Essential Use Cases
Play and stop a song
The adjustment of settings
System Lock
Add songs to playist
Remove song from playlist
Detailed Use Cases
Play or stop a song
Alternate paths
Adjusting the settings
Alternate paths
Locking the system
Adding songs to the playlist
Use case diagram
CRC Cards
Class Diagram
Sequence Diagram
Initial designs
This design is easy to control with movements of the head.
Area of possible input area.
Screenshots mock-up
A GUI mock-up, choose to use black background because it is causes less stress for the eyes and looks nice:)
Screen shot
Screen shots on Windows XP
Screen shots on Windows Vista
Test Cases
References
MP3 plugin for java [1]
Java Media Framework [2]
AudioPlayer example [3]
Quadriplegic functionality [4]
The ThinkGeek WiiHelm [5]
How to edit a wiki page [6]
Java mouse listener [7]
Java mouse motion listener [8]
Links from Team Project assignment instructions
This is a specification for a two-axis accelerometer. It can measure acceleration in two orthogonal directions (X and Y). This means that you can easily derive parameters like tilt, direction and speed.[9]
Here is a description of how an accelerometer works. [10]
This publication describes the application of artificial neural networks for processing and recognising head movement commands. What is useful for this project is their set of head movements such as "forward nod" and "forward hold".
P.B. Taylor, H.T. Nguyen, “Performance of a head-movement interface for wheelchair control”, Engineering in Medicine and Biology Society, 2003. Proceedings of the 25th Annual International Conference of the IEEE, Vol.2, 17-21 Sept. 2003, p. 1590-1593 [11]
This publication describes the use of infrared sensors for detecting head movements to control a wheelchair. It is useful for their approach to understanding the possible range and mapping of head movements.
H.V. Christensen, J.C. Garcia, “Infrared Non-Contact Head Sensor, for Control of Wheelchair Movements”, IOS Press, 2003 [12]
Instructor comments
Reasonable start to usage scenarios. Choice of stakeholders fine. Use case diagram is incorrect - each oval should contain a single name of a use case. Each use case is a major function of the system. Lian 21st March
Post presentation session milestone: Need to elaborate the concerns of stakeholders, and identify disabled vs. non-disabled users. Good set of use cases. I see that your detailed use cases address the question I raised in the presentation session about the use of head movements to control the lock/unlock function. Usage scenarios demonstrate empathy with disabled user. Could include more reference to head movements. Responsibilities are reasonably well done for CRC cards. Class diagram is fine. Great work with the GUI layout and mapping of head movements to commands. Sequence diagrams are okay, but the notation is not quite right. Lian 4th April
