14 Feb 2006 prla   » (Apprentice)

Where Does The Time Go?

No, I mean seriously. Lately I’m under the impression someone in a high place rev’ed up the time and it’s all going like twice faster. Not funny. Well, I guess that gives even more meaning to the Carpe Diem stuff, right?

Truth is, I haven’t really had much inclination for writing the past few days and that’s basically down to my focus shifting to reading instead of writing. Mostly technical stuff, opinion on the current trends of technology and all that. For the project I’m working on (I can’t disclose any details yet, not that you really wanted to know anyway) I’m all over the current trend of so-called Web 2.0 applications. What I’m working on is not exactly Web 2.0 in the same sense services as Flickr are, but it does share a lot of the same principles - or at least I’m trying to make it head that way.

I’ve read an interesting observation a couple of days ago on why Ajax may in fact be the Real Deal™ and that’s naturally due to Paul Graham:

(…) in 1996 the story about Java was that it represented a new model of software. Instead of desktop applications, you’d run Java “applets” delivered from a server.

This plan collapsed under its own weight. Microsoft helped kill it, but it would have died anyway. There was no uptake among hackers. When you find PR firms promoting something as the next development platform, you can be sure it’s not. If it were, you wouldn’t need PR firms to tell you, because hackers would already be writing stuff on top of it, the way sites like Busmonster used Google Maps as a platform before Google even meant it to be one.

The proof that Ajax is the next hot platform is that thousands of hackers have spontaneously started building things on top of it. Mikey likes it.

It seems particularly trendy these days to be exploiting the Google Maps API and building different applications on top of it. Bus Monster is an example, but so is HousingMaps and I’m sure a few others I haven’t heard of yet. So it’s interesting to see how the value is shifting up the stack in many ways and different levels:

  • profitable businesses can be built from simply gluing together different powerful components - themselves built around Web 2.0 principles - and coming up with a cohesive whole that is at least equal to the sum of its parts. Obviously, the better the components you’re working with are, the more valuable your application potentially is.

  • On the other hand, the “big fish” are, by default, not getting new programmers to work on the next ground-breaking feature of their services but instead buying out that two-kid startup that did just The Right Thing™. And everyone is happy in the end, especially the kids who turned millionaires - and wonder-kids-media-darlings sometimes. So, again, value shifting up the stack and the game being played one level above than it used to be.

  • Even on the pure technological arena, implementing products and applications from the ground up sounds just so old-fashioned now. “Design patterns” are a hot buzzword these days - Yahoo! has just released their Design Pattern Library aswell as their UI Library - and developing Ajax apps can become quite a hairy business. Libraries have been sprouting from everywhere and many seem to do wonders - being more, or less, difficult to work with. Web Frameworks have also become better abstractions in the sense that they too harness the power of different lower level components ending up with a final product that enables developers to do a lot of stuff at once - take TurboGears for instance, which seems to do a pretty good job at stitching together a template system, an object-relational mapper, a Javascript library and a Python interface for good measure.

So these are definitely interesting times we’re living in. While performing cool hacks with Ajax technologies doesn’t seem to be too hard - and therein probably lies one of the secrets of its widespread acceptance - developing big apps using them seems to be an entirely different matter. As the amount of (mostly Javascript) code increases exponentially, careful structuring needs to be taken into account - something with which I find myself struggling with lately but is in a way understandable providing we’re dealing with a new technology, which is in fact a bundle of a lot of different components (see? Again!).

So for me, I guess it’s time to take a good look at the current state of frameworks/libraries out there and actually find the one that works best for what I want to do.

#

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!