Suppose an application where you work with text snippets. You can search for and reuse existing snippets as well as create and edit new snippets.
Thus, we basically have two modes:
- A search mode and
- An edit/create mode
It might look something like this mockup:
download bmml source – Wireframes created with Balsamiq Mockups
A bit more details:
- All of this interaction takes place in a dialog positioned above a main text editing document (not shown in mockup).
- You can search in both text snippet contents and their keys. However, only the contents are displayed in the Text-field (see mockup above - here the text key field is not shown).
- New snippets are saved, when the "Create new text" button is clicked.
- If a suggestion is selected, the user can reuse this text with the "Reuse text button. Also, the user can return to the search field and enter a new query - or choose to create a new, edited text
- (Obviously) not all search queries have matches.
- Formatting should not be lost when switching between the modes
- Preferably, there should be no modes at all: Perhaps by being able to just press Enter key to add a newline. However, a multiline text edit field with search suggestions is an unfamiliar, probably hard-to-understand new type of widget
- The search includes the text formatting. So, the longer and more heavily formatted text, the less likely there are any search suggestion matches.
The resulting interaction design conundrum is:
- How to combine/switch between these two modes: Search and edit?