I've given this a few weeks' thought -- and I still think it's absolutely bonkers that a team of highly skilled BBC developers have spent more than two years building... a JavaScript library!

Long, rambling response below.

The Glow library is well designed, but why on earth did the Glow developers want to reinvent the wheel? The reason they give -- to support old browsers not covered by existing libraries -- just doesn't make sense.

They didn't want to fork jQuery, but they're happy to build and maintain an entire framework instead?

Why not a BBC operating system and browser while we're at it?

Glow's ultra-niche-browser-support argument is specious. The BBC has far more pressing accessibility needs than JavaScript support for Safari 2 -- which is what the Glow team cite. According to http://marketshare.hitslink.com, Internet Explorer 5.0 market share is around 0.04% -- which Glow only gives partial ('level 2') support to -- and Safari 2 share doesn't even rate in the top 40 browsers, i.e. Safari share is below 0.03%. In fact, it looks like other frameworks already have better browser and platform coverage anyway: the best Glow can offer is that "our support table is actually closer to other libraries' than it has ever been".

The BBC's comment on www.bbc.co.uk/blogs/bbcinternet that "we merely felt it wasn't for us" sounds like a very poor reason for spending a huge amount of effort and budget on not collaborating with jQuery.

The Glow team also claim that "we need to ensure critical bug fixes, new features etc are released on a schedule we can control". This doesn't make sense. Features are added and bugs are fixed on other JavaScript frameworks, by thousands of volunteers. In practice, production versions don't tend to have 'critical bugs': they have minor glitches, or miss relatively unimportant features. Unless Glow becomes a dominant JavaScript framework, which is highly unlikely, it will never be as reliable as other frameworks, because it will never have the same level of resources for bug fixing, testing, and feature development.

They also state that "we needed a library that could sit alongside other potentially incompatible versions without namespace collisions or CSS styles clashing", but what is the evidence that this happens in other frameworks?

Outside the BBC, who exactly will use Glow? The Glow team themselves say that Glow "has been (so far) developed with the BBC's page templates in mind, and some modules may have issues outside of them". Why on earth would I want to use Glow on my site then? And if it's only ever used on the BBC, why will anyone want to get involved in development?

Now the BBC is stuck with a massive code maintenance nightmare for many years to come, for every new and legacy hardware platform, operating system, operating system version, browser, browser version -- and all the individual OS and browser configurations that make frameworks a pain to maintain.

...and what about the 6% of browsers that don't have JavaScript, or have JavaScript disabled? All core BBC content and navigation must be accessible without JavaScript anyway, as stated in section 2.1 of the Future Media Standards and Guidelines: 'Our users MUST be able to get the core editorial proposition irrespective of the level of JavaScript support in their browser.' In other words, by BBC policy, JavaScript must only ever be an embellishment and not a core part of editorial content.

...and I'd like to know specifically what is not working in these old browsers anyway. I bet there are plenty of more pressing bugs and JavaScript accessibility problems: take a look at bbc.co.uk and there's bound to be something that doesn't work. It's highly likely that specific old-browser problems could have been sorted out case-by-case if really necessary, with a patch or plugin to existing frameworks. There was never any need to fork an existing library, let alone build a whole new framework.

JavaScript libraries such as YUI, jQuery, Dojo and Prototype are all far more mature than Glow. The BBC could have standardized on any one of them. All have excellent APIs, extremely high production values, and thousands of contributors -- including some of the world's very best programmers. Do Glow have a Douglas Crockford or John Resig on the team?

Glow seems to have started life as an old-fashioned, in-house project, and now the BBC is attempting to open-source it in order to dodge the problem of maintenance -- even though the best external developers are unlikely to contribute to Yet Another JavaScript Framework. This is a reputation-damaging, wasted opportunity: the BBC could have set a healthy precedent collaborating with outside developers and software projects. As John Resig says of jQuery, existing framework developers would have bent over backwards to cooperate if the BBC had contacted them. Instead, the BBC stays a closed shop, and developers coming to the BBC will have to throw away their skills in jQuery (or whatever) and learn Glow from scratch.

It's healthy to have a market for alternative JavaScript libraries. But at a time when the BBC is under tight scrutiny and intense political and budgetary pressure, why waste precious resources trying to compete when others will do it for free?

...and no doubt the BBC will now get flamed endlessly for spending two years wasting licence fee on an irrelevant project.