Information Architecture

Helping users to connect the dots.

Information Architecture (IA) is ofen talked about as if it's a fancy way of saying website navigation, it's really a whole lot more:
  • Navigation systems - moving through content.
  • Search systems - restricting the content.
  • Labelling/ Naming systems - categories/ tags/labels (they're all the same thing), colours, types and so on.
  • Organisational systems - different ways of presenting content.
There are then two categories of IA that can help users use all the above.
  • User Traits - data supplied by the user to the system (sometimes called Top Down IA in the literature).
    • Colours
    • Tags
    • Names
  • System Traits - use of inherent metadata from the system (sometimes called Bottom Up IA in the literature).
    • Categories
    • Types
    • Ids
    • Everything in Top down IA

Naviation

More Coming soon...

Search

Search is one of those things that can take a week, or a year to design and implement, so before you start it's a good idea to gauge the scope of what you can achieve, and plan accordingly, for example if you only have a week, then it's likely you're building a simple search feature for pros as you won't have the time to add all the things that make search good for beginners (like filters).When used well, search can be an exceptionally powerful tool for organising and locating data. In certain situations it is in fact the only reasonable way to achieve certain workflows. However, search can also go wrong, so I'll get the warnings out of the way first, and then I'll give some examples of how to get search right.Firstly, without hand-holding (more on this below) search is a task active method of finding things. E.g I know what I'm doing, and I know how to do it. So if one of those isn't true for your user, and you're not holding their hand, that means search is only useful to advanced users of your app. Navigation should thus be available (via menus for example) so that inexperienced users can still find what they need.Secondly, search increases the memory load as it compels recall over recognition. Search also has a high interaction cost (typing over clicking) and is error prone — spelling errors, or recall slips — you should allow for this in search fields by allowing approximate spellings. You should also consider allowing for recall slips where a user searches for a synonym, for example if a user type's box into a feature search field but you actually have a feature called cube, not box, you can obviously use system traits to show the cube result anyway.Finally, search is not enough, never make the only way to access something be by typing it in a search field. This will seriously hurt discoverability; search should not be a crutch for a bad IA.Let's take a look at some search examples...
This is an example of what is, in my opinion, an exceptional search experience. GitLab's search doesn't just hold your hand through the search, it educates, hints, encourages, cheers you on, makes you a coffee and does your taxes. In a few seconds see how I reduce 43,028 results to 55 with specific and logical filtering, I didn't type anything.
While the search in Cavalry isn't nearly that sophisticated (isn't it amazing what you can do when you have $400 million in investment), we've still managed to sneak in a few quality of life features.
  • Letter skipping - a boon for Pro users who can miss out letters to get to results faster.
  • We also use the 'help' in this window as a lower priority system trait so we can guide users who aren't sure what to search for. Lower priority means that name based matches always trump these kinds of matches.
  • See the Dropdown Menus section for other things we do here.
An extensive study by the University of Aberdeen showed that the most frustrating thing users find with search systems is knowing what to type. This is why GitLab's solution is so good because it allows you to narrow down what you want without even knowing what term to type in, and before you know it, you're most of the way there. The other thing to note from this survey is that ranking (the order in which results were shown) is another major annoyance for users of professional application search, so consider this carefully, and prioritise results.
Other things to consider:
  • Highlighting the search term in the results (explain why that result has shown up).
  • The ability to refine searches.
  • Supporting the discovery of 'more like this' or 'things like this'.
  • Show some recent search terms (remember to exclude terms that have no results).
  • The ability to save/reuse search terms. This is something you're likely to get for free on the web as the search term will likely resolve to a link.
  • Show recently used/ visited results.
  • Show additional information in the result to add context (a description of the result, or content from the page the search links to and so forth.).

Labelling and Naming

More Coming soon...

Organisational Systems

More Coming soon...