Web dev at the end of the world, from Hveragerði, Iceland

Weeknote 2 - Web Development Mistakes, Mary Sues, and Icy Spring

The Ease of Big Mistakes. Lord Peter Wimsey. Photography project.

It’s so easy to get things wrong

My main project at work continues to prod and poke at my preconceptions of web development. That this is happening after two decades of making websites is interesting in its own right.

The latest big eye-opener is the sheer amount of power available. Which is something I ‘knew’ intellectually but didn’t know ‘know’. It’s like the difference between understanding what a shotgun does and standing next to someone firing one.

(I don’t touch firearms as a rule. Never have. I don’t judge those that do. It just isn’t for me.)

Sometimes knowledge needs to be supported by a visceral experience for it to be properly integrated.

The shotgun analogy works in another way: it’s very easy to make very big mistakes that have major consequences. Once you have a build system and your basic web application scaffolding up, huge, project-crippling mistakes come almost naturally:

  • Dependencies that work great in development but turn out to be gigantic, slow, and unusable in practice.
  • Code that only works on desktops
  • Forget entirely to re-implement one of the basic browser features that get disappeared by the switch to client-side rendering.
  • Badly re-implement those basic browser features.
  • Lose sight of your project’s accessibility because your rendering library abstracts a little bit too much away.
  • Completely botch up focus management.
  • Completely botch up state management.
  • Layout thrashing.

I could go on. There’s a lot that can go wrong in a client-rendered web app.

Most of these things aren’t major risks if the service is built using server-side routing, server-rendered pages, and server-managed state instead. (These three features are usually intertwined but forgetting that the server-rendered app is indeed providing three distinct features at once makes it really easy to under-appreciate what it is doing for us.)

Server-oriented web development is less risky, less expensive, but also less powerful. The idea that all of the really interesting things to be done in web services are going to use client-side rendering is a very seductive counterpoint to the staid reliability and feature set of the alternative.

The only reliable way to cut that knot is to accept that what’s interesting to us, as developers, doesn’t matter. What matters is how interesting it is to the user.

‘Interesting’, from their perspective, is usually more of a question of how well the UX/UI designers understand the end user’s problems—even if they are forced to work within the boundaries of technology that’s old-fashioned from the perspective of the coders involved.

The job isn’t coding. The job is solving other people’s problems. That doesn’t make the shiny things less tempting but it helps put them in context. And, occasionally, innovation, research and the business case all do come together to justify applying the shiny new thing to the problem at hand.

On the other hand, I know I’m very good at applying clever post-hoc rationalisations to lessen the discomforts caused by cognitive dissonance. All of the above could be just that. It’s usually hard to tell until well after the fact.

Books

I’m still going through the complete Lord Peter Wimsey series. It’s been a while since I properly indulged in murder mysteries so these are a nice change of pace. I’m not entirely sure what I think of them yet. Their defining characteristic—what keeps you interested as you peel through the murder mystery itself—is how ‘of the time’ the stories are. If you don’t care for the inter-war period, these stories aren’t for you. They contain just enough satire and criticism of the upper class society of the time to prevent the ‘lords play detective’ aspect from being grating. But, so far, the stories aren’t self-aware or critical enough to elevate them to any meaningful degree. Which is fine. They weren’t trying to be anything more.

I’m looking forward to getting to the stories where Harriet Vane appears as she sounds like a substantial improvement to the series' formula.

Harriet Vane has often been described as a stand-in for the author, Dorothy L. Sayers. People are usually disdainful of characters like that, who bear similarities to the author, calling them ‘Mary Sues’—or ‘author inserts’ if they’re trying to be polite. But a character along those lines can also narrow the distance between the voices in the text and the person reading and can give the story a sharper perspective. A baldly self-serving author insert is usually just one symptom of many of bad writing. As a narrative tactic isn’t inherently good or bad in and of itself. A good author can make it work so I’m cautiously optimistic about the later Lord Peter Wimsey stories.

Photography

I worked a bit on the images I took last weekend. Had occasion to go downtown in the middle of the week and regretted not bringing my camera along at the time. The weather this weekend hasn’t really been interesting enough to occasion more photography. Maybe next week.

Not entirely sold on these pictures. Maybe I just need to let them ‘settle’ a bit.

A bench lies in the distance between two trees on a layer of ice

A dark, leafless tree surrounded by snow and ice

A sign on the pond in Parc Jarry warning about dangerous ice with the ice itself in the background

You can also find me on Mastodon and Twitter