Marginalia 2

21 July 2018

I started at my new job this week, so there's a little less reading in this edition of Marginalia. Not very long ago, I though maybe I wanted to move out of libraries and become a software developer. Since I know virtually no software languages beyond HTML, CSS and JavaScript, I started looking at junior developer positions in frontend and web design. I even applied for one, but the only thing that came out of that was that they lost my details as part of the PageUp hack. In retrospect, I should have known better, because I'm much more attracted to the kind of minimalist, does-what-it-says-on-the-tin kind of approach to web design and software development that I've been reading about in the last couple of weeks. In January this year Ed Summers wrote a great article about building offline sites with React. I love this because it takes the new(ish) hotness - React and then uses it in situations where internet access is flaky or nonexistent. Summers explains that his project was inspired by the Minimal Computing movement:

We use “minimal computing” to refer to computing done under some set of significant constraints of hardware, software, education, network capacity, power, or other factors.

I was particularly struck by this project because a few months ago I decided I needed to learn React, bought a book about it, built a couple of things, and then decided it was massively over-complicated for my needs and probably most other people's. Everything you're likely to read about building sites with React will take you on a tour of pre-compilers, bundlers, CSS-in-JavaScript, JSX, and a bunch of other stuff that you now need to know about just so that you don't have to use XMLHttpRequest and CSS3. See? I'm totally unsuited to commercial web development. David Bryant Copeland similarly thinks maybe everything's started to get a bit out of control and has decided to go back to basics with Brutalist Web Design:

The term brutalism is derived from the French béton brut, meaning “raw concrete”. Although most brutalist buildings are made from concrete, we're more interested in the term raw. Concrete brutalist buildings often reflect back the forms used to make them, and their overall design tends to adhere to the concept of truth to materials.

A website's materials aren't HTML tags, CSS, or JavaScript code. Rather, they are its content and the context in which it's consumed. A website is for a visitor, using a browser, running on a computer to read, watch, listen, or perhaps to interact. A website that embraces Brutalist Web Design is raw in its focus on content, and prioritization of the website visitor.

If you can't wait for the whole web design world to embrace Brutalist Web Design, Browsh has you covered. It's a web browser that takes your fancy JavaScript-heavy web page with 200 background API calls and 3MB of images, and turns it into a few kB of text and maybe a pixelated image. Awesome for when you're barely in range with only your smartphone.

Some people who have done a lot of thinking about how to make things simple in a different way are Fog Creek Software. They're the people behind Trello and Stack Exchange, but they wanted to create something that's a bit more beginner-friendly, rewards good behaviour, and makes complicated things seem simple. They ended up making Glitch. In a Code Newbie podcast interview I listened to a while ago, Fog Creek CEO Anil Dash explained how the tech behind Glitch is quite complex and clever (when someone wants to edit code from a project, Glitch quickly spins up a new Docker image and associates it with that user's account - in a couple of seconds) - but also how the whole project was designed from the beginning to be friendly to newbies and people who may ordinarily feel unwelcome or oppressed using something like Stack Overflow or GitHub.

I phrased that last sentence quite deliberately, because Donna Lanclos has convinced me that maybe we shouldn't talk about diversity anymore. She also refers to a couple of things I already had in my Pocket list but hadn't got to yet. Chris Bourg's 2018 code4lib keynote For the love of baby unicorns was surprisingly banal, once I read it. I remember the furore on Twitter, when Bourg had to essentially batten down the hatches and disappear for a little while while some kind of Reddit mob descended upon her, allegedly egged on by a small number of librarians. By 'banal' I don't mean bad. I really like what she said, but reading her keynote now I'm struck by how innocuous it is. A few comments that maybe if you want to be welcoming to people who aren't white dudes maybe don't do business meetings at the sports bar, and be aware of your own privilege etc etc. One suspects that perhaps it wasn't actually what Bourg said that upset people, but the fact that it was her saying it. Lanclos and Bourg also both name-check Feminism and the future of library discovery which I recommend you read and then send to your systems team and all your library system vendors.

Speaking of software companies, I learned a new term this week: "The Wizard of Oz Technique". This is when companies claim that they have developed AI but actually it's just a bunch of poorly paid humans. The Wizard of Oz Technique erases the labour of workers and deceives customers. Since I can't hold very many thoughts in my head at the same time, this made me think of the invisible labour of library workers, and more specifially cataloguers. We need to be careful about this in libraries: sometimes even library managers forget there are people behind the curtain. One of those people behind the curtain is Alissa McCulloch (another fan of Brutalist Web Design), who wrote recently about Indigenous names in authority records. When I read this, I had some vague thoughts about whether open linked data might be part of the solution, but not being a cataloguer I wasn't quite sure. It turns out that Jessica Colbert thinks it probably could be. In her In the Library with the Lead Pipe article from last year, Colbert writes about "patron driven subject access":

Patron-driven subject access simply means facilitating the development of subject headings and other subject access points by and with our patrons

Colbert's whole article is great, but the thing that really helped me was her exploration of how linked open data can be used to enable different communities to maintain locally-appropriate terms without isolating their catalogues from the rest of the world:

In a linked open data environment, different subject or community vocabularies could be combined, allowing for subject description to accommodate different disciplines or even different ways of thinking. For instance, a controlled vocabulary about race could have a term that a controlled vocabulary about anthropology conceptualizes in a different way. When we decenter the idea that for every concept there is one controlled term to describe it, we allow the play of seemingly opposite ways of thinking. And through this play and collision, “new and meaningful pathways to discovery and navigation” are created (Thorsen & Pattuelli, 2016, p. 2). A linked open data catalog allows libraries to complement, replace, or even reject the standards that have been decided for us and our patrons.

It's another example of how to leverage the values of open communities. Archivist Patrick Galligan writes that "You can never make the truly right decision without first understanding your community’s functional and ideological requirements." And to bring us full circle to a software project: that approach is exactly what they've used at Stencila to create an Office Suite for reproducible research. Because really, who's got time to learn R when all they want to do it share their research data?