Hacker News new | ask | show | jobs
by chefandy 1688 days ago
Interaction Design, or IxD, is a design discipline that deals heavily in visual communication like graphic design, but focuses on back-and-forth communication, typically in a software GUI. Much like Graphic Design, adding beauty and fun are merely tools in a much more important skillset: interaction designers should also have a good sense for users' goals, workflows and communication dispositions; using layout, form, and animation to communicate meaning instead of verbose language-dependent labels that add to cognitive load and disrupt focus; how to form interfaces to match users workflows rather than the developer's mental model of the process; etc.

Many of the UI practices developers have absorbed through osmosis– such as grouping buttons with like actions and having them change color when you click on them— have their roots in pre-computer design disciplines. While they often work ok, they often aren't optimal, and an interaction designer can make your users lives' much better. For example, I might look at buttons grouped because they perform a technically similar function and think "what are the user's goals here? What likenesses should gestalt communicate for them? Do the other elements nearby alter the meaning of their grouping?"

Or I might see a standard modal where an alert pops up if the form fails validation because it uses an API which can't yield real-time feedback. Error popups are a big emotional disruption— like getting pulled over and given a warning rather than being redirected with a well-placed road sign. They also add cognitive load because they have to read it AND find the problem fields, the extra click can take time, and dealing with all of that can totally kill a user's flow and concentration. If it's common user stumbling block, I might make the button border and problem field switch to the same color and rapidly shake horizontally like a head shaking 'no.' The emotional rebuff and interruption to the user's flow are significantly reduced. It will drastically improve that user's experience.

While many technical folks consider these trivial issues, good interaction design is consistently one of the reasons folks will shell out serious skrilla for proprietary, less technically sound, less secure, and less flexible commercial software and why open-source alternatives will remain alternatives for everything but developer and technician focused software. One of my primary goals is to ply these skills in the FOSS scene.