It's a new year, and I've been thinking about where to put my energy.
XML, great stuff though I still think it is, is pretty much complete. I think we've learned over the past few years that the stuff that was actually a simplification of existing practice was good, and the rest should be used cautiously or (in the case of W3C XML Schema and specs it's infiltrating) ignored. The RELAX NG folks have created a sane schema language, the interesting action in the space has largely moved away from the W3C, and we're now at the point where everyone can create whatever vocabulary they like.
Not that they create particularly good vocabularies, especially if they focus on W3C XML Schema as the path to new vocabularies, but there's only so much I can do to keep people from banging their heads against the wall.
So if XML is no longer my main technical focus, what's next?
I have two main areas of interest at the moment, one even more abstract than XML and one more (well, mostly) concrete.
On the abstract side, I've been reading Christopher Alexander's The Timeless Way of Building and A Pattern Language, as well as the first volume of The Nature of Order. It's a lot more exciting than the Gang of Four Design Patterns work that derives from it, and I think I'll write a lot this year on how programmers can learn to do better work by taking aesthetics seriously, on a lot of different levels.
On the more concrete side, I've been looking into mapping and computing. I've been writing a blog that focuses strictly on one 96 square mile town, and maps are an important part of that, especially given the planning process that's currently in motion here. It's been interesting to see how most of the road network was in place by 1900, but a few key changes have had dramatic impact. I'm also sorting through the avalanche of census data that's available from the 2000 census, examining it both through GIS tools and through databases.
Between those two things (and a healthy continuing dose of XML, I'm sure), it should be a good 2004.