April 2024 - This site, and Kamaelia are being updated. There is significant work needed, and PRs are welcome.

Google Summer Of Code 2008

We've been accepted as mentor org for Google Summer of Code 2008! (BBC Research)

This is primarily our ideas page, you really ought to read our overall summer of code page as well. This details expectations, how to apply, what we're looking for, who we're looking for (YOU), and a whole bunch of notes on stuff students have done in previous years.

Previous years ideas pages( 2007, 2006) landing pages(
2007, 2006 )


Please note that we're likely to give significant weight to Kamaelia based exemplar projects. If you're wondering what we mean by that, the Whiteboard, Greylisting and ER Modelling systems are all useful tools in their own right, but also very useful exemplars showing how to build large systems. Community systems like Bucker are similarly really cool exemplars. The difference really between exemplars in Kamaelia and exemplars in other projects is that you will often result in creating a large number of reusable components.

Exemplar Related

In previous years we've taken a couple of different approaches to the ideas list. The first year was based around idea of distribution, (user) security and visual interfaces. That worked pretty well. Last year we really looked at an approach largely based around the idea of targetted simple thing which would make kamaelia useful in particular targetted ways, which achieved around 75% of our goals. This year though, we'd actually be much more interested in a systems view. ie rather than building small bits and pieces we'd be interested to see what you can build in 2-3 months of work that's a real living breathing system. For an idea of the sort of thing that that can entail, the visual system builder was around 4 weeks of work all told and the P2P whiteboard was actually around 2 -3 weeks all told. By contrast, Kamaelia Grey was literally a few days work.

This list of possible exemplars is still being fleshed out, but really interesting, useful exemplars are something that would get a high priority this time round. Suprise us with a really exciting idea of something you'd like to build, and we might surprise you by accepting it.

Core project related

Integrate Kamaelia with...

WSGI-ify the Kamaelia Web Server - Extend & make more user friendly the Kamaelia Web Server, including WSGI compliance, to enable clientside mashups based around (say) django or pylons

Tools for working with SQL Databases. Build a Kamaelia interface for SQL so that databases can be linked to other Kamaelia components.

A Testing Framework for Kamaelia Systems

Improved Multicore support: Extend python pprocess to enable full duplex channel communications (or multichannel communications with processes) for multicore/multiprocess comms (eg 1, 2 )

Extensions to the co-ordinating assistant tracker :

Change the topology visualiser to work in full 3D - this would relate to changing the implementation from using the pygame code and replacing it with open GL code. Most of the physics engine would still work. This would then turn into an exemplar you you extended to allow the construction of models this way. This sounds difficult, but should be relatively simple

Extend Kamaelia's Dirac support to include support for the optimsed version of Dirac called Schoedinger. (Rather amusingly you'd be working on schoedinger's cat (sorry))

Improve Kamaelia's support on Windows - come up with windows equivalents of the mega bundles or better the app bundles

See how much of Kamaelia can run on IronPython 2 (notably see how many tests can pass)

Projects tend to succeed if you discuss them upfront with the mentor organisation.

So, if you're interested in any of these ideas, please discuss them with either Michael Sparks or Matt Hammond over email - kamaelia-list@lists.sourceforge.net ( or anyone else on the list). You'll also find us in #kamaelia on freenode's IRC network.

Project Introductions

Think "lego for software", and "concurrency made easy" if you're after a soundbite. The presentation above should give you the basic idea

More Technical intros:



See also the Cookbook & Components links above!