Week 46

This week has been my first week back at work. I’ve spent almost all my time working on the new GOV.UK Search & Navigation project. I’m finding it refreshing to work on just one thing at once again.

I’ve been building a new type of browse page for GOV.UK this week. It’s a prototype of new navigation aimed specifically at users in the Oil and Gas industry, making it easier to get straight to the detailed guides they need in order to do their job. The idea is that we’re going to launch the pages in beta soon, but to make it happen I’ve also been doing work behind the scenes which will form the groundwork for other “specialist” taxonomies in the future.

Brad did some work over Christmas so that detailed guides, which currently live inside the Departments and Policy app, will also get registered in Panopticon. This means that they will be returned from the Content API and can be tagged alongside other items of GOV.UK content like answers and guides.

GOV.UK’s tagging functionality evolved from what we called ‘sections’ in the beta and, aside from a few internal tags (such as the original source of the content), we never created any other kinds of tags that were public-facing. A consequence of this is that the code (and the API adapter) is full of assumptions that all tags are section tags. I’ve spent a while breaking some of these assumptions apart so that we can begin to add other kinds of tags to content. It hasn’t been an easy piece of work - every time I thought I’d tidied up a component I stumbled across more endpoints, adapters or test helpers.

A nice outcome of this is that I’ve got a list of bigger issues with tags that I’d like to fix once the Oil & Gas prototype is released. They are things like: including the kind of tag in the tag ID so that IDs are unique across all tags; making sure we always reference the singular form of the tag type in requests (to reduce ambiguity); and, simplifying the number of endpoints in the API at which tags can be requested. There’s also broader questions around whether we should continue to nest tags in a hierarchy, or whether grouping them in other ways makes more sense, and how nesting could work between different types of tags. Stay tuned for some answers on these :)

Outside the world of navigation and tags, I’ve helped with the programming exercise for two interviews this week, and I’ve also been trying to learn a bit of German using Duolingo.