A List Apart

Menu
Issue № 338

Dark Patterns: Deception vs. Honesty in UI Design

by Harry Brignull · 20 Comments

Deception is entwined with life on this planet. Insects deceive, animals deceive, and of course, we human beings use deception to manipulate, control, and profit from each other. It’s no surprise, then, that deception appears in web user interfaces; what is surprising is how little we talk about it. All the guidelines, principles, and methods ethical designers employ to design usable websites can be subverted to benefit business owners at the expense of users. Study the dark side so you can take a stand against unethical web design practices and banish them from your work.

Expanding Text Areas Made Elegant

by Neil Jenkins · 28 Comments

An expanding text area is a multi-line text input field that expands in height to fit its contents. Commonly found in both desktop and mobile applications, such as the SMS composition field on the iPhone, it’s a good choice when you don’t know how much text the user will write and you want to keep the layout compact; as such, it’s especially useful on interfaces targeted at smartphones. Yet despite the ubiquity of this control, there’s no way to create it using only HTML and CSS, and most JavaScript solutions have suffered from guesswork, inaccuracy, or a lack of elegance "¦ until now.

More from A List Apart

Columnists

Nishant Kothary on the Human Web

The Politics of Feedback

We’re obsessive about collecting input from a wide range of potential users and stakeholders. But with such an onslaught of feedback, there’s always a risk of having your motivation and faith in humanity sucked right out of you. Sometimes, you just need calm critique from the few people who really get you. So which kind of feedback is best? The answer is both.

From the Blog

Personalizing Git with Aliases

Part of getting comfortable with the command line is making it your own. Small customizations, shortcuts, and time saving techniques become second nature once you spend enough time fiddling around in your terminal. Since Git is my Version Control System of choice (due partially to its incredible popularity via GitHub), I like to spend lots of time optimizing my experience there.

Routines Aren’t the Enemy

I recently read Greg Smith’s piece on Bocoup's blog about how they think about time tracking, including all the fascinating data about how your brain works to solve problems. It interested me a lot, since I've been thinking about not just how I track projects, but also how I structure my day as a freelancer.