$/home/emma/random

A step towards fixing the Web

Over the past couple of decades, since I was first introduced to Web development and had crafted my own sites, I've noticed several trends:

Together with a colleague and a Web UI expert, I'd been putting together a couple of static site generators in recent months. We made the pages being generated as lightweight as possible by stripping out as much JavaScript and CSS as we could (we started with Bootstrap). I do follow the principle of simplicity for my personal site and blogs.

In addition to using the Hugo static site generator, FTP client and a basic Web server to host my main site, I've been experimenting with Neocities and Bear Blog, looking for a place to express ideas, opinions and things of a more free-form nature, and a place where I'm encouraged to focus on content rather than the finer details of how that content appears.

Looking at what others have published on Neocities and Bear Blog, I've observed an underlying principle: Sites are better when there's a larger ratio of content to information. What I mean by this is a page of text in a browser is more useful than a typical corporate home page that communicates relatively little despite having a ton of JavaScript and CSS. Even worse bullshit minimalism, where a site is aesthetically minimalist but still uses huge JavaScript frameworks. Do modern corporate sites look better, or do Web designers tell each other, and tell us, they look better?

Obviously there are many others with a preference for this kind of minimalism, given the number of people using Bear Blog, Neocities and static site generators.


The problems with frameworks

A browser fetches between 600KB and 700KB when it accesses my main site at scarbrough.co.uk - about 80KB of that is JavaScript, with ~60KB being the banner image. Strangely enough, it's only marginally more efficient than my old WordPress site. Compare this with other, more corporate sites: When a browser accesses an article at Wired.co.uk, it fetches roughly 6.4MB, and for an article on Medium it's roughly 3.8MB - in both cases, the bulk of that's JavaScript that the browser needs to download and process. A former employer's site is a ~20MB download, and the home page displays only a few images and some link buttons. Clearly my site is better designed, in terms of the ratio of download size to actual content. In other words, efficiency.

So, why such a heavy amount of JavaScript? There are cases where developers are tasked with putting together something resource-intensive. They're on a Scrum team, and consequently don't get to make the design decisions and need the frameworks to get the job done without spending time learning how to use it or customise it. That was the case when I put together a dashboard Web application for a technical support team - it needed a lot of jQuery and some libraries for rendering charts, and it needed to process a lot of data at the UI layer. And I'm painfully aware of how much data is loaded into the client side and processed when each partial view is refreshed. If I was the principal developer or systems architect at the time, I would have explored the idea of having the dashboard show the information as colour-coded text instead (though nicely-formatted), and would have dedicated a couple of sprints to stripping out everything that wasn't needed.

But what do these frameworks add to the Web, when it comes to sites that probably should be developed as static sites? How much of that JavaScript or jQuery is superfluously used?


Corporatisation of the Web

This point has more to do with the current Web - the corporatised Web - being saturated with uniformity, blandness, and style over substance.

Years ago it seemed a lot more people expressed themselves by maintaining their own sites and blogs. Yes, most of what was published in the 'blogosphere' was mundane, and maybe pointless, but it was truly expressive because it came from the heart and from lived experiences. And they weren't just expressive in words - there was so much creativity with relatively little.

Search results for anything these days almost invariably point to a handful of corporate sites on which no individual dares to express much, if anything, in a human way. The walled gardens of FaceBook, Twitter, etc. have UIs that are designed to limit our communication to soundbites. My FaceBook timeline is fast becoming a stream of advertisements, which is why I barely use it. And it's harder to ascertain the value, accuracy or trustworthiness of content, given most of it's churned out by people who never maintained a site or a blog with a history.

I fear the problem will get far worse, with more companies using 'AI' to generate pseudo-informative content: Imagine the Web equivalent of the Human Centipede where the first man is fed a diet of Tesco Meal-for-One. That's what I imagine the future of the 'AI'-driven Web will be. Others will use 'AI' to assist with their writing - the 'AI' no doubt tempered and mediated by corporations - and I do wonder if we'd collectively lose our capacity to express ourselves.


Creating a lightweight site

So, what can we do about it? Develop and maintain your own site or blog. Express yourself. The art of doing this is worth cultivating.

When we log into Neocities, we're presented with a list of existing sites. Almost all of them are basic and minimal, and most of them nevertheless pretty well-designed, expressive and interesting. Of course, coding everything in HTML is a repetitive pain, as I've found when copying some hacking-related material I'd drafted over the years to a Neocities site. There is a very elegant solution to this, in the form of a small command line tool. The 'markdown' command will convert HTML from markdown files. e.g.

markdown mdtest.md >> mdtest.html

Alternatively, if you want a lightweight blog, this platform (Bear Blog) seems the best I've come across. It enables posts to be drafted in Markdown format, and the HTML conversion is taken care of in the background when the 'Publish' button is clicked. The CSS is entirely customisable. I also love scrolling through the very diverse list of other writers' blog posts (some sites here I've bookmarked), reading anything that takes my fancy.

Another option is to use a static site generator (SSG) and a basic hosting account. Some (perhaps most) SSGs come with a learning curve and takes some work to set up - this was the case for Hugo, which I now use.  MkDocs is probably the best SSG for beginners.

#design #development