What is it that causes developers to write bad code? The easy excuse is time–pressing deadlines can cause anyone to take shortcuts–but I don’t think that’s the most frequent problem. Generally, good code takes only a little longer to write than bad code (with the exception of architectural differences) and it pays for itself in the long run when you know exactly what it should do, you can read it easily, you don’t have to chase down sloppy bugs, etc. Continue reading
At Google I/O a couple of weeks ago, Google unveiled Material Design, new design guidelines intended for use across a variety of devices. Along with the guidelines, Google had several sessions on explaining the motivations behind them and the goals. Unfortunately, designers and developers tend to speak very different languages, so most explanations are either from the designer’s perspective (“This is what we’re trying to evoke”) or the developer’s perspective (“Here are the classes you should use”). I think this means a lot of the UX reasoning behind the guidelines gets lost. Continue reading
Project managers have extremely different roles depending on the company. In some companies, they create high-level flowcharts, define the feature set, and split it into the primary screens. After that process, an app for posting photos might look like this from a high level:
Mobile UX is changing fairly rapidly, and it’s an exciting field to watch (well, if you’re into that sort of thing; if not, you may want to skip out on this post). Many UI elements of PDAs and cell phones were based on traditional computer UI because the devices often had limited ability to navigate, those that had resistive touchscreens weren’t particularly responsive or accurate, and most design is iterative.
When Apple popularized capacitive touchscreens with the iPhone, they decided to lean heavily on skeuomorphism. People were interacting with something new in strange new ways, and Apple likely believed that relying on existing things from the real world meant that people could more quickly adapt. “Oh, this is a switch, I get it.” Plus, the visuals were more intriguing than anything people had been seeing on most other devices at the time. Continue reading
I am very passionate about good user experience (UX), but one of the biggest challenges with UX is explaining what it even means. Development is easy enough to understand as it’s simply how the app is built. Graphical design/user interface (UI) is mostly how it looks. Quality assurance (QA) is about making sure it works the way it’s supposed to. User experience, though, is a combination of all of these and more. It’s about understanding the user’s expectations, clearing out the pain points, and giving a sense of satisfaction. Most development teams have very little focus on UX either expecting the designer to handle it or thinking that features and functionality are all that’s needed.
It’s a little bit easier to understand the value of user experience by taking a simple example, such as a series of light switches, and breaking down who is responsible for what. The designer wants to make sure the switches look good. Do they blend in enough or stand out too much? Does the shape match the surroundings whether harsh or smooth, traditional or contemporary? Are they properly spaced, aligned, and balanced? Continue reading