Awasu » 2005 » June
Saturday 25th June 2005 9:42 PM [General]

Just in case someone, somewhere thought that I wasn't busy enough already, Microsoft announced on Friday their RSS plans for Longhorn and there is a huge amount of buzz on the blogosphere about it.

The announcement consisted of two parts.

Firstly, Microsoft announced their Simple List Extensions. This is a pretty trivial extension and while useful, it's not exactly earth-shattering. Some people have complained that Microsoft are up to their old tricks and trying to commandeer and take over an existing, widely-used technology in order to twist it into a proprietary format but this is wrong. SLE is an extension to RSS, something that RSS specifically encourages.

In the very early days of Awasu, I wrote a document in which I said that RSS could be considered simply as a means of transporting information around. And it doesn't have to be limited to news or blog posts. Just look at enclosures, piggy-backing on feed items as they move around the net via RSS. Furthermore, using XML namespaces, people can embed whatever information they like into a feed and ship it around using RSS.

The entire architecture of Awasu reflects this underlying concept of RSS as a transport system for information. An application can generate an RSS feed that contains its own specific information, absolutely anything it likes, embedded into items using XML namespaces. On the other end, an Awasu channel can have hooks attached to it that are simply scripts that gets run whenever new items are received. These scripts scan the new items for this application-specific information and process it however they choose. Bingo, you have a completely extensible framework for shipping your information around and acting upon it when it arrives, complete with all the automatic updating, notification, archiving and indexing that Awasu provides for all of its channels.

Another thing that I said in the document was that RSS was not going to be all that important in itself. What I meant by that was that RSS was simply going to be the first step along the way to something much bigger. RSS is going to be to the semantic web what Lynx and HTML 1.0 was to the web, all those years ago. The XML and web services people have been pounding on their respective pulpits for years about the benefits of using XML for computer-to-computer interaction but until now, it's been far too complicated for your average Joe to understand, let alone use, and so has only be used in the corporate world. RSS is the first XML format that has really become popular with the general public and is the thin edge of the wedge. Already we've been seeing people asking "Can I use RSS to monitor my sales database?" "How about a FedEx package or my Outlook calendar?" All of a sudden, they're seeing the potential that XML-based computer-to-computer communication offers and are starting to demand politely ask for it. And so the use of XML-based communications is going to explode. Dare Obasanjo had it right when he said that "Using XML syndication is an evolution in the way people interact with content on the web".

The second part of the announcement concerns Microsoft's strategy for RSS in Longhorn. This is, of course, much more significant. Some people have already asked me what this means for Awasu. Here's my take on it:

I'm not worried at all.

In fact, it's a good thing. One of the problems with writing an RSS reader today is that not many people other than the geeks know about it. Integrate RSS into Windows and that problem suddenly disappears in a big, big way 🙂

I must admit, my heart skipped a beat when I read about the Common RSS Feed List and Data Store that let any application offer RSS services to the user. Since this means that any program can let you monitor your feeds, what implications does it have for Awasu? Well, if you only have a few feeds then monitoring them in IE or Outlook will be fine but for hard-core information management, you need a dedicated application that was specifically designed for it. That'd be Awasu.

As we're seeing already, it's not about retrieving buckets and buckets of information and presenting it to the user that's important, it's what you do with it. People have been complaining for ages about information overload but if you thought it was bad before, just try it with an RSS reader automatically updating hundreds and hundreds of channels every hour :o. This is another example of the immaturity of the technology: computers blindly retrieving megabytes of feed content (and gigabytes of enclosures :o) and just dumping it all on the user with no consideration for how they're going to deal with it all.

As I described above, one key aspect of Awasu's technology is its plugin architecture that lets you do whatever you want with the information that is coming in. This doesn't necessarily mean you have to read it; you can quite happily have a feed that you never look at but has channel hooks attached to it that automatically run when new items are received and act upon the information found therein.

Also, we are now coming to the end of the development of core features for Awasu and will soon start on the really cool stuff, features that let you manage this huge amount of information coming in. If you consider what we've achieved in two years, you can be sure that there is going to be some pretty amazing stuff over the next two and beyond.

Sure, somebody could write an application that uses Longhorn's RSS functionality to build something similar to Awasu but we have a 2+N+M year head-start on them, where N is the number of years before Longhorn is actually released 🙄 and M is the number of years before a significant number of people are actually using it. Given the number of people still using old versions of Windows going back to W98 (and even earlier!), it's going to take a while.

So no, I'm not really worried at all. Bring it on! This is going to be so much fun! 😎

Saturday 25th June 2005 9:30 PM [General]

With optional mind-control satellite.

Rory just cracks me up :-D. There's more than a grain of truth to it as well. I know I'd much rather be cutting code (even if it's just rejigging a UI and struggling to get Windows to work the way it's supposed to) than following up sales leads and all that other boring stuff that actually keeps us in business 🙁

He also posted a while back about why you shouldn't mess with nerds (some profanity, and it would probably help to be a nerd to really appreciate the humour :-)).

Saturday 25th June 2005 2:18 PM [General]

...and you will find that programmers can not write in English.

A while back, I gave a proof that demonstrated the problems associated with writing computer programs. Here's the full list of computer laws.

  • Any cool program always requires more memory than you have.
  • When you finally buy enough memory, you will not have enough disk space.
  • Disks are always full. It is futile to try to get more disk space. Data expands to fill any void.
  • If a program actually fits in memory and has enough disk space, it is guaranteed to crash.
  • If such a program has not crashed yet, it is waiting for a critical moment before it crashes.

And one for Earl:

  • Software bugs are impossible to detect by anybody except the end user.
Saturday 18th June 2005 12:32 AM [General]

If you've been hanging out here for a while, you probably already know that when things go quiet on the blog, it's usually not because I've disappeared to a tropical island somewhere for a few weeks R&R but because I'm back in the dungeons churning out the next release of Awasu (note to self: something wrong here, investigate).

And that is indeed the case. Over the years, the number of features that Awasu offers has increased dramatically and along with it, the number of configuration settings. Someone recently described the Awasu UI as "very powerful but daunting" and we couldn't agree more. So the next release will feature a dramatically revamped UI with a lot of things cleaned up and made tighter, less-frequently used options tucked away out of sight and a whole swag of new icons and images. It's looking really exciting and should be out Real Soon Now :-). We're just waiting on a few things from some third-party vendors and it'll be ready to go. It's been a mad effort to get everything done as quickly as possible because we've had a sudden slew of enquiries from a lot of companies wanting customized versions of Awasu (some extensively so) or to partner with us. So I've been trying to get this release completed in time for when these deals move further down the pipeline.

On a slightly related note, my esteemed colleague Nick Bradbury posted the other day about his recent drug-induced coding frenzy. The programmers amongst you will immediately understand what he's talking about, that totally immersed state you enter when you are completely in the zone, churning out thousands of lines of code and oblivious to whatever might be happening around you. I know I've been there many times, although never while doped up on drugs (that I can remember :roll:).

But for non-programmers, it's almost incomprehensible. The best analogy I can come up with is to imagine a computer program as a symphony score (I've long held that, often to people's disbelief, there are many parallels between computer programming and playing music, but that's another article for another day). A piece of software is a massively complicated machine, with a huge number of moving parts and dependencies between them all. Change one thing and it has a rippling effect throughout the entire program. This is one way bugs creep into a system, when somebody changes something without realizing the impact it will have on another part of the program. Indeed, one of the key principles of good software design is partitioning off the various bits of a program to isolate them from each other in order to limit this ripple effect.

But to get back to the analogy of software as a symphony, changing a single note for a single instrument has several consequences. The most immediate and obvious effect is that you might have to change what notes other instruments are playing at that instant in time in order for everything to still sound good. But the composer also has to consider how that passage of music hangs together as a whole. And then how it fits in with the entire piece. So changing a single note for a single instrument could have a cascading effect for many notes, for many instruments, for many bars, both before and after the one note that was actually changed! 😮 One can imagine Mozart furiously working one of his symphonies, adding notes here, erasing bits there, tearing whole sections out and re-writing them in a different way, all in an whirling effort to shape the piece into what he had in his mind's eye. That's computer programming! 🙂

Friday 3rd June 2005 10:52 AM [General]

Find out about it all here. A tragic, tragic condition.

Viral marketing in action! 🙂