Kamaelia - Projects ideas & Brainstorming
Please note: Not all project ideas have equal priority! Priorities increase in line with their usefulness in meeting our challenges
Start a new discussion here! Yes, without registration! This blog has a mechanism allowing anonymous posts. If you want to start a discussion on anything related to projects you are interested in using Kamaelia for, or as potential summer of code projects or anything else project ideas related, please post! Posts are moderated for spam and abuse. If you're tempted to use it for those purposes (spam or abuse), please be aware this won't work, 'sorry' to disappoint :-)
Modules for Summer of Code Project : Trusted Communication
Posted: guest, 16 May 2006 at 22:26
Comments: 0
Do we pick up the modules of our interest ?
Posted: Michael, 9 May 2006 at 13:52
Comments: 0
Applications for summer of code have now finished. Many thanks for the overwhelming positive response to our work, the projects, and the frankly stunning high quality of applications that we've recieved. Everyone who's applied are absolute stars. For reference, we've had about 6-8 times as many applications than we could ever possibly mentor, so if in the final analysis you're not mentored, please don't assume its because we think you're bad or anything like that - its simply because we don't have sufficient mentors to say we can mentor everyone. If you're still interested in working on these projects, please do. We really find this a fun way of making systems (useful ones too), (as well as productive) and hope you do too.
Peer-to-peer streaming architecture
Posted: guest, 7 May 2006 at 11:51
Comments: 2
I am thinking of a peer-to-peer architecture for streaming media. It should allow aggregation of samples from different sources, and testing different algorithms, policies and robustness. It would be most suitable for broadcasting of live events. One very nice feature that could be implemented at a later stage would be the ability of a host to receive and aggregate different streams of media. For example, while broadcasting a sporting event, different users migh get different comments in different languages, but the same video and audio stream, on which the comments will be agregated
Posted: Michael, 6 May 2006 at 13:31
Comments: 0
An implementation of RFC2324 would be extremely desirable. Such an implementation should ideally be server machine independent and provide for a number of automated plugin modules for the control of differing server side modules. Each would in all likelihood be implemented in their own component. It is expected that implementation of this project would require the use of lego mindstorms, perhaps along with an Aibo with a "chariot" attachment. Relevant python libraries that might well be of use here include: Pyro and this page for example.
Posted: Matt, 3 May 2006 at 03:33
Comments: 0
Just a note: we're hosting SoC project ideas for Dirac (another BBC project) too. Please prefix all Dirac related ideas "SOC Dirac:" so they're clearly identifiable.
SOC Dirac: Java implementation of a Dirac decoder
Posted: guest, 3 May 2006 at 01:13
Comments: 2
A re-implementation of a Dirac decoder as a Java applet (or you could even use Flash, if you're so inclined). An applet would allow Dirac video to play in web pages without users needing to install anything or needing admin rights.
SOC Dirac: Vorbis 5.1 surround sound
Posted: guest, 3 May 2006 at 01:09
Comments: 1
Extending Vorbis to code surround sound efficiently using inter-channel prediction. Then Vorbis could be used in conjunction with free video codecs like Dirac and Theora for DVD ripping and HDTV streaming.
SOC Dirac: DVD encoding using Dirac and Matroska
Posted: guest, 3 May 2006 at 01:05
Comments: 2
(Similar to "Desktop recoding optimised encoder")Building/modifying applications to rip DVDs into Dirac format. This means creating an AV file containing Dirac and the audio codec of your choice (Vorbis), in a container. Matroska is widely used with H264 for DVD ripping, so is an obvious choice. (Wrapping in Ogg is being defined and implemented in the Schrodinger project already).
Desktop recording optimized encoder
Posted: guest, 2 May 2006 at 10:48
Comments: 0
Dirac encoder targeted especially at Linux desktop recording, using things like X damage extension for instance.
Posted: guest, 2 May 2006 at 10:47
Comments: 0
Write a MXF demuxer and muxer for the GStreamer framework. This would enable producing Dirac in MXF files when used in conjuction with the Schrodinger plugins in development.
SOC: Component bindings to AV codecs
Posted: Matt, 25 Apr 2006 at 14:36
Comments: 3
From the outset, Kamaelia has been engineered with the handling of audio and visual data at heart. Components have already been created providing Ogg Vorbis audio and Dirac video decoding. More components providing access to other popular codecs (mpeg video, mp3, etc) would greatly enhance the range of media types that Kamaelia based applications could play.
SOC: Modifications of Visual Graphline editors, Reapplication to Graphline Video Editting
Posted: Michael, 25 Apr 2006 at 14:26
Comments: 2
We have a nascent visual pipeline editor which is pretty good for creating quick applications using Kamaelia visually. This generates code which you can copy & paste & save. We also have a nascent graphline editor which allows live visualisation and visual modification of the running system. There's a number of possibilities that we can see being useful which would allow more dynamic system builder and faster turn around for system creation.
SOC: CSS-esque Styling and XML (?) Layout Definition of Pygame Applications
Posted: Michael, 25 Apr 2006 at 13:54
Comments: 3
At present we have a simple pygame window manager, or more accurately SDL surface manager. This allows pygame related components to request a pygame surface for rendering on, and not have to worry about how this gets to the display (Indeed it's as if from their perspective they own the whole display). This allows the display & the component to easily do things like alpha blending, transparency, and potentially fun things similar to apple's expose. This project idea relates to allowing the use of CSS techniques to improve display & layout of applications.
SOC: Collaborative Sketching Server - A P2P Events Backplane Application
Posted: Michael, 24 Apr 2006 at 14:59
Comments: 3
In /Sketches/MH/Sketcher we have a nascent, but capable P2P based collaborative whiteboard (clients are also servers). One thing that would be extremely useful in this contents is a stand alone server that can act as a starting point for clients to connect to. You can think of this being like a tracker, but distributing an events stream. A proof of concept here would be to provide a headless server for the collabortive whiteboard, providing facilities not inside the clients.
Posted: Michael, 24 Apr 2006 at 14:46
Comments: 9
Users need to trust their communications - that when something says it's from (say) the BBC it really is from the BBC. Or from their bank. As more communications happens over non-encrypted channels we still need to bear in mind that users must be able to trust both the systems they use and also the data they recieve, otherwise the spam problem we see today will get worse and ruin any distribution channel. This project idea is based around this issue.
SOC: Creation of an integrated bit torrent component
Posted: Michael, 24 Apr 2006 at 14:25
Comments: 1
Currently Kamaelia provides mechanisms for building TCP, UDP & multicast servers. However, this ignores a scalable mechanism for the delivery of content, on which people have been using for sometime with great success - specifically bit torrent. The original implementation of bit torrent is in python, and it would be extremely useful to be able to control a basic client from a Kamaelia based front end.
Posted: Matt, 24 Apr 2006 at 13:39
Comments: 3
The topology visualiser utilises a simple physics model based on repulsion and spring forces to arrange nodes on screen. Although this incorporates optimisations to reduce the computation workload, this would benefit from parallelisation.
Posted: Matt, 24 Apr 2006 at 13:29
Comments: 11
A set of widgets able to perform some basic primitive operations on discrete data that flows through them. This might form quite a fun toolkit for truly visual flow diagram style of programming, but potentially with a very parallel twist (lots of data flowing through the diagram conurrently!). Components might include:
Posted: Matt, 24 Apr 2006 at 13:23
Comments: 1
It would be nice to have the beginnings of a framework for OpenGL in Kamaelia. This would compliment the PygameDisplay and widget components we've built for pygame, but of course would probably be very differently structured.
Hierarchical topology visualiser
Posted: Matt, 24 Apr 2006 at 13:18
Comments: 0
The idea would be to enhance the existing visualiser or build a new one with similar flexibility to the existing one, allowing it to be customised to visualise Axon systems - specifically the hierarchical topology output from the hierarchical introspector suggested here.
Posted: Matt, 24 Apr 2006 at 13:13
Comments: 0
similar in purpose to the existing Kamaelia.Util.Introspector component, but which is a little more intelligent - deducing how components are nested and reflecting this in the topology data it outputs. Other possible enhancements may include abilities to:
Posted: Michael, 24 Apr 2006 at 05:34
Comments: 0
This area is for brainstorming and capturing new project ideas, either using Kamaelia as is or to take Kamaelia in directions not currently discussed. Projects put forward by the team will be clearly labelled as being put forward by either Michael or Matt. If you want to put forward a project, please feel very welcome to do so!