More Geeky Aggregator Stuff
In an ongoing effort to keep this weblog less geeky and more fun to read, I posted another note about format driver architecture in the new aggregator in Radio 9 over on the developer's site.
When I started work on Radio 9, I was working from the attitude that we were going to build a new program from the ashes of the old. The "burning down the house" metaphor brings frightening thoughts to the minds of existing users and developers, so I think it's time to explain the why's of the situation.
Radio 8 is a fantastic product for a scripter and amateur programmer. The problem is that much of it was built on top of previous UserLand products, primarily Frontier. That's great for compatibility, but it's hard on third-party developers. Learning the program's overall design and structure is similar to learning Latin. Once you know Latin, the origins of modern languages, common words have a deeper meaning and sentence structure has a zen-like elegance.
Learning Radio's structure over the last two years has taught me much, especially to avoid throwing out the old and replacing with brand new. It's always more likely that a programmer with 20+ years of experience has solved your problem before. It's up to you to recognize it and apply the knowledge of the solution to your current environment.
That's why we've started with the aggregator. The core functions of the aggregator haven't changed much over the last three years so it's easier to refactor (improve and simplify) than the core Radio root file. What's going to matter in the aggregator is the user experience, extensibility and knowledge management. Overall, that's why we are "rewriting" some of the code. We know that we'll need to plug in to the code in new ways to support new user-requestd features, so it's time to lay new infrastructure.