My hopes for the web in the decade to come
September 18, 2020
Until today, the latest update in my blog was nearly 10 years ago. Time flies!
Still, I wanted to get back to blogging because I feel like I need to write longer bits. Writing short smart-ass comments on Twitter might feel good but it doesn’t beat taking some time to think, and write.
This is also the occasion to take my part in what I believe the web should look like in 2020.
Conceptually: a decentralized web
There is something truly beautiful about the way Internet is designed, and by extension the web: it is, just like the metaphor of the spider web, a decentralized mesh rather than a hierarchical network controlled by a few entities.
This was visible in the beginning of the web where many companies where flocking to that frontier land.
This was visible later on, when it became cheap enough for an individual to rent some space in a shared server, install an Open Source blog engine and have his own corner on the web on a custom domain, only limited by his technical capabilities and the open source software available for download. Discoverability where done by bloggers adding links to other blogs they like, ending up in a ad-hoc network completely owned by the individuals.
Today, the situation is different - it is still possible to have your own place on the web that you control, but even most of the geeks and early adopters have surrenders to the siren calls of the closed garden SNS, promising more reach and visibility. Conversations happen on SNS controlled by powerful Big Tech companies who use their power to model the global thinking and even manipulate elections.
For that they have 2 tools:
Moderation: remove content that doesn’t conform to their guidelines. In practice, the guidelines are vague and inconsistently enforced
Algorithm: rather that simply showing everything people you’re following in chronological order, SNS will automatically select what’s "notable" and what’s not. In practice, it’s designed to maximize the time you spend on the site so the most clickbait or controversial posts rise to the top. It will also select content you’re supposed to like, so it will reinforce your existing beliefs. For example if you start looking at conspiracy theory content (5G causes cancer!) it will show you more conspiracy theory content (The Earth is flat! Masks will make you sick more surely than COVID! Coronavirus was created by Bill Gates to put chips in you with a vaccine!).
We need to take back the web.
Technically: a document web that doesn’t pretends it’s an app web
The web has been designed for documents: texts that you read, occasionally with images and links to other documents.
Pretty soon people figured out they could also create applications on the web, and it’s perfectly fine! The web has a lot of strengths compared to the desktop applications that were common before the web took over.
The problem is that concepts that work great for web app cause a lot of problems for documents. Slower, harder to index, harder to adapt styles…
When web app appeared, a lot of energy went into convincing web developers to adopt Web Standards. Along with the death of IE, modern rendering engines becoming mainstream, and the improvement of those standards, now most developers are aware of it and actively applying it. That culminated with HTML5, who finally brought an end to the mess that were doctypes, killing atrocities like XHTML.
The remaining issue is that too many developers use HTML as a low-level markup language to write their documents, forgetting the semantic behind the tags - which is fine when you’re building an application, less so for a document.
How this website is powered
This web site is purely made of documents: a homepage, and a few blog posts. There is absolutely no need for the regular web app setup: server-side language, relational database where the posts are stored, and Javascript to make the page dynamic. It is just a static HTML file sitting on a server - just like in the old days of the web!
Now, there is no point in editing HTML manually and uploading by FTP like we did in the 90’s. I can rely on tooling to have the writing part and publishing part done much seamlessly.
https://github.com/(Github) for source versioning control
https://gohugo.io/(Hugo) to generate the site from https://asciidoc.org/(asciidoc)
https://netlify(Netlify) to host the site on a CDN
At the end of the day, this site only costs me the cost of the domain name, roughly $15 a year.
More about static site generation
Like many geeks I’m in love with static site generation, because it’s a simple and elegant solution to have complete control over your site (compared to using a Saas provider like Medium) that has countless advantages over the "host a (PHP|NodeJS) / (MySQL|Postgres|Mongo) blog engine ona (rental server|cloud server)". It’s cheap, fast, secure and robust. And doesn’t require maintenance.
Now, I understand not everyone wants to use ASCIIDOC or Markdown to write the website, and you have to write HTML each time you need to tweak the design. The thing is, there are many solutions that rely on a WYSIWYG backend to power a static site.
You can use a CMS API like https://prismic.io(Prismic), https://contentful.com(Contentful), https://strapi.io(Strapi). There are even solutions to generate a static site from Wordpress, so you can keep you fat, slow, security holes ridden Wordpress safely behind a VPN and generate a full static site each time an editor pushes the "publish button".
Bottom line
The web if ours. It’s not to be controlled by a few Big Tech companies. Let’s take it back, and that starts by creating independant website rather than giving away free content made with our sweat and blood to companies we have no stake in.