The Crux No. 31: Accessible Scaffolding

VMware turns 25, IBM buys StepZen, and Google loses $100 billion with crappy AI.

Reddit got hacked, people let Facebook spy on their customers by accident, and Golang wants to spy on you, too.

There’s some copyright law nerdery, a potted history of IRC, and the best code is sweary.

This week’s column is about accessibility and how it’s better if it’s baked in.

Let’s dive in!

Things to note

Reddit got hacked. Reddit’s announcement was actually pretty good. Clear description of what happened, what was affected. Compare and contrast to the vague bullshit we got from the likes of Optus and Medibank at the end of last year.

The Markup has a piece on the Facebook/Meta tracking pixel and how companies are leaking data without realizing it. The webdevs who put marketing’s boilerplate javascript into the site headers don’t know what your app is doing.

Speaking of hidden tracking, the geniuses at Google have proposed adding tracking by default to the Go toolchain. The idea of informed, enthusiastic consent isn’t well understood in the tech industry. Ironically, the pushback is growing stronger so soon the tech industry won’t have a choice but to learn what consent is.

IBM has acquired GraphQL company StepZen. A lot of the founding team are ex-IBM, in case you were wondering how a lot of acquisitions end up happening.

A nice article on project escalation by Eyvonne Sharp over at PacketPushers. Timely after our recent ‘watermelon project’ discussions.

A timely reminder in this article in the Smithsonian Magazine that the Luddites were fine with technology used to improve worker conditions. They were rebelling against unscrupulous factory owners using new technology to undermine worker rights and conditions.

Independent conferences are even more rare than before, and this piece has some hints about why. The pandemic gave people a sharp reminder that watching someone reading their boring slides at you is a lot more fun at home with plenty of snacks and no pants on. Why go to an in-person conference if it’s a worse experience that costs you money?

An interesting piece in The Register on the Neo4j v PureThink lawsuit. The implications for how the AGPLv3 license works in practice are substantial, so this is one to watch.

Google’s AI/bullshit fountain did what it was designed to do: dropped the value of Google by $100 billion. We should start a deadpool on what the big AI/ML disaster will be that causes regulation to happen. I hope it’s something really funny and non-fatal for once.

VMware is 25 years old and Simon Sharwood (a friend of mine) has a nice writeup over at The Register.

A potted history of IRC. Internet Relay Chat is still around, showing that technologies never really go away, even when superseded by something else. Vinyl records still sell quite well, too.

Longer reads

A fun undergraduate paper that found code with swearing in it is better than code without swearing.

Figuring out why would be interesting. Are sweary programmers better then non-sweary programmers? Or is there something about problems that induce swearing that are easier to code?

I want to see some followup research that measures the sweariness of different programming languages. The paper only looked at projects written in C, and I can definitely see people swearing at C a lot more than, say, Python.

What do you think is the sweariest programming language?

Weekly tip: Accessible scaffolding

A couple of weeks ago I spoke to Melina McCarty, HashiCorp’s Senior Director of Design, about HashiCorp’s newly published design system, called Helios.

“At the 1000 foot view, a design system is a visual language for our components— our patterns, colours, icons, etc.—that are used across our entire product portfolio,” McCarty said. “So when you’re filling out a form in TerraForm Cloud, or you’re filling out a form in Vault cloud, you’re getting the same experience in both places.”

The idea of a design system is that everything is not only consistent, but also high quality, because professional designers have spent a lot of time getting components to work well on their own, and also in combination. Design is a skill, and while programmers can be good at design, most aren’t.

And, hat tip to Adam Smith of Wealth of Nations fame, dividing up the work is more efficient. The professionals are better at it, and because the design system is usable by everyone, all the developers get the benefit of a few design professionals’ work. And not just HashiCorp developers, anyone, because HashiCorp have open-sourced the design system.

Helios is a little limited, as it’s built mainly for the Ember.js framework that HashiCorp uses, but a lot of the elements (like colours and SCSS styling configs) could be readily used elsewhere. And there’s one really important thing about design systems that gets overlooked: accessibility.

“Accessibility is an approach that designs components and patterns in a way that they can be used by anyone, regardless of ability,” says McCathy. By using a design system, whatever level of accessibility has been baked into that system is available to everyone using the system more-or-less for free. The work has already been done. Developers don’t have to spend their time building both a light mode and a dark mode, let alone working out all the right colour-contrast ratios for the multiple kinds of colour-blindness.

“The design community has kind of evolved to realise that when you design for folks with visual impairments, really what you’re doing is you’re designing for everyone,” says McCarthy. “With this design system, we’ve approached accessibility by default. So it’s not a toggle switch that somebody has to enable, everybody gets an accessible design system.”

This is great because humans are lazy. Most developers aren’t going to put in the effort of building a fully accessible website or app. We know this because gestures broadly look around you. But if the accessibility comes baked in, it’s harder to not be accessible.

And that’s what we should expect from our computing systems. As much as tech people love to talk about scale we haven’t done a good job of dealing with what scale really means. It means you have to handle every special case. When you have a billion endpoints, one-in-a-million odds things happen a thousand times a day. It turns out approximately zero humans are statistically normal.

Fun fact: The word normal didn’t get its modern meaning of “conforming to common standards or established order or usage, regular, usual” until the mid-1800s.

Plus, using these systems is faster and easier than building everything from scratch yourself. Just like standard libraries in programming languages, a standard design library saves time and effort. And, as the design library gets improved, everything that uses the library also improves.

It’s not a new idea, and yet the accessibility of modern computing devices still leaves much to be desired. It’s nice to see more companies committing themselves to the idea that we all deserve beautiful, well-functioning things, not just the rich few who can afford to have things custom-made.