Activity Team/Resources
Getting started in Activity development
If you have no experience developing Sugar activities and want to get started, these resources should help you get going.
Setting up a Sugar environment
If you use Linux, your best bet is to install sugar-jhbuild. You will be able to develop in your native environment, treating Sugar as just another desktop application.
If you run MacOS X or Windows, you will need to set up an emulator. For Mac OS X, see Supported_systems/Mac. For Windows, see Supported_systems/Windows.
To develop efficiently using an emulator or a real XO, find an editor which supports editing files over a SFTP connection. Komodo Edit is a good example.
Python Reference & Tutorials
Python is the language Sugar is written in and is also used by most activities. If you don't already know Python well, you should familiarize yourself with it before continuing.
PyGTK Reference & Tutorials
PyGTK is the user interface toolkit used by Sugar activities. Bookmark these two links as you will reference them frequently during development.
The following sections of the PyGTK tutorial are most relevant to activity development.
- 1. Introduction
- 2. Getting Started
- 3. Moving On
- 4. Packing Widgets
- 5. Widget Overview
- 6. The Button Widget
- 7. Adjustments
- 8. Range Widgets
- 9. Miscellaneous Widgets
- 10. Container Widgets
- 12. Drawing Area
Sugar Activity Tutorial
This will introduce you to the basics of creating activities.
Sugar Human Interface Guidelines
This will give you a good introduction to the thought process behind the Sugar environment and will help a lot when designing your activity.
JSON introduction
JSON is a data format commonly used to store activity data in the Journal.
Git introduction
Git is the version control software used by OLPC. It is a distributed version control system and is quite powerful, but requires a lot of command line use.
Activity Development Resources
This is an open area for posting links related to activity development.
API References
- http://api.sugarlabs.org/ The official Sugar API documentation (quite sparse).
- http://wiki.laptop.org/go/Sugar_almanac
- http://pygstdocs.berlios.de/ Python GStreamer bindings.
Tutorials and Whitepapers
- http://www.olpcaustria.org/mediawiki/index.php/Activity_handbook Introduction to activity development by OLPC Austria.
People
If you have a question, don't hesitate to ask the activity team. We are happy to help and can often save you a lot of hunting for answers.
We hang out in #sugar on irc.freenode.net, and you can always post questions to sugar-devel@lists.sugarlabs.org.