I see all kinds of problems with mobile development and companies trying to do mobile development and I've boiled them down into my 10 Commandments of Mobile Development:
- Thou shalt realize that the mobile environment is a diverse ecosystem with many different devices and that cost of developing mobile applications can be large without a good plan.
- Thou shalt realize that mobile develop is different from desktop development.
- Thou shalt solve singular problems with mobile devices. Leave general purpose to the desktop.
- Thou shalt not take an existing desktop application and scale it down to a mobile device.
- Thou shalt realize that a mobile device does not have the same features as a desktop with multiple monitors, multiple cores, and 64 bit processors.
- Thou shalt realize that simulators are just that simulators and are not the "real thing."
- Thou shalt minimize keyboard input and keystrokes required.
- Thou shalt be efficient with power utilization. Do not do things because they are cool. Do things because they solve a problem, help the user, or provide value.
- Thou should look at asynchronous processing or threading to provide a responsive UI.
- Thou shalt not look too far down on web applications running on your device.
There, I think that about covers it