Last week Matt McAlister, InfoWorld's director of online product development, forwarded me a list of the week's 10 most-read stories. I was tickled to see a couple of my stories among them. "You can log in to the reporting system for more detail," Matt said, so I did. Twice. First I logged in to the Web interface that selects report intervals. (No luck doing that on Mac OS X, by the way, where Mozilla , Safari, and MSIE all failed the browser check.) Then I logged in to the Java applet that delivers the reports. Once you burrow into the inner sanctum, you can see the data sliced and diced in every way that the system's designers thought you might need. But there are two huge problems: You can't link to those views, and you can't link to the data that supports them. [Full story at InfoWorld.com]Log analysis is a hopelessly fascinating subject. Yesterday, after launching his new weblog, Tim Bray became mesmerized by the unfolding drama of his access_log. And this reminded me of one more argument in favor of a RESTful architecture.
Last summer I gave a talk in which I said, among other things, that Web services and rich clients (the example was Flash) add up to a new platform for Internet developers. Somebody asked a great question: "How do I track what users are doing when that rich client doesn't leave a trail in my access log?" My answer, at the time, was that logging SOAP calls tells you more about user behavior than logging raw HTTP requests -- presuming that you've organized your SOAP interfaces intelligently. What I forgot to add is that, to the extent those SOAP interfaces are RESTful, the HTTP requests are SOAP calls, and your access_log becomes a great window onto patterns of user behavior.
Effort invested in the design of a URL namespace ( Universal Republic of Love!) pays back many times over. Users get to bookmark, email, and otherwise make use of rich URLs. Developers can do the kind of lightweight integration I've been harping on for months. But there's more: developers can also learn a lot about how users behave. "If more people spent an hour or two staring at apache access_log files in action," Tim wrote to me, "more people would understand the Web a lot better."
When you organize your URL namespaces for the convenience of users and developers, you are also instrumenting your software to be analyzed in action. Think about the kinds of stories you'd like your access log to be able to tell, and plan accordingly!
Former URL: http://weblog.infoworld.com/udell/2003/03/01.html#a623