I'm currently designing a mobile application (android) for ordering food. The purpose of the application would be similar to the justeat app. The biggest challenge as yet is structuring the menu and items available so that they're easily accessible to users. Using the default format, provided by restaurants on physical menus, is not something I'm keen on since even regular users are not sure as to which item belongs under which fancy heading. The most easily navigable categorization patterns are either cuisine based (Chinese, Italian, continental, etc.) or course based (starters, main course, desserts, etc).

The cons of each are:

Cuisine based: generally while ordering soups, starters, etc. my user research shows that people aren't much bothered by cuisine, so they would like to see all soups listed together.

Course based: Many restaurants serve multiple cuisines which makes viewing all main courses to be very tedious and scroll-heavy

Obviously, I don't want to do a double layered IA since navigating from one sub-section to another would be tiresome on mobile devices The above problem is only taking into account general restaurants. I have yet to consider major brands and their specific categorization (e.g. KFC's buckets). Any help on this subject would be appreciated

  • 3
    You are trying to enforce a hierachy with constraints that don't exist. There is nothing stopping a single restaurant from serving both chinese and italian for example. Instead of trying to force them into an artificial tree, why not use searchable tags (perhaps user/restaurant suggested) and let users select their own choice of categories to find by?
    – JamesRyan
    Commented May 21, 2014 at 14:20
  • This is exactly what I'm saying. There is no standard constraints or hierarchy which is why creating one is proving to be difficult. There will be an option of searching but users' tendency is to browse as generally they've not made up their minds concretely as to what they're going to have (especially true in case the user is viewing a restaurant unfamiliar to him). So for exploring, i have to create a structured pattern. Listing down all items without width/depth categorisation is simply not an option
    – BatlaDanny
    Commented May 22, 2014 at 4:42
  • Can you possibly provide some more findings from your user research? I think if you already have some idea of how the users like to search/view information, then the IA of the navigation should follow their mental model closely.
    – Michael Lai
    Commented May 30, 2014 at 0:40
  • I think you're over-thinking what a food menu is. It's typically a browsable document. Not something with an index or defined navigation path. Categorization is useful, but mainly to just chunk up the data...not as a navigation tool. The likely best navigation for a menu is scrolling (or paging if need be).
    – DA01
    Commented Jan 7, 2015 at 18:45

4 Answers 4


You have an application not a brochure - this can make the IA more flexible. The epicurious mobile app has a useful faceted search see top right slide

In this UI user gets to choose which criteria are important to them, and supply only those before browsing

  • key ingredients
  • cuisines of interest
  • courses
  • dietary requirements

So can specify a "pork & rice, Chinese, starter, low fat & nut free" dishes

Each additional criteria would reduce number of remaining options to scroll through. Exclusive options within a criteria can override previous setting (like radio buttons)

You can extend this concept by providing dynamic facets for each restaurant e.g.

  • meal deals [1 person; 2 people; family sized; bucket; party]

A user asking for "vegetarian & low fat, bucket" may come up empty list though. A per restaurant menu IA analysis is required to product optimal criteria selections.


A restaurant menu contains categories of Cuisine would be really helpful.

Define categories and then asking the user search in based on those categories.

You can provide extra feature to search among all category just by typing any keywords.

  1. A dynamic list should pop up from where user can select a cuisine.

  2. Option should be given about a recently ordered list like a history.

  3. User can create special and most ordered categories and save list for future


I feel categorization based apps are easy to navigate and use and gives user a better results with minimum clicks. You can then provide a filter within each category to sort select and refine search.


If this will be the first iteration make it simple and straight forward. If there are 100's of items or catalogs then use them all. Use tags to filter the list or search to show relevant items. On the same list you can promote the ranks with more likes or the featured product for the day/week/promo. A simple categorization of foods and drinks will do for now. Selecting the item/catalog will pop for other relevant item when they try to place an order. Then guide them on a simple check-out to complete the transaction. Once the app gets traction, that's the time to look into the 2nd iteration.


enter image description here

Use both (or more) as a faceted navigation option.

Here is a great article by Nielsen-Norman group on how and when to apply faceted navigation, where they use Epicurious as an example:

The faceted navigation on Epicurious.com allows the flexibility to narrow results by many different criteria, including Main Ingredient, Cuisine, and Dietary Consideration.

enter image description here

And here is an article by the Smashing magazine on best practices of displaying Sorting, Search and Filters on mobile.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.