A Reality Where HTML Never Existed

Fri, 29 Apr 2022

Despite writing a long manifesto extolling what I call “Web 0”, the original CERN-style World Wide Web0 that existed before HTML was standardized and CSS and JavaScript were inflicted upon the world1, I have found myself going a step further in my thinking than Bradley Taunt did when he wrote the following:

I love CSS. I can spend hours deep diving into a website’s CSS system and never find myself getting bored. It’s pretty amazing to see the problems other designers are able to solve with just a little bit of custom styling and determination.

I like JavaScript. It serves it’s purpose and makes complex functionality on the web easier to wrangle in and understand.

But I think both should have never come into existence.

I’ve been a professional web developer since 2009. I’ve had personal websites of some kind since 1996. I originally took to HTML because hand-writing HTML in a text editor was even better than having WordPerfect 5.1 with “reveal codes” turned on by default. Nevertheless, I have become convinced that HTML itself was a mistake for a variety of reasons.

WHY I THINK HTML WAS A MISTAKE

First, I dislike HTML2 because it is an extension of SGML3. SGML exists because there is a need in government, law, and industry to retain documents for decades in a machine-readable format. Plain text files like this one are not machine-readable because they are not structured data and aren’t marked up to identify elements like headings, paragraphs, URLs, etc. However, based on the assumption that most people writing on the internet are writing for other people, I’m not convinced that the majority of such writing needs to be machine-readable.

Second, I dislike HTML because I’m not convinced that the use of machine-readable formats is beneficial to ordinary people who want to express themselves on the internet. The growing popularity of John Gruber’s Markdown4 since its introduction in 2004 suggests that HTML is not an especially pleasant markup language in which to write. Surely the need for HTML proficiency is both a cognitive burden and an obstacle to becoming a first-class citizen of the internet by operating one’s own public site rather than being a “user” on a corporate-run platform.

Third, I dislike HTML because its machine-readability does not serve individuals. Commercial search engines using proprietary and ever-changing algorithms habitually fail to surface independent, knowledgable, and relevant voices. They instead give prominence to whoever is best at gaming these algorithms through practices called “search engine optimization” (SEO). Lest you think me paranoid, I’m not the only one who thinks that SEO is ruining5 the internet through virtual gentrification6.

Fourth, I dislike HTML because you can’t parse it using regular expressions without the risk of summoning Cthulhu, Zalgo, or Tony the Pony (a possible avatar of Zalgo?)7.

Finally, I dislike HTML because it can be used to carry inefficient or outright harmful media. Without HTML, it’s a lot harder to put inline images in a document, and inline audio and video is downright impossible. In a plain text document like this one, the only way to include an inline image is with what we used to call ASCII art.

For example, here is a stylized image of me8 converted to ASCII art.

ccccllllllllooollllllllllllcccc:::::::::ccccllc:::::c::::::::::::::::;;;,,''''..
ccccllllllooolllllllllllllllllllllllllccllllc:;::::c:::::::::::::::::;;;,,,,,,''
ccccclllllllllllllllllooooooooolllccccccclcc:::ccccc:::cc:::::::::::::;;;,;;,,''
ccccccccclllllllllllloooddddoooollooollooddddolcccccccccccc:::::::::::;;;;;;,,''
:::::c:::ccllcllllloooddxxddoolllloollcccllllooollllccccccccccc::::;;;;;;;,,,'''
:::::::::::cccclllllooool::;;:cccoolcccccccc:;::cllllccccccc::::::;;,,,,,,'''...
:::::::::::ccclllllcccl:,,,;:clodxolccllcc:::;,,,;:lllccc:::::;;;;,,,,,,,''.....
;;;;;::::cccccccccc:c:,'';ldkO00000000000Okxdoc,...,:lc::;;;;;;,,,,''',,,'......
;;;;;;;:::cccclllllc;..,cxk00KKKKKKKKKKKKKKKKK0d:'..',::;;;;,,,,'''''''.........
;;;;;;;;::ccclllllc,..;oxkO00KKKXKKKKKXXXXXXXKK0x:''.',;;;;,,''...'''...........
;;;;;;;;;;;;:clooo:..,ldxOO00KKKKKKKXXXXXXXXXKK0Oo;'...',;,''...................
,,;;;;;;;;;;cooddl,..:odkOO00KKKKKKKKKKXXXXXXKK0Ox:''....,,''...................
,,,,,,,;;;;cooodoc. .codkOOO00KKKKKKKK00OOOOOOOOOkl''.....'''..........  ...    
,,,,,,,,;:coooddl,. .cddolccccoxO00Okdl::::clloodkd;'......'...............     
;;;;;;;;;coooodl;.. .colclcc:,,;lkOko::::::lloodxkx:'....'..'............       
OOOOOkkkkkOkkxo:'.. .clll:;;;;;;cxOxlcc::;,,:;cdkkkl''...''.''..........        
000OOOOOO00K0kc,... .:cod:;;;cclok0kdxxoolccloxOO0Od;''...''.'......  .         
xxxkOOkkOO0KOd:'..  .cldxxdddxxxxOKOkxkkkkkkkOOOO0Od;,,'..''......              
:clokKXKKXNNOo;...  .loodxxkOOkdx0K0OxxkOOOOOOOOkkko;,,....'.....               
clox0XNWWWWXx;....  .ldxxxkkOOxllxkxoook0OOOOOOOkkxl;;;. .......                
00KKXNNNNNN0c::...  .:odxxkkkkxl:;:::coO00OOOOkkkxxc;:,. .......                
KKKKKKKKKKKdcl;..   .,loddxxkkkkddoodxkOOOOkkkkxxxd;,,..........                
KKKKKKKKKX0ddc....   .;looddxxdolllllccloodxkkkxxxo,''........'.                
KKKKKKKKKX0kkl.....   .:loodddlc:cclllclldkkxxxxdxo'.......''.'.                
KKKKKKKKKK0kOk;.....   .:loodddollllllodxkkkkxxddd:........','''.               
KKKKKKKKKKOk0Oo,....    .:loodddoooodxxkkkkkxdddo:..........,;,''.          ....
KKKKKKKK0O0KKOo'....     .;:loddxkkOO0OOOOkkddol;....   .....,:;,'......  ......
000KKKKK0kOKKk;..        .,,;:clddxkkkkkkxdoc:;,.      .......';;;,....''.......
00OkxxxkOxdxd;...        'cc:;;;::ccccccc::;;;;'. ............''',:;.''','......
KKK0xocclll;.....  .    .;odolc:::::::::::::cc:,............'''',',;;,;:::,'... 
KK0kdl:;::,.....  ..    .:ddxdolccccclllllllllc,.........'..'''',,'':::::::;,''.
xl:,,''''.......  ..    .ldxxxxddooooooodddddoc,......'..''..'''','';;;;;;;:;',,
'''''..............     'oxxxkxxxxxxddxxxxddddc,'......''''..'',''..,,,,;,,,,,'.
''''...............     .lkkkkkkkkkkxxxxxxxxxdc:c,......,,''''',,'..',,,,,,'''''
''.................  .  .:kOO00OOOOOkkkkkkkxxxolo;......',,''',;,''''''.''''''..
.'............... .....  'd000000000OOOOOOOkkxxdl'........'''',;;,'''''.........
.'..............   .......cO00K000000OOOOOOOkko;.. .......''',,,;,'.','.....'...
.'...........'.     ......;k000KK00000000OOko;..............',,,,,,'',,'....'...
..'...........       ......d0000KK0000000Ox:'...............,,,,,',;,,,,'...'...
...'.........         .....l0KKKKK00000OOx:'..'............',,,,,'';;,,,,'......

If you squint hard enough, it might vaguely resemble an image of a long-haired man. Now, can you imagine advertisers using ASCII art?

Furthermore, without HTML we probably wouldn’t have JavaScript – a programming language originally designed to manipulate HTML documents via the Document Object Model (DOM). Without JavaScript, it would be a lot harder to place cookies on your machine, track you, and serve “relevant” ads.

A WORLD WIDE WEB WITHOUT HTML

What would the World Wide Web look like without HTML? I doubt the WWW would exist at all without HTML. Nor would HTTP, the HyperText Transfer Protocol. I strongly doubt we would have FARK, Reddit, Digg, MySpace, Twitter, Facebook, YouTube, etc.

What would we have instead? We might still have the pre-WWW Internet. We might still be using USENET as our worldwide public forum, and might perforce have taken serious measures against spammers instead of abandoning USENET to people posting bootleg media and software.

People writing on the internet would probably do so in text files like this one, and host them via Gopher or anonymous FTP. One suspects that PostScript/PDF documents, images, audio, and video might also be available through these protocols.

Internet Relay Chat would probably be more popular, and one hopes that both IRC and XMPP (originally Jabber) would have gotten the work necessary to make it as accessible to the general public as AOL Instant Messenger and MSN Messenger had been in their heyday.

Perhaps we’d still be using Kermit and Unix-to-Unix Copy (UUCP) to transfer files between machines in large batches.

IS A WORLD WITHOUT HTML TRULY BETTER?

I honestly don’t know if a world without HTML, HTTP, and its attendant ills (social media, centralization, adtech, the monetization of human attention) would truly be better. Perhaps the founders of Google would have built a better version of Archie (FTP search) and Veronica (Gopher search), we’d still have SEO, and the internet would still be the sort of cyberpunk dystopia too dull to be worth the efforts of William Gibson, George Alec Effinger, and Neal Stephenson to depict in fiction.

CAN WE GET AWAY FROM HTML AND HTTP?

Nobody is holding a sword to my throat and forcing me to write in HTML. I’m doing just fine with plain text. However, if I wanted to publish my foolishness over a protocol other than HTTP – such as anonymous FTP, Gopher, or Gemini – I would have to run my own VPS or figure out how to self-host on a residential connection without running afoul of my provider’s terms of disservice.

This isn’t worth my time/effort, even though I could do so if necessary. Right now, it’s preferable to serve my files over HTTP. It’s the de facto standard for transferring all kinds of media, and just about everybody has a web browser.

WHAT ABOUT XML?

As much as I dislike machine-readable formats for personal publishing on the internet, I find myself compelled to continue to put up with RSS and Atom. Though they are both XML formats (XML being another extension of SGML), it was not that difficult for me to figure out how to generate Atom feeds with shell scripts and GNU recutils, and the utility to people who want to get updates to my site without having to manually visit makes the effort worthwhile.

Furthermore, all major web browsers provide at least partial support for XSL Transformations, allowing the generation of HTML from Atom feeds. Creating and testing the stylesheets is painstaking work, but once complete I need not revisit my XSL files unless the Atom feed format changes.

WHAT ABOUT JSON?

I doubt that JavaScript Object Notation would even exist without JavaScript.

WHAT ABOUT YAML FOR MACHINE-READABLE DOCUMENTS?

What have you been smoking and where can I get some?

Seriously, though: YAML is horrible enough when used to write DevOps config files9.

I refuse to even consider YAML for documents.

DO PEOPLE REALLY WRITE IN PLAIN TEXT?

People active in the BBS scene during the 1980s used to do it all the time. Many surviving ASCII files are collected at http://textfiles.com/.