Articles I read this week, including the future of the web and different ways of conveying information, thoughts on the current state of software, and more.

Tons of Hugo documentation

This one is a little unconventional … but I read tons of Hugo documentation this week as I worked on moving my website over to it. I basically decided that I was tired of my custom SSG. While writing it was a good experience for me, and a fun side project, I realized that I wanted more functionality for my website than I could feasibly build myself. Things like custom themes, an automatic index page, and post categories were becoming challenging to write because of my inexperience in web development, and it was taking away from actually reading things I wanted to.

I found the Hugo documentation to be comprehensive and reasonably easy to work with. It was comprehensive in the sense that everything I was using was documented somewhere; I was able to download a canned theme and look up all the commands and magic that it used. It also was not challenging to figure out where to make changes, where to remove features I didn’t need, and more.

I have not found as much of a community around Hugo as I have other tools, like PyMC3 or Pyro. After reading a couple of Github issues on the repo, it seemed that people were often dismissive of problems or of gaps in the documentation. This issue comment is one example, and I saw other similar instances around. Of course, Hugo is someone’s passion project, and they have no obligation to help others, and any time they do put is time that they volunteer … yet I can’t help wonder about this attitude that I see more and more in open source software. What can we do to help?

The future of the web isn’t the web

Author: Terence Eden

How I found this: from Pointer

Summary: the future of the web is not browsers. It’s search engines, voice assistants, smart watches, smart fridges, and more. We’ve thought of HTML as content, CSS as words, and browsers for display, right? But content isn’t HTML, it’s data, and what’s left is a meaningful way to organize it.

This doesn’t mean APIs. No one is ever going to use APIs of anyone besides giant companies. It means Schemas of information that tell you how things are organized.

Thoughts: what a refreshing way of thinking about content! They’re right–content is information, not HTML, and coming up with new ways to organize and display this is the future of the web, not browsers.

Making more than a website

Author: Sam Dub

How I found this: from the article right above this

Summary: the GOV.UK folks added “structured data markup” to lots of places on their website, so that Google and others can display information directly rather than taking them to a landing page. Some of the best examples are answers to the queries “how do I vote” or “how do I register to vote,” but this effort also includes things like denoting step-by-step instructions for “learn to drive a car.”

Thoughts: on one hand, Google displaying information directly is great from an information retrieval perspective. It gets critical information (“how to vote”) to people who might not otherwise click on a link. On the other, in many cases this can take away traffic from websites that rely on advertising and further cement Google’s pseudo-monopoly on search.

From the article:

Users expectations of digital services are rising all the time, and we need to ensure GOV.UK keeps pace. As Jen Allum wrote earlier this year in her vision for GOV.UK, one of the ways we plan to do this is by meeting users where they are, meeting user needs at the point of need.

For simple factual queries, like finding the next bank holiday, we want users to be able to get trusted information quickly and easily. Increasingly, the simplest way to do this is to type out a quick search or ask a voice assistant.

Given this, if more information sources like GOV.UK start using these open markup standards, perhaps breaking the Google monopoly is just a matter of developing a better way to get the information to users. Whether it’s voice assistants, contextual information, integration with other devices, or something else entirely remains to be seen … but this is exciting.

Good times create weak men

Author: Nikita Prokopov

How I found this: from /r/programming

Summary: in short, basic things are failing. We (software engineers) are developing abstractions so quickly that it’s impossible to manage the rapidly-growing complexity. The author presents a series of examples from the flagship Music app in the just-released MacOS Catalina that demonstrate how basic functionality (rendering the top left corner of the window, highlighting list items on selection, clicking something and having it show up) is inexplicably broken.

The author points out that this isn’t a small, resource-constrained company; this isn’t some obscure project; this isn’t a weird edge case bug. It’s glaring UI issues on the flagship Music app on the newest version of MacOS. There is every reason in the world that Apple should get this right, because it’s so simple–yet here we are. (The same applies to other companies, and they show examples from Amazon and Twitter.)

Thoughts: yup, this hits hard. Abstractions getting out of control fast is real, and it’s one of the reasons why I wanted to write this website myself before jumping to Hugo. There are so many attempts to hide accumulated complexity from the next crop (not “generation,” because this is happening at an annual cycle at the slowest) of developers. It is challenging to manage this.

But with that said–no one pays software engineers to write perfect software. Blaming developers for these leaning towers of abstractions misses the root cause; it’s not like they chose to make everything more complex for the hell of it. More and more, software is aiming for a state of “good enough,” and this is an important departure from other fields of engineering, where things are “just working” and no better.

And that’s not to mention how user-hostile some software is becoming. Take Reddit as an example: the “old Reddit” was text and links, and the default representation was minimal and compressed. New Reddit expands everything into cards to take up more space, posts take an order of magnitude longer to load, and a host of other anti-user decisions make for a website that’s actively unpleasant to use. Here, Reddit’s version of a perfect experience is very different from a user’s.

How tracking pixels work by Julia Evans is a great, accessible summary of the current state of tracking pixels. The internet is becoming a privacy wasteland, and it doesn’t sit right with me that my company is contributing to this by trying to measure everything.

Beware SAFe (the Scaled Agile Framework for Enterprise), an Unholy Incantation of Darkness is a hilariously accurate take on a monstrosity called the Scaled Agile Framework for Enterprise. It’s a way to “scale up” Agile to large companies, and it’s very, very bad. I first heard about this in an unrelated training as the end-game for Agile at many companies, and this article does a great job explaining why.