One of the sessions I attended at Tech Ed 2009 was on developing for mobile devices presented by Nick Landry. It was an interesting session. The most memorable quote from the session was:
“If you don’t have a device that has an accelerometer, you aren’t going to be able to use the accelerometer.”
While this might seem obvious, you might be surprised at how many people don’t realize what features their devices or computer has, or doesn’t have. A second quote that I pulled from the session is actually a fantastic piece of advice:
"Never try to take a desktop UI and cram it onto a mobile device.”
Mobile devices are not desktops. Phones simply don’t have the same interface as a desktop computer. As such, expecting someone to view a desktop application on a mobile device is like expecting someone to watch television through a straw. It just isn’t effective. You need to step back and make sure you design your mobile application interfaces with mobile in mind.
The last tidbit form this session I’d like to share is a list of hardware features that we can expect on mobile devices. Why is this list important? Simply put, these are things that will likely become mainstream in the future. As such, if you are building mobile applications today, you can consider adding functionality for these today. Of course you should remember that if a mobile device doesn’t have an accelerometer, then the user won’t be able to use an accelerometer! The features that are likely to become part of mobile devices that you should consider including in your development are:
- Vibration feedback
- Sound feedback
- Light sensors
- Navigation wheels
- Capacitive Touch Screens
Some of these features are on devices today. Others, such as capacitive touch screens, are not yet on devices but are likely to be. Regardless, you should consider these as you are developing mobile applications.