I read a great tweet today, which prompted me to write about an idea I've had for a while:
It was by Gary Bernhardt, and the fact that I feel the need to post a picture of it, in addition to linking, is a great segue into my thought.
I've been trying to imagine what a contest to create a web page (app, ???) that will still work in 20 years might look like. We have no shortage of contests to build things which use cutting edge APIs or to abuse and test the limits of existing implementations.
But what would it mean to write something that has to work for the next 20 years? I'm picking the number 20 out of the air, swap in whatever number means "longer than the next 3 years" to you. At first you might think that the best bet is to do something safe, wherein you rely on the bare minimum of what the web can do now, with the expressed hope that it won't change. That's fine, but it's not what a contest would hope to achieve.
No, a contest to build 20-year web pages/apps/??? would aim at producing something which did do things, and did them well not only today, but tomorrow, and the day after that, without having to be constantly maintained.
Further, participants in such a contest would have to think not only about technology, but also content, since anything that you are making for the next 20 years has to continue to be relevant during that same period. It becomes a contest about judgement, history, and trajectory. Even how we might judge it would be interesting, since, in the end, only time will tell.
So we're talking about some hard problems to solve: make something that can last, technically, contextually, aesthetically, functionally (I'm sure you'll instantly spot more -ally's I've forgotten) for 20 years. Could you do it? Could anyone? It's also interesting to consider if it's possible for such an exercise to not affect the development of the web itself, especially if such a contest were successful and the pages became a set of test cases for browser vendors. I find the million "what ifs" of this problem fascinating.
I'd be interested to see it happen, and what people would do to approach the problem. It's a very different problem from the ones we typically worry about right now when we make things for the web; and yet maybe it shouldn't be.
What do you think? What are the problems, and solutions?