Home > Features > Dev Depot: Typeahead.js, Enhanced Site Search • Bookmark   • Newsletters   • Register Search Options


Dev Depot: Typeahead.js, Enhanced Site Search

Dev Depot: Typeahead.js, Enhanced Site Search

January 9, 2014
Text size: 
View in Digital Mag
Get XBIZ News
XBIZ Research
Will virtual reality boost the paysite market?
Yes, it will soon
Yes, but in a few years
Out of 179 votes. Results based on votes submitted by members of XBIZ.net social network.

" 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 "

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.

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.


Cam Model Megan Kroft Dreams Big at Studio 20

Hey guys! Oh, I hate when I say that, all we cam girls say that, it’s beginning to sound so cliché. Hey! Hello! People from the industry, cam girls, cam boys, hello! I’m Megan Kroft.... More »

Rich Girls Offers Pro Cam Modeling Tips

The live camming industry offers endless opportunities to earn signficant sums of money and afford a luxurious lifestyle, but only with tireless efforts and non-stop perseverance. To be an elite cam model... More »

CBT Takes Testicular Play to the Next Level

CBT is an acronym often associated with cognitive behavioral therapy or computer-based training, but in the BDSM world CBT stands for none other than “cock and ball torture.” Those four little... More »
Stay informed of the latest industry developments. Get XBIZ newsletters delivered to your inbox. Subscribe today!
Enter email address:

* To manage existing subscriptions click here.

Submit your press release to
multiple news outlets with 1 click.
Subscribe to RSS news feeds or
add free content to your website.
Access XBIZ news and articles
with your mobile device.
Subscribe to XBIZ World magazine, the industry's leading e-commerce trade publication, delivering in-depth coverage of the online, mobile and ancillary digital markets.


Latin America Adult Business Expo

Jul 10 - Jul 12
Cartagena, Colombia

XBIZ.net Paysite Meetup

Jul 13 - Jul 13
Barcelona, Spain

ANME Founders Show

Jul 16 - Jul 18
Los Angeles Marriott Burbank Airport


Aug 03 - Aug 06
Montreal, Quebec
Everyday thousands of business professionals browse XBIZ's industry directory for quality products and services. Not listed yet? Your company could be losing potential new business. Submit your company today!
Use XBIZ RSS feeds to stay informed of the latest industry developments or as a content syndication tool for your website!