For Freevo 2.0 we changed many parts of the code, some parts moved in extra python modules and some parts got a complete rewrite. Because of that, not everything is working right now, e.g. the GUI part got a restructuring with a big rewrite of important parts. For that reason some plugins still don't work, they are auto deactivated and can only be activated when the code is ported to the new interface.
Roadmap
People start asking when Freevo 2.0 will be out. Some things on the TODO list must be done before I even consider a 2.0pre1 and more things need to be done for the final 2.0. This roadmap is based on the estimated free time of me and the support I expect from other developers. I was wrong before (2.0pre1 out in 2005), but we are getting closer.
- -- Dischi, March, 2008
Freevo 2.0pre1
The goal of this release is not something users can already use, it's purpose is a clean and documented API for others to help us developing. Right now we are down to 2 developers with less free time than we want. Based on 2.0pre1 others may help us in parts we did not cover or can't cover because of missing hardware, e.g. 2.0pre1 may only contain DVB-T and no DVB-S support. Based on 2.0pre1 someone can easily add DVB-S.
There are two major problems with the Freevo 2.0 trunk that need to be fixed before even considering a 2.0pre1. If you want to help us with one of the problems, contact us on #freevo at irc.gnu.org.
New GUI
Right now the 2.0 uses a kaa.mevas as GUI backend which is based on imlib2.
However, kaa.mevas is too slow for nice eye candy effects like animations, picture in picture and embedding external applications. The development is split into creating a GUI library called kaa.candy and integrating it later.
Currently both kaa.evas and kaa.canvas exist in subversion, but are not used.
Once a decision is made on a drawing library for kaa.candy (below), they will be removed/moved to DEPRECATED.
kaa.candy
Main Developer: Jason Tackaberry (Tack / Tackwork on IRC)
Requirements:
- Canvas library to show images, other applications (using XComposite) and videos (picture in picture) inside the GUI system. We need to figure out which backend has the best support for that.
evas (Enlightenment).
- Pros: does not require X11
- Cons: no sub-pixel support, limited effects (e.g. no mirror effect)
- Pros: May has everything we need, including animation support. Python bindings exist already.
- Cons: X11 required (but we can live with that)
- Pros: Python bindings exist already.
- Cons: Looks like OpenGL/X11 only.
- Animation support
- Layout engine. We need to figure out how powerful the engine has to be
- Skins for Freevo will be for 4:3 or 16:9 TVs and should be independent of the real resolution
- We may not have scare pixel. E.g. a 1280x1024 resolution of a 4:3 monitor
- We also need some ideas how designers think Freevo should look like
Freevo Integration
Main Developer: Dirk Meyer (dischi on IRC)
Requirements:
kaa.candy
Recorder
The current TV support based on some self-made lib (kaa.record) does not work well. Our goal is to use gstreamer as backend. Zaheer Merali did a great job with DVB gstreamer support.
Main Developer for Freevo/Kaa: Dirk Meyer (dischi on IRC)
Main Developer for Gstreamer: Zaheer Merali (zaheer on IRC)
If you want to help you do not need to understand the whole Freevo architecture. Depending on the task you want to help you need more or less Freevo or Gstreamer knowledge.
Tasks:
- Improve gstreamer support (zaheer / dischi). Codebase: gstreamer
- Create a new kaa.record based on gstreamer with a new API (dischi). Codebase: gstreamer, kaa.base
- Update freevo-tvdev to the new API (dischi). Codebase: gstreamer, kaa.base, new kaa.record, freevo core
Freevo 2.0pre2
- Control Freevo using the webserver
- Complete configuration with the Freevo webserver
- Make the webserver be based on kaa.cherrypy (see freevo/WIP)
- Add channel scanning to kaa.record (incl. DVB), some work is already done for V4L.
- Add V4L analog TV support and DVB-S/DVB-C to kaa.record. Right now only IVTV and DVB-T are working.
- More TV features: DVB-EPG, Teletext
Freevo 2.0pre3
- Make deactivated plugins work again
- Check deactivated stuff in the code
- Code cleanup
- Update translation
Other tasks
This is a list of tasks not in our roadmap but requested by users. I hope we can find someone willing to help us after 2.0pre1 is out to fulfill the wishes:
- Better games support
- Radio
- VLC
- Weather plugin
- RSS reader / podcast
- Mail client
- VoIP (SIP)
- Home automation
- Browser (Mozilla/Minimo on evas?)
- Secure access to the system from outside the LAN
- Stream Freevo GUI image to dump box
- DirectFB, Framebuffer support
- UPnP
