The more things change

Sometime around 1999 I made my first website. I use the term “website” loosely—for one thing, I don’t think it was actually more than a single page. And if was actually ever on the web, I doubt anyone ever looked at it. I used some no name WYSIWYG HTML editor that rather resembled a word processor, page breaks and all. My aspiration was to upload it to Prodigy, my ISP, who offered on the order of an entire megabyte of web storage. (I vaguely remember bumping into this limit by daring to use some kind of textured image as a background image. There was probably a lesson in that.)

Later I ventured onto GeoCities, where you got more like 15 megabytes, and I “upgraded” to FrontPage Express. Creating the site still meant putting together some files on your computer and uploading them to a server somewhere, and when someone went to download a page from your site, they would end up downloading the same file your uploaded. Your site looked the same to everyone all the time, and never changed unless you actually went and updated it. It was static—what you saw was what your visitors got.

But shortly after that I switched to Tripod. Tripod felt like a game changer: 50 MB of space, plus support for more esoteric things like server-side includes (long live .shtml), Perl scripts (long live cgi-bin), and FrontPage extensions. This all presented an intriguing possibility—the server could actually do things dynamically to make my site appear differently, without having to change any of the files that I’d uploaded to the server. So I upgraded to FrontPage proper and really put those FrontPage extensions to good use: I created a lovely form that, given user input, yielded some of the world’s most underwhelming Mad Libs. But no matter. I may not have had much use for dynamic content, but I had the ability to add it—so voilà, there was a page view counter on my site! (For some reason, sharing page views via faux-LCD counters was all the rage at one point. Now they’re more like state secrets.)

Later still I dug into more of what you could do with dynamic sites. I decided to learn PHP (I don’t recommend it) and built some more sites of my own. Whereas GeoCities wouldn’t let you have a page on your site that you hadn’t actually created and uploaded in its entirety in advance, now I was writing scripts that effectively generated new pages on demand as soon as someone tried to access them.

Circa 2003 I created a blog, first with Movable Type and then with WordPress. I wrote entries periodically (as one who has a blog typically does), and occasionally people would even comment. Even so, the content on my blog changed infrequently. But behind the scenes, every “page” was still generated on the fly by a server, even if the same exact page had been generated many times in the past, content unchanged. In a sense, it seemed wasteful for the server to keep repeating all of this work. But dynamic websites were very much in vogue at the time, so even though I still wasn’t doing much that necessitated a dynamic site, my humble creation was so lowly trafficked that there was no reason to consider a different course.

So let’s fast forward.

In 2017, things are different—by which I mean they’re a lot like they were 20 years ago. Static websites are seemingly fashionable again. And lo and behold: I’ve created a new site that’s statically generated. The tools and techniques I’m using now are somewhat more sophisticated than the ones I used in an era of dial-up modems, but the essence is familiar: I write stuff, it ends up in a bunch of files, and those files get dumped on a server. If someone accesses my site, they get a copy of whatever file they requested as it existed when it was created—the server isn’t doing anything special. It can’t tell you how many times this page has been viewed. It can’t greet you by name. It can’t write a Mad Lib.

But what the approach lacks in dynamism it makes up for in understated elegance. I think of it a little like listening to a (proper) 8-bit remix of a song that was written well after video game consoles shed those limitations: it divorces your conception of what the technology was capable of from the quaint, nostalgia-colored novelty of what it was used for. The possibilities expand so much as to seem transformative—yet nothing changed.

Building a site like this harks back to a simpler time. It strips out years of accumulated, superfluous noise and turns back against the creep of gaudiness and distraction. It demands that you focus only on the parts that really matter, because nothing else remains. It’s limiting. But it’s also freeing.

Of course, plenty of things have changed. I have something like 1 GB of space and more bandwidth than I expect I’ll need for a very long time, plus a custom domain with SSL certificates, all for free. (And here seems like a good point to throw in a shoutout to Netlify, the company I’m using to get all of that.) JavaScript, and web browsers more generally, are way more fully featured and capable than they were even a few years ago, which lets you do much more with a “static” website than you could have done in 2000. Various patterns and services have become so commonplace that they’re often abstracted away into separate services, so if you really want a bit of dynamism (for polls, or comments, or sports scores, or any number of other things) you can still cheat and incorporate those things into your “static” site by outsourcing the dynamic parts. And there are other things that I’m glossing over. But it’s still amusing, even if a little fanciful, to think about how I could pretty much do the same things I’m doing now with this site that I could have done with that old Prodigy account.

Except for having that background image on the home page. That would still have to go.