Flag

We stand with Ukraine and our team members from Ukraine. Here are ways you can help

Home ›› Product design ›› Developers, UX Is Your Business Too!

Developers, UX Is Your Business Too!

by Chris Griffith
5 min read
Share this post on
Tweet
Share
Post
Share
Email
Print

Save

Developers can have profound impacts on the UX of the products they’re working on. This article explores areas of experience design in which development has a more direct role.

Software developers often think the user experience as something better left to either the interaction designers or the visual designers on their teams. In actuality, developers can have profound impacts on the user experience of the products they’re working on. This article will explore some areas of experience design in which the development process has a more direct role. This is not to say that developers can substitute for UX and interaction designers, but they can play a role in making compelling applications.

Limit the User’s Choices

This may sound counterintuitive, but when a user is given too many choices, it makes it harder for the user to make any choices. When faced with an excess of choice, the user might abandon the application altogether, which is certainly not the choice we want them to make. This dilemma is what Barry Schwartz named The Paradox of Choice. I have seen this time and again in usability labs as we try to find that balance of exposing enough options to users without overwhelming them.

Just because we can expose a setting or function to the user with a few lines of code doesn’t mean we should. Consider the impact of adding one more menu item or one more button to your UI before you do. It might be a simple line of code, but it could greatly impact your product.

Stay Out of the User’s Way

As the developer, in some ways you are user number one. Although the product may not be something you will ever interact with once it is completed, you and your development team are the first ones to actually “kick the tires” on it. While doing so, pay attention to the amount of effort it takes to perform a task. How many clicks does it take? How far do I have to move my mouse? The interaction flow might seem fine on paper, but once you start bringing the experience to life, see how it feels. If there are too many interruptions (dialogs, screen transitions, etc.), there might be a better method to craft the workflow. Remember you already know the right route; if it seems difficult to you, imagine what it will be like for a novice. This also applies to visual transitions. They may seem awesome the first time, but try performing the same task over and over, and I guarantee you will be reducing their duration by half or more.

Provide Feedback

Give meaningful and prompt feedback to the user’s input. How many of us have been to an e-commerce site, made it to the checkout screen, and seen a message like this: “Only click the button once or you will be charged twice.” Really? The developer of this site couldn’t take the time to disable that button after it was pressed? These are things that developers can easily fix. Simply setting the state of that button to be disabled once the user clicked on it would have greatly improved the user experience. You can then go the next step and provide some form of formal status indicator (e.g., a spinner or status bar message).

Avoid Jargon

Remember the product experience should be designed for the customer, not for you or the QA staff. Speak your real user’s language, not yours. One place I often see this is in status messages. It is great to give the user feedback on how the application is performing or how a process status is progressing, but “Loading Network Socket Interfaces…” is probably not that useful to anyone outside the development team. Consider more human language, for example: “Loading Modules (4 of 14).” The user still gets the feedback that the system is working, but without seeing the digital underwear of the application.

Reduce Latency

Does anyone like to wait? As interesting as Disneyland makes the lines for their rides, they can never match the actual ride itself. The same can be said for your application. As cool as that spinner or loading widget is, hopefully it’s never cooler than the actual application. As more and more developers create mobile applications, latency will again play a larger role in the user experience. Mobile devices do not have the same horsepower as laptops, and cell networks never match the ethernet cable connected to your development system. So think of how you might be able to shift and cluster your network calls (assuming your network calls were asynchronous already), or how your application can be loaded in smaller chunks.

Make Actions Reversible

As difficult as an undo system can be to code, having such a system to allow users to undo their actions will greatly improve the user experience. Knowing that they can revert their actions will give users a level of comfort. Your software needs to be forgiving; users make mistakes, so give them the tools to fix them.

Be Consistent

When building your application, take care that the navigation scheme and organization layout used throughout are consistent. If you find yourself having to hack in some bit of code to make a new menu or layout work, that might be a sign that you are introducing a bad UI. All applications take some time for users to learn. The more consistent you and your team are, the faster that learning curve will be. Once a user does something one way, he expects that the next process will be done in a similar manner. As users gain mastery of a product, they develop a sense of accomplishment that can, in turn, become a level of trust in your product. There is a saying in the UX community: “We may not always get it right, but we make sure you get it wrong the same way each time.”

Conclusion

So what do all these guidelines do? Hopefully they give you some pointers to help create great user experiences in your next product. Remember, every bit of your product is an experience and first impressions, starting from the preloader, matter. Code responsibly.

If you are interested in learning more about user experience, here are some great resources:

post authorChris Griffith

Chris Griffith
Chris Griffith is a Staff Engineer in the User Experience group at Qualcomm. He has over 15 years experience in developing a wide range of prototypes for a variety of clients. He currently works with the full spectrum of the Flash Platform from mobile devices to web/desktop, as well as HTML/CSS/JS solutions. He is also an Adobe Community Professional and is presently the manager of the San Diego Flash User Group. He also has regularly been invited to speak at conferences such as Adobe MAX, 360Flex, D2WC, and various user groups. He also has been involved with the National Science Foundation's National Science Digital Library project. [Opinions and thoughts that are his own and  are not necessarily shared by the company that he works for.]

Tweet
Share
Post
Share
Email
Print

Related Articles

Is true consciousness in computers a possibility, or merely a fantasy? The article delves into the philosophical and scientific debates surrounding the nature of consciousness and its potential in AI. Explore why modern neuroscience and AI fall short of creating genuine awareness, the limits of current technology, and the profound philosophical questions that challenge our understanding of mind and machine. Discover why the pursuit of conscious machines might be more about myth than reality.

Article by Peter D'Autry
Why Computers Can’t Be Conscious
  • The article examines why computers, despite advancements, cannot achieve consciousness like humans. It challenges the assumption that mimicking human behavior equates to genuine consciousness.
  • It critiques the reductionist approach of equating neural activity with consciousness and argues that the “hard problem” of consciousness remains unsolved. The piece also discusses the limitations of both neuroscience and AI in addressing this problem.
  • The article disputes the notion that increasing complexity in AI will lead to consciousness, highlighting that understanding and experience cannot be solely derived from computational processes.
  • It emphasizes the importance of physical interaction and the lived experience in consciousness, arguing that AI lacks the embodied context necessary for genuine understanding and consciousness.
Share:Why Computers Can’t Be Conscious
18 min read

AI is transforming financial inclusion for rural entrepreneurs by analyzing alternative data and automating community lending. Learn how these advancements open new doors for the unbanked and empower local businesses.

Article by Thasya Ingriany
AI for the Unbanked: How Technology Can Empower Rural Entrepreneurs
  • The article explores how AI can enhance financial systems for the unbanked by using alternative data to create accessible, user-friendly credit profiles for rural entrepreneurs.
  • It analyzes how AI can automate group lending practices, improve financial inclusion, and support rural entrepreneurs by strengthening community-driven financial networks like “gotong royong”.
Share:AI for the Unbanked: How Technology Can Empower Rural Entrepreneurs
5 min read

Imagine a world where coding is no longer reserved for the tech elite. In his latest article, Chris Heilmann explores how AI is revolutionizing software development, enabling a new generation of creators to build applications without needing deep technical knowledge. Discover how AI tools are breaking barriers, empowering millions to shape the digital world, and what this means for the future of coding and innovation.

Article by Christian Heilmann
A Billion New Developers Thanks to AI?
  • The article explores how AI is poised to empower a billion new developers by simplifying the coding process for non-technical users, allowing more people to build applications with ease.
  • It analyzes how AI-assisted development can bridge the global developer gap by enabling faster code generation, reducing the complexity of software development, and expanding access to tech careers.
Share:A Billion New Developers Thanks to AI?
15 min read

Tell us about you. Enroll in the course.

    This website uses cookies to ensure you get the best experience on our website. Check our privacy policy and