Here are some patterns I came up with about 4 years ago related to mobile app design

Weeny window - Mobile phones have a very small window to display a world of data. Its like looking at the world though a 4cm x 5cm slot. Hence the data should be only the most relevant data to the user. On web apps, if I search on amazon and the first 3 hits are irrelevant to me, its not that noticeable - your eye scans down and your find what you want. On mobile it is very noticeable.

Click pain - this is the pain experienced by the user as they have to roll the scrollbar to the links, then click.., then waaaait for the neeeext page to load. Web app users also experience click pain, but mobile amplifies the pain . If you application exceeds the users pain threshold, the users with a mobile will either

  • phone someone for the information
  • simply not use the application

Pub test it - Some mobile applications may work quite well in a emulator running on a desktop but that does not represent the real user environment. Emulators are easy to type on and have fast reliable connections to the application. Test the prototype as soon as possible in a real environment such as a pub or train. Even if you just go and sit in the pub and imagine your situation and pretend click and view on your phone. You will quickly get an idea of the level of click pain.

Chasm crosser - A common problem with mobile apps is crossing the chasm between early adopters (hardcore technical geek visionary) and early pragmatists (cool people that like to use technology) . In particular fat client apps (J2ME, symbian) can be complex to download. Your product roadmap - must include a strategy for this. First your application must appeal to the geek visionary, then it must appeal to the pragmatist. For example: your could brand and market your application so that it appeals to geeks for the for the first year and then white label the product to appeal to a different audience.

Mobile is for when you are mobile (mobile uses cases are different to web uses cases) - Many companies simply want to place there web pages on a mobile. However my use case for amazon.com is different when I am on a mobile. I may be in a bookstore wanting to check the star rating of a book before I buy it or I may just have held the book and just want to do a one click buy from my mobile phone. I have the isbn number of the book - since I am holding it and numbers are easy to type on a mobile phone. amazon.com from a web browsers has use cases that last a longer time and involve research and packing a shopping cart.

Server time over User time - In the web world traffic is high and page response time is important. In the mobile world because of click pain and weeny window, it is better to spend additional processing time server side before serving the data. For example - its is better to check if the tickets are actually still available at the box office, the allow the user to select them and then show a error message saying 'sold out'.