I'm designing a UI for an app that allows users to order food from a restaurant. The restaurant offers two types of menu items:

  1. Simple items that can be simply added to the cart.
  2. Complex items like combos, which require confirmation of choices (e.g. which drink, which side, etc.) before they can be added to the cart.

My question is, do I need to differentiate between these two types of menu items when the user is presented with the affordance to select items from a list of menu items which can potentially contain both types?

3 Answers 3


There are two cases here,

  1. Users can select items and the cart then groups them to offer discounts / combos as applicable.
  2. There are certain predefined combos, with limited variation possible to be selected by the user.

Users would be more interested in the items they want to eat and not precisely looking for combos or at times interested in the combos because that offers them a deal, so they want to know those upfront. this depends on your primary target audience. This is a business call. You'll have to come up with that strategy first.

How do they want to approach this. Considering the first approach which intuitively suggests users you want something with something, or can I make this one large and you get a discount etc. In such cases it makes sense to have users pick items and offer them options to make combos before check out.

The second category of users, would want combos ready and for them, I might introduce a configuration step if user is selecting a combo. This is applicable when the list clearly depicts an item as combo vs an individual item. When user clicks on a combo, I would give him option to configure that item and push it in cart. The cart should then clearly mention the details of a combo in subtitle or some other way.

So depending on which user group you are targeting, this is bound to change for optimum user experience.

  • Thanks for your reply. Case 2 would be the one most relevant to our business requirements. So it does indeed sound like the user's expectations would be satisfied by indicating that an item is a configurable combo when listed in the menu.
    – Vincent Lo
    Mar 27, 2015 at 19:17

The solution to this question would ideally be affected depending on the engineering constraints, the size adn scope of the task, and the stage of the product, but it is common to err on the side of simplicity when coming up with a design solution.

While fundamentally it isn't confusing for the user to configure options while in cart view, there are limits to this design. For instance, if there are two different combo sets, it is nearly impossible to differentiate between two combos within the same cart without a bit of work.

One solution to this problem, which you mentioned, to this is to create a configuration view which groups pre-compiled items as a single line item within the cart.

Another solution, which is simpler, and allows you to do combination grouping right within the cart view, is to introduce a parent "combo" line item within the context of the cart. When the user adds items to the cart, the appropriate products and associated "discounts" can show up beneath the parent "combo" line item in the cart.


Probably not

Remember that the user's perspective is different from the app developer's perspective.

What is the user looking for?

I would guess that your users will want to look at the menu and order items they like. This is certainly what they would do at a restaurant. Any configuration would take place after they make the initial selection (eg "do you want fries with that? Do you want it cooked medium-rare? What other sides do you want?").

It's okay to hide some complexity in a UI in order to assist the user with making a primary choice. The configuration can take place in a slide-to-reveal panel once the item is selected, or at checkout.

  • The user is currently browsing a menu of menu items and has the intent to place an order. What you have described makes sense, mimicking the real-world workflow. Thanks.
    – Vincent Lo
    Mar 27, 2015 at 19:13

Your Answer

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

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