August'24: Kamaelia is in maintenance mode and will recieve periodic updates, about twice a year, primarily targeted around Python 3 and ecosystem compatibility. PRs are always welcome. Latest Release: 1.14.32 (2024/3/24)


Projects

This page details a bunch of projects, either in process, or which could be done, or have been done.

Google Summer of Code 2008 Projects (don't follow the PTP format at present)

Project Task Pages

Template PTP/Guide
Unfortunately, this page is not as up to date as it could be, and will be replaced with something relatively lightweight when practical. In the meantime it is useful to give a flavour of projects Kamaelia has been useful and used for!

Existing PTPS


PTPs to be written:

Background on Project Task Pages

Project Task Pages (PTPs) take a standard format, and recognise that feature dev, bug fix, and any other task have commonalities. PTP's aim to capture this information to make it easier to see what's going on, and assign priorities. PTP's as a result have a template format, which is based on the way Kamaelia itself is designed.

A project task page may cover a project as small as a single feature of a single component of a single module, or something as large as an entire application comprisig of several systems. The key aspect here is that each of those subsystems would also have project task pages, as and when they become necessary.

As a result Kamaelia development and management of components should naturally reflect the component system itself.

PTPs to be fleshed out

Each project here will gain its own page as soon as practical - this is a capture of current state. (This does mean also that there SHOULD be a PTP for ch of the tools listed above)

Kamaelia Macro - Timeshifting tools

Mobile Reframer

Multicast RTP MPEG TS remultiplexer

Video Cut Detector

Component Integration Tasks - Small ad hoc tasks of documenting, reviewing and merging components into the mainline codebase

/Sketches/MH/pixFormatConversion/VideoSurface

/Sketches/MH/dirac/*

/Sketches/MH/Video/VideoSurface.py

/Sketches/MH/audio/WAV.py

/Sketches/MH/audio/ToWAV.py

/Sketches/MH/MobileReframer/...

/Code/Python/Kamaelia/Tools/Whiteboard/Whiteboard/...

/Sketches/MH/RTP/

Challenges Related - It's worth noting that as Kamaelia matures in scope, it's capabilities are beginning to branch out well beyond these challenges

Lunch - The fact the world is becoming massively parallel and we need better tools to deal with this.

Deliver - Tools and mechanisms for distributing and synchronising effectively a huge database of content

Share - Creation of tools for sharing that people can trust

P2P & Multicast joining

Thins that aren't appropriate as project task pages here:

Projects are to be labelled with tags to help classify and organise them. We've chosen this over having a predefined url based hierarchical structure as it gives greater flexibility and acknowledges the fact that projects will change in status and scope over time.

Possible tags to us include:

Tools

These are relatively substantial systems in their own right. Their development, and components driving their development are ongoing.

Summer of Code 2006 Project Ideas

Each of the ideas here have been fleshed out to some degree to or another and are considered useful to differing degrees. If you're looking for a project worth doing, these are worth looking at for ideas. Aside from anything else if we've added them here there's a good chance that they've had some serious thought behind them already, bootstrapping your idea!

The following list contains the aggregated projects grouped under like for like ideas. The order of projects here has no significance

One of the most interesting aspects of this list of projects is that many of them were proposed by undergraduate students, and all thought they could achieve these projects over a 3 month coding period, most of them after having done the MiniAxon tutorial.

Completed Summer of Code 2006 Projects

In some cases these were exploratory, some were concrete, some were half way. All were useful for different reasons.