A List Apart

Menu
Issue № 384

Keep digital projects moving, and help people find their way through the puzzling world of flat UI and forms.

Flat UI and Forms

by Jessica Enders · 74 Comments

Though some decry flat user interfaces as pure fashion, or as the obvious response to skeuomorphic trends, many designers have embraced the flat approach because the reduction in visual styling (such as gradients, drop shadows, and borders) creates interfaces that feel simpler and cleaner. Trouble is, most flat UIs are built with a focus on the provision of content, with transactional components (i.e., forms) receiving very little attention. So what happens when flat UIs and forms collide? User experiences can, and often do, suffer. Keep your flat forms from failing by using controlled redundancy to communicate difference.

Mastering Digital Project Momentum

by Perry Hewitt · 12 Comments

Digital projects begin in high spirits and tip quickly into miscommunication and crisis. But it doesn’t have to be that way. Extend your early kickoff meeting harmony throughout the life of your projects. By understanding your client’s organizational drivers and key players before the sticky note sessions even begin, you can establish the momentum needed to keep the extended team focused on goals. And by managing stakeholder communications throughout the job, you can avoid land mines, save time and effort in the long run, and deliver a project that satisfies stakeholders, agency, and users alike.

More from A List Apart

Columnists

Matt Griffin on How We Work

Pricing the Web

If you plan to bill your clients, you need a method for putting a price on what you do. The variables are always money, time, and scope of work, but the way they relate to each other can bring different client motivations to the foreground and fit different agency needs.

From the Blog

Driving Phantom from Grunt

For this example, we're going to build a Grunt task that takes a screen shot of the pages we're building (similar to Wraith, but far less advanced). There are multiple parts to make this work, so let's break it down. First, we will write a PhantomJS script that renders each page. Second, we make a NodeJS function that calls this script. Finally, we make a GruntJS task that calls that Node function. Fun!