I recently moved from using a Palm Treo to a Motorola Q device as my everyday device. This isn't due to any preference, I just keep cycling through all the hardware I can as it helps me know the products I'm trying to help developers support.
Like the Treo, the Q is a device with a keyboard. That's about where the similarity ends though: the Q is a Smartphone, rather than a Pocket PC, and has a landscaped screen. The physical dimensions of the Q are good, and it feels thin and is easy to carry.
As a result, I'm currently writing some applications for the Q that will turn into Starter Kits, and I'm really trying very, very hard to make these applications something that I would actually use.
Here's what I like in an application:
1. It's simple.
It's completely obvious what it does, there's no need to read any instructions. It just works.
2. It's simple.
The user interface is elegant and minimalist. It looks nice.
3. It's simple.
I can operate it quickly and easily with one hand, without any weird key combinations.
4. It's simple.
Although it looks as though it's a wee bit limited in function, when you use it, you realize it's powerful. All the features aren't right there in your face all the time - they're hidden away until you need them. Having every feature displayed on a menu option may make your program look powerful, but really it's just clutter. People like discovering features: that's not to say you should hide them, just keep them out of the way until someone might actually need it.
So I'm reading quite a few books on user interface design, and testing my application on random people, and I'd welcome any suggestions for websites or books that would help.
Here are the books I'm currently loving:
- The Laws of Simplicity - John Maeda
- Envisioning Information - Edward R. Tufte
- The Design of Everyday Things - Donald A. Norman
- About Face - Alan Cooper and Robert M. Reinmann