DEV Community

Cover image for Interview with a UX expert - How to design impactful developer tools
Kevin Gilpin for AppLand

Posted on

Interview with a UX expert - How to design impactful developer tools

John Morkes is a UX expert. But he started out as a journalist.

In the early ‘90s, John wrote for publications like Wired and R&D Magazine. Even back then, though, he recognized that a career in print journalism wasn’t going to be super stable. John was excited about all of the new technology being invented and realized he didn’t want to just witness that digital disruption; he wanted to be a part of making it happen.

Still, it wasn’t clear at that time what the technological future would look like. Would we all flock to the web or would CD-ROMs be the preferred technology? John knew he needed to learn more about what early technology users really wanted. He wasn’t aware of the term ‘usability’ yet, but he knew what he wanted to do with the rest of his career: make new technologies easy to use for anyone.

John went to Stanford and got his PhD in communication theory and research. Soon after, he conducted early research alongside the legendary Dr. Jakob Nielsen on how to write for the web. Since then, John’s led UX research for some of the biggest B2C and B2B companies on the planet, and he’s personally trained thousands of UX designers and researchers on key techniques, strategies and best practices.

I met John in the 90s, when we were colleagues in Austin, TX. Now John is an advisor to our company, AppLand, and has been immensely helpful in helping us define and scale our UX goals and metrics. In case it’s helpful to other dev tool companies, we’d like to share some of John’s perspective here, including the top UX best practices he recommends. Read on to learn more from a recent conversation I had with him:

Has your background in journalism influenced your UX work?

Absolutely. As a journalist, I spent a lot of time thinking about the reader. Was my article meeting their wants and needs? It was a very natural next step for me to start thinking about what users want and need from the technology I was helping to build.

I’ve also always used my writing and editing skills in my UX work, because a big part of UX is communicating effectively to users what they could/should do next. As a UX person, you need to be able to write clear instructions for users, and provide help and documentation in a concise, timely way.

Why is UX so important when building dev tools?

Developer tools can be really powerful, but only if users can figure out how to use them efficiently. So it’s really important to support specific use cases that matter to your users. For AppMap, those are things like onboarding to unfamiliar code or debugging with visual code maps.

Generally, developers want to be able to do things on their own. They don’t want to have to read lots of documentation, because they don’t have lots of spare time. Developers need to be able to pick up a tool, get started, make a lot of progress and have access to help if/when they need it. And that help needs to be available in many different forms. For example, you can get help with AppMaps one-on-one in Discord, you can read detailed documentation and watch walk-through videos, or you can access support directly from the AppMap agent itself. Dev tools can be really complicated, so if you don’t provide ample support it can be tricky for users to derive value -- even super smart users like developers!

What are the most essential UX best practices every dev tool company should implement?

  1. Make UX a company-wide focus. Users’ wants and needs shouldn’t be the focus of just one team, they need to be the focus of the entire company. That means developers, product managers, support managers and anyone who’s writing documentation needs to be focused on UX and aware of key product goals and metrics.

  2. Know your audience. What use cases are most important to your prospective users, what pain points are most common, what programming languages and IDEs are most used? You really don’t want to make the mistake of designing a tool for yourself. Even if you’re a developer building a tool for developers, you need to work hard to understand the needs and wants of a much larger community, because no one person can represent all users.

  3. Hire for the right skills. Hiring for UX isn’t just about finding people who can make screens look pretty. Hire UX people who can define design structures, and build a flow step-by-step and screen-to-screen. Seek out great researchers, writers and people who are skilled at asking questions.

  4. Have an agile mindset. Design, build and get what you’re building out there as quickly and as often as possible so you can continually gather real user feedback and keep iterating!

  5. Use established standards. Things like design style guides, interaction design patterns or a component library that developers can pull from and reuse when they're building can be really helpful.

Does UX need to be approached any differently for open source companies?

With open source companies, you have access to this massive pool of users that you can continually get input and feedback from. And that access isn’t hidden inside a small team or separate company; it’s free and open, and anyone can provide input and receive it! It’s a really special opportunity worth seizing.

What's your impression of an open source community like AppLand’s and how do you see it evolving as the company scales?

For a UX researcher like me, AppLand’s community is super exciting, because it’s filled with such smart and talented people working on such a wide range of software projects. And they don’t hold back their opinions! It’s an amazing place to get input and feedback on what AppLand’s done and what we should be doing next. As companies like AppLand grow and its user base grows, the community will too and that will make products even better.

Discussion (0)