I'm going to put up a checklist together of things to keep in mind while designing an app. I know Jeremy put one together on his blog which is much more in depth than this one, but I'm sure my list will eventually encompass what he has already written, and I hope some of the stuff here will highlight the most important concepts. The billboard and store design mindset is a great strategy to remind yourself of the overall goal of the specific thing you are designing. His full design checklist is available from his 6/26 post.
My checklist is a mixture of what I have thought about and read online in designing apps. They also make sense taken out of context of course.
1. Have a clear idea of the flow of the website/app and how it's going to intertwine to make the finished product. Jeremy wrote that you must ask yourself "Is the progression from one screen to the next intuitive?" This is going along with the idea that each link on the page to another part of the app should be appropriately labelled, but to get a clear image of the flow of the app, a flowchart or flow-map is needed. This gives a picture version of what the users would be experiencing when using the app, which helps drastically in design. It's hard to drive a car without a view of the road ahead.
2. Work as a team. This may sound kind of impeding for a designer to have to consult a "bureau" to implement design, but it's necessary. A designer may come up with an idea that may be out of the reach of the tools currently supplied to the developer, and would need to be avoided due to it's cost. The only way to find out of these budgeting issues is to consult with the team and find out what is a plausible solution.
3. Try and design in a way that encompasses different resolutions. The recommended method is to start with the highest resolution and go down from there. The best is to use vector graphics since they are completely malleable to the size needed.
4. Don't overcrowd the screen with information. Jeremy also touched on this idea in his blog. While it is necessary to get all the functions into the app you want, it is not necessary for them all to be on the same screen. Overcrowding leads to the user getting overwhelmed and distracted from why they are using the app. It's also tempting when designing for something with a high pixel resolution to stuff more into the page to take advantage of the extra space. Make sure that the functions are broken up best by screen and not all thrown into one screen for simplicity and to fill in space. Also, for touchscreens people's fingers are only about 1.6cm - 2cm wide, so you don't want buttons too close to each other. People will get annoyed if they can't select the button they want and leave the app altogether.
5. Be very careful with intro animations. This is a big hit to my idea of an intro video into the site and app. I would love to have a really nice video leading people into the website. The problem is intro videos can take a while to load and make it take too long to get to the functionality of the app, which would aggravate the users. Do not be overly focused on an intro video, since people are there not for videos but for the functionality of the app (unless it's youtube but that's different). A better idea is to use an image to take up the screen during loading time and intro into the app. It is much better in terms of loading the app and still gets the same idea across.
6. Don't leave users out of the loop on what happening with the app. When the app is taking a while to load it can be misconstrued as a faulty app instead of just the connection, and people will leave the app with a "one way ticket". Display a loading image to let the users know the app is working but waiting on the connection.
7. Don't blindly copy styles from different OS. This is exactly in line with my post from yesterday about cross-platform frameworks that are offered. Each device has it's own layout and platform, which must be kept in tact for that device. It may require multiple versions of the same app.
8. Don't assume users will use the app in the same way. Make sure that you use a testing group to determine if the app is designed in the most intuitive way for the most people. I think the best way to overcome this problem is to give users the opportunity to either organize the app to their liking or to have all the choices lined out for the user to pick from.
9. Keep in mind that not every single element on a page has to be fully visible or extremely easily accessible. Reserve the less necessary elements for buttons that are on the bottom of the page that must be scrolled down to or swiped down with the finger in order access. Here's a great example:
A great example is the deletion process in the Mail app for iPhone. In the inbox view, a user can swipe a message to reveal a delete button. This is a shortcut that saves the user the hassle of tapping “edit,” selecting a message to delete and then tapping delete. But it’s a balance: The “delete” shortcut is a way to quickly remove an email, while the “edit” menu is reserved for those who don’t know about the shortcut or who want to take advanced actions such as deleting or flagging multiple messages at a time.
10. Take your sweet time in development. There's no rush and there's no bonus for releasing a defective app early. Take the necessary time to make sure all functions are properly placed before releasing the final result.
11. Make the app user-centric. Think in terms of how the user will use the app and not how you're going to design that part yet. That comes later when you consult your team. The highest priority is given to user experience since they are who you need to impress.