What Not to Do When Designing Your App
The other night, I was using the Netflix app on my iPhone 4 and had a shocking revelation: this is one of the worst designed, "professional" apps I've ever seen. Yes, I can stream video over 3G. I can search for movies and manage my queue. In most areas of functionality, Netflix for iPhone delivers. It is relatively new and I'm sure a work in progress but as of the current version, it is a prime example of what not to do in terms of iOS app design. Here are some reasons why.
Tue, November 09, 2010
PC World — The other night, I was using the Netflix app on my iPhone 4 and had a shocking revelation: this is one of the worst designed, "professional" apps I've ever seen. Yes, I can stream video over 3G. I can search for movies and manage my queue. In most areas of functionality, Netflix for iPhone delivers. It is relatively new and I'm sure a work in progress but as of the current version, it is a prime example of what not to do in terms of iOS app design. Here are some reasons why.
1) Reinventing the Wheel
The iOS SDK contains an expansive library of UI elements. I imagine that in some rare cases, it might be required to write your own UI object from scratch, but the vast majority of times that button, dialog, slider, or table can be created simply by using stock objects and customizing their appearance, and/or sub-classing them for augmented functionality.
In our example of the Netflix app, the "Home" tab is populated by a table of Top Picks and titles similar to ones you've recently watched. You can tap on a movie to take you to a detailed description. It's a design paradigm that is used in literally thousands of iOS apps.
The obvious design choice here (and the one recommended by Apple docs) would have been to use the highly-customizable UITableView within a UINavigationController. However, for reasons beyond me, Netflix appears to have created their own table and navigation entirely. The latter is clear from the clunky animation that occurs when opening the detail view; the former by the off-behavior of section headers (they continue to scroll up with the rest of the table, rather than hanging at the top of the screen until the next header comes up). The point is really driven home when you observe the pixelated navigation graphics on a Retina-display (such as the "back" buttons or the detail disclosure indicators on table cells) which would have otherwise been Retina-display ready. The confusing thing is that these UI examples were all modeled to look and act just like the stock ones but instead feel clunky and amateur.
2) Using Low-Res Graphics
With the iPhone 4 and the new iPod Touch rocking beautiful Retina-displays, it's more important than ever to use high-resolution graphics in your apps. In some cases, it might require a total re-creation of a graphic, but if your designer was careful at all, it would simply be a matter of exporting a double-resolution file.


