Using domain models in IA
Last week the Cambridge Usability Group were lucky enough to have Mike Atherton come talk about information architecture (IA). As a freelance IA, Mike has been working with the BBC for some time to help them tame a huge amount of useful content.
This talk was of particular interest to me. I’ve always had a fascination with how IA’s make complex information structures understandable and easy to navigate. I oversee the management of a large and complex site (a County Council website) which has a lot of varied content. And we need to look at ways to streamline it and focus on user needs.
Mike’s talk was titled ‘Beyond the Polar Bear’. If you have an interest in IA, you might remember the renowned O’Reilly book on IA by Peter Morville and Louis Rosenfeld that Mike was referring to. The main thrust of Mike’s talk was that IA has moved on and UX think needs to be applied all the way through a web project. Information just isn’t neat and we can’t easily categorise information using taxonomies.
Mike also stressed that most user journeys on the web these days start with Google search results or from social media. I know this rings true for the County Council’s website. Google drives around 55% of our visitors. Another issue which is often overlooked in the world of IA is pages that are mothballed or removed, resulting in a 404 error.
Reflecting on his experiences at the BBC, Mike explained that the BBC has a huge number of different sites, but content exists in silos, so user journeys can be difficult. Also as budgets and staff are reduced the BBC has a need to do more for less. Mike highlighted the issues with focusing too heavily on wireframes – what he described as an obsession with the ‘presentation layer’. Instead he advocated engagement with the fundamentals of content and software development. The web, as Tim Berners-Lee conceived it, is not about siloed websites. It’s about a wider network, linking content together to enable people to move around following an information scent. Which is where domain models come in.
Inspired by Eric Evan’s book ‘Domain Driven Design‘, Mike explained domain modelling as:
“a way of representing the important ‘things’ within a subject, and the relationships between those things.”
He showed a useful example of how different concepts in a subject area link together, to represent the user’s mental model of that domain. An example from the domain of my employer which is easily explainable (local government) is Councillors and Council meetings. I’ve constructed my own simplistic domain model of the key ‘things’ as below (note this domain model doesn’t really express the parent/child relationships between the ‘things’ – but a proper domain model would).
Mike explained how best to establish a domain model.
Firstly as an IA you need to talk to subject experts to discover what the key ‘things’ are in the domain. In my example above the experts would be the officers in Democratic Services. Then you need to talk to users, who often have a simpler language and don’t use jargon. In my example above the users would be citizens and councillors. Mike reflected that it can be hard to get users to articulate what the ‘things’ are in a domain.
At the BBC the terms used to describe the ‘things’ in the domain model are used at all stages of design and development, for example for the database design right through to the CSS classes. This ensures the development team talk the same language as the users. However the developers in this instance do not come up with the data model first – instead the data model is driven by the domain model, because the domain model represents how users understand ‘things’ in the domain.
Search Engine Optimisation (SEO)
Mike suggested only having one concept or ‘thing’ per page, so Google can point to it directly. So in my example that would mean a page for a Councillor, a page for a Committee, a page for a Meeting, and so on.
It’s also important to design URI’s well. Mike felt that IA’s often overlook the importance of thinking about URIs. A good URI should be hackable, memorable and persistent. By ‘hackable’ Mike meant that if you remove part of the URI back to the / it should still work e.g. http://www.mycouncil.gov.uk/meetings/agendas/ and http://www.mycouncil.gov.uk/meetings should both work.
Mike demonstrated how the BBC had come up with unique, persistent URLs, but recommended the use of ‘vanity URLs’ and a 301 redirect because a unique URL (using a unique code) is not particularly easy to remember.
I am familiar with the issue of having multiple microsites with little to connect the siloed content together. Mike explained how the BBC has resolved this issue by ensuring microsites use the same data/domain model, but with different branding and additional materials, ensuring a smooth user journey between microsites.
Where useful content already exists elsewhere on the web, the BBC use a linked data model link across to 3rd party content. The BBC has taken the view that if Wikipedia has useful content, programme teams may as well ensure Wikipedia data is accurate by updating it themselves.
UX thinking all the way through
Mike likened the need for UX thinking to permeate all aspects of web design and development to Jesse James-Garrett’s ‘Elements of User Experience’ model. In other words, UX design doesn’t start with wireframes – it starts from the underlying domain concepts (the ‘things’). Mike advocated prototyping in HTML/CSS to ensure that you test designs early on with real content.
Search bots are your least able user
We’ve all considered the need to design for the least able user first. But often we don’t consider that your least able user is a machine – a robot! Search bots need clear structure to make sense of your content.
The new IA
In summary, Mike outlined what the new IA should be thinking about and doing. The new IA:
- Thinks about real-world ‘things’
- Thinks UX from the ground up
- Designs for mobile first
- Designs for search and social media
- Wrestles data from the web
Here are Mike’s slides:
This content is published under the Attribution-Noncommercial-Share Alike 3.0 Unported license.