Flag

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

Get exclusive access to thought-provoking articles, bonus podcast content, and cutting-edge whitepapers. Become a member of the UX Magazine community today!

Home ›› Effective Developer Experience (DX)

Effective Developer Experience (DX)

by Jeremiah Lee Cohick
6 min read
Share this post on
Tweet
Share
Post
Share
Email
Print

Save

Facilitating better user experiences by making app development easier for developers.

When Apple introduced the iPhone, the device captured the imaginations of its users. Its features satisfied basic needs and also inspired ideas of what could be done when the Internet was always in your pocket. Eight months later, Apple made the iOS SDK available, transforming the iPhone from a product into a platform.

A platform is a product that can be extended by a user for the benefit of other users. Platforms are not new; the concept is as old as the computer. Any product can become a platform by providing methods for people to extend it, and the Internet has enabled products to become platforms more easily by lowering the communication barrier between products.

When a product transitions into being a platform, it takes on a new type of user: the third-party developer. When developers build their own products on a platform, they are in effect users of that platform. But they are a special type of user, one that behaves as an intermediary between end users and the platform product.

An end user’s experience with a platform product, such as the iPhone, includes the experience of using third-party apps. Every app is a use case that should reflect the user experience of the principal product. Platform product owners must be concerned with assisting developers in accomplishing this if end users are to have a good user experience overall. Attention to these details is called developer experience (DX), and enabling app developers to be successful through better DX will create a more successful UX for the platform product.

Trust & Communication

Effective DX begins with a relationship of trust between app developers and the platform product company. Communication is the foundation for building this trust.

Developers will be spending significant time and resources building their own products with a dependency they cannot control: the platform product. To assuage concerns about this dependency, a platform company’s internal discussions must be communicated externally. Developers need to know where the platform is going so they can adequately prepare for changes that may affect their business and product strategies. This look ahead to plans and changes is commonly referred to as a roadmap, and should include changes to terms of service, backwards incompatibilities, and new features from which app users could benefit. More importantly, app developers should be included in a platform’s long term strategy when possible.

Appropriate channels for developers to submit concerns and suggestions should be established to reach platform decision-makers. Developers will be able to identify problems for end users before the problems affect UX, and they will often be able to suggest solutions. Acknowledging and responding to developer concerns in a timely manner encourages productive communication that will improve the quality of apps and the platform.

DX can be thought of as an ecosystem—an interconnected web of relationships that benefit all participants. Within this ecosystem is a virtuous cycle. Third-party developers expand the appeal of the platform product by adding features. These features often involve discovery of more optimal methods for accomplishing a task technically, and sometimes create a user experience that could benefit the entire platform. These improvements are then incorporated into the platform product, bringing new users and encouraging additional app development.

Education

Documentation is essential to easing developers into a platform’s app development process. Unlike many end users, developers actually want to read about how to use the platform product. Documentation should explain the reasoning behind design decisions and the platform should lead by example when explaining functionality, policy expectations, and user interface conventions. This reasoning will allow developers to better understand the UX expectations of the platform so that they can build on it in a consistent manner.

Tutorials and example projects should accompany documentation. Like end users, app developers want to know how to accomplish a task. Merely providing a dictionary of API methods and properties is not enough. Demonstrations of best practices for code organization and platform integration better illustrate these concepts.

Documentation is also an opportunity for peer education. Commenting systems and wiki-style editing allow for contextualized assistance that enhances the value of the documentation as the primary resource for answering a developer’s questions. Allowing developers to clarify details and provide common solutions helps build a community while identifying areas of improvement for the platform. Collectively, these reduce the effort and time required for a developer to research problems and allow for more time to be spent creating and designing a better UX.

Tools

Many development tools for a platform are products and sometimes platforms themselves, such as Apple Xcode, Microsoft Visual Studio, and Apigee.com. The quality of these tools can by judged by their effectiveness in assisting developers to create products that are natural extensions of the platform. If the organization that created the platform has created apps for the platform as well, those apps should be produceable using the tools provided to app developers. This standard is known as “dogfooding.” Even if the platform company does not plan on releasing its own apps built on the platform, it should produce sample apps as an exercise in evaluating the quality of the development tools, as well as for identification of potential problems with the platform itself.

Often, the development process involves testing code in an environment different from where the product eventually will be used. Emulators, simulators, sandboxes, and similar tools must be dependable—meaning that their results should match the production environment’s actual behavior reliably. Additionally, production environments should allow for some manner of final testing before apps are released to end users to ensure developers can test precisely the product they are delivering.

Platform Usability

All of the considerations prior to this section have been about supporting the development process. An effective DX cannot exist without that support. However, the quality and usability of the features provided by the platform that the third-party apps depend upon are of even greater importance. If a platform does not allow a developer to utilize its capabilities and resources effectively, the other considerations are irrelevant.

The method by which a platform product enables third-party development commonly is referred to as an Application Programming Interface (API). As GUIs are to end users, APIs are to developers. Like GUIs, usability is the top consideration for APIs because they are how the platform’s capabilities are exposed to the platform user (the app developer).

The usability of an API can be determined by how easily a developer achieve a goal on behalf of an end user. Developers should be able to intuit the correct manner by which to interact with the platform. Best practices for code organization, design patterns, and naming conventions should be consistent and communicated. Usability also extends to error and status messages. When errors do occur, developers need to be able to easily identify where the problem occurred and what specifically was unexpected.

Developers should be able to to create a natural extension of the platform product’s capabilities for the end user. Any capability utilized by the platform product should be offered to app developers so end users have a consistent user experience. While some precautions may be necessary to prevent abuse, app developers will be able to create the best user experience when trusted with a platform’s full capabilities.

Together, We Can Do So Much

From social games on Facebook to business intelligence apps on Salesforce.com to thousands of “apps for that” on smartphones, platforms represent a significant opportunity for UX. Platforms allow end users to obtain more value from a product. By focusing on core strengths, platform owners can create products with broad appeal while app developers extend the product’s usefulness to more people. Successful DX leads to a more successful UX by the creation of value greater than two products independent of each other.

post authorJeremiah Lee Cohick

Jeremiah Lee Cohick

Jeremiah Lee Cohick is a software developer with a design and product background. He currently works at Fitbit helping developers make the world a healthier, happier place. He can be reached on Twitter @JeremiahLee.

Tweet
Share
Post
Share
Email
Print

Related Articles

Why do designers grumble at the mere mention of PowerPoint? Discover smart strategies that turn frustration into creative solutions.

Article by Jim Gulsen
Why Designers Hate PowerPoint (and How to Fix It)
  • The article examines why PowerPoint often frustrates designers, from its limited design capabilities to inefficient workflows, and explores opportunities to bridge those gaps.
  • It highlights strategies like building systematic design elements, creating templates, and augmenting slides with other design tools.
  • The piece underscores the importance of collaboration, simplicity, and proactive planning to elevate design and streamline workflows.
  • It highlights practical methods to help designers balance quality and speed for presentations that are both functional and visually engaging.
Share:Why Designers Hate PowerPoint (and How to Fix It)
4 min read

Struggling with PowerPoint’s design limitations? This step-by-step guide shows you how to build systematic design solutions, from mastering slide layouts to using sticker sheets for patterns. Learn to create polished, professional presentations with smart workarounds and helpful tips.

Article by Jim Gulsen
A Step-by-Step Guide to Creating a “Design System” in PowerPoint
  • The article gives a step-by-step guide to building systematic patterns in PowerPoint. It talks about the program’s limitations and gives essential tips like mastering slide layouts and customizing text settings.
  • It suggests using PowerPoint’s automated features carefully and advocating for manual workarounds to elevate quality.
  • The piece introduces creating sticker sheets for reusable design components and highlights strategies for successful workflows.
Share:A Step-by-Step Guide to Creating a “Design System” in PowerPoint
5 min read

What is consciousness? This question has baffled the traditional physicalist approach to science. Part of the reason is that reductive physicalism is flawed, as it fails to effectively frame complexification, systems, processes, and the difference between objective and subjective epistemologies. This article introduces a new philosophical approach called “Extended Naturalism,” which extends both our view of the physical world and our understanding of the mental domain and enables the puzzle to be effectively framed so that we can achieve a coherent picture of the whole.

Article by Gregg Henriques
Understanding Consciousness
  • This article provides an overview of a new approach to understanding consciousness called “Extended Naturalism.” Extended naturalism shifts the basic framework for understanding matter and mind from a traditional “physicalist” perspective to a holistic naturalistic perspective.
  • This perspective alters the grammar of science, nature, mind, and knowledge and affords a new way to coherently align consciousness with the matter.
  • The article explains how Extended Naturalism is different from materialism, idealism, panpsychism, and dualism, and allows us to address both the question of what consciousness is and how it works in the natural world.
Share:Understanding Consciousness
34 min read

Join the UX Magazine community!

Stay informed with exclusive content on the intersection of UX, AI agents, and agentic automation—essential reading for future-focused professionals.

Hello!

You're officially a member of the UX Magazine Community.
We're excited to have you with us!

Thank you!

To begin viewing member content, please verify your email.

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