Dev Depot: Typeahead.js, Enhanced Site Search

A staple of “Web 2.0” coding, “typeaheads” are those helpful hints that try to guess what you’re typing, filling in the blanks. They are found on search engines and on every other imaginable form input. It’s important to note up front that typeaheads are not “spell checkers” but marketing tools that can be creatively monetized, while helping to filter and funnel a site’s traffic.

One popular site to get on the bandwagon is Twitter, which decided to implement a typeahead, but found that there wasn’t a solution allowing for prefetching data, searching that data on the client, and then falling back to the server for additional cues — so being the innovators they are, they created their own.

You can also combine local or prefetch [data] with a remote fallback for the performance of local data combined with the coverage of a remote query API. -Chris Aniszczyk, Twitter

Inspired by Twitter.com’s auto complete search functionality, typeahead.js (www.github.com/twitter/typeahead.js) is a fast and fully-featured auto complete library that displays suggestions to end-users as they type. The script shows the top suggestion as a hint (such as background text), offers customized templates for suggestions, and works with both hardcoded data as well as remote data, allowing suggestions to be easily drawn from multiple datasets.

The system is optimized to quickly index and search these large datasets on the client. “That allows for sites without datacenters on every continent to provide a consistent level of performance for all their users,” a Twitter team spokesperson states. “It plays nicely with Right-To-Left (RTL) languages and Input Method Editors (IMEs) [as well].

“We also needed something instrumented for comprehensive analytics in order to optimize relevance through A/B testing,” the spokesperson added. “Although logging and analytics are not currently included, it’s something we may add in the future.

According to Twitter’s Open Source Manager, Chris Aniszczyk, typeahead.js is a fast and battle-tested jQuery plugin initially built to support the company’s internal needs, but now open sourced on GitHub under the MIT license in hopes that by sharing this piece of its infrastructure, Twitter will benefit from its broader evolution.

Aniszczyk says that there are three ways to get data: using local, hard-coded data passed on page render; by using a prefetch URL that will be hit to grab data on pageload and then stored in local Storage; or by using a queryable API that returns results as-you-type (with the query being passed in the ?q= parameter).

“You can also combine local or prefetch [data] with a remote fallback for the performance of local data combined with the coverage of a remote query API (e.g. quickly search your friends but be able to find anyone on your site),” Aniszczyk explains, adding that “There are lots of options for configuring everything from ranking, matching, rendering, templating engines, and more.”

Using the typeahead.js API is easy and turns any input[type=”text”] element into a typeahead, using a single dataset or an array of datasets. The script’s GitHub page delves into the numerous configuration options and provides a page of working examples to help get you started.

The datasets that define a set of data that hydrates suggestions include datums that can be represented as a string for easy manipulation. To boost performance, typeahead.js rate-limits network requests to lighten the load.

For those developers wanting to combine the script with Twitter’s popular Bootstrap project all that is required is to load typeahead.js’ JavaScript after Bootstrap’s JavaScript file and then specify some configuration options.

As for compatibility, typeahead.js works with popular browsers such as Chrome, Firefox 3.5+, Internet Explorer 7+, Opera 11+ and Safari 4+, and is dependent on jQuery 1.9+, which must be loaded before typeahead.js.

Boasting a high level of template engine compatibility, the ability to process custom events, and an easily skinned style set — along with a price tag of “free,” typeahead.js is an intriguing way to add suggestive capabilities to your internal search marketing efforts, while enhancing the overall user experience. Try it and see if it makes your content easier to find.

Related:  

Copyright © 2024 Adnet Media. All Rights Reserved. XBIZ is a trademark of Adnet Media.
Reproduction in whole or in part in any form or medium without express written permission is prohibited.

More Articles

opinion

Maintaining Payment Processing Compliance When the Goalpost Keeps Moving

VIRP is the new four-letter word everyone loves to hate. The Visa Integrity Risk Program went into effect last year, and affects several business types — including MCC 5967, which covers adult and anything else with nudity, and MCC 7273, dating services that don’t allow nudity.

Jonathan Corona ·
opinion

Making the Most of Your Sales Opportunities

The compliance road has been full of twists and turns this year. For many, it’s been a companywide effort just to make it across that finish line. Hopefully, most of us can now return our attention to some important things we’ve left on the back burner for months — like driving revenue.

Cathy Beardsley ·
profile

YourPaysitePartner Marks 25-Year Anniversary Amid Indie Content Renaissance

For 25 years, YourPaysitePartner has teamed up with stars and entrepreneurial brands to bring their one-stop-shop adult content dreams to life — and given the indie paysite renaissance of the past few years, the company’s efforts have paid off in spades.

Alejandro Freixes ·
opinion

WIA Profile: B. Wilde

B. Wilde considers herself a strategic, creative, analytical and entertaining person by nature — all useful traits for a “marketing girlie,” a label she happily embraces.

Women In Adult ·
opinion

Proportionality in Age Verification

Ever-evolving age verification (AV) regulations make it critical for companies in the adult sector to ensure legal compliance while protecting the privacy of adults wishing to view adult content. In the past, however, adult sites implementing AV solutions have seen up to a 60% drop in traffic as a result.

Gavin Worrall ·
opinion

Goodbye to Noncompete Agreements in the US?

A noncompetition agreement, also known as a noncompete clause or covenant not to compete, is a contract between an employer and an employee, or between two companies.

Corey D. Silverstein ·
opinion

The Search for Perfection in Your Payments Page

There has been a lot of talk about changes to cross sales and checkout pages. You have likely noticed that acquirers are now actively pushing back on allowing merchants to offer a negative option, upsell or any cross sales on payment pages.

Cathy Beardsley ·
opinion

Unpacking the Payment Card Industry's Latest Data Security Standard

The Payment Card Industry Data Security Standard (PCI DSS) is a set of requirements and guidelines that apply to all businesses that accept credit card payments, and is designed to ensure the security of those transactions.

Jonathan Corona ·
opinion

Compliance With State Age Verification Laws

During the past year, website operators have faced a slew of new state age verification laws entailing a variety of inconsistent compliance obligations.

Lawrence Walters ·
opinion

Merchants in Spotlight With Visa's VIRP

By now, most merchants know about the Visa Integrity Risk Program (VIRP) rolled out in spring 2023. The program is designed to ensure that acquirers and their designated agents — payment facilitators, independent sales organizations and wallets — maintain proper controls and oversight to prevent illegal transactions from entering the Visa payment system.

Cathy Beardsley ·
Show More