Sugar Labs/FAQ

Community Home   ·   Join   ·   Contacts   ·   Resources   ·   FAQ   ·   Roadmap   ·   To Do   ·   Events Calendar

Sugar

What is Sugar?

Sugar is an educational software platform built with the python programming language and based on the principles of cognitive and social constructivism.

Who is doing Sugar development?

Sugar is a community project. At present some of the Sugar developers under contract to OLPC; most of the Sugar developers are volunteers. You can get an idea of the people involve from the Development Team/Release/Modules page.

What makes Sugar different from other educational software platforms?

The Sugar interface, in its departure from the desktop metaphor for computing, is the first serious attempt to create a user interface that is based on both cognitive and social constructivism: learners should engage in authentic exploration and collaboration. It is based on three very simple principles about what makes us human: (1) everyone is a teacher and a learner; (2) humans by their nature are social beings; and (3) humans by their nature are expressive. These are the pillars of a user experience for learning.

Sugar also considers two aphorisms: (1) you learn through doing, so if you want more learning you want more doing; and (2) love is a better master than duty—you want people to engage in things that are authentic to them, things that they love.

The presence of other people is always present in the Sugar interface: collaboration is a first-order experience. Students and teachers engage in a dialog with each other, support each other, critique each other, and share ideas.

Sugar is also discoverable: it can accommodate a wide variety of users, with different levels of skill in terms of reading, language, and different levels of experience with computing. It is easy to approach and yet it doesn't put an upper bound on personal expression; one can peel away layers and go deeper and deeper, with no restrictions.

Sugar is based on Python, an interpreted language, allowing the direct appropriation of ideas: in whatever realm the learner is exploring—music, browsing, reading, writing, programming, graphics, etc.—they are able to drill deeper; they are not going to hit a wall, since they can, at every level, engage in debugging both their personal expression and the very tools that they use for that expression.

Using Sugar

Who can use Sugar and how do they benefit?

Sugar is a free software project, freely available to anyone who want to use it or improve upon it.

The Sugar platform was designed for young children (K–6), but it is finding applicability in a number of different venues where the simplicity of design maps is an enabler, e.g., mobile applications, the elderly, etc.

Why Sugar? Sugar will engage even the youngest learner in the use of computation as a powerful "thing to think with." They will quickly become proficient in using the computer as a tool to engage in authentic problem-solving. Sugar users develop skills that help them in all aspects of life.

  • Sugar comes with hundreds of tools for discovery through exploring, expressing, and sharing: browsing, writing, rich media, etc.
  • Sugar comes with a built-in collaboration system: peer-to-peer learning; always-on support; and single-click sharing.
  • Sugar comes with built-in tools for reflection; a built-in portfolio assessment tool that serves as a forum for discussion between children, their parents, and their teachers.
  • The Sugar learning platform is discoverable: it uses simple means to reach to complex ends with no upper bound on where you can reach.
  • Sugar is designed for local appropriation: it has built-in tools for making changes and improvements and a growing global community of support.
  • Sugar puts an emphasis on learning through doing and debugging: more engaged learners are to tackle authentic problems.
  • Sugar is available in a wide variety of forms: as part of GNU/Linux distributions; LiveCD; and in a virtual machine.

There is a further summary of the Sugar benefits here.

How can I get online with the LiveCD, and what can I do then?

The LiveCD must be in your CD-ROM or DVD drive when you start your computer, and your BIOS settings should be set to first look for an operating system there. If the settings are okay, the LiveCD will boot.

After a little while, you will be prompted for a name and you will get to choose the colour of your avatar. This is a small X, like the arms and legs of a human, with an O as the head above the X. This is "you".

Wait a little longer, and you will see "yourself" in the middle of the screen. Just below "you", is your journal, where everything you do is recorded. Below the journal you will notice an empty ring - this will show your signal strength once you have connected to a wireless access point. So let's do that now.

In the top left corner is a circle of smaller circles. This is your Neighbourhood-circle. At the moment, only nearby wireless access points are visible as small coloured circles - more colour inside means better signal strength. Let your mouse pointer hover above a circle to see the name of the wireless network. A small padlock means you need to supply a username and password to access the network. Click the circle you would like to access. It should be a wireless network you know will grant you Internet access once you are connected. If the network is protected with a padlock, you will be prompted for a valid username and password at this point, so give these and click the OK-button. If everything is okay, you are now connected.

You should soon see many small avatars like your own in your neighbourhood. Hover your mouse pointer above them to see what they are called.

In the top left corner next to the Neighbourhood-circle, is your Friends-circle. You don't have any Sugar-friends at the moment, so this will be empty. Next to the Friends-circle is a circle with a single dot - that's right - it means you. Click the You-circle, and you will get back to you and your activities.

At the bottom of the screen are many activities, so click the one that looks like a cartoon talk bubble to start the Chat-activity or some other activity - like the Paint-activity or the Calculator-activity. After a little while, the new activity opens. In the top right corner of all activities is a small menu, which says "Share with:". Click this to unfold the options, and choose Neighbourhood by clicking on it.

Click the Neighbourhood-circle again, and you will notice that the activity is now visible to everyone in your neighbourhood. If you hover your mouse button over an activity in your neighbourhood, a small menu will unfold where you may choose to join the activity by selecting "Join" from the activity's menu. Remember, your neighbourhood is the entire world! People in other parts of the world may be working or sleeping when you start sharing your activities, so be patient - it might be many hours before anyone is available for a chat. Enjoy! :-)

Does Sugar run on {GNU/Linux, Fedora, Ubuntu, Suse, MAC OS, Windows, etc.}?

Please refer to the Supported systems page for an up-to-date list of supported systems.

Is there an image of the OS that can be run on a PC?

You can download a LiveCD version of Sugar (Please see http://wiki.laptop.org/go/LiveCd) or run Sugar natively on a supported system. (The language can be set from the Sugar-control-panel in the LiveCD image.)

Does Sugar run on an ASUS Eee PC (or other "ultra-mobile" or "mini" PCs)?

There is a thread on the mailing list about success stories with the Eee: http://lists.lo-res.org/pipermail/its.an.education.project/2008-May/000282.html Another pointer is: ftp://rohrmoser-engineering.de/pub/XO-LiveCD/XO-LiveCD_080321.pdf Many manufacturers are beginning to take an interest in supporting Sugar.

Is it possible to have mesh support with the LiveCD ?

Q: If I understand this correctly, mesh support means your wireless card functions as both an access point/router and a network node. In short, your wireless computer can pass along packages from nearby wireless computers and the other way round. Do you need special wireless cards for this, or is this a driver/software issue that could be fixed in the LiveCD, so that more people can experience mesh networks?

A: Yes, it will be possible to have mesh support with the LiveCD shortly, provided you have a suitable wireless card.

open80211s is an open-source implementation of the emerging IEEE 802.11s wireless mesh standard. It has been accepted in the mainline Linux kernel and is included in release 2.6.26. The resulting software will run on GNU/Linux on commodity PC hardware.

open80211s is based on the mac80211 wireless stack and should run on any of the wireless cards that mac80211 supports. At present - september 2008 - four families of drivers are supported or partially supported. The ath5k driver supports Atheros WLAN based chipsets, the b43 driver supports the 802.11 B/G family of wireless chips Broadcom produces, libertas_tf supports the Marvell 88W83886 USB device as found in the OLPC XO-1 laptop, and the zd1211rw driver covers a large proportion of USB-wireless devices on the consumer market as these are based on the ZyDAS ZD1211. Several months after the acquisition, Atheros rebranded the ZyDAS ZD1211 chip to AR5007UG.

Sugar Labs

What is Sugar Labs?

Sugar Labs, a non-profit foundation, serves as a support base and gathering place for the community of educators and software developers who want to extend the Sugar platform and who have been creating Sugar-compatible applications.

What is the mission of Sugar Labs?

The overarching mission of Sugar Labs is to support the Sugar platform through software development, and community outreach and support. The purpose of the Sugar platform is provide a software and content environment that enhances learning. Towards this end, Sugar is designed to facilitate learners to “explore, express, debug, and critique.”

What are the principles that guide Sugar Labs?

Sugar Labs subscribes to principle that learning thrives within a culture of freedom of expression, hence it has a natural affinity with the free software movement (Please see Principles page in this wiki for more details). The core Sugar platform has been developed under a GNU General Public License (GPL); individual activities may be under different licenses.

What is the relationship of Sugar Labs to One Laptop per Child?

Sugar was originally developed as the user interface (UI) for the One Laptop per Child (OLPC) XO-1 laptop. Sugar Labs was established as an independent entity in order to facilitate the growth of Sugar beyond any single hardware platform. While Sugar Labs has a cooperative working relationship with OLPC, it is by no means an exclusive or proprietary relationship. Sugar Labs is not bound to any specific hardware platform or Linux distribution (Please see Supported systems).

Sugar Labs is the upstream community for the Sugar project. Sugar Labs welcomes a close working relationship with OLPC. Sugar Labs also welcomes other laptop manufacturers among others.

OLPC and Sugar Labs are not diverging, we are on the same page; we are both hoping to fund and support Sugar so that we can continue to provide the best learning experience for children. The Sugar Labs initiative is consistent with taking Sugar to the next level; this is not inconsistent with what OLPC is doing. Any help from outside or inside OLPC should help establish Sugar as a more stable and better product.

Who is upstream for Sugar?

Sugar Labs is the upstream for the Sugar project.

Who is Sugar Labs?

Sugar is a community project, so it is the sum of those of you who participate. Sugar Labs was started by some Sugar-community members: Walter Bender, Christoph Derndorfer, Bert Freudenberg, Marco Pesenti Gritti, Bernardo Innocenti, Aaron Kaplan, Simon Schampijer, and Tomeu Vizoso. We have rules of governance that have been vetted by a process of public discussion.

How do I get involved?

Please see the Getting Involved page in this wiki.

How do I learn more about Sugar Labs?

Please add new questions to the discussion page or send email to press at sugarlabs.org.

Deployment

Please feel free to post questions here for the Deployment Team, and we will try to respond in a timely manner.

What questions do governmental officials ask?

Please see the questions below:

Design

Please feel free to post questions here for the Design Team, and we will try to respond in a timely manner.

Where are design proposals posted for review?

See Design Team/Proposals.

Development

To ask the Development Team a new question, please post questions here.

Are there regular developer meetings on IRC?

Yes there are, every Thursday at 17:00 UTC on irc://irc.freenode.net#sugar-meeting. (Please see Development Team/Meetings for more information.)

Where can I find out more about being a Sugar Activity developer?

Visit our Activity Team page.

Where is the acitivities directory in sugar?

It's in $HOME

Where can I find out more about the Sugar GIT and the Sugar release process?

See our GIT FAQ and our Release team pages.

Documentation

To ask the Documentation Team a new question, please post questions here.

What documentation is needed?

See OLPC Publications for a partial answer. This addresses primarily hardware and software documentation for students, teachers, system administrators, and developers, and the separate issue of localization. There are proposals for teacher training and textbooks, but little is available.

What resources are available for creating documents?

and other such locations.

How do I get involved?

See Sugar Labs/Getting Involved for general information. Beyond that, look at what is being done, and offer to write, edit, or test something.

Who is working on documentation?

See Documentation Team/Contacts.

Education

To ask the Education Team a question, please post questions here.
  • The Education Team FAQ is currently empty.

Infrastructure

Post questions here for the Infrastructure Team.

How to request syndication on Planet Sugar

If you think your blog might be of interest to the readers of planet.sugarlabs.org,
send email to <planetmaster -AT- sugarlabs -DOT- org>, providing the following information:
  • Brief introduction of your blog (who's writing and what about).
  • URL of the Atom or RSS 2.0 feed to add.
  • Please ensure that your feed only includes articles relevant to Sugar, Sugar Activities or deployments using Sugar. Use tagging if necessary. Feeds publishing unrelated stories will be dropped.
  • Proposed name or title for the feed. For example, "Sugar in Japan".
  • Attach or link a suitable (content-appropriate) Hackergotchi icon of 100x100 pixels or less, possibly in PNG format with transparency.
If you do not receive a confirmation within 48 hours, ping.
Feeds will be added and removed from the planet at discretion of the Planet Masters.

Marketing

To ask the Marketing Team a question, please post questions here.
  • The Marketing Team currently has no entries in their FAQ.

Testing

To ask the BugSquad a question, please post questions here.

As a non-programmer/non-developer, how does one go about verifying bugs?

Please see the BugSquad/Triage Guide -- Erikos

If I'm running Ubuntu, where do I report Sugar bugs?

  • If you are running sugar-jhbuild, or the bug is in an activity which you downloaded as a .xo file, please report it in the Sugar Labs bug tracker.
--Morgs 18:32, 11 December 2008 (UTC)

Wiki

Post questions here for the Wiki Team.

How do I get in contact with a wiki administrator?

You can find a listing of administrators (sysops and bureaucrats) on Wiki Team/Contacts.


Translation

To ask the Translation Team a question, please post questions here.

General

How do I find the Sugarlabs pootle projects?

See http://translate.sugarlabs.org.

I have a question that is not answered here - how do I contact you?

You can find us on IRC at irc://irc.freenode.net#olpc-pootle. We also have a mailing list to discuss localisation related stuff. You can subscribe to the list by visiting http://lists.laptop.org/listinfo/localization. You can also #ask a question.
If you face a problem that is affecting the way in which you (or others) would normally work, please mail translate@rt.laptop.org, stating the problems you are facing. The request will get logged in our Request Tracker installation.
You should use translate@rt.laptop.org for things like
  • Forgotten passwords
  • Error messages in Pootle
  • Pootle being unresponsive
Requests like addition of new languages, addition of new projects, etc, follow the old workflow, and they should be done via Trac at dev.laptop.org.
The Pootle developers also have a mailing list for Pootle discussion - you can subscribe and or search the archives at http://lists.sourceforge.net/lists/listinfo/translate-pootle - however please post your questions to the SugarLabs/OLPC localization list above, as they may not be relevant to the larger Pootle community.

Things that you should initially try to resolve your problems

  • Log out, and log in again, with the language choice at log in time being set to "Default"
  • Avoiding searching or uploading for large files (e.g. Etoys). If you need to upload/merge a large file, mail translate@rt.laptop.org

Where do I find a list of language teams and their administrators?

A current list of language teams, along with their administrators (if any) is available at olpc:Pootle#Sign-up.

There are so many projects. Which one do I start off with?

It depends on the decision of the language team you are a part of. We recommend that you translate at least Glucose, Fructose (and Terminology, to ensure consistency) before moving on to the other projects.

I don't understand the nomenclature of the projects. Could you explain it to me?

Here's a table for your reference:
Project Name Description String Frozen
Etoys The entire Etoys package (excluding the example projects) No
Fructose A set of core activities which follow the Sugarlabs release schedule. This is the bleeding edge, development version, which will be stabilized every six months No
Fructose 0.84 A set of core activities which follow the Sugarlabs release schedule. This is the 0.84 release Yes
Fructose 0.82 A set of core activities which follow the Sugarlabs release schedule. This is the 0.82 release Yes
Glucose The core Sugar libraries. This is the bleeding edge, development version, which will be stabilized every six months No
Glucose 0.84 The core Sugar libraries. This is the 0.84 release Yes
Glucose 0.82 The core Sugar libraries. This is the 0.82 release Yes
Honey Non fructose activities (do not follow any regular schedule) No
Terminology A set of common terms and phrases which occur in Sugar, useful for maintaining consistency and for defining a standard. Yes
OLPC Content Strings related to OLPC PR materials Yes
OLPC Software Packages specifically for the XO Sugar - GNOME desktop switching Yes

You can also refer to this page for more details.

What do you mean by "string frozen"?

First and most important is that "string freeze" is a restriction on developers and not translators. String freeze means developers need to stop changing UI strings so that translators can do their final work prior to release, in other words, string freeze is a start signal for translators to perform their final reviews and commits of PO files, not a stop signal, even the release date itself is not a stop signal for localization.
Second is that even after a release is made and declared final and stable, localizers can complete their work and a deployment team can make a customization stick for a deployment that includes the post-release localization work, so you will not "miss the boat" for providing a localized UI environment for your deployment if work on your language is not complete by the next release date. This is part of the beauty of separating the code (release) from the strings (PO/MO files).

Is it possible to edit more than one string at a time?

No. For on-line translations you can only edit one string at a time. Each project/language administrator has the power to enable off-line translations, but that needs to be coordinated and controlled; currently we lack the man-power (read administrators) to guarantee that workflow.

Can we use translation memories?

Yes.

Can I translate off-line?

Depends. Initially, Pootle's ability to import PO files is not enabled, and it will be up to each administrator (language/project) to decide if it will be allowed, who will have said ability and set up the appropriate workflow.

How do I see/test/check my translations in action?

There are several methods to do that. See Translation_Team/Testing for the details.

I am translating for a deployment of OLPC XO laptops. What version should I translate?

As of this writing (Feb. 2010) you are most likely looking at deploying the 0.84 versions of Fructose / Glucose as the details of deploying the very latest version of Sugar on the XO have not yet been fully worked out (at least to a level that is stable enough for a live deployment), although there is ongoing work on that. Version 0.84 Fructose / Glucose strings will not be changing and the string freeze for those was a long time ago, so they are a stable target.

Can I see translations in another language?

Pootle can show you the translations in an third language while you translate. In order to see that, select the alternate language from your options page (once you have logged in).

How do I jump directly to the untranslated strings?

From the project page of your language (eg: Fructose for Spanish), click on the Show Editing Function, and for each file, you will get a link called View untranslated which would take you directly to the untranslated strings.

How do I integrate translations into a software release/build?

A language administrator must perform the Commit to VCS action through the Pootle user interface, it is on the Translate tab of Pootle for those users like admins that have the commit PO file privilege. Pootle is directly connected up to the git software repository (git). The language admin's action in Pootle triggers a commit in the software repository; the PO file for that language can be found in the /po directory of the git project's source code tree and after the commit of the PO file, you can see the evidence in the git commit log and in the date stamp of the PO file in the source tree.

Why are strings that were translated in Pootle not showing up in the releases/language packs?

Suggested strings will not appear in the committed PO file and will not be shown to users. Translations marked as "fuzzy" will be committed, but will not be built into activities or language packs; for these strings, as well as ones that have not been translated at all, users will see the English version. There are no functional consequences of partially completed PO files, but as you can imagine, it is not a pretty or desirable result to have mixed language UI strings.
For suggested strings to be incorporated in the translation, they must be accepted. Accepting or rejecting suggestions is done by language admins (or other localizers that may be granted the review privilege in a given language). It is generally part of the review process, which should take place before any commit, to clear up any pending suggestions.

How can I translate Pootle itself into my language?

Especially when working with less technical translators, having Pootle operate in their native language can be helpful. While Pootle supports many languages, some of the language targets for Sugar do not yet have Pootle translations. Previously Pootle used the "live" translations from the Pootle project in the Sugar Labs Pootle server, but this is no longer the case. All translations of Pootle should now be done at http://pootle.locamotion.org/projects/pootle/ - if your language is not listed there, contact the Pootle developers on the translate-pootle mailing list and it can be added. Once the translation is substantially complete, contact us and the translated strings can be copied over to the Sugar Labs Pootle. In general, however, if your translation team is able to use Pootle in English or another supported language, it is better to concentrate on translating Fructose/Glucose/etc. first.

Trouble-shooting

I can't translate! (or) I only get the "Suggest" button and not the "Submit" button

Several possibilities:
  1. Pootle account — by default, anonymous users aren't allowed to translate, so you need to register first.
  2. Pootle language — in order to to have 'access' to a given project you need to have a language in your user options that is associated to the project
  3. Pootle project — you must have the project in your list of projects in your user options in order to be considered as a non-anonymous translator
  4. Language+Project rights — although projects are relatively open (suffices to be registered to be able to translate) those rights are specified by the administrator. If all of the above are satisfied please ask your language administrator(s) or ask in the mailing list.

Administrative

How do I add a project to be translated ?

If you are using the GIT services on git.sugarlabs.org, just file a ticket at http://dev.sugarlabs.org under the component localization, mentioning the name of the GIT repository. If your project is hosted somewhere else, please file a ticket detailing how to access your project's version control setup, and we'll try to figure out a way how to best integrate your project's translation related files.

Basic steps for git.sugarlabs.org hosted projects:

  1. /po/ directory set up in top-level of git repo containing the .pot file produced by gettext.
  2. user:pootle granted commit priv to the repo
  3. Ticket opened in bugs.sugarlabs.org requesting hosting of project PO files in Pootle, please provide link to git repo.

How do I start a translation team for my language ?

File a ticket at http://dev.sugarlabs.org with your name, email address, Pootle username (if you have already registered), language name and language code. We will setup the relevant accounts and permissions for you. You should file the ticket under the component localization.

Do you have any document/guide for a language coordinator ?

The OpenOffice.org people have an excellent guide about Pootle - you can read it online at http://wiki.services.openoffice.org/wiki/Pootle_User_Guide#Pootle_Userguide_for_Translation_Leads

Ask a question

Have a question that is not answered above? Add it below, subscribe and send an email to localization@lists.laptop.org, or try the irc://irc.freenode.net#olpc-pootle IRC channel.

Faster navigation
  • I would thank a way to go directly to the "need to translated" parts. In this moment I need to "travel" (clicking and clicking) trough all the "translated" parts until I reach the "not translated". I know: easy to say... hard to do. Just letting you know (for the records). Javier Rodriguez, Lima. Peru 3 March 2008.
This is possible with Pootle (although in the past it has sometimes failed due to timeouts for very large projects like Etoys). From a project translation page (e.g. the Spanish terminology page), click on Mostrar Funciones de Edición (Show Editing Functions) and then you will have an option to Ver No Traducidas (Show Untranslated) which takes you directly to the parts that have not been translated (or have fuzzy translations). You can use the Regresar/Saltar buttons (Back/Skip) as well as the others next to those to go to the next untranslated item without having to page through parts that are translated. Note that if you use direct navigation to edit another entry, you will lose the extra restrictions embedded in the URL (translate.html?fuzzy=1&editing=1&blank=1) and the buttons will now just back/skip to the immediately preceding/following entries, whether translated or not. To recover the restriction, go back and re-click the Show Untranslated link or just add &fuzzy=1&blank=1 to the current URL (or just reload the page if those are already in the URL). --@alex 00:05, 18 April 2008 (EDT)