Extending OPML 2.0 through a Wiki

Since Dave Winer is working on OPML 2.0 spec again, I thought I should write about an idea I had that'll help people discover, document, and reuse extension attributues. The idea is to create a wiki for OPML attributes and use wiki page URLs as namespace URIs. The wiki should have three URL types: namespace, attribute, and profile.
An OPML namespace wiki page lists attributes in the namespace. An OPML attribute wiki page documents the attribute and its value. An OPML profile wiki page is intended to capture common practice by listing attributes used in practice. A namespace qualified extension element in OPML head could simply point to the profile page attributes used can be understood in context of the application domain.
That's it. This suggestion requires no change to the spec and one optional extension element in return for a place where all OPML attributes and common profiles can be documented. I think it's a bargain. A step beyond this is introducing wikified-microformating to generate schema info from then pipe that to OPML validators so that OPML documents can be validated throughly without skimping on extensibility.

Flex Source to the Rescue

Developing in Flex can be very frustrating at times. Latest hangup was due to mx.controls.Text class scrolling content undesirably when mouse wheel is turned. None of the solutions I found online worked but as I started writing my own custom text component, I remembered that Flex came with source code many of the framework classes. So I dove in and found this hidden yet relevant documentation in the source code:

If the Text component has an explicit width, its text wordwraps within that width, and the measured height is tall enough to display all the text. (If there is an explicit height or a percent height in this case, the text may get clipped.)

If it doesn't have an explicit height, the measured height is tall enough to display all the text.

If there is an explicit height or a percent height, the text may get clipped.

With this info, all I had to do was set width explicitly and leave height unspecified to prevent Text component from scrolling.
The lesson here is that, while Adobe provides a lot of documentation, real gems are in the source code.

Akismet is Alright

Duncan Riley at TechCrunch writes:

Akismet is a service that relies on the failure of the WordPress code to be able to natively deal with comment spam. The service is free for personal use and a paid service for everyone else. As the co-founder and essentially the head of the WordPress open source movement, Mullenweg leads the initiatives by WordPress to combat comment spam. On the other hand as the head of Automattic he runs a company that profits from those very failings. The question then becomes: can one profit from the failings of an open source product whilst still leading that very code’s development?

Wrong. The problem Akismet addresses is a general problem, not one specific to WordPress and it would be less effective for every blog hosting services to run their own comment filtering service. IMHO, fees Akismet charge are well-earned and kudos Akismet receive, for offering free comment filtering service to non-commercial bloggers, is well-deserved.

As to whether there is an acceptable line for advertising and conflicts of interest, my answer is yes but does it really matter when the line can be redrawn?

Trying Bon Echo

I've been getting tired of Firefox hanging frequently on my Mac but couldn't switch to alternatives like Camino because, as a developer, I need a browser with widest third-party support (like Silverlight plug-in). So when I ran across a comment suggesting Bon Echo as a possible solution to a similar problem Fred Wilson was suffering from, I decided to give it  a try.
This post is intended to help people find Bon Echo because googling turned up only old versions. You should be aware that:

  1. Bon Echo is a build of Firefox supposedly optimized for OS X.
  2. Bon Echo versions are slightly behind that of main Firefox versions (latest Bon Echo version is while the latest Firefox is

First point is essential to me because I can use existing Firefox configuration as-is. You will have to delete Firefox.app though. Hopefully, the second point will be resolved when Bon Echo becomes more popular.

Stretching TwitterGram

So a limping version of my TwitterGram Facebook app is up and running now but I still have a list of chores to finish, including an updater (it's manual update til then), before I can think about cooler features like:

  • conversation – many people posting TwitterGrams on one topic.
  • linker – show links and text while playing one or more twittergrams.
  • player – play a conversation together, auto-leveling volume as it plays.

A cheap way of doing conversation is just looking for TwitterGrams with same title. I can then list them in an OPML file so they can be played together. A custom Flash-based player is also needed to display links while playing so I can say "checkout blah" without having to spellout a URL. I think John Batelle was going to ask HP if they can do that for his voice-casts.

Flash-based player running on mobiles could make the listening experience more enjoyable and hands-free. Hmm. Maybe it makes more sense to just call-in to listen to TwitterGrams. Then VoiceXML-based player is all that's needed. VoiceXML works is needs to be done anyway to record TwitterGrams. I wonder if there is a simple way to 'capture' links with a single button click while listening to a phone call, sort of like 'catching' song info or product info while listening to radio or watching TV.

Anyhow, I am going to have to wrap up all this fast before I get too distracted away from my other projects. ;-p