DoudouLinux dev's blog

To content | To menu | To search

Sunday 15 January 2012

LxLauncher: automatic icon size for a nicer interface

One issue we had in mind for a while is the fixed size of icons in LxLauncher. Depending on screen resolution, this size can be fitting well (small resolutions) or really too small (large resolutions). In the later case, the interface of advanced activities like “Whole DoudouLinux” and “Mini DoudouLinux” can look very empty, just as the screenshot that is unfortunately available on our DistroWatch page.

With automatic icon size computation, we are now able to get a similar rendering on various screen resolutions as shown on the photo composition below. In this case, screen resolutions are 1280×800 (HP), 1280×1024 (CRT display), 1024×768 (Dell) and 1024×600 (Genesi), leading to screen size ratios 5÷4, 4÷3 or between 16÷10 and 16÷9. If you want to give it a try, just download one of our recent dailybuilds, in English or French only.

Automatic icon size for LxLauncher

We hope then to not see this kind of screenshot anymore:

LxLauncher without automatic icon size

Now few words about the way we achieved it.

In Debian Squeeze, the LxLauncher version, v0.2.1, features icon size tuning in a configuration file, /etc/xdg/lxlauncher/settings.conf. This is an easy way to change the icon size but, of course, requires user action. This is why we've developed a shell script that is called during GDM initialization to adapt the icon size to the actual screen resolution. The algorithm is the following:

  1. compute screen surface in pixels-square
  2. compute the width of icons to have a given number of them in a given portion of the screen (45% in our script)
  3. compute the rounded number of icons per row using the previous width
  4. compute the final icon width using screen width and number of icons per row

This script is available on our SVN server. Its algorithm is designed to be independent of screen orientation since it does not uses the screen width to compute the icon size but the screen surface. We hope then to be able to run DoudouLinux on any device in the future, from the smallest handheld devices to the largest TV screens :).

Finally, what about the stable DoudouLinux release Gondwana? Well it is shipping with LxLauncher v0.2.0 which does not allow to set icon size (it is hard-coded). Nevertheless trials have been performed to backport icon size setting from 0.2.1 and it seems to work! We should then release the latest update of Gondwana, v1.2, with this new feature :).

Thursday 12 January 2012

DoudouLinux environment on Genesi Efika: we did it!

We're very glad to announce that our work to have DoudouLinux running on ARM™ devices has much progressed during the past few weeks. As shown on the photo below, we're now able to run the full DoudouLinux environment on the Efika MX smartbooks that Genesi graciously offered our project. Although not everything is perfect right now, this is an important step forward on our way to ARM™. We're now planning to upload a first Genesi/Efika disk image quite soon, to let enthusiastic people test and hopefully enjoy :).

DoudouLinux on Genesi/Efika

This work has been achieved by DrEagle for the Debian ARM™ base image and Jean-Michel (me) for the packaging of DoudouLinux tricks that turn a light installation of Debian Squeeze armel into a DoudouLinux environment. DrEagle has worked on writing a generic disk image generation process in order to be able to address any ARM™ hardware in the future. He first focused on producing a standard Debian image and he's now moving on to producing an armel DoudouLinux image directly. In the meanwhile I focused on splitting the DoudouLinux environment tricks into generic tricks and live-specific tricks[1], then put them into standard Debian packages. As a result, installing our latest custom packages should be enough to turn any Debian or Debian-like machine into a DoudouLinux computer, whatever the target architecture (no real test has been performed though ;) ). A dedicated post will be written soon.

Now next steps are the following:

  1. Setup a buildd package server in order to ease our work of releasing binary packages for 4 architectures and 3 distribution code names.
  2. Move from the slow armel port to the faster armhf port[2].
  3. Terminate the migration of the live environment tricks into Debian packages.
  4. Build images for other ARM™ hardware, especially the new Genesi hardware to come.
  5. Prepare our next official, stable release that will be the base for a first official ARM™ release.
  6. Test and debug – not too much we hope!

As you can see there is still quite a long way to go but we've shown that this is not wishes only but rather a matter of perseverance and hardware availability. Of course we're very thankful to Genesi to have supported us in our early ARM™ development stages. We're now eager to test DoudouLinux on the very latest ARM™ hardware available :). Stay tuned!

Notes

[1] Recall that DoudouLinux was basically designed to be a LiveCD, not a standard Linux system.

[2] We have to confess that currently the armel port combined with the quite low graphic performances of the old generation of ARM™ smartbooks doesn't allow all the DoudouLinux applications to run smoothly. While there is still uncertainty for real 3D games like SuperTuxKart, we believe that armhf on the latest generation of hardware should lead to a really attractive environment for children and… parents!

Saturday 5 November 2011

Genesi supports DoudouLinux ARM™ port

Genesi logo We are very glad to announce that Genesi, which makes computing products using ARM™ and Power Architecture™ technology, has accepted our project DoudouLinux in its latest sponsorship program around the i.MX53 chip from Freescale. The team will benefit from Genesi hardware, graciously donated to help us port DoudouLinux on ARM™. Moreover, as Genesi is already running Debian on its ARM™ devices, this collaboration will undoubtedly speedup our work :).

This first partnership is just the beginning of our move to ARM™ architecture. As this platform is quickly increasing in popularity, we have understood during the early stages of the project that we could not miss this opportunity to provide children all around the world with adapted, efficient, easy, pleasant and… free software. Of course any volunteer willing to help the project is welcome! We are impatient to have DoudouLinux on ARM™: the more developers we are, the faster it will occur.

Stay tuned!

Tuesday 1 February 2011

Graphical interface to set the session menu

A new tool to set the session menu has been developed. It has been designed to be dead easy to use: you are shown the list of possible sessions and just check or uncheck the sessions that you want to see or hide. You can then easily adapt the main screen to the audience: small or big children (or adults ;) ). In the future we may add an option to force autologin for a given activity.

Please note that sessions are called activities in the interface, which is certainly more easy to understand for people who are not familiar with computers. Here is a screenshot:

doudoulinux-sessions

The tool is not available in CD's yet but will be added to next release, the 2011-02, due to late February. It is already available on our Debian package repository. In the meanwhile, if you really feel the need to use it, you can install it manually in a running DoudouLinux:

$ wget http://debian.doudoulinux.org/pool/main/d/doudoulinux-sessions/doudoulinux-sessions_1.0-3_all.deb
$ sudo dpkg -i doudoulinux-sessions_1.0-3_all.deb

Of course everything is lost at shutdown if you have not activated persistence or not installed DoudouLinux definitively.

Thursday 13 January 2011

Daily build section re-factored

After the current release was out, the dailybuild section naturally disappeared since all its contents simply moved to the official download section. We took the opportunity to change the location of this dailybuild section so please now visit:

http://download.doudoulinux.org/dailybuild/

Due to changes in the web server configuration, it is not possible to browse our public directories anymore. So we also wrote a Php script in this section to get a table of downloadable files, just as the official download section. Finally there are currently 2 ISO files available. One is the first Chinese build and the other one is a new Russian build with a translation file fixed (see ticket https://gna.org/bugs/?17360).

Thursday 30 December 2010

DoudouLinux logo designed

A first DoudouLinux logo has been designed from the website artwork. It is available as PNG files as well as SVG source file. To draw it we used Inkscape 0.46 and draws from the Open Clipart Library, just as we did for our website. Pages and news will be published soon on our website to inform our visitors that they can now use it to promote our project.

logo-100x48.png

logo-150x72.png

logo-200x96.png

logo-300x144.png

logo-400x192.png

Thursday 21 October 2010

Parental controls: web content filtering activated

One feature that has been often said as being missing in DoudouLinux is parental controls. This is true, a web browser is shipped within DoudouLinux but no parental control was implemented to prevent children to visit “naughty” pages until recently. Of course this was not desirable for a system targeted at children and even small children. Filtering does not pretend to replace parents with software(!) but this is an additional security, simply because you cannot always be beside your children on the computer (and he doesn't want you to surely!).

Well, let's talk about technique now… There are different components in parental controls. Here we only focussed on web filtering. Other components, such as authorized hours of use, will be evaluated later. For web filtering we opted for the famous DansGuardian web content filtering solution. This tool provides two ways of avoiding naughty sites: a classical black list and a less classical real-time content filtering. The second is really an interesting feature: it can block a Google search which would otherwise give “naughty” results. The following screen capture shows a blocked Google search for the word “sex”. Yes this would give mainly naughty results…

DansGuardian error page (French)

However recent tests showed that DansGuardian is not perfect yet - so do not leave your children all day long on the Internet ;). We think that this is due to localization of black lists and keyword lists. Our translation team will then have to do some work to show if localization is really the source of malfunctioning or not.

Concerning the mechanics, a French article provides very good information on how to make DansGuardian run along with Squid, some proxy software. Using both tools and some firewalling rules in IPtables, we get a system in which web page requests cannot avoid DansGuardian[1]. However we had to do some more tuning to ensure that both Squid and DansGuardian are always started after network is actually setup. Without taking care, web access would not work at all whenever the network cable is plugged after DoudouLinux is fully working.

Notes

[1] except if a website is not using the standard port 80, but this never happens…

Saturday 9 October 2010

Daily builds available!

We have created a new download section named “Daily build”. There is a section for LiveCD images and section for USB key images. Please note that these files cannot be downloaded from the standard download web page because these files are uploaded onto the server for testing purposes only. As usual, this does not mean that they do not work correctly at all!

Unlike what its name suggests, we do not intend to build a DoudouLinux version every night in this directory for obvious upload bandwidth reasons. Instead you may find sometimes versions that are being developed and made available during several days (say at least 7 days). The page Release notes provide information about what has been changed from the latest official build (currently the 2010-08).

Wednesday 29 September 2010

Nouvelles interfaces pour la souris et la sortie son

Les premières interfaces dignes de ce nom ont été écrites pour l'outil de réglage de la souris et celui de réglage de la sortie son. Du point de vue fonctionnel c'est pareil qu'avant, mais du point de vue esthétisme, on pense avoir quand même fait beaucoup mieux ! Quelques heures à s'arracher les cheveux pour se perfectionner un peu en PyGtk et voilà le résultat :

mouse-setting.png

set-alsa-output.png

Bon maintenant il n'y a plus qu'à patienter pour que ce soit sur les CD. Ou sinon faites un tour dans notre dépôt de code source. Les mises à jour des paquets Debian devraient aussi finir par arriver, avant les nouvelles versions des CD !