Kamaelia: BBC R&D White Paper

June 16 2005

Micheal Sparks has posted a R&D White paper concerning the technical issues and proposed solutions within the BBC’s Kamaelia project.

“Kamaelia is a project aimed at building large scale online media delivery systems for the long term. Large scale media systems are naturally concurrent systems since they assume large numbers of people watching programmes simultaneously. In the long term the systems people will be using to access and serve BBC services online will be also be naturally concurrent. A key aim of Kamaelia is to enable even novice programmers to create scalable and safe concurrent systems, quickly and easily.”

The system is written in Python and the two core systems Axon and Kamaelia both run on Mac OS X, Linux, Win32 and Series 60 phones. The code is open-sourced and available via the project’s site.

The paper provides interesting technical reasoning on their approach, utilising generators as ‘software state machines’. For those of a Pythonic nature the discussion comparing Kamaelia with Twisted provides more reflection on it’s design.