Web Conversation From the Other Side

Paul Ford
The Startup
Published in
11 min readDec 1, 2020


I wrote a piece on here the other day in which “2000 me” had a conversation with “2020 me” about the state of the web. It was fun to write, because I love making easy jokes at the expense of the tech industry. But as I went about my days I kept asking myself: What would that conversation look like if it were more serious? So…here. I kept “2000 me”’s questions the same. Even though 1/100th as many people will read this one, I wanted to get it down.

Linotype operator, 1947

2000 me: Wow you still work on the web, that’s amazing. It must be so easy to publish really interesting web pages.

2020 me: Technically, well, yes. Anything you could do 20 years ago, you can do today, and you can do much, much more. It’s cheaper, faster, and just all around better than it used to be. But it’s also far more complicated, and as always, it’s how people push against constraints that makes things interesting. So the overall interestingness has gone down, while the potential has increased.

Sure, the focus of the web has changed. In 2000, you could believe (and did) that there was something inherently good about lots of people starting up their own web servers, writing down their thoughts, and linking to the thoughts of others. But the number of people who want to maintain and pay for their own sites is extremely small. When mass audiences came to the web, they came to read lots of web pages…but also to read their email, to chat, to listen to music, shop for stuff, play games, on and on. That’s where they spend time and money. Naturally, the infrastructure of the web today prioritizes building experiences like these. Like, for example, Spotify, which consolidates many of the albums ever produced and lets you listen to them for a monthly fee, or funded by advertising.

’00: That must create some amazing opportunities for musicians!

’20: It does in some ways, but in practice it’s another middleman between artists and the public, and it pays out a grievously low amount to artists. The dynamics are similar to those of online advertising on blogs. A much better platform is Bandcamp, but it doesn’t provide the infinite-library that Spotify does. People will pay for subscriptions to big platforms, and linger over every $2 purchase. For lots of reason, low-friction platforms tend to really favor the platform owners, not the content creators.

’00: There also must be some really good music discussion forums.

’20: Independent forums are mostly dead, swallowed up by Reddit, social media, and the like. I cannot overemphasize how much the lesson of the web is that people, given the choice between the freedom of operating and managing their own platform, and running a centralized platform that they do not control, will choose the centralized platform. The desire of regular people, people with things to do, to also become systems administrators is far less than what we assumed it would be.

’00: Are there like a million new HTML tags?

’20: Just a few. The days of new HTML tags being exciting new tools, able to change the way people communicate around the world, are long gone. HTML today is a templating language for adding structure to text, and a container format that bootstraps apps.

’00: I bet! Are we up to like XHTML 9 with two-way links? God I bet blogs are amazing now. How do people even know what to read?

’20: The idea of having one universal, extensible, self-documenting data format based in XML never caught on. In general, we’ve found, the goals of universality and extensibility always lose to specificity, ease, deadlines, budgets. We had Smalltalk and LISP to teach us that, but we didn’t learn. We’ll never learn! However, two-way links do show up in specific contexts—especially inside of wikis, which are wonderful, and which have been used to make the most thorough representation of all human knowledge to ever exist in Wikipedia.

As to blogs, well, alas, they turned out to be a kind of interstitial format — what brought billions of people to the web was not short essays or even big photos, but rather nearly-live, endless conversation. I think what divides nerds from everyone else is that we find our labor relaxing. Or more specifically that if you have an obsession and time and resources to pursue it, blogging is fun, actually. Personally, I think it’s relaxing to write this, even though 150 people will read it at most, because it lets me resolve internal tensions and organize my thoughts. The reward for doing good work is more work. But most human beings find labor…laborious. Most people don’t have obsessions with boring, abstract things. They don’t get the chance. And they don’t have lots of time they can use to write “for free.” There are many theories about how this all works, including, say, Marxism.

But in terms of the web, its popularity meant that XHTML2, which was as utopian and abstract a standard for representing ideas as has existed since Ted Nelson’s Xanadu, didn’t gain traction, and ultimately Google drove HTML5, which was all about crafting apps, into existence. The same can be said of the Semantic Web. Call it the Tragedy of the Noosphere: Zones of pure thought work great until everyone shows up and wants to check their email.

’00: People thought I was naive, but I always knew that, since the web was so open, people would find their voices there by writing and making things online. And then obviously they’d learn how the web really worked, and build their own systems and tools in order to empower themselves and their communities.

Now that’s what I call hypertext!

’20: Ah my sweet summer child, etc, etc. This actually happened; you weren’t totally wrong. But it happened in small, local ways that struggled for impact in the broader scheme of things, while the web became one of the biggest things in history. It’s easy — unbelievably easy compared to how it had been— to set up community forums, raise money for a cause, and so forth. But you’re in competition with a lot of other things when you do this. In a lot of ways this happens with every medium. Early TV proponents were excited that people would be able to watch Shakespeare plays at home and get educated. There’s still a lot of great TV to watch, in the scheme of things.

’00: …How does HTML work now?

’20: HTML is in a long interstitial period and I’d guess over the long term it’s headed for a kind of bifurcation, but it’s unclear if there’ll be an attempt to standardize that bifurcation or if it’ll just evolve out of the platform. There are still lots of web pages in HTML, with lots of links and embeds. But there are lots of incredibly large web apps too, and increasingly they’re built in a very abstract way, using dataflow-style programming, and software decides when to update or change the page. HTML is now the Display Postscript of the web (this is kind of a deep cut but I stand by it). Personally, what I wish would happen is for two profiles to emerge: Web Document Profile and Web Application Profile.

Web Document Profile is the one you use to publish stuff, make it look good, and add some interactivity , and make it accessible to all— HTML+CSS as 2000 me would understand it, updated for 2020, and it’s what you use to build public resources and university websites and SEO-optimized blogs. Maybe with a defined protocol for editing in-browser so that it’s easier to build Wikipedias.

Web Application Profile could be defined in terms of the WebAssembly virtual machine plus a standard a library. An app could be written in any language that targets the VM, and from there interact with a lot of different services, including the DOM, a virtual DOM, a new, less painful version of the DOM, a WebGL canvas (for games), a 2D canvas, Cairo, a video player controller, etc. Basically exactly what Java tried to do over and over, now with the browser as a sandbox, i.e. it’s open and distributed to billions of people. This would mean that things like “WebUSB” could be shoehorned into a virtual machine, as a service with a consistent API, and exposed to any language that targets the web platform, instead of shoehorned into JavaScript.

Web Application Profile would be really good for building mobile/desktop apps using web technologies and it would let us be less reliant on frameworks like Electron or React Native.

People complain about the web as a programming environment but it’s wonderful at orchestration and network access, and a lot of software problems come down to orchestration and network access, especially on the web. Go figure. This is all handwaving though, and someone would have to build it, and a zillion people would have to use it, before anyone would bother to standardize it. But we’re definitely feeling the pain of these worlds being separate.

’00: How do you change the <title>?

’20: When I said “you can’t,” this was a little joke, and I was sure someone would correct me, and of course they did. That part of the web hasn’t changed. The React Framework, which is the dominant front-end framework now, is all about replacing the body of the HTML page with a dynamic area that is fully controlled by JavaScript. It’s totally possible to change the <title> of a page, but it means reaching out from your functional code to the raw DOM and having a side effect, and it’s not intuitive, and it reveals the friction between the abstractions of React and the reality of the legacy web. Per the above.

’00: I admit I find that confusing, but that’s okay, I’ll just read the web standard. Sounds like the W3C has been busy.

’20: They have, after a fashion. But as the web platform grew the W3C became like many other standards bodies — a source of endorsement, a place for coordination. More descriptive than prescriptive. And JavaScript, which is used to hold everything together, is managed by ECMA. So it’s all a little odd. One of the most valuable things the W3C does is to continue to advocate for the web as an open platform that is accessible to everyone. And there’s even an XSLT3. But in general standards are implemented by browser vendors and then you learn through tutorials about the relevant parts, rather than reading the standard and figuring out how to make things work.

’00: And speaking of big web things, did AOL win out over Yahoo? [Laughing.] Did they merge to compete with Microsoft? We used to joke about that.

’20: Maybe the better way to describe it is that they got thrown into the same grave. AOL and Yahoo are both now part of Oath, which belongs to Verizon. Both of them reacted to the growth of the Web by becoming media companies, in the business of selling lots of advertising on top of their digital experiences. That’s where they saw growth, but that made them vulnerable to the strategies of giant platform companies.

’00: Interesting. And I bet the tools for building sites —

’20: Apps. Of course you can still build sites, but much of the hard work has been commoditized and abstracted away. Which is good. I’m writing this on Medium, right? A lot of what used to be dynamic and worthy of argument has become standardized. If you need to build your own site, WordPress, with its plugin system, gets you about 90% of the way there; there are countless other options as well.

’00: Right. They must be amazing, yes? I mean in 2000 I have to use emacs on a Linux machine.

’20: The tooling is amazing, frankly. I’ve written about it elsewhere. Everything works really well. Emacs evolved in some really interesting ways and I use it every day — it’s got a hierarchical editor mode called org-mode now that’s superb. It’s a little hamstrung because it’s single-threaded, although there are workarounds. So there’s still room for plain text. But programming and building things is still difficult, text-driven, involving tons of files and lots of complexity. You have your choice of totally free, well-supported IDEs and programming environments, and as many free languages as you’d like. Linux is a great desktop operating system these days; it’s got some weird edges but it basically works great. I’m using it now.

’00: Is Microsoft still around or did open source destroy them?

’20: There’s an angle where you could say that open source destroyed Microsoft. The aggressive, monopolistic culture of Microsoft just couldn’t scale to the size of the Internet, and of course the last people willing to believe that were the people who ran Microsoft. First, Google took over search, which meant that it had an enormous platform for distribution, marketing its own software products, and a huge portion of online ad revenue to fund future growth. This was the end for shrink-wrapped software with extreme margins.

Apple took ownership of a new consumer category, the smartphone, which turned out to be the single greatest digital consumer category that has ever existed, and never let go of its moat or margins. Google started Android and followed the Microsoft playbook with OEMs. And Amazon bootstrapped a true cloud services platform. All of this, including Apple’s smartphone OS, was done on the back of Unix — sometimes just at the kernel level, sometimes including the userland — thus cutting Microsoft entirely out of the ecosystem. The rest of the giants used Microsoft’s strength and dependency on Windows against it. Microsoft ultimately started to show its age and accept that it was better to run Linux on Windows in hell than serve MSN web pages in heaven.

’00: I knew it! Good riddance. I knew the web would become the world’s operating system.

’20: That’s actually true. It really happened. Although I guess a more accurate thing to say is that the web has become the world’s windowing toolkit.

’00: And that it would empower so many people. I bet Perl 6 is huge as a result. How big is the CPAN library these days?

’20: Pretty big, and still maintained. There’s Perl all over the place out there, it’s just not very cool. Perl 6’s eternal development cycle is a fascinating journey into the heart of programming culture, and what computers are for, and why programming languages exist. Maybe that’s a conversation for another time. Interestingly the big fight of the early days, dynamic vs. compiled, has transformed into a fight about type systems. It’s all pretty pointless at this stage; you can educate yourself about the tradeoffs and decide on what’s right for the project. What has changed a lot is that languages tend to be bootstrapped onto existing platforms: Clojure on top of the JVM, with interop with Java (and ClojureScript on JavaScript); TypeScript on top of JavaScript. JavaScript. Flutter with Dart compiling to JavaScript. There are 20 ways to write JavaScript, and the “right” way is a hot topic, and always will be, I guess. The WebAssembly virtual machine is interesting because it combines two of these trends: A virtual machine that can be targeted by any compiled language, and, by implication of being part of the web, JavaScript.

’00: And I almost hate to ask, but did Apple survive?

’20: Not really! But NeXT sure did.