Walter Bender | 28 Oct 14:47 2014

Google Code In

I just submitted the Sugar Labs application for Google Code In (GCI).

For those of you unfamiliar with GCI, it is a programming contest for
children ages 13-17. We've participated the past 2 years -- it is
really fun but the reason why we participate is that we want to
re-enforce the message that Sugar belongs to its users and that they
have both ownership and the responsibility that ownership implies.
Just as learning is not something done to you, but something you do,
learning with Sugar ultimately means participating in the Sugar
development process. At Sugar Labs, we are trying to bring the culture
of Free Software into the culture of school. So the Code-in is not
just an opportunity for us to get some tasks accomplished, it is
quintessential to our overall mission.

It is now time to sign up as a mentor (See [1]). Our organization ID
is sugarlabs.
Mentors help coach the students on their tasks and can sign off on
work that is completed. (Note: mentors must be age 18+). Please
contact me if you have any questions.





Walter Bender
Sugar Labs
(Continue reading)

Walter Bender | 27 Oct 00:52 2014

Re: [Bugs] #3417 ActivityTeam UNSP: Spirolaterals should ask OLPC builds not to suspend while drawing

GCI task...

On Wed, Oct 22, 2014 at 8:19 PM, Sugar Labs Bugs
<bugtracker-noreply <at>> wrote:
> #3417: Spirolaterals should ask OLPC builds not to suspend while drawing
> ----------------------------------------+-------------------------------
>   Reporter:  greenfeld                  |            Owner:  garycmartin
>       Type:  enhancement                |           Status:  new
>   Priority:  Unspecified by Maintainer  |        Milestone:  Unspecified
>  Component:  ActivityTeam               |          Version:  Unspecified
>   Severity:  Unspecified                |       Resolution:
>   Keywords:                             |  Distribution/OS:  OLPC
> Bug Status:  Unconfirmed                |
> ----------------------------------------+-------------------------------
> \
> \
> \
> \
> \
> \
> Comment (by godiard):
>  Now can use the inhibit suspend routines in the toolkit
> \
> \
> \
> --
> Ticket URL: <>
(Continue reading)

Jerry Vonau | 24 Oct 22:07 2014

Fwd: F-21 Branched report: 20141024 changes (sugar-tamtam deps)

Hi All:

Might want to have a look at this issue in the future.

> ---------- Original Message ----------
> From: Fedora Branched Report <rawhide <at>>

> Date: October 24, 2014 at 6:24 AM
> Subject: F-21 Branched report: 20141024 changes
> Compose started at Fri Oct 24 07:15:02 UTC 2014
> Broken deps for armhfp

Not sure why sugar-tamtam is not listed here but is mentioned below.
Guess the package is not build for arm?

> Broken deps for i386
> ----------------------------------------------------------

> [sugar-tamtam]
>       sugar-tamtam-common-0-0.14.20100201git.fc21.i686 requires

> Broken deps for x86_64
> ----------------------------------------------------------

> [sugar-tamtam]
>       sugar-tamtam-common-0-0.14.20100201git.fc21.x86_64 requires
(Continue reading)

Lionel Laské | 24 Oct 17:21 2014

Web activities and responsive design: the dark side

Hi all,


As I've worked on Sugarizer v0.5, I was faced to the need to adapt web activities to a responsive design.  Shortly, it means that activities could be usable with different screen resolution from smartphone to PC. I would like to share with you some lessons I've learnt.


1) Think to multiple screen

"old" activities was conceived for the XO resolution (1200x900) or at best for a PC screen size. With possibility to run activities on any device, you have to support lower screens too. I've choose to support 480x320 (small smartphone), 1024x768 (small tablet), 960x540 (medium smartphone). It could be interesting to support greater resolution too like 1920x1200 (HD Tablets). More on current screen sizes here [1].

Note also that smartphone screens are used in portrait mode but to avoid complexity I've choose to force landscape in Sugarizer. So you could consider that the width is bigger than height.

Note that Firefox include a very nice tool to test multiple resolution [2].


2) Use percent instead of pixel

To set size of objects, you should replace in your CSS file pixel size by percent. Instead of pixel, percent is size independent. Do the same for positioning too. For example, in one of my activity I've replaced:


.game-popup {

left: 400px;

top: 460px;

width: 250px;





.game-popup {

left: 25%;

top: 55%;

width: 40%;



Note however that it don't work for height because height is computed during page rendering.

In that case or when you really need to use pixel size, you could use max-height and max-width like in:


height: 300px;

max-height: 30%;


Finally, note that as specified on 1), screen resolution are not only different but has different width/height ratio. For example ratio is 1.5 for 480x320 and 1.7 for 960x540. You should take that into account when you compute size of page elements.


3) Adapt content

Using percent is not sufficient. You will have to change your page depending of the screen resolution. The better place to do that is in the CSS file. More precisely, you could use media queries to adapt dynamically items size to the current screen size.


Let's take an example from one of my activity. As you could see: width, font and border are specified for each resolution.


<at> media screen and (max-width: 480px) {        

.shadowbutton-image {

width: 60px;



.card {

border-width: 3px;

box-shadow: 3px -2px 2px 1px black;        



.cardText {

font-size: 12px;        



.home {

top: 24%;




<at> media screen and (min-width: 481px) and (max-width: 640px) {

.shadowbutton-image {

width: 80px;



.card {

border-width: 4px;

box-shadow: 4px -3px 3px 2px black;                        



.cardText {

font-size: 14px;        




Sometimes, playing with size will not be sufficient. In that case, you could think to hide or shorten some items in your UI.


For example Gears activity automatically hide help button if the screen is too small.


<at> media screen and (max-width: 567px) {

#main-toolbar #help-button {

visibility: hidden;




Or GridPaint activity compute in JavaScript a canvas zoom to adapt drawing to the screen size.


var wsize = document.body.clientWidth;

if (wsize <= 480) {

zoom = 0.353;

} else if (wsize <= 640) {

zoom = 0.501;

} else if (wsize <= 854) {

zoom = 0.565;

} else if (wsize <= 960) {

zoom = 0.645;

} else if (wsize <= 1024) {

zoom = 0.95;

} else {

zoom = 1.10;


document.getElementById("canvas").style.zoom = zoom;



4) Set viewport in your HTML pages

Since emergence of smartphone and thanks to the first iPhone, smartphones automatic zoom pages to ensure that it could fit into a small screen. This feature is great when you want to display a HTML page adapted to a PC screen but it's not at all practical when you write a responsive design interface where you try to adapt yourself the content to the screen size.


A specific tag on your HTML allow you to tell to the mobile browser that you don't want an automatic zoom. It's:


<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height"/>


Shortly it means to use device width and height and to ignore zoom. Always think to include this tag in your HTML header. More on the viewport tag here [3]


5) Take care to DPI

Managing screen width and height is not sufficient. Rendering on smartphone and tablet screens depend of pixel density or DPI (i.e. Dot Per Inch). The more the density is the more it impact the real width and height size. Recent smartphones and tablets use high DPI as a marketing argument to sell devices (think to "Retina"). Shortly, on high density screens 1 pixel width could be represented by 2 (or more) real pixels width. So of course, testing on a PC screen (where 1 pixel = 1 pixel) will not give the same result than on the real device. Only testing on real device with different DPI size will guaranty that your activity will fit correctly.

A good explanation of DPI could be read here [4].



Hope that all these explanations will help you to write adaptive activities.

Do not hesitate to have a look on activities include into Sugarizer to a better understanding of how responsive design work. Do not hesitate too to ask me for help.


Best regards from France.









Sugar-devel mailing list
Sugar-devel <at>
Sugar Labs Activities | 24 Oct 02:56 2014

[ASLO] Release TurtleBots-27

Activity Homepage:

Sugar Platform:
0.86 - 0.102

Download Now:

Release notes:
 * uses TurtleBlocks v208+
 * fix fischer refresh function
 * add fischer speed control
 * stop fischer actuators on stop and exit
 * change color of fischer blocks
 * update NxT plugin
 * update WeDo plugin
 * update RoDI plugin
 * update extras commit

Sugar Labs Activities
Siddharth Kulshresth | 18 Oct 17:23 2014

Re: Error while setting up dev environment

oops correction..the correct link is

On Sat, Oct 18, 2014 at 8:27 PM, Siddharth Kulshresth <think.siddharth <at>> wrote:
Hello guys!

I am trying to follow the instructions given here -

However when i use
./osbuild pull
, I get the following error -
= Setup the host build system =

* Create the python virtualenv
Traceback (most recent call last):
  File "/home/siddharth/sugar-build/build/out/sandbox-host/cache/virtualenv-1.11.4/", line 2338, in <module>
  File "/home/siddharth/sugar-build/build/out/sandbox-host/cache/virtualenv-1.11.4/", line 824, in main
  File "/home/siddharth/sugar-build/build/out/sandbox-host/cache/virtualenv-1.11.4/", line 992, in create_environment
    install_wheel(to_install, py_executable, search_dirs)
  File "/home/siddharth/sugar-build/build/out/sandbox-host/cache/virtualenv-1.11.4/", line 960, in install_wheel
    'PIP_NO_INDEX': '1'
  File "/home/siddharth/sugar-build/build/out/sandbox-host/cache/virtualenv-1.11.4/", line 902, in call_subprocess
    % (cmd_desc, proc.returncode))
OSError: Command /home/siddharth/suga...nstall/bin/python2.7 -c "import sys, pip; sys...d\"] + sys.argv[1:]))" setuptools pip failed with error code 1
Traceback (most recent call last):
  File "./osbuild", line 488, in <module>
    if not main():
  File "./osbuild", line 467, in main
    if not setup(options.command):
  File "./osbuild", line 305, in setup
    raise e
subprocess.CalledProcessError: Command '['python2.7', '/home/siddharth/sugar-build/build/out/sandbox-host/cache/virtualenv-1.11.4/', '-q', '--system-site-packages', '/home/siddharth/sugar-build/build/out/sandbox-host/install']' returned non-zero exit status 1

I am on Lubuntu 14.04 (32bit)

Can someone help me out with this?



Sugar-devel mailing list
Sugar-devel <at>
Martin Abente | 17 Oct 21:51 2014

[Announcing] Sucrose 0.103.0 unstable release

Hello everyone,

I am pleased to announce our first release of the 0.103.x series. Please keep in mind that this is an unstable release, as we move forward for the stable 0.104.0 release, please help us testing it!

For more information about this release and its development roadmap, please visit the following links:
The tarballs can be downloaded from:
Sugar-devel mailing list
Sugar-devel <at>
Lionel Laské | 17 Oct 17:25 2014

[Announcement] Sugarizer v0.5 is available for your device

Hi all,


I'm proud to announce the fifth version (0.5) of Sugarizer, a taste of Sugar for any device.


I've decided to put the focus on this version on three majors points:

  • Responsive Design: to ensure that Sugarizer could work on any screen size, from the smallest smartphone screen (320x480) to the bigger tablet screen (2560x1600).
  • Android support: I've done a huge work to ensure that Sugarizer and activities work well on Android so I've fixed lot of issues related to Android limitation. Of course due to diversity of the Android ecosystem, some issues could still exist on Android versions lower than 4.2.
  • Firefox OS support: Thanks to Mozilla foundation that help me on that, Firefox and Firefox OS are now #1 platforms for Sugarizer. Sugarizer has been tested successfully on Firefox browser and on several Firefox OS devices (Keon, Peak, Flame).


Finally, because it's very important for us that Sugar/Sugarizer could be accessible to every users, I've packaged and published Sugarizer on three major app stores:

Of course, you could also install it by yourself using instructions on the Sugarizer website if you don't like stores.


Other features of this version:

  • Updated TurtleJS version, now save automatically context in the Journal
  • Updated Gears version, now use colors for gears
  • New Etoys activity (beta)
  • Favorites activities are now saved in user settings (so, could be retrieved from a device to another)
  • Favorites activities are now configurable at server settings
  • German localization


Do not hesitate to fork and contribute: I need you to Sugarize the world !

All contributors are welcome.




P.S.: Special thanks for their contribution on this version to: Jorge Alberto Gómez López (TurtleJS activity), Manuel Quiñones (Gears activity), Bert Freudenberg (Etoys activity), Christian Stroetmann (German localization), Jason Weathersby (Firefox OS support).

Sugar-devel mailing list
Sugar-devel <at>
Sugar Labs Activities | 14 Oct 04:23 2014

[ASLO] Release Develop-42

Activity Homepage:

Sugar Platform:
0.96 - 0.100

Download Now:

Release notes:
Fix zoom tooltips - SL #4749
When create a xo, set metadata to show the xo icon in the journal - SL #4748
Fix clipboard operations - SL #4747
Update the web activity skeleton

Sugar Labs Activities
Flavio Danesse | 12 Oct 04:53 2014

Re: Regarding the Sugar Labs Text to Speech feature.

Hola gente, hoy me hice un rato para probar festival en la xo.
Todo funciona perfecto, los paquetes necesarios están disponibles para instalarlos en la xo.

Cambiar la funcionalidad de espeak por festival en aplicaciones sugar es muy sencillo, pero antes es necesario que incluyan en la imagen de sugar los siguientes paquetes:


2014-10-07 13:42 GMT-02:00 Gonzalo Odiard <godiard <at>>:
Good, this is a start.

We need two things to substitute espeak:
* We need svox packaged in fedora or rpmfusion 
apparently is not completly free, then can't be included in fedora.
I wonder why is packaged on Debian.
Is already in the wish list for rpmusion [1]
If you are working on Ubuntu, probably is out of your confort zone :), 
but many users of Sugar use the XO computers, and the distribution installed is Fedora.
Maybe you can contact rpmfusion guys to get help moving this issue

* We need mechanisms to get the same functionality already available on espeak,
off the top of my head:
 * get the list of languages availables
 * get the best language for the selected locale.
 * be able to pause/continue/stop a text played.   

Please subscribe to sugar-devel [2] and continue the conversation there.



On Tue, Oct 7, 2014 at 9:34 AM, Nurendra Choudhary <nurendrachoudhary31 <at>> wrote:

I implemented a code in python using svoxpico you mentioned earlier for text to speech.
The code can be found here.

On Tue, Oct 7, 2014 at 6:04 AM, Gonzalo Odiard <godiard <at>> wrote:
Most of our users don't have connnectivity available full time

On Mon, Oct 6, 2014 at 9:13 PM, Nurendra Choudhary <nurendrachoudhary31 <at>> wrote:
It is possible on a linux system but network connectivity is required. I thought that sugar labs had network connectivity. I will try something else.

with network, the command is $curl -A "Mozilla" "" > audio.mp3
I will try to find the source code.

On Tue, Oct 7, 2014 at 5:26 AM, Gonzalo Odiard <godiard <at>> wrote:
It  is possible use it on a linux system?
Can be used if you are disconnected?



On Mon, Oct 6, 2014 at 8:53 PM, Nurendra Choudhary <nurendrachoudhary31 <at>> wrote:
Have you thought about using the Google Text to Speech API. Its easily integrable and provides good sounds and also different accents.

Gonzalo Odiard

SugarLabs - Software for children learning 

Gonzalo Odiard

SugarLabs - Software for children learning 

Gonzalo Odiard

SugarLabs - Software for children learning 

Sugar-devel mailing list
Sugar-devel <at>

Sugar-devel mailing list
Sugar-devel <at>
Nurendra Choudhary | 12 Oct 03:22 2014

problem with ./osbuild build


After running ./osbuild build.....I get the following error.

= Building =

* Building sugar-web

Command failed: volo -nostamp -f add

Error: connect ECONNREFUSED
Retrying (attempt 1) in 1 minute

I am working behind a proxy and i think that this problem is probably with nodejs.
Can you please tell me the solution?

Nurendra Choudhary
Sugar-devel mailing list
Sugar-devel <at>