Anupam Krishnamurthy

WeAreDevelopers 2022 - My 3 highlights

Jul 2022

I was recently at the WeAreDevelopers World Congress 2022. This edition saw 8000 techies congregate in Berlin. Since I live 30 min away and work for a generous employer, I had no excuse to miss it.

My colleagues and I delivered a workshop at this event. Additionally, I attended about 15 talks. This post is about the three talks that I benefitted the most from, along with links to their videos.

1. Design principles for the web

To design is to make trade-offs. As designers of the web, we are constantly trading off between the security of an app and its ease-of-use, the openness of our code vs. its profitability, the availability of our website on all manner of devices vs. a consistent user experience.

Much like the decisions of a stock trader, our trade-offs need to be strategic lest we lose out to entropy. Well stated design principles align our trade-offs with our purpose. In their absence, these trade-offs would be arbitrary, and each arbitrary decision erodes the elegance of our creations.

Jeremy Keith's talk tells you how to avoid this pitfall. Jeremy is among my favourite human beings, and this talk is another of his gems. In fact, this talk inspired me to come up with some principles of my own, which I have listed out here.

Jeremy's talk helped me realize how as builders of the web, we have violated one of its fundamental design principles. Fixing this violation was the topic of my second favourite talk.

2. Let's give the WWW back to the users

One of HTML's design principles reads, In case of conflict, consider users over authors over implementors over theoretical purity.

If you're a web developer, this is a great time to be alive. We work in a playground of open-source tools to build, host, test, and deploy our creations on the web. Yet, the same cannot be said of its end-users, who have to rely on proprietary platforms to leave even the faintest whisper on the web's vast portals.

To post an event, users need a platform like Facebook or LinkedIn. For blogs, they need something like Wordpress or Medium. For taking notes, they rely on Evernote or Google Keep. Now all these platform appropriate the data they leave behind. The users also have no control over how this information is designed. They have no means to prevent an announcement for their birthday party from being branded in Facebook's corporate colours.

The www came with the promise of enabling free and open human expression for its users. Yet, it is a shitty experience for end-users today because they are locked into walled gardens of proprietary platforms. On the web, we seem to have placed the interests of authors and implementors over that of end-users.

Joel Sapolsky, the creator of Stack Overflow among other wonderful things, wants to solve this problem through the Block Protocol. The protocol is a collection of interoperable components that are free, open-source and platform independent. Just like unicode emojis, users would have building blocks such as bullet point designs, checkboxes, tables, quotation marks housed in a free and open-source protocol. If the protocol gains enough traction, it would be supported universally on the web. This would allow users to seamlessly migrate their information and formatting between proprietary platforms.

What I loved about this talk is how Joel went right to the root of this problem and seeks to address it there. If this intrigues you, be sure to check out his entire talk.

3. Humanize your documentation

Something there is that doesn't love user-friendly documentation. We can all agree that we write documentation for human users (so far). Yet, only too often, documentation is unusable.

A common pitfall here is that most documentation is product-centric rather than user-centric. Let me illustrate. Most user documentation for a hand-held drilling machine answers the following questions:

  1. How to adjust the speed of your drill.
  2. How to change the direction of the drill.
  3. How to change the drill bit.
  4. etc...
Yet, most hand-drill users care more about things like:
  1. How to drill a hole in a flat surface (wood or plastic, metal, masonry).
  2. How to select the right screw for fastening items.
  3. How to drive screws (Philips, flat-head) with your drill.
  4. How to stir paint with your drill.
  5. etc…

Good documentation is use-case driven. Much like user stories (which document requirements), it is centered on what a user wants to achieve with our product rather than the product itself. After this talk, I rewrote some of my team's internal documentation along these lines and was surprised by how much this improved their readability.

This talk also gave me plenty to think about:

Watch this video to ponder these questions while admiring Carolyn's impeccable delivery. Also check out this nifty article that inspired her talk.

Honourable mentions

  1. Extending HTML and CSS using web components - I always wanted to extend the plain vanilla HTML and CSS on this website with some plain vanilla Javascript. Rowdy Rabaou's excellent talk eliminated all my excuses for procrastinating this task. Unfortunately the organizers messed up his talk's recording. You can find the slides to the talk on Rowdy's website.
  2. The future of web development - Here's a maxim to predict the future of any field within software development - that which is boring will be automated or abstracted away. Laurie Voss explains how a large chunk of future web developers will stop caring about HTML and CSS, and how that is a good thing. Watching this talk changed my mind about whining about the fundamentals.