Platforms, Not Sites
I spend a lot of time thinking about the metaphors and terminology we use to describe what we do as Web professionals. I believe that most of them are in use for one and only one reason: they are the models we’ve always used. I don’t think this is a good reason to do anything, especially something as important as talking about and thinking about Web technologies.
Of course, it’s important that we are able to communicate with people whose expertise lies elsewhere - our clients and our users - so we must not throw out useful models that can be adapted, we must not throw them out without care or thought about what will replace them, and we must not expect everyone to follow on if we choose to talk about what we do in a way that makes an complex and intimidating concept more so. To apply a cliche, we must not make the perfect the enemy of the good.
So, let’s get specific: what am I talking about. I’d like to start by addressing two terms that we use all the time which I think are doing more harm to everyone’s understanding of the Web then they are doing good.
Web Site
What is a Web Site? I spend all my time making them, and I’d probably have more trouble answering that question than would someone who just casually uses the Web. The way we store and deliver data and applications is getting more abstract and complex all the time as code bases coalesce into distributed frameworks, as the cloud blurs the lines between individual applications and data sets, as caching and the reduced cost of computing and storage complicate the traditional Web/Database Server concept. Moreover, ’sites’ are no longer coded for one kind of user interaction as we start to take the variety of browsing platforms as a given and start trying to put our content and apps where our users are and make them work they way they want them to. It is no longer a useful concept - the Web site, the place you go on the Web like a single display at the zoo, with the information and functionality we defined for that site.
I prefer the concept of a platform - a foundation of functionality and data formats/stores that users bring their interfaces, input, expectations and attention to. This matches more closely what is possible on the Web today and is the mindset I try to have when serving my clients and their audiences.
Web Page
The second term that I take issue with and which I’d like to change is ‘Web page’. It makes perfect sense that this term came about - the application of a concept people are familiar with - a ‘page’ of text or information - to a new medium. In fact, when the Web was young, the metaphor was perfect. Web pages were collections of text, data and images coded up for a pretty standardized display using this HyperText Markup Language. It was basically a way of presenting text documents with the addition of formatted headers, tables and embedded images, and then tying them together using hypertext links - the big innovation. However, server-side scripting came along almost immediately after, and here we are over fifteen years later (many lifetimes in Web years), still referring to the input and output forms, dynamic displays, mash-up displays and everything else we draw using HTML ‘pages’.
This does a poor job of describing to our clients and users what is possible, and limits our thinking. Consider the following
- Javascript can now make HTTP requests in the background, allowing us to do all sorts of data input/output and manipulation without formally redrawing the ‘page’. One commonly-used implementation of this on a large scale is the Gmail interface - once your inbox loads, you can switch you view, search, open and close messages, even write and send an email; all without ever leaving the ‘page’ your on as we traditionally conceptualize them.
- Flash. That is all.
- Consider that the same scripts and CMS can and do now take the same requests and display them in radically different ways depending on the browsing environment you are in. A page in a book looks the same whether I’m reading it on the bus or at work, but the Web doesn’t, because on the bus I’m using my iphone’s tiny, touch sensitive screen, and at work I’m using a big, beautiful monitor on a Windows box.
Surely, the above is only a partial list, a starting point, of the reasons that ‘Web page’ is a term that doesn’t really describe much anymore. I think that it is not entirely useless when used in a larger context - consider, those of you who use Wordpress, the important and useful distinction between ‘posts’ and ‘pages’. But for describing portions of a dynamic application - implementations of a Web platform, if you will - it is limiting and harmful.
Unfortunately, I don’t have a single alternative to this one that I can propose to replace it. In fact, I think the term is used to describe too, too many things that are not alike. When developing computer programs that will not run through a Web server, we use terms like ‘forms’ and ‘reports’ and ‘displays’ - terms which track pretty closely to those that we developers use amongst one another to coordinate our work. I have to propose that we start using more terms - more terms and more descriptive ones - with the general public as well.
In future posts, I will expand on each of these two concepts and introduce some others. Feel free to offer your own observations and thoughts on them here in the comments, or tell me I’m crazy if you like.
Oh, and thanks for visiting this page on my Web site!