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

FEATURE

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
  39.66%
Yes, but in a few years
  36.87%
No
  23.46%
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.


LEGAL PERSPECTIVES

Porn ‘Public Health Crisis’ Is False, Dangerous

We are witnessing the early stages of a moral panic, the likes of which we have not seen since the Reagan Administration. As I write this, there are 27 states in the process of passing mandatory porn... More »

The Skinny on the New DMCA Requirement

The requirements under the Digital Millennium Copyright Act (DMCA) have changed, but the sky is not falling. We have, even as a law firm, been hit with an unbelievable amount of spam sent out by law firms... More »

2017 Outlook: Legal Matters Around the Corner

The adult entertainment business’ legal community recently weighed in the top issues that companies and the industry, as a whole, should be concerned about. XBIZ asked industry attorneys to discuss... More »
XBIZ NEWSLETTERS
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.






POPULAR PRODUCTS & SERVICES
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.
Access the latest issues of the industry's leading trade publications in digital form. View online or download for offline viewing.

UPCOMING EVENTS

XBIZ.net Paysite Meetup

May 04 - May 04
Prague, Czech Republic

Eurowebtainment 2017

May 17 - May 20
Majorca, Spain

XBIZ Retreat

May 30 - Jun 03
Miami, Florida

XBIZ Miami 2017

May 30 - Jun 02
Miami, Florida
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!