User-Centered Web Development
Published on MarĀ 14, 2018 (updated NovĀ 29, 2023), filed under development, usability, accessibility, performance (feed). (Share this on Mastodon orĀ Bluesky?)
When we think of user focus we easily think of usability tests, following a usually strong wish to produce something thatās actually useful. For us as web developers, focus on the user has a tendency to appear distant though, for what users do we really have? Who āusesā our code? Yet it shouldnāt be a stretch to recognize that we do have usersāand that with that, thereās also something like user-centered web development.
Web Developers Have Users
There are two clouds we may need to wave away before we can see more clearly how web developers have users.
The first cloud is team size. If we work alone, we do have no users in a team, for our team consists of only one. Evidently. But once we add a team, just one other person working with our code, we can tell how these people are actually our users: They use our code by working with it, whether thatās compiling it, trying to understand it, extending it, otherwise manipulating it, or even deleting it. Once someone else interacts with our code, we have users. [Here and particularly in the ādeveloper usersā section, I missed an opportunity to build a bridge over to developer experience (DX).]
The second cloud is use. Just because we āuseā code in an editor does not mean thatās its only use: Editing code is clearly only one use of code, for we really write and edit it to be processed in some way or otherāand that processing leads us to the other user group, the biggest one, the end user. The end user uses our code just as much as the peer, only indirectly, and so anyone using our website or app is also our user.
If this hasnāt been our understanding before, weāve just put ourselves squarely in line with anyone else who traditionally has users, from the product owner to the project manager to the designer to the site reliability engineer. We all have users, and with that we can focus on our users.
Web Developers Can Focus on End Users
With a lot more users than our team would have suggested, why and how would web development now become user-centered? How would Googleās famous āfocus on the user and all else will followā apply to us, or how would we put it to use?
Fortunately for us, the motivation for many of our fieldās sub-disciplines already centers on the user.
Accessibility, for example, is for end users, and much depends on us developers. When we take only a cursory glance at the Web Content Accessibility Guidelines we find a strong connection between users and developers. Many issues that users faceānot only users with disabilitiesācan and must be addressed technically. Examples? On a higher level, not even looking at specific techniques, making functionality available from keyboards (providing sufficient ways to navigate, to find content, and to determine where users are) as well as maximizing compatibility with user agents and assistive technologies.
Performance is measured from the end userās end. That makes sense: Performance influences user satisfaction and conversion. Our focus on the user begins with measuring the performance of our sites and apps (through tools like PageSpeed, Pingdom, or WebPageTest) and ends with improving what we can realisticallyānot dogmatically, by focusing only on performanceāimprove.
Functionality, even around trivia like working links, also connects developers and users: If a request is not sent, if a feature doesnāt load, if a page doesnāt exist, itās a technical issue that falls straight into the userās lap (and hurts them there). Functionality may make it most evident why user focus is so important for us as developers.
One can say that only design-related questions could create obscurityāusability testing is about end users, but may or may not affect us developers. But surely we have a relationship even here, because we test usability for our users by way of the code we write.
Now letās look at our developer users. How does user-centered development look like here?
Web Developers Can Focus on Developer Users
Quality. First and foremost user-centered development means emphasis on quality. Alas, quality is vague here and, more importantly, not a true attribute to focus on to make our work more usable for other developers. There are other things that help with developer usability.
Consistency. Consistency has three stages. At a basic level, when thereās little standardization in our organization (or when we simply work alone), consistency merely means to be consistent with ourselves. We should always format code the same way. At the next level and here we assume code from other developers or third parties, consistency means to follow the code style used wherever we touch code. And then, normally a level reached in bigger organizations, consistency means adhering to our coding guidelines and style guides. These three consistency levels are not mutually exclusive, and in organizations, we typically find the second and third quite well-established.
Comments. Comments can be a part of coding guidelines but they must not necessarily; and because comments are maybe the single most important thing to improve developer usability they should be called out separately. Comments mean code comments, and code comments are important because code is not necessarily self-explanatory. Well-written code may give an idea of how things are done, but not why. To explain that, we need commentsāand more discipline, as I, the here critical author, am responsible for scarcely commented code, too.
Documentation. Documentation actually addresses more user groups than only us developersāit targets developers, designers, concepters, project and product managers, business owners, organizational stakeholders, perhaps marketers and business developers and our legal teams, and maybe even end usersābut as such itās a prime area for user-centered web development. Much like quality code helps to understand how what things are done, and comments explain why theyāre done, documentation can show the overall picture and give all their users a better idea of whatās going on in the first place. This may seem like a distant demand for us at first (and Iām with the ones whoād want to avoid getting bogged down by writing lengthy technical documentation no one may read in the first place), and yet I see this point as encouragement for us to find better approaches to documentation, precisely for more user focus from us as developers.
ā§ Estelle Weyl suggested āwe should be focused on the user experience, not the developer experience,ā and from the angle she has come from sheās absolutely right. Developer experience (and developer usability, as suggested in Principles of Web Development) matters, but ultimately we as developers do have users, and our work should reflect that. User-centered web development, that lends focus we need more of.
About Me
Iām Jens (long: Jens Oliver Meiert), and Iām a web developer, manager, and author. Iāve been working as a technical lead and engineering manager for companies youāve never heard of and companies you use every day, Iām an occasional contributor to web standards (like HTML, CSS, WCAG), and I write and review books for OāReilly and Frontend Dogma.
I love trying things, not only in web development and engineering management, but also in other areas like philosophy. Here on meiert.com I share some of my experiences and views. (I value you being critical, interpreting charitably, and giving feedback.)