The format of The Long Now

In 01992, Tim Berners-Lee wrote a document called HTML Tags.

In September 02001, I started keeping this online journal. Back then, I was storing my data in XML, using a format of my own invention. The XML was converted using PHP into (X)HTML, RSS, and potentially anything else …although the “anything else” part never really materialised.

In February 02006, I switched over to using a MySQL database to store my data as chunks of markup.

In February 02007, Tess wrote about data longevity

To me, being able to completely migrate my data — with minimal bit-rot — from system to system is the key in the never-ending and easily-lost fight to keep my data accessible over the entirety of my life.

She’s using non-binary, well-documented standards to store and structure her data: Atom, HTML and microformats.

Meanwhile, the HTML5 spec began defining error-handling for HTML documents. Ian Hickson wrote:

The original reason I got involved in this work is that I realised that the human race has written literally billions of electronic documents, but without ever actually saying how they should be processed.

I decided that for the sake of our future generations we should document exactly how to process today’s documents, so that when they look back, they can still reimplement HTML browsers and get our data back, even if they no longer have access to Microsoft Internet Explorer’s source code.

In August 2008, Ian Hickson mentioned in an interview that the timeline for HTML5 involves having two complete implementations by 02022. Many web developers were disgusted that such a seemingly far-off date was even being mentioned. My reaction was the opposite. I began to pay attention to HTML5.

HTML is starting to look like a relatively safe bet for data longevity and portability. I’m not sure the same can be said for any particular flavour of database. Sooner rather than later, I should remove the unnecessary layer of abstraction that I’m using to store my data.

This would be my third migration of content. I will take care to head Mark Pilgrim’s advice on data fidelity:

Long-term data preservation is like long-term backup: a series of short-term formats, punctuated by a series of migrations. But migrating between data formats is not like copying raw data from one medium to another.

Fidelity is not a binary thing. Data can gradually degrade with each conversion until you’re left with crap. People think this only affects the analog world, like copying cassette tapes for several generations. But I think digital preservation is actually much harder, in part because people don’t even realize that it has the same issues.

He’s also betting on HTML:

HTML is not an output format. HTML is The Format. Not The Format Of Forever, but damn if it isn’t The Format Of The Now.

I don’t think that any format could ever be The Format Of The Long Now but HTML is the closest we’ve come thus far in the history of computing to having a somewhat stable, human- and machine-readable data format with a decent chance of real longevity.

Have you published a response to this? :

Responses

Nick

I always enjoy The Web Ahead podcast, hosted by Jen Simmons. For the past 4 years and over 100 episodes, Jen has been researching very specific topics, booking the best possible guests, and then going deep into that subject matter for a good hour or so. I make it a point to catch up after each episode is published, as I’ve found it to be an indespensible resource to keep up with new technologies and conversations surrounding the world wide web, and the people who work on it.

A recent episode released on August 13, featured a conversation between Jen and her guest Rachel Andrew about “everyday developers”. Actually, the word “everyday” only came up once during the discussion, but they were describing a type of web generalist who builds sites for clients, perhaps as a freelancer or as part of a small team. I consider myself a part of this camp.

Five years ago, Elliot Jay Stocks’ “Web designers who can’t code” article launched a firestorm of tweets, blog posts, and debates about the division of labor between “design” and “development”. Nine years before that, Jeffery Zeldman had written a book, Taking Your Talent to the Web for transitioning print designers. Each year, it feels like the lines between “design” and “development” are finally getting fuzzier, and I think that is a beautiful thing.

Jen and Rachel both bring a valuable perspective to this topic, because they were once living it themselves. Today they are prominent speakers and in-demand CSS layout experts, but both came to the web early on, building websites for people who really needed them, and for others like them, who were just figuring out how to put their stuff online. In the mid-1990s, almost anyone designing a website was a novice or a pioneer, learning how things work, making mistakes along the way, and developing the techniques and hacks that others would quickly rely on.

…Web technology was not that complicated 15 years ago. It was possible for a person to come from a design background, be more focused on design, and yet know pretty much everything there was to know about the development side. You wrote HTML and CSS and used FTP to put the files on the server.

Jen Simmons, The Web Ahead, Ep. 104.

Today, you may still find a few people learning or deploying their sites that way, but on the other side of the spectrum there are websites and web applications that are almost like utility services, delivering video entertainment, family photos, and breaking news at speeds and resolutions unheard of to devices that only existed in someone’s imagination 20 years ago. The Facebooks, Googles and Netflixes of the world have armies of developers (sometimes referred to as “engineers”) working with complex sets of digital tools, releasing powerful frameworks and libraries every couple months.

In between these two, you have what Jen and Rachel would call “everyday developers,” which is possibly the widest gamut of web workers. Not all these people have Computer Science or graphic design degrees. Some are at ad agencies, some are working in-houses at companies and organizations you’ve heard of, but don’t think about on a daily basis. A handful might be working on small web applications, but the majority are focused on some kind of publishing or marketing. They may be lucky to attend a conference every couple years, but are rarely on the speaker stage at a sposored industry conference or featured in a trade magazine. A few of today’s everyday developers will be the engineers, authors, and speakers of tomorrow. Mostly they are out there in huge numbers, maintaining the CMS at their university, writing some vanilla Javascript, doing great work for their clients every day.

A few highlights from the episode:

On documentation

Writing documentation on your open-source project is doing good work:

So often we have people saying, “What’s happened?” What they’ll say is, Perch, our product, has removed all of the spacing between their paragraphs. I open up the site, look in the browser inspector, and they’ve got a reset stylesheet which is removing all the spacing between their paragraphs. They’ve put it in there. We don’t put it any code. We didn’t put the CSS in. They’ve included something and don’t know what it is. They don’t know what it does…That is happening a lot. People are taking bits and pieces from around the web. They’re using things as a starting point. Those things, individually, are very good. People are putting them out there, on GitHub or whatever, assuming that everyone who would use it has the same level of knowledge as they do. Of course, they don’t.

Rachel Andrew

This is one that has really made a difference for me. Don’t assume everyone who is using your code has the same skills, background, or comfort level as you. Help beginners move forward by providing some kind of entry point. At minimum, put comments in your unminified files explaining what each bit does. Even better, provide a simple demo if possible, so we can see what your code accomplishes. Does your project require installing a library or package manager in the terminal? A lot of web designers aren’t as comfortable on the comand line: I used Mixture for a good year and a half before I finally switched to Gulp.js earlier this year. Even linking to a good tutorial could help someone a long way. Can you offer a downloadable version without dependencies?

Interoperability in open source web projects is a nice ideal to aim for, when it makes sense. I’m a big fan of Chris Ferdinandi’s Kraken project. The components of this web starter kit are designed to be modified or removed completely without breaking a lot (A little like Bootstrap or Foundation, but much smaller fewer frame-work specific classes). It uses some familiar conventions, and avoids becoming over-opinionated. He’s also created some useful Javascript add-ons (each with their own demo) that are coded in a way that could independently on projects that aren’t using the same Kraken’s conventions.

I also appreciate the direction the Roots team is taking with their open source WordPress projects. The next version of their starter theme will be shipped without Bootstrap, and require fewer dependencies, so you can install your preferred front-end boilerplate (or create your own). Similarly, their development and deployment packages aren’t dependent on installing their starter theme or set of plugins.

On the right tools for the right people

While Javascript frameworks and build processes have gotten a ton of attention, the bread and butter for a lot of everyday developers is still the content management system—customizing them, theming them, training clients and authors on how to use them. Once your work is done, what do your clients inherit?

I think a lot, as I move through the project, about what I’m going to be leaving behind. I think a lot about the legacy they’re going to have. If I build this site for you on Drupal, you’re going to have to have someone to maintain that Drupal instance. That’s not going to be me, because I don’t enjoy that. I can hook you up with someone else and recommend somebody and they’ll do it. Or I can teach you the skills if you’re a person that can learn those skills and you can do it. What I cannot do is just put you on this system that needs regular updates and those updates which take a certain level of technical savvy and then never talk to you about it and walk away and leave you with security flaws. We’re going to have that conversation at the very beginning because I need to suss out whether or not you can handle the responsibility of babysitting a Drupal website for the next five years. If you can’t, then I’m going to make a different choice for you. I’m going to put you on Squarespace or wordpress.com. I’m going to put you on something where you don’t have to update your own software.

I wouldn’t feel great either about handing off a WordPress or Drupal site to a client without extensive training (raising the price and billable hours) on updating the plugins and themes, security, and other infrastructure-y things if they aren’t already experienced or eager to do this themselves. Most clients’ priorities are investing their time into creating great content (the stuff their customers and audiences actually see) and running their business. I don’t think it makes much financial sense for most web designers to get into the hosting business either, when the money and time saved for both parties could be put back into the business, towards crafting a distinct visual design, or chasing higher-paying contracts.

Jen elaborates a little further:

Like I said, I used to do all of these small projects. Now I can’t afford to do them. But I still have people come along [with minimal budgets] and they want to know, “How can I build a website?” I want artists and restaurants and nonprofits to have affordable websites. If I were to recreate that kind of business that I used to have, I might seriously think about being a Squarespace shop. I would help people think through their content strategy and business and take all of that content and put it on Squarespace or WordPress.com.

I did this myself recently. I still think self-hosted WordPress is great, but sometimes even that is too much for some clients. It takes a lot of custom work to get WordPress working like Squarespace’s draggable visual blocks of editable content. For small businesses and artists, what Squarespace and WordPress.com offer is great. Squarespace itself wants developers to customize their sites, and make money with their beautiful suite of editing tools, offering their own developer platform with command line tools and a blank HTML5 Boilerplate-based theme.

There’s also been an explosion of many new, next-generation CMS products out there that aren’t WordPress or Drupal clones. Craft, Siteleaf, and Cloud Cannon all look very promising for everyday users and everyday developers alike.

On teaching, training, learning

Both Jen and Rachel work on complex projects, lead workshops, and deliver talks on this stuff, yet admit that if they were starting out in their careers tomorrow, it would be a bit overwhelming to know where to start. Their audience at these worskshotps and events is largely made up of everyday developers, and I’m sure they are getting this feedback, as its a sentiment I hear expressed all the time.

Part of this is, I think, the landscape. The web is not a monolith. It was originally built to help facilitate document sharing among researchers doing science, but 25 years later, it is a significant chunk of almost every sector of the economy. A website can be where you read the breaking news, or something you log in to to check your banking, or something you consume streaming video from. An application that tracks your hours for your timesheet, a social network where you see your friend’s baby photos, or a word processing document synced to a cloud server. WordPress (which powers 20-something percent of the web itself) is not a monolith, either. Depending on which developer you talk to, its a blogging platform, a powerful customizable content management system, or an API for building web apps.

No one can possibly learn how to build every single one of these things. No one should be expected to.

Rachel wrote a great follow-up post after the podcast was released, with a few thoughts about the things “everyday developers” should be fluent in. The good news is that these core compentencies are the three things the web has been made up for a very long time: HTML, CSS, Javascript. A solid understanding of the fundamentals and paying attention to the features and changes to these three technologies will have the biggest impact on the largest number of users. Everything that goes into sending the front-end trinity to the browser will come and go over time, but “what the visitors to your site or users of your product will eventually interact with is HTML, CSS, JavaScript.”

How you get to the point of delivering HTML, CSS and JavaScript to the browser is just detail. It’s detail that is influenced by a lot of factors. Tools and processes that make sense when a site is delivered and worked on by a huge team are probably overkill for a site built by a solo designer….Understand HTML and CSS, be able to build a layout without leaning on a framework. Get a solid understanding of how a website actually gets from the server to a browser, an understanding of security and accessibility. These are the basics, the constants. These things change slowly. These things sit underneath all the complexity and the tooling, the CMSs and the noise of thousands of people all trying to make their mark on this industry.

Rachel Andrew, ‘Confidence and Overwhelm’

More good news: The web is very forgiving. What you build today will work for years—even as browsers automatically update and hardware gets replaced—providing you are doing these core things right. I love coming across a website that was last updated in 2005 or earlier. A couple links may be broken and the design may not reflect the current trends or resolutions, but its somewhat reassuring that not everything is as ephemeral as it seems.

Further reading

# Posted by Nick on Tuesday, September 1st, 2015 at 4:17am

Related posts

Placehold on tight

Getting consistent browser behaviour for the placeholder attribute.

Figuring out

You can quote me on this markup pattern.

Progress

Something is happening.

Pursuing semantic value

Agreeing and disagreeing with Divya.

Timeless

Who knows where the time element goes?

Related links

Bruce Lawson’s personal site  : Eulogy for Flash

Web developers aren’t going to shed many tears for Flash, but as Bruce rightly points out, it led the way for many standards that followed. Flash was the kick up the arse that the web needed.

He also brings up this very important question:

I’m also nervous; one of the central tenets of HTML is to be backwards-compatible and not to break the web. It would be a huge loss if millions of Flash movies become unplayable. How can we preserve this part of our digital heritage?

This is true of the extinction of any format. Perhaps this is an opportunity for us to tackle this problem head on.

Tagged with

HTML5 accessibility

A glanceable one-stop-shop for how today’s browsers are dealing with today’s accessibility features. Then you can dive deeper into each one.

Tagged with

HTML5: The New Flash

A new presentation from the wonderfully curmudgeonly Steven Pemberton, the Nosferatu of the web. Ignore the clickbaity title.

I don’t agree with everything he says here, but I strongly agree with his preference for declarative solutions over (or as well as) procedural ones. In short: don’t make JavaScript for something that could be handled in markup.

This part really, really resonated with me:

The web is the way now that we distribute information. We will need the web pages we create now to be readable in 100 years time, just as we can still read 100-year-old books.

Requiring a webpage to depend on a particular 100-year-old implementation of Javascript is not exactly evidence of future-thinking.

Tagged with

HTML5 Differences from HTML4

I just noticed that I’m mentioned in the acknowledgements of this most handy of W3C documents. This pleases me disproportionately.

Tagged with

On File Formats, Very Briefly, by Paul Ford · The Manual

A history lesson and a love letter to the early web, taking in HTML, Photoshop, and the web standards movement.

Those were long years, the years of drop-shadows. Everything was jumping just slightly off the screen. For a stretch it seemed that drop-shadows and thin vertical columns of text would define the web. That was before we learned that the web is really a medium to display slideshows, as many slideshows as possible, with banner ads.

Tagged with

Previously on this day

18 years ago I wrote Building the Real-time Web

Liveblogging a spontaneous panel from XTech 2008 in Dublin.

18 years ago I wrote Browsers on the Move: The Year in Review, the Year Ahead

Liveblogging a talk by Michael Smith at XTech 2008 in Dublin.

18 years ago I wrote Using socially-authored content to provide new routes through existing content archives

Liveblogging a talk by Rob Lee at XTech 2008.

18 years ago I wrote David Recordon’s XTech keynote

David delivers a state of the Web address to the geek nation.

22 years ago I wrote A musical interlude

Here’s a song guaranteed to bring a smile to the face of anyone who owned an 8-bit machine in the eighties… Hey, Hey, 16K:

23 years ago I wrote Same planet, different worlds

English footballer, David Beckham is worth £10.53m.

24 years ago I wrote Attack of the 50 foot iMac

If you go down to the centre of Brighton, you’re in for a big surprise.

24 years ago I wrote Salter Cane

It’s time for me to unveil a site I’ve been working on for a while now.