- What is faceted filtering?
- Why I embraced faceted filtering
- Why I abandoned faceted filtering
- Current status of faceted filtering
- Next post
What is faceted filtering?
Faceted filtering is a technique you often see on sites that sell physical products (e.g., shoes, clothing); on these sites, the faceted filters allow you to select various options to narrow down what you want to find. For example, you might select filters such as style, gender, age, size, color, sport, etc. to narrow down the results as you’re looking for a new pair of running shoes.
I wanted to implement the same faceted filtering paradigm with docs, allowing users to narrow the content down by operating system, location, version, feature, context, popularity, and more. I used a tool called Semantic MediaWiki that allowed me to add semantic data to wiki pages and then create advanced queries that would sort the topics by the semantic values. I created various sortings of docs, presented the sortings on the homepage and allowed users to choose the entry point that made the most sense for them.
Why I embraced faceted filtering
At the time, I was trying to unlock the key to findability, and I was drawn in by the faceted filtering patterns on sites like Amazon and elsewhere. The web was still maturing, and the search patterns on these sites provided a clearly superior experience.
Further, the semantic web was much discussed and hyped at this time. The semantic web promised to enrich content with semantics (especially through microformats) in ways that would improve discoverability. XML was the driving technology behind the semantic web. Faceted filters would simply leverage the semantic-laden attributes to make it easier to find what you were looking for.
As a culminating presentation on my exploration into faceted filtering, I delivered a 2013 WritersUA Europe keynote titled Making Content More Findable When Users Browse and Search.
Why I abandoned faceted filtering
Providing a custom set of filters for navigation was never an out-of-the-box product that was easy to implement without major engineering support. Further, having multiple presentations of content topics confused users, as this wasn’t a standard pattern in documentation. There also weren’t a clear set of facets (e.g., size, color, sport) by which to sort informational content like there were with physical products.
Additionally, although you can create different ways to sort and present topics, when a user goes to a page, there can be only one sidebar shown on the left. So if you have a list of the most popular topics, topics related to a specific locale, and topics related to a particular feature, when viewing that topic as a single page, the sidebar wouldn’t list these other organization schemes. Each page can only have a single, static sidebar. The organization of topics in that sidebar should generally match the organization of topics presented elsewhere on the site.
Current status of faceted filtering
Some more robust documentation tools, such as Fluid Topics, allow users to sort content using faceted filters, but only using the conditional profiling filters provided through DITA. Most tech comm tools never really delivered on this faceted filtering pattern. Faceted filters are still frequently used with merchandise sites, but you don’t see too many examples with documentation sites that go beyond the basic filters (such as version, language, or platform).
Although DITA XML allows for filters in the outputs, the more common DITA tooling pattern is to generate separate outputs based on profile conditions, not provide toggles to filter content within the same output. Providing the filters within the same output is a much more advanced, complex undertaking. On the other hand, providing separate outputs for each type of user is traditionally a print paradigm.
Faceted filtering works best when your product has a clear set of facets/attributes that users can identify to narrow the information. Finding tool support to implement faceted filtering is challenging.
Continue to the next post in this series: Screencasting.
About Tom Johnson
I'm an API technical writer based in the Seattle area. On this blog, I write about topics related to technical writing and communication — such as software documentation, API documentation, AI, information architecture, content strategy, writing processes, plain language, tech comm careers, and more. Check out my API documentation course if you're looking for more info about documenting APIs. Or see my posts on AI and AI course section for more on the latest in AI and tech comm.
If you're a technical writer and want to keep on top of the latest trends in the tech comm, be sure to subscribe to email updates below. You can also learn more about me or contact me. Finally, note that the opinions I express on my blog are my own points of view, not that of my employer.