Case study — Information Architecture & Search Engine development for GoAnimate

Tim Chan
Tim Chan
Oct 17, 2016 · 8 min read

GoAnimate is an online platform that enables people to create professional-looking videos — from scratch — using drag and drop tools. It removes the pain of traditional time-consuming production process by providing pre-made props and templates.

With 10,000+ props in their library that were categorized poorly and with very basic search capability, GoAnimate users had a hard time looking for what they want. GoAnimate needed a better way to organize their contents and improve their search experience, this is were I came in.

Image for post
Image for post
A screenshot for the content library

My role

The Process

Understanding the existing system

The biggest problem I uncovered was that there were no guidelines on how contents should be categorized. Each team member will organize contents based on their own feelings. No wonder why contents are scattered along the place. On top of that, the search engine only supported search by file names, which was a really limited experience.

Break down the problem

  1. When should a concept become a category? For example, for an Office table, should it belong to a category called Office or Corporate? Why and why not? What about Furniture?
  2. How to make the categorizaton scheme scalable? I want to create a scheme that not only support what we have currently, but can also support new contents in the future.
  3. How can I make an item retrievable by using multiple keywords? For example, I want to find a Macbook. If I search Mac, Laptop, Electronics or Apple I expect to be to find my Macbook. How do I make that happen?

Research — Understand how human organize information

Since our library covers a lot of concepts, my research needed to cover a wide range of topics as well. I looked at product based categorisation systems such as ebay, Amazon, Walmart…etc, and activity based such as Meetup.com. I also looked at library classification schemes across the world to have a better understanding on how human classify knowledges. Lastly, I also looked at government websites, yellow page and other recruiting website to understand how we categorize job functions.

Image for post
Image for post
Researching different categorization scheme, even yellow page!

I decided that item exists in multiple categories would make most sense to our tool. For concepts that does not have the privilege to become a category, we will use them as tags for search engine retrieval. Below is a sketch on how I was brain-storming how we can categorize a character:

Image for post
Image for post
Brain storming how I might want to tag a character

Research part 2— Conduct card sorting exercise

Image for post
Image for post
Participant is conducting open-ended card sorting exercise
Image for post
Image for post
Card sorting exercise analysis
Image for post
Image for post
Brain storm how we can categoize items based on results from card-sorting exercise

Create categorization guideline

Image for post
Image for post

This guideline gives us a unify understanding on how contents should be categorized. Instead of debating which content should go under which category, it saves time for the content team to do things that is their expertise — to create remarkable contents.

We also worked with the development team to design an admin UI that allows the admin user to easily assign categories:

Image for post
Image for post
Admin UI to assign categories to items

Search

Reusing left-overs

Those categories names exists because that there is more than one way to categories something, which means that those terms is perfect for us to use as tags which will help us with the search.

Tagging

It is easy to tag 1 or 2 items, but when you are tagging 10,000+ items, things start to become tricky. You will start to miss some important tags or you will start to over tag, either way, the process is not efficient.

Importance of guidelines

  1. What is this item.
  2. Where can you find this item.
  3. What does it represents.

The tags will start from specific concepts and gradually move towards more generic ideas. For example, and “Office chair” will have tags the looks something like: Chair → Office → Work…

Image for post
Image for post
Guideline on how to tag an item

Other considerations — Variance terms

To avoid spending time to come up with variations of terms duplicate tagging, we grouped words with similar concept or meanings together. We chose one term — the Controlled term — as the tag we will used internally. Other variations are called Variance terms.

The control term table is very simple spreadsheet file. One column is the control term, and the other columns are the variance terms:

Image for post
Image for post
With this Controlled terms table, we don’t have over tag just in case we might miss some keywords.

Now when user search the variance terms, since variance terms and controlled terms are linked, we will be able to return results.

Improving the search experience — Front end level

Image for post
Image for post
Search suggestion saves time for user to find keywords
  1. As users types in the search box, provide suggestions based on what he is typing. This helps us to a) educate the user what items we have and b) save the user’s time by making him typing less. Also added arrow keyboard shortcut to help user easily navigate between the suggestions.
  2. Offer typo tolerance such that users do not have to worry if they misspelled something.
  3. Bold the matched text.

Documentation

Image for post
Image for post
Image for post
Image for post

The result

  • Search term that is “valid” but returning 0 results. This means that the term should return results since the item exist in the library.
  • Search term that was used a lot but return 0 results because the item searched doesn’t exist in the library.
Image for post
Image for post
Sample of a search analysis report
Image for post
Image for post
Search report on the first few week of the new search engine

Based on the search log, I was able to make some fine-tune on the search experience. For example, we were able to identify items that were searched a lot but was not tagged and also identify the need to add more contents since users were looking for it.

What we planned to do in the future

  1. Auto ranking adjustment. Create an automatic system such that, when an item is more popular than others, we will give that item more weight, so it will show up closer to top in the search results.
  2. Create a thesaurus library. A thesaurus library defines the closeness of each terms. Which means apart from the regular search results we show to our users, we can also present relative search results, something very common in the e-commerce world. E.g. “You may be interested to this…”

Reflection and lesson learned

As I was working side by side with the content team, we faced the challenge of constantly thinking of variations of a concept, and try to put all those variations as tags. Things starts to become messy as some items will have like 30 tags because of the team trying to cover every possible keyword we can think of.

Image for post
Image for post

It is after I picked up the book: Information Architecture for the World Wide Web — aka, the polar bear book which taught me the concept of Controlled Terms and Variance Terms and the art of organizing information, things start to change and went more smoothly.

My biggest take away is that, although some books are really boring, sometimes you just need to bite the bullet and read it. After all, knowledge is power!


Thank you for reading.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch

Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore

Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store