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

Best Practices for Payment Gateway Security

Securing digital payment transactions is critical for all businesses, but especially those in high-risk industries. Payment gateways are a core component of the digital payment ecosystem, and therefore must follow best practices to keep customer data safe.

Jonathan Corona ·
opinion

Ready for New Visa Acquirer Changes?

Next spring, Visa will roll out the U.S. version of its new Visa Acquirer Monitoring Program (VAMP), which goes into effect April 1, 2025. This follows Visa Europe, which rolled out VAMP back in June. VAMP charts a new path for acquirers to manage fraud and chargeback ratios.

Cathy Beardsley ·
opinion

How to Halt Hackers as Fraud Attacks Rise

For hackers, it’s often a game of trial and error. Bad actors will perform enumeration and account testing, repeating the same test on a system to look for vulnerabilities — and if you are not equipped with the proper tools, your merchant account could be the next target.

Cathy Beardsley ·
profile

VerifyMy Seeks to Provide Frictionless Online Safety, Compliance Solutions

Before founding VerifyMy, Ryan Shaw was simply looking for an age verification solution for his previous business. The ones he found, however, were too expensive, too difficult to integrate with, or failed to take into account the needs of either the businesses implementing them or the end users who would be required to interact with them.

Alejandro Freixes ·
opinion

How Adult Website Operators Can Cash in on the 'Interchange' Class Action

The Payment Card Interchange Fee Settlement resulted from a landmark antitrust lawsuit involving Visa, Mastercard and several major banks. The case centered around the interchange fees charged to merchants for processing credit and debit card transactions. These fees are set by card networks and are paid by merchants to the banks that issue the cards.

Jonathan Corona ·
opinion

It's Time to Rock the Vote and Make Your Voice Heard

When I worked to defeat California’s Proposition 60 in 2016, our opposition campaign was outspent nearly 10 to 1. Nevertheless, our community came together and garnered enough support and awareness to defeat that harmful, misguided piece of proposed legislation — by more than a million votes.

Siouxsie Q ·
opinion

Staying Compliant to Avoid the Takedown Shakedown

Dealing with complaints is an everyday part of doing business — and a crucial one, since not dealing with them properly can haunt your business in multiple ways. Card brand regulations require every merchant doing business online to have in place a complaint process for reporting content that may be illegal or that violates the card brand rules.

Cathy Beardsley ·
profile

WIA Profile: Patricia Ucros

Born in Bogota, Colombia, Ucros graduated from college with a degree in education. She spent three years teaching third grade, which she enjoyed a lot, before heeding her father’s advice and moving to South Florida.

Women In Adult ·
opinion

Creating Payment Redundancies to Maximize Payout Uptime

During the global CrowdStrike outage that took place toward the end of July, a flawed software update brought air travel and electronic commerce to a grinding halt worldwide. This dramatically underscores the importance of having a backup plan in place for critical infrastructure.

Jonathan Corona ·
opinion

The Need for Minimal Friction in Age Verification Technology

In the adult sector, robust age assurance, comprised of age verification and age estimation methods, is critical to ensuring legal compliance with ever-evolving regulations, safeguarding minors from inappropriate content and protecting the privacy of adults wishing to view adult content.

Gavin Worrall ·
Show More