I can't tell you what a buzz it is to see that 2.2 version number in About box :-). All that's left to do now is to update the documentation with several brazillion screenshots for the new UI (:bah:) and we'll be right to go...
I saw Wallace and Grommit in The Curse of the Were-Rabbit earlier tonight and enjoyed it immensely. It's one of those movies you know you're going to have a great time at, even before the opening credits roll on. And in a roundabout way, seeing it helped me make a design decision for Awasu 🙂
I've written before, albeit very briefly, about some of the similarities between playing music and writing computer software. People sometimes have trouble figuring out how I can do both of these things. "Playing music is so creative and working with computers is so, um, not!" they say. But actually, they are very similiar activities.
Being a musician definitely has more than it's fair share of boring, mechanical drudge work - I'd hate to figure out how many thousands of hours I've put in playing scales and chords and studying theory - yet on the other side, cutting code is an extremely creative process. There are design decisions to be made at every step along the way, from the big-ticket items such as what features the program will have and how they work, down to what the UI should look like, all the way down to how you format the instructions in each program file you give to the computer. Every programmer has his own style and way of doing things and it's often possible to identify who wrote a particular piece of code just from the way it has been laid out and designed. I know I've worked hard to develop my own style in programming (as I have in music) and my stuff is instantly recognizable to anyone who's worked with me 😎
A few people have gently suggested to me that the sound that Awasu plays by default when an error occurs is somewhat, um, unprofessional and I've been in two minds about whether to change it to something more conventional. But it occured to me, as I was rolling around in laughter at the cinema tonight, that at the heart of the creative process is a good sense of humour. You can hardly imagine Joe in Accounting, that boring old stick in the mud, doing anything remotely creative beyond using a different font in the quarterly reports. And being truly creative, almost by definition, implies crossing the line and going beyond the bounds of normal behaviour.
Now, while I can understand where Microsoft is coming from when they decree that adding an easter egg to a program is grounds for immediate termination, I'd much rather be just a little bit unprofessional, at least every now and then.
When you evolve out of start-up mode and start worrying about being professional and dignified, you only lose capabilities. You don't add anything... you only take away. Dignity is deadly.
Why do we go from the business equivalent of the unruly-but-creative teenager to a stuffy parent? Can't we be something in-between? Why not the motivated, fun, creative 30-year old? (I'm not being ageist here -- this is a metaphor). If we're forced into becoming the "parent", why can't we at least be the cool parent from down the street? And by "cool", I mean the truly cool, not cool simply because they supplied the beer.
By the time we ran things through the deadly professionalism filters, the life, passion, joy, and in this case--brain-friendliness--had been sucked out.
2.2 RC1 will be released later today and The Moo stays in
As I've written several times, I've been training in Aikido for some time now.
The 50th All Japan Yoshinkan Aikido Demonstration was held in Japan recently and one of my instructors, Sensei Joe Thambu, had the honour of winning the Tokubetsu Embu Sho (the prize for the best demonstration). You can check out his performance here (Quicktime video); it's awesome :o! The suwari waza (techniques done while kneeling) he does at the beginning is unbelievable - I don't move that well even when I'm standing!
There are more clips of other people, some of the highest ranked in Yoshinkan Aikido in the world, here.
To most people, an application is something you see and interact with. Even when you do deal with things like the filesystem, it's mediated by a graphic interface - a metaphor. It's a good enough metaphor that people aren't really aware that it is a metaphor, let alone what it's a metaphor for. To someone whose idea of programs is Word and Excel, the idea of 'piping' the output from one program into another just doesn't make any sense.
If you're not a programmer but want to get an insight into what an insanely complicated process writing a computer program is, check out the rest of the article.
But it gets worse.
The article links to another piece that talks about the Picture Hanging Problem.
It's like you're asking [a junior staff member] to hang a picture for you, but they've never done it before. You understand what you need done - the trick is getting them to do it. In fact, it's so obvious to you that there are constraints and expectations that you don't even think to explain. So you've got some junior guy working for you, and you say, "Go hang this picture over there. Let me know when you're done." It's obvious, right? How could he screw that up? Truth is, there are a whole lot of things he doesn't know that he'll need to learn before he can hang that picture. There are also a surprising number of things that you can overlook.
So now, not only do you have to deal with a idiot savant computer that is "fundamentally dumb as a bucket of mud", if you're running a team you also have to take into account the fact that your team members may 1) not have a clue how to do what you're asking 2) want to do it in a completely different way to what you wanted/expected 3) not give a damn about how they do it just as long it gets you off their back 4) any combination of the above.
I.T. also suffers from being a very young industry, especially when compared to disciplines such as engineering or manufacturing that have an established base of ways to do things. We're still trying to figure out how to do things, let alone disseminate and teach it all to the new kids coming up through college. We all hate it when an application fails or Windows crashes but to be honest, I'm often amazed that things work as well as they do, let alone at all! 🙄
Any time someone says that they think programming is a dull and dry mechanical process, I just smile quietly to myself... 🙂
Following up on my post yesterday, Paul Scrivens closes with this piece of advice:
Release fast, release often, release quality.
It's tough for anybody to beat that.
While other RSS readers may have run out of ideas or slowed down their pace of development, if you check out what we've been up to this year, it's easy to see that we're definitely not suffering from these kinds of problems. Honestly, sometimes it feels as if the harder I work, the longer The List of feature requests and ideas and suggestions gets.
We're on the final push towards the 2.2 release and most of the coding is already done. You will be seeing the first release candidate out soon and then it'll just be a case of updating the documentation 😥
As Paul says, the "release quality" bit is pretty important. We're extremely proud of where Awasu is now, not only impressively fitted out with a broad array of powerful features but it looks pretty damn good as well :cool:.
Just makes ya wanna dance!
Google recently released their funky Ajax web-based RSS reader the other day and I have to admit, my first reaction was of the "oh no" variety. Funny thing is, that was before I even took a look at it 😳
But as Paul Scrivens reminds us, this was a common reaction in the old days of Microsoft dominance:
Remember back in the 90's when it was somewhat tough being an Independent Software Vendor due to the simple fact that you were never sure if Microsoft was going to enter your niche and simply buy up your competition or create something of their own? They didn't even have to create anything wonderful, just a product that was functional and they had already dominated that industry. The first release would get bashed by the public, but they would continuously pump out new releases that got better and better till there was no more competition. Those days weren't very fun.
Now we have to worry about Google doing exactly what Microsoft did in the past.
The general consensus seems to be that Google's reader kinda works but is not particularly impressive (although it is admittedly still only in beta). Now, this may be partly due to the high expectations we all seem to have for Google's offerings but it also fits the profile described above.
My initial "oh no" reaction came from the realization that it was going to be tough trying to persuade Joe Average (and his mum) of not only the benefits of using RSS but also why they should use a desktop-based reader instead of some whiz-bang browser-based one that can be accessed from anywhere.
But I've already written about the underlying concepts behind Awasu:
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.
It's not just about reading blogs :-). The driving idea behind Awasu's architecture is that it is a clearing house and processing engine for information. RSS is just the means by which that information gets moved around.
As I wrote yesterday, Awasu can be customized to manage and respond intelligently to your information, in the way that you want, ways that we could never even dream of!
Plugins can be used to retrieve information from anywhere (not just web-based feeds) and just as importantly, safely from behind the firewall. Information that you would never be able to make available to a third party (e.g. Google's RSS reader). And then channel hooks can be used to respond intelligently to that information as soon as it comes in.
Toss in our advanced archiving and search facilities and an API to access them and you have an amazingly powerful framework for managing and responding to the ever-increasing flow of information that bombards us each day.
I'd like to see a browser-based aggregator do all of that 😎
One of the hallmarks of a really powerful system is that you find people using it in ways that it was never originally intended nor designed for.
One of our users recently asked for a feature that would only show items in a feed if they contained certain words. This is a pretty neat idea and was added to The List, but while I was mulling over how such a feature would work, it occurred to me that you could do the same thing via a plugin.
I've whipped up a quick-and-dirty first cut of such a plugin and you can download it from here (requires Python). It lets you specify what feed you want to monitor and the keywords (actually regular expressions) that you want to look for. It could still do with a bit of work but it more than does the job, even in its present form.