The Cult of the Complex

’Tis a gift to be simple. ALA’s Zeldman bemoans our industry’s current fetish for the needlessly complicated over the straightforward. Escape the cult of the complex! Get back to improving lives, one interaction at a time.

Why Mutation Can Be Scary

Unexpected changes in your JavaScript code can be a real headache. When working with objects, it can be even harder to prevent unintended mutation. Zell Liew shows us some tricks (and libraries) to prevent these unintended changes and ensure stability when working with objects.

My Grandfather’s Travel Logs and Other Repetitive Tasks

When your design project involves unconventional data, how do you structure that data to make manipulating it less tedious? Daniel Warren faced this question when he decided to create an infographic showcasing the decades of extensive travel his grandfather had documented in handwritten journals. Learn about the JavaScript techniques Warren used to minimize repetitive tasks and give his grandfather’s travel logs a new life.

Coding with Clarity

Always writing the clearest possible code is what helps separate the great developers from the merely good. It cuts confusion, reduces headaches for current and future developers, and saves everybody time in the long run. And though not always as easy as it sounds, with good forward planning, a logical approach to code structure, and adherence to a few guiding principles, coding with greater clarity is something all developers can achieve.

What I Talk About When I Talk About Sorting: Untangling Array#sort

Javascript’s Array#sort can be a powerful tool in your belt, but it can also trip you up if you wield it without proper planning and a deeper understanding of its strengths and weaknesses. Claudia Hernández takes a deeper look at how sorting works across different engines, how to create custom sorting functions, and helps you sharpen your sorting skills.

JavaScript for Web Designers: DOM Scripting

JavaScript’s ability to access and modify elements on the page is undeniable, and the Document Object Model is an essential component of that. In this excerpt from Mat Marquis’ new book, JavaScript for Web Designers, Mat shows us how to manhandle the DOM to get better results from our scripts.

Making your JavaScript Pure

JavaScript code can easily grow into a thicket of dependencies that harbors wily and persistent bugs. Keeping the rows neat with functions that don’t reach outside their scope makes your codebase more reliable and easier to document. Jack Franklin suggests looking for opportunities to use pure functions—it could make maintaining the code a stroll in the park for your future self.

Prototypal Object-Oriented Programming using JavaScript

Disguised as a mild-mannered scripting language, JavaScript is more dynamic than you might think. Mehdi Maujood has seen beyond the class-based masquerade and found that JavaScript can be used more effectively once you understand its true nature as a prototype-based object-oriented programming language.

Interaction Is an Enhancement

The web has an endless supply of single-point-of-failure horror stories, where sites serve up blank and blocked pages to dumbstruck users. But the fault is not with JavaScript and other technologies—it’s with how we use them, banking on them alone instead of diversifying how we deliver our experiences. In this excerpt from Chapter 5 of Adaptive Web Design, Second Edition, Aaron Gustafson explains why understanding and working within limitations is the key to building resilient websites.

The Nearly-Headless CMS

Decoupling your CMS can broaden your options for the presentation layer, let team members narrow their focus to what each does best, or provide data for iOS and Android applications along with a responsive site. Maybe the greatest benefit is that having to consider the relationship between the CMS and rendering layer helps break up assumptions about delivery formats, making you more future-friendly along the way. Mark Llobrera shares a couple of tales where headless was the right solution.