3,089 bytes added
, 19:58, 10 January 2009
=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====
* http://docs.python.org/
* http://diveintopython.org/
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====
* http://www.pygtk.org/docs/pygtk/index.html
* http://www.pygtk.org/docs/pygobject/index.html
PyGTK is the user interface toolkit used by Sugar activities. Bookmark these two links as you will reference them frequently during development.
* http://www.pygtk.org/pygtk2tutorial/index.html
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====
* http://wiki.laptop.org/go/Sugar_Activity_Tutorial
This will introduce you to the basics of creating activities.
====Sugar Human Interface Guidelines====
* http://wiki.laptop.org/go/OLPC_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====
* http://www.json.org/fatfree.html
JSON is a data format commonly used to store activity data in the Journal.
====Git introduction====
* http://wiki.laptop.org/go/Git
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.