When designing the Transit & Trails app for iOS devices, we wanted to create a look consistent with the branding already established by the Transit & Trails website. When it comes to designing interfaces, however, you've got to be careful not to come up with totally unfamiliar concepts and run the risk of confusion, a steep learning curve, and an ultimately less usable product. Creativity is necessary for good design, but it has to be balanced with careful attention to the platform and to users' expectations. To that end, here are some thoughts to keep in mind when designing for iOS:
- Use standard UI elements whenever possible, and keep them in standard locations on the screen. People tend to look for back buttons on the left of the top bar, for example, and submit buttons on the right. If you break these conventions, be sure to do so with good reason.
- Customization can be applied to existing elements without diverging too much from the familiar and expected. In the T&T app, we applied subtle textures and color changes without outright replacing the original buttons and backgrounds.
- Take inspiration from first-party designs (in this case, Apple). Compare what you've created with the stock iOS elements included in your app; the look of any custom designs should be in keeping with these established styles.
- Look for intuitive ways to grow beyond the traditional feature set. A good example is Loren Brichter's implementation of "pull to refresh" in Twitter (formerly Tweetie). Brichter took the "rubber band" effect already present in iOS and built upon it, allowing users the option of scrolling beyond the top of a list in order to trigger a page refresh. This clever solution takes advantage of existing user habits, creating novel functionality while remaining consistent with the established logic of the platform.
Of course, there are plenty of exceptions to the concepts mentioned above. You may well run into a situation that calls for a completely new UI element, or you may want to create your own UI from scratch and abandon the established model altogether. Whatever your objective, it's important to consider the habits that users have developed on a platform, and to diverge from the norm with intention and planning.