Difference between revisions of "Todo for OLPC"

From GCompris
Jump to: navigation, search
(Requirements for an XO version)
Line 41: Line 41:
 
* We should be able to run all activities without the mouse, more specificaly, with a gamepad. This allow it to be used with the OLPC in tablet mode but also with alternate peripherals or alternate platforms with no mouses.
 
* We should be able to run all activities without the mouse, more specificaly, with a gamepad. This allow it to be used with the OLPC in tablet mode but also with alternate peripherals or alternate platforms with no mouses.
 
* Sugar bundle interoperabiliy. GCompris activity should be packaged as sugar bundles and can be used on the OLPC. On the other way, sugar activities should be playable under GCompris.
 
* Sugar bundle interoperabiliy. GCompris activity should be packaged as sugar bundles and can be used on the OLPC. On the other way, sugar activities should be playable under GCompris.
 +
* No more use SDL_Mixer and use gstreamer instead (DONE).
  
 
[[Category:Developer]]
 
[[Category:Developer]]

Revision as of 01:04, 23 May 2007

GCompris running on the OLPC XO

OLPC links

Abiword example

  • AbiWord on OLPC
  • a AbiWord GtkWidget with the abiword canvas is ine the libabiword, with python bindings. This widget takes it's interaction with GObjetc properties modifications. That make possibles easy python bindings, and integration qith custom interface.

GCompris Widget possibility

  • We can do the same as AbiWord. a GCWidget with the main canvas (not the bar) can gets the keyboard/validate/replay/end/level/root_menu interation from gobject property.
  • We need to make known some stuff like gcompris_bar_hide, gcompris_bar_set. We can do that emiting signals.
  • that makes python bindings easy, so main interface (and bar) can be written in python for sugar integration; like abiword.
  • properties can use g_object_property too. We need to choose wich property are Widget side, wich are main side.

GCompris in Python

We can alternatively make a python version of GCompris main/bar/board for launch our python boards. That means integrate for OLPC only python boards.

GCompris without integration

I just received and OLPC XO. I have been able to run GCompris by intalling it through the Fedora YUM package installer. Once intalled, in Sugar, using the Alt+= key, you can run GCompris and it will be displayed in the Sugar area if nothing was started in before.

I can already report the problems:

  • Default GCompris screen size is too small, we can improve the situation by using our 1024x768 setup.
  • Texts are displayed too big.
  • The background sound takes 30% of the CPU
  • In activities with animation, it runs but so slow that it's unusable. We could easily make animations with a bigger step to improve the situation.

Requirements for an XO version

Sugar and the XO brings some new requirements we had not previously in GCompris.

  • Screen size independance. GCompris should not resize the screen but use all the user screen size.
  • Dynamic screen size change. On the OLPC, it's possible to rotate the screen, we should support that. On PC in window mode, we should similarly be able to resize the window dynamically.
  • The two first requirements means that using SVG is a must
  • We should be able to run all activities without the mouse, more specificaly, with a gamepad. This allow it to be used with the OLPC in tablet mode but also with alternate peripherals or alternate platforms with no mouses.
  • Sugar bundle interoperabiliy. GCompris activity should be packaged as sugar bundles and can be used on the OLPC. On the other way, sugar activities should be playable under GCompris.
  • No more use SDL_Mixer and use gstreamer instead (DONE).