« Previous | Main | Next »

Glow JavaScript library open source release

Post categories:

Stephen Elson Stephen Elson | 12:54 UK time, Wednesday, 8 July 2009

Earlier this year whilst Steve Bowbrick was blogger in residence for BBC FM&T, he spent some time looking at "openness" at the BBC. Part of Steve's definition of openness was the "uncomplicated, generous use of licence fee funding to produce content, code and other assets in forms that can be shared".

In his round up, Steve mentioned some of the open source software that the BBC has created such as Kamaelia and Glow. At the time Glow was not actually available outside the BBC, but we are happy to announce that Glow is now released under the Apache 2.0 licence.

That's all very well you may say, but what on earth is Glow?

Glow is a JavaScript library used extensively across BBC Online, and now available for anyone to download and use on their own sites.

Put simply, Glow allows web developers to easily manipulate web pages, create animations and add sophisticated "widgets" to their pages. The library has a comprehensive and easily navigated set of documentation.

We started using Glow on bbc.co.uk in late 2007, and since the start have always intended to release it for wider use. It's taken a little while to get there, but we are very excited to be in this position today. The BBC and open source software have a long history; much of bbc.co.uk is powered by such software, and amongst other things we have released various CPAN modules, Apache modules, and even state of the art video codecs.

Of course, there are many excellent JavaScript libraries available already, many of which are open source themselves, so you may ask why we chose not to adopt one of these? The simple answer can be found in our Browser Support Standards. These standards define the levels of support for the various browsers and devices used to access bbc.co.uk: some JavaScript libraries may conform to these standards, but many do not, and those that do may change their policies in the future. Given this fact, we decided that the only way to ensure a consistent experience for our audiences was to develop a library specifically designed to meet these standards. A more in depth look at this question is available on the Glow website.

If you want to find out more, we recommend you have a look at the Glow website, and if you are of a technical persuasion perhaps even download the library it and have a play. Whatever you think, we welcome your feedback.

Stephen Elson is Lead Product Manager, Glow, BBC Vision


  • Comment number 1.

    This is really great! Thanks very much for releasing Glow as opensource. Quite surprised that no one has commented yet, but I can see that a lot of people have started to take notice already.

    Such a strange coincidence, I was searching around on BCC blogs and labs sites just last night looking for something like this!

    My first thing to do with Glow will be to try and replicate the excellent photo galleries that are on the BBC news site.

    Thanks again :-)

  • Comment number 2.

    It would be nice, given that in the linked article it states JQuery (et al.) was deficient if a direct comparison could be made showing glow implementing something that jquery fails at.

    Despite the claims in https://www.bbc.co.uk/glow/docs/articles/what_is_glow.shtml I can't really imagine the JQuery team not wanting the BBC on the team adding extra browser support, tying up namespace issues (between different jquery versions, strange that such would be needed) and avoiding "CSS clashes" (not sure what's meant precisely there).

    Were they approached?

  • Comment number 3.

    Great API with a fantastic reference website; one of the best I have seen (puts MSDN to shame for clarity!). Well done to all involved in the development, and congratulations for making it open source. It will be interesting to see how many BBC-esque commerical sites suddenly appear in the next few months!

    Only minor issue with the reference site seems to be that the AutoSuggest examples in the user guide don't seem to work for me.

  • Comment number 4.

    paulbhj - jQuery is a fantastic library, and it's well deserving of it's popularity, we merely felt it wasn't for us. In fact we looked a wide range of extremely high quality libraries before beginning development of Glow

    Browser support has been picked up as a consideration (jQuery does not support Safari 2 at the moment, wheras we have to, for example), however this was not the only factor. Also important is the fact that we need to ensure critical bug fixes, new features etc are released on a schedule we can control. Developing and managing our own library was a means of ensuring this level of control.

    However, we are completely open to working with other open source projects. In fact, we are considering using the Sizzle CSS selector engine in version 2 of Glow, and would certainly contribute any changes we made back to them.

  • Comment number 5.

    This comment was removed because the moderators found it broke the house rules. Explain.

  • Comment number 6.

    The Glow library is brilliant and just what I've been looking for however the documentation, though good, does leave a little lacking. There are some excellent basic examples and code, and some interesting advanced demos. But nothing, no transition in between. I got pretty much up to speed with the basics in a few hours and now I want to move no but there is nothing. If you look at the (excellent) bbc.co.uk site you can see the potential of Glow, but when you look and the Glow docs there is most definately nothing that links the two in terms of advanced information. What I think is really needed is an intermediate or (detailed) advanced guide to accompany the documentation. Great job bbc, but you need to go that little bit further.

  • Comment number 7.

    This comment was removed because the moderators found it broke the house rules. Explain.

  • Comment number 8.

    This comment was removed because the moderators found it broke the house rules. Explain.

  • Comment number 9.

    This comment was removed because the moderators found it broke the house rules. Explain.


More from this blog...

BBC © 2014 The BBC is not responsible for the content of external sites. Read more.

This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.