4 ms·
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 bu
by frednerk 17y ago
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 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.
- plinkplonk 17y ago"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." Real reason :- They are spending their time and their money and the best people to decide how to spend both are the people who "own" both the time and money. I guessSome devs managed to convince a manager(with budgeting authority) that this was a good idea. Not that that's a bad thing. In general, I am all in favour of people reinventing wheels sometimes. Every reinvented wheel often fits local circimstances better, (omits unneeded functionality/generality etc) and is a good learning experience, if nothing else. Monoculture sucks. So "why did they do it ? " is largely an exercise in rhetoric ... except for your key point ( I upvoted you btw) "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?" The fact that they spent public money to do this is far more dubious. That said, large organizations waste a tonne of money on utterly trivial things - a few programmers salary for a couple of years (or whatever the time frame was) is likely to be small beans, relatively.
- frednerk 17y agoDon't get me wrong: I'm a huge fan of reinventing the wheel. Google did this -- and people asked why on earth we might need a new search engine when we already had AltaVista and the rest. It's just that, in my opinion, as you point out, not what the BBC should have done in this case. (And thanks for upvoting me!)