I am working on an iPad application that currently uses a UITabBar as the prevailing navigation element. The application has maxed out the number of buttons on the bar and is now forcing a More Button as the last element when adding additional capability. Despite a designer's insistence that this is OK, it really makes me grate my teeth on iPad because the underlying table view for the additional elements is just awful. In the end I think this promotes a terrible user experience even if it looked good, just because it hides away other functionality of the application.
Example filled up UITabBar with a More Button:
When you tap on More, you get this:
I am a non-designer, but an avid iPad user and have not found any application that promotes the use of the More Button at all.
What alternatives are there (scrapping the tab bar entirely is on the table) to provide a great user experience for an application that has many functional capabilities that a user can choose from?
The More Button isn't as bad when you only have a few elements, but over time capability will be added that could get lost in the table view. That aside, the Human Interface Guidelines for the UITabBar, specifically state:
On iPad, avoid crowding the tab bar with too many tabs. Putting too many tabs in a tab bar can make it physically difficult for people to tap the one they want. Also, with each additional tab you display, you increase the complexity of your app. In general, try to limit the number of tabs in the main view or in the right pane of a split view to about seven. In a popover or in the left pane of a split view, up to about five tabs fit well.
On iPad, avoid creating a More tab. In an iPad app, a screen devoted solely to a list of additional tabs is a poor use of space.
I really like the corousel in the Garage Band iPad app. It is very extensible for adding a multitude of functions, while fully using the entire interface when in a more detailed view. I also like the iPhone Facebook app because it heavily draws a usage paradigm that is already familiar to users and is extremely flexible to having many 'sub-apps', while still making the UI customizable to endusers.