We’re rolling out a new search system based around autocompletion. It’s now available on most pages. Simply start typing in the search bar at the top of the page to see the results roll in.
We took several factors into consideration when designing this system:
- Search queries generally fall into one of two categories: “Topic” searches and “Direct match” searches, and we wanted to address both cases:
- A “Topic” search is when a user is looking for a collection of content related to a specific topic. In our context, this means results that have a specific tag. We’ve made tags prominent in the autocomplete experience, hoping this will encourage users to directly explore tag pages, thereby discovering a broader range of content. We found that with our existing system, users would search for a tag (eg. “low-poly”) and be presented with a confusing set of results that contained the tag name in the title, and not pages that use that tag.
- A “Direct match” search is when a user is seeking something specific, and they already know its name. Given that itch.io is an open publishing platform where anyone can create a page with any title at any time, we need to be cautious about incorrect results appearing when someone is searching for something specific. (We also want to prevent bad actors from using similar titles to popular works to capitalize on the traffic). To address this, we’ve decided to index only the top 1000 pages, along with any pages featured by our staff. This collection of pages is constantly updated. The autocomplete system will, in most cases, allow users to directly access the page they’re looking for, bypassing a full search results page that may display a large amount of unrelated content.
- Game jams: Our existing full results page doesn’t currently support finding game jams. While we plan to add this feature in the future, we thought it would be a good time to introduce a system to look up jams by title in the autocomplete search. Currently, we’re indexing any featured jams happening within a two-week window of the current date. We may expand this list as we gather more usage data.
- Performance: Each letter typed triggers a new query. To ensure the fastest response time without overloading our server, we generate a single index of autocomplete eligible content that is not personalized to the viewing user. Your account-specific content viewing settings do not apply. Pages are only eligible for indexing if they would ordinarily appear on our discovery pages, such as /games, without any special filters applied.
- Alternate spellings, usernames, etc.: Eligible pages for results are indexed in various ways to facilitate easier page discovery. For instance, in addition to the title, both Jams and Games are indexed by the author’s name, enabling you to find the page even if that’s the only information you possess. Tag pages may have tag aliases (e.g., “fnf” refers to Friday Night Funkin), so a search for “fnf” will still guide you to the relevant tag.
We hope you find this feature useful. If you have suggestions for other types of pages you’d like to see in the autocomplete results, please leave a comment. If your game doesn’t appear in the autocomplete results, don’t worry. The full search results page will always be available to help users find content that may not be suggested as they type.