The following is an overview of the hardware rules for the project options.


In phase 1, you should not consider issues such as programming languages. As a team you might start thinking about that in general, but this project is meant to focus on issues such as anticipated users, their tasks, overall appearance and functionality.

In phase 2, you will choose the specifics of how to implement your project within certain limits. Since you will need to demonstrate your project in class as well as give it to another team to evaluate, all project demos must be able to run on the classroom Windows 7 machine or my Windows 7 laptop unless other arrangements are made in advance. For example, if you are developing on an actual smartphone, can I still install an Android simulator and run it on my machine or will we need to arrange something special. You may create (for example) Java applications that run on a PC which appear just like a smartphone application would even though Java does not simply run on smartphones (though here I'd strongly suggest using Android Studio and Java). If you would like to simulate communication over a network by simply having both the client and server running on the same machine and communicating via sockets (for example) you may do so. You can also simulate things via a shared text file on the machine (don't build a database system). However, in this project phase, these should not be limiting factors.

If you are designing for a touch-based device, consider things such as the lack of tooltips or a physical keyboard on the actual device (so you might need to reserve part of your screen for the soft keyboard).

Consider the lowest available screen resolution still in use for your chosen platform (for example, desktops still might have a 1024x768 resolution, smartphones might have a 480x800 resolution). Also, you need to think about and discuss (even if you don't directly solve) universal usability issues.

Note: In all cases where you are allowed to assume a certain piece of hardware, you may simulate that piece of hardware if you do not have access to it during the semester. For example, if you wanted to use the sensor in a smartphone that detects your head is close to it, you could say "there would be a proximity sensor here" and simulate it by having an image that represented it and some way to toggle "head close" as a state.

Web Accessibility