Most common problems with mobile travel apps today:
1. Assuming always-on data connection.
Don’t assume always-on, build standalone apps with good caching.
2. Assuming high speed network access.
Don’t use a big CSS with loads of effects and scripts that might be used only once. Don’t build big XML APIs with tons of data “just in case” (forget SOAP, go REST). Cache everything you can to avoid reloading the same data multiple times.
3. UX design too small and packed.
Some designers seem to forget that a finger is a finger. Every action button or dropdown list should be not only large enough that it can be hit with reasonable success, but also spaced away from other active items to avoid tapping the wrong one.
4. Poor data synchronization with the cloud.
Some apps seem to require a login every time they need to be used, and expect to have data connection for login verification every time.
Don’t. Get inspiration from TripIt and other itinerary management apps: they are born mobile, and are handling this well.
5. Requesting too many permissions.
In social, an empirical rule for Facebook apps is that every additional permission requested decreases the app installation rate by 2-3%. We will probably get into something similar with mobile.
+1 (Android specific bonus) App cannot be moved to SD card.
Please, please, please make sure your Android apps can be moved to the SD card.