A List Apart

Menu
Issue № 304

Faceted navigation and minified JavaScript FTW.

Better JavaScript Minification

by Nicholas C. Zakas · 21 Comments

Like CSS, JavaScript works best and hardest when stored in an external file that can be downloaded and cached separately from our site's individual HTML pages. To increase performance, we limit the number of external requests and make our JavaScript as small as possible. JavaScript minification schemes began with JSMin in 2004 and progressed to the YUI Compressor in 2007. Now the inventor of Extreme JavaScript Compression with YUI Compressor reveals coding patterns that interfere with compression, and techniques to modify or avoid these coding patterns so as to improve the YUI Compressor's performance. Think small and live large.

Design Patterns: Faceted Navigation

by Jeffery Callender, Peter Morville · 15 Comments

Faceted navigation may be the most significant search innovation of the past decade. It features an integrated, incremental search and browse experience that lets users begin with a classic keyword search and then scan a list of results. It also serves up a custom map that provides insights into the content and its organization and offers a variety of useful next steps. In keeping with the principles of progressive disclosure and incremental construction, it lets users formulate the equivalent of a sophisticated Boolean query by taking a series of small, simple steps. Learn how it works, why it has become ubiquitous in e-commerce, and why it’s not for every site.

More from A List Apart

Columnists

Lyza Danger Gardner on Building the Web Everywhere

The Implicit Contract

Working with a team of like-minded folks not only makes for more copacetic daily interactions, it actually has a positive effect on the end product. Developers are valued for more than their technical skills. Another hallmark of a good developer is how well they mesh with a team.

From the Blog

Getting Started with Gulp

While building JavaScript related projects (whether server side via Node.js or front-end libraries), a build tool to help easily maintain and automate many of the processes—including testing, concatenating files, minification, compiling templates, as well as many other options—can be incredibly useful.