Assume we have a real-estate iPhone app which shows a list of properties in a table view.
I would like to offer the user the ability to filter the list according to about 6-7 different criteria.
Each filter criterion uses its own control. For example, filter by price range will use a slider with two knobs which can be used to mark a range. Filter by square footage will use a similar slider. Filter by neighborhood will show a list of 5-6 neighborhoods with multi-select. Filter by rent or sale will show a 2-item multi-select, and so forth.
In order to make the app more engaging and less tiresome to operate, I want to avoid the straightforward approach of 2-screens: First screen is the table view with a "Filter" button on the top right of the navigation controller. User presses the button, a new screen slides-in with all the filter controls in a long list. Similar to this screenshot:
I saw an interesting single-screen approach implemented by the AppZapp app (screenshot below). They have a toolbar under the navigation bar with multiple buttons (one for each filter field). When you tap a field, the entire table view slides down and leaves room for the filter control. When you tap again, the table view slides back up and the control is hidden.
I still have a problem with their scrollable toolbar concept. Since only about 3-4 buttons fit in the toolbar, you need to scroll the toolbar sideways to see all filters (see screenshot). Keep in mind that all filters are of equal importance and I don't want to use 3 common ones and an advanced button that opens 2nd screen.
The unfiltered list is impossible to work with. In order to make the app effective, a user will have to constantly play with different filter combinations. I feel that if users have to open a 2nd screen every time, they are less likely to filter, and will not find the app useful.
Any alternative ideas?