On Web Documents and Web Apps
Post from July 22, 2014 (↻ November 25, 2021), filed under Web Development.
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 just need to spell things out more directly. 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’m Jens Oliver Meiert, and I’m an engineering lead and author. I’ve worked as a technical lead for Google, I’m close to the W3C and the WHATWG, and I write and review books for O’Reilly. Other than that, I love trying things, sometimes including philosophy, art, and adventure. Here on meiert.com I share some of my views and experiences.
If you have questions or suggestions about what I write, please leave a comment (if available) or a message.
Have a look at the most popular posts, possibly including:
- All Code Is Not Equal: On Research and Production Code
- Animated Traffic: My 10 Favorite Travel Photo Animations
Looking for a way to comment? Comments have been disabled, unfortunately.
Perhaps my most comprehensive book: The Web Development Glossary (2020). With explanations and definitions for literally thousands of terms from Web Development and related fields, building on Wikipedia as well as the MDN Web Docs. Available at Apple Books, Kobo, Google Play Books, and Leanpub.