On Web Documents and Web Apps

Published on July 22, 2014 (↻ February 5, 2024), filed under (RSS feed).

This and many other posts are also available as a pretty, well-behaved ebook: On Web Development.

I’ve just elaborated about research and production code, and why that distinction matters. And I hinted at but put off another distinction: that between web documents and web apps. Pronounced distinction seems important to protect existing document practices and guide the creation of app guidelines. Prepare for an abstract reflection.

Over the last years we have seen many large technical innovations in our industry. We have gained crucial additions to the key specifications of HTML and CSS, obtained impactful satellite functionality like Web Storage, Geolocation, or Web Components, and received backup through vendor extensions, libraries, and polyfills. All of this has opened near-revolutionary technical possibilities (alongside inevitable growth issues), and is still in progress to unlock more.

The new possibilities have sparked much enthusiasm both within and without the industry. But the enthusiasm throws quite a baby out with the bath water: It mistakes all of web development for web application development, and makes us forget that most innovations allow to build more powerful web apps—but change much less for web documents.

In fact, they affect documents so little, in comparison, that most web document development best practices still hold. We have many years of expertise creating accessible, fast, maintainable, and ideally valid documents, and this knowledge has not been superseded by any of the latest development.

And still (though I employ exaggeration as another means for emphasis) it has begun to appear as if web development only related to web apps. This inaccuracy, this non-differentiation has caused two problems: Best practices that are already around appear to be discounted because it’s assumed they don’t apply anymore (they may not for apps—fueling the confusion—, but do for documents as just stressed). And work on web app best practices seems itself deprived of focus (since it has produced a rush to reinvent everything, rather than just cover apps).

(We can also observe an urge to retrofit and extend web document standards to cover web apps. I ask us to carefully check whether that is necessary, desirable, or at all possible.)

Similar to research and production work, now, distinction and awareness may alleviate these problems. All we may need to do is think and speak more clearly in terms of documents and apps. We may need to spell things out. Web documents, or web docs. Web applications, or web apps. Web document development. Web application development. Web document developers. Web application developers.

Starting there should mean a good immediate defense to protect our assets (web document best practices), and then lend renewed focus (web app best practices that look at documents for applicable lessons, and web document standards that reconsider how far they can realistically reach). Distinction will avoid draining each other just because we don’t well deal with major differences in our work. And it will help come to grips with an important reality of our industry: that web development has become too complex to lump it all together.

A note tying the research and production code and web documents and web apps distinctions together: I firmly believe in the value of differentiation here. Right now much is simply labeled “code” and “web development.” But there is a world of difference between testing how to organize content-rich sites more effectively (web document research) and optimizing large-scale web services (web app production). To produce better work, more effectively, we need to make better distinctions.

Update (October 14, 2017)

In later years I’ve rather differentiated between web sites and apps. Today I deem this more natural and more clear than looking at the differences between documents and apps, and I believe it easier for others to follow, too, when we draw a line: There are sites, and there are apps, and web development is not the same for both.

Update (November 22, 2021)

I like how Rich Harris builds a bridge by making docs and apps a spectrum. This is useful.

Toot about this?

About Me

Jens Oliver Meiert, on September 30, 2021.

I’m Jens, and I’m an engineering lead and author. I’ve worked as a technical lead for companies like Google, I’m close to W3C and WHATWG, and I write and review books for O’Reilly and Frontend Dogma. I love trying things, not only in web development, but also in other areas like philosophy. Here on meiert.com I share some of my views and experiences.

If you have a question or suggestion about what I write, please leave a comment (where applicable) or a message.