To explain what I mean by the terms:

  • Tool based UX: select a tool from a tool bar, and use the tool on some part of the resource. Examples: Photoshop, Minecraft.

  • Button based UX: select a resource, and then click a button on the button ribbon to apply that button's action to the selected resource. Examples: Microsoft Word, Google Sheets.

What types of user intentions are suited to each type of interaction paradigm?

Edit: A more specific use case

We're building a metadata-aware spreadsheet program, and we've looked at a whole bunch of UX from early Lotus 123 right up to Google Sheets. It seems there's a range of UX, even if some things haven't changed since the early days. Why does that matter to us?

  • We just want to make it as simple as possible for the user to make their spreadsheet with metadata.

  • Our program is just a normal spreadsheet, except:

    • Each cell can be 'tagged' with various pieces of data, such as the:

      • field it belongs to.

      • record a group of fields belong to.

      • semantic data that forms a connection between fields that are labeled with different names (even different names in different human languages).

  • We use a forked version of a standard semantic vocabulary as the basis for our semantic tags.

I hope this gives a bit of context, and is not too much detail. We could go either way, either tool-based or button-based. I wonder if it's clear to someone here which is going to work better for people building metadata-aware spreadsheets.

(I apologize if this question is ill-posed, too detailed, or not a good fit for this site. Please downvote with gusto if that is the case!)

  • There's a great question in here, but it needs a little specificity before a proper answer can be offered. Is there a particular problem you're trying to solve? Jan 12, 2015 at 20:23
  • Okay, yep, it might take a bit of space to describe the particular case, I'm worried about that.
    – Cris
    Jan 12, 2015 at 20:24
  • Give us something with a little meat but not so specific no one else will care. I'm sure someone here will have a reasonable answer for you! Jan 12, 2015 at 20:25
  • 1
    I notice you've accepted an answer to your question already. I'd recommend waiting a day or two to do so - it discourages more people from answering to see an answer has already been selected, and somebody out there might have a really great answer waiting for you. Jan 13, 2015 at 1:59
  • Good advice. Yeah, I guess it was too quick. Also I didn't want to contribute to anyone feeling like their answer wasn't good enough.
    – Cris
    Jan 15, 2015 at 22:59

3 Answers 3


Select then act

Spreadsheets lend themselves to selecting the area to act upon then editing or choosing your action. In the case of tagging cells or ranges, as a user I would expect to select my range then apply the tag, not the other way around.

There are likely some actions that blur the lines (eg cetain types of large area formatting), but those cases should become obvious as you work through the interaction prototypes.

Don't forget the power user

If this is going to be an oft-used application, as spreadsheets tend to be, you'll want to support a rich set of key shortcuts to avoid all that fussy clicking. For instance, select a cell or range and hit ctrl+t to invoke a context menu of meta tags that filter as you type.

For the serious power user, how about allowing queries against the worksheet to apply the meta data? Just a thought. Who needs buttons when you can craft cryptic and powerful command line instructions ;)


Using your vocabulary, I would expect a Button-based UX when using any program that looked like a spreadsheet.

It sounds like you have some interesting new functionality in mind, but at the core, your product is going to appear like, and function like, a spreadsheet. Spreadsheets have become fairly standardized and users expect their existing spreadsheet understandings and skills to migrate from one software to all others.

I would suggest that you mirror the existing interface metaphor and keystroke sequences of the market leaders, Excel and Google Sheets. If you are concerned with copyright infringement, simply make your keyboard mappings and button icons user-definable and default them to slightly non-standard values. Then get one of your independent beta testers to use your program's configuration tools to map those settings to exact clones of each of the industry leaders and release the resulting configuration files to the public domain.


I would use a Button Based UI in this case.


From what you've described in the use case about metadata-aware spreadsheets, I'm assuming that the most user actions would start with the question:

"I need to take some action on these cells".

The question you need to be answering for them is - "Which cells do you want to act on?" and then, "What do you want to do?"

This way, you're giving the user the flexibility to choose the cells and then decide an action to take on them, rather than forcing them to commit to an action and then select cells to apply them to.

This would be akin to selecting a group of Excel cells to perform any mathematical operation on them instead of forcing the user to select an operation (like add, multiply) and then select the cells to apply them to.

Er, I hope that makes sense.

  • This does make sense. Thank you. Putting it that way helps.
    – Cris
    Jan 13, 2015 at 0:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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