A Love Letter To the HTML on Textfiles
I'm very excited by the source code of textfiles by Jason Scott.
I sincerely hope this is the future of the web. If we're willing to "give it five minutes" when we're addressing ideas of uprooting five or ten years of what "good" is (client-side rendering, js is not/is a real language/oh wait it's a compilation target), I think we deserve a fresh perspective on the overall thrust towards complexity right now.
Ok. Back to textfiles.
Why it's great
What is it about this simple green on black site that's got me so excited?
It's very, very fast
This one is indisputable, and deserves some mention up front. Surely, the network configuration might have something to do with this, but the lack of complexity in the front end is crucial to this kind of speed.
It's just HTML
This site has no JavaScript or external CSS. Not only does that help make it fast, it also means that there's no tracking or third parties involved. In an age of surveillance capitalism, this is a breath of fresh air.
Inline CSS
For code this small, that exists in one file, the argument of being a burden to "change things in multiple places" completely falls apart with a simple find/replace.
The Code Is Not Minified
That means it's actually readable. Might it be faster if things were compressed? Maybe, but is it worth introducing a build step to make the "production version" if you're already faster than pretty much any other site on the internet?
Not really.
HTML Comments
Not only is the code readable by virtue of being unminified, but it also is uses HTML comments to convey something to people who actually want to see the source. People who want to understand the deeper motivations behind both the project and how the source was created have the ability to do so, and by reading the comments get a deeper sense of the intention of both the project and the creation of the page.
How rare is that? This site is for people. It's not just a facade for personal data collection. It is a site dedicated to consensual giving of information, from Scott to you, and if you're game, from you to Scott.
Mirroring
Not only does this site tell you how you could make it (by applying the same rationale of the author) through the comments, it actually gives an example of duplicated effort, which hints at the importance of redundancy, but conveys something else that is lacking in web apps of our time.
Human effort can be duplicated. It's ok when there's a good reason. Textfiles humbly recognizes its role as a document, and its ability to be reproduced (and easily since all you have to do is copy the source).
No Login
Many sites treat your data (mixed with theirs and others') as something to be hidden from you. In this case, the data, should you offer to send it, is sent through a specified and explicit channel.
Not only are we not observed through 3rd party trackers, but the document has no need for a login. Do you want to store documents? That's your problem. Do you want them added to an archive? That's his role.
Hosting
Getting away from the source for a minute, the site is hosted at its own domain(s). The project is independent and not subject to as many layers of potential platform disruptions.
The Expected Experience
At no point did the screen jump down after loading something. The links work with command-click (open new window) or right click. It scrolls smoothly. Basically, it's great.
The Idiosyncrasies
- It uses all caps for html attributes (file this under who cares, although it does nicely separate the content from the markup... hmm)
- It uses tables (presumably to center align) instead of using complicated yet modern workarounds.
- It uses images for links, but it doesn't seem to cost Jason any speed. Also, the images have alt attributes (that contain spacing information!), so it's no problem if they don't load.
The Design
The green on black is certainly something near and dear to Scott, but many people would scoff. This is actually a good thing. The site is built for other people who have experience and nostalgia for that interface. Others are welcome, but there is a worldview on display that says "BBS was amazing and we need it. We need to collect and save it." Appreciation for the design is linked to appreciation for the purpose of the site itself.
Do things need to be center aligned? Maybe not. Could this work on mobile? Sure, but it's not going to be great. Is there a version of this design that might be more faithful to the BBS experience? Probably. But Scott has conveyed an honest and consistent worldview that he shares and projects through the design as well as the content. I'd say that's mission accomplished.
Takeaways
There are plenty of older HTML sites that demonstrate similar principles, but this one is just to great not to read the source to.
Here are my takeaways:
- Readable site is good
- Readable source adds depth
- Humility and pessimistic redundancy is good
- (Organically) small code is good
- Having an authentic and sincere worldview is good
- Being independent is good
- Collecting data through explicit consent is very good
- This is a good format for many uses
What we're doing right now
We're teaching people that the web is full of "apps" which rely on many dependencies (including frameworks), many inconsistencies of experience and speed (somewhat brought on by those frameworks). Data collection and analytics are "just the way it is." The prevailing business model is to sell people's data, which basically precludes an honest, shared worldview because of the chasm we've stuck between "creator" and "user."
But it's just a document!
"Apps" are different, right? But at the end of the day, you're still shipping html. Personally, I'd love if frameworks could produce code that had all of the positive things I find in this site. They can't.
If we can't present content that can be shared freely and without ulterior motive, that's an understandable part of some businesses. But if our HTML won't even convey something important to the people who care about it enough to view it, then what are the odds we'll treat customers (and other "users" for lack of a better term) any better? Maybe our sites lack some perspective? Or is it the business?
Chances are, we spend a good amount of time creating and managing complex tools to solve problems with other complex tools. We could be missing the mark here. By staying busy learning about the Which JS Framework to Learn in 2017, we're still just shipping HTML.
Of course we need to know how to tool up when appropriate. The internet archive (where Jason works) does (well enough to basically download the US government... among many many other things). They even have their own analytics JavaScript that seems to share the information with you in the form of HTML comments. A lot of things are coming together there, and it's very consistent with the worldview demonstrated by the textfiles site.
Also, we should also know how to tool down as well as we tool up. Maybe we can spend some time on smaller audiences, ones who share our worldview, ones who get excited about the same things we do. Maybe not everything should be for sale, walled off, or collected without consent?
Those aren't the only kinds of businesses or tech jobs. For web developers especially, I think we have a serious overtooling problem much of the time. Sometimes, all you need is text files.