I'm writing a book for O'Reilly, called Designing Data-Intensive Applications.
The Yahoo user interface blog recently featured a good post introducing some of the limitations of designing for mobile devices. It points to the limitations of both output (small screen) and input (keypad, touchscreen, joystick and many other variations), and emphasises the most important basis for the design of mobile sites and services: keeping in mind the context – who the user is, where and when and how they are going to use the service. Outdoors in difficult lighting conditions? On a train which goes through tunnels and therefore keeps losing its network connection?