OLPC Python Environment: Difference between revisions

From OLPC
Jump to navigation Jump to search
mNo edit summary
m (→‎Introduction: remove version as it's now 2.6)
 
(26 intermediate revisions by 19 users not shown)
Line 1: Line 1:
==Introduction==
Application developers on the OLPC will mostly be working with [[Python]], the GTK GUI and the [[GECKO]] HTML engine. This combination is called [[Sugar]].
The OLPC's [[Sugar]] environment is written in Python. If you are able to program in Python then you can start building OLPC applications right now. The core tools, [[Python]] and [[GTK]], are available on Windows, Macintosh and UNIX. It is not necessary to get Sugar up and running right away unless you want to do something complex using [[dbus]]. For most educational applications, you only need to have [[Sugar]] for the final testing phases.


==Basic Instructions==
This has been documented elsewhere on blogs and news sites such as this: http://arstechnica.com/news.ars/post/20060524-6903.html
The following three pages have an outline of getting [[Sugar]] running on your OS however they still need more contributors.


*[[Setting Up a Sugar Development Environment on MacOS X]]
Some nice screenshots can be found here: http://www.eschoolnews.com/eti/2006/05/001414.php
*[[Setting Up a Sugar Development Environment on Windows]]

*[[Setting Up a Sugar Development Environment on *IX OSes]]
If you are a developer with a machine running Fedora Core, then you can download the [[Sugar]] environment from here http://hg.fedoraproject.org/hg/olpc/applications/sugar--devel


If you want to develop an application on your own systems, you can download a standard Python install found at http://www.python.org and the PyGTK module from http://www.pygtk.org.
If you want to develop an application on your own systems, you can download a standard Python install found at http://www.python.org and the PyGTK module from http://www.pygtk.org.


==Tutorial==
We need someone with experience to populate the following three pages:
There is an excellent [http://www.ibm.com/developerworks/linux/edu/l-dw-linux-xo-python-i.html?S_TACT=105AGX03&S_CMP=HP%3Cbr%3E Sugar Tutorial] at [http://www.ibm.com/developerworks/linux IBM's developerWorks].


==Guidelines==
*[[Setting Up a Sugar Development Environment on MacOS X]]
Since the OLPC is rather different from the average PC, we need to keep in mind a set of guidelines while building educational activities.
*[[Setting Up a Sugar Development Environment on Windows]]

*[[Setting Up a Sugar Development Environment on *IX OSes]]
#Remember that the end user is a kid.
#Keep the power consumption low. Avoid animated graphics or provide a way for the user to turn them off.
#Use simple datastores such as pickle or dbm. For relational databases use [[SQLite]].
#Keep your GUI simple. Remember that the final activity will be running in a tabbed page inside [[Sugar]].
#Use [[Unicode]] for all strings.
#Use the gettext module for all string literals.
#Get a friend to translate all string literals and test your program in their language.
#Where possible, use international iconic symbols in addition to text.


[[Category: Developers]]
[[Category:Developers]]
[[Category:Sugar]]
[[Category:Python]]

Latest revision as of 21:01, 13 August 2010

Introduction

The OLPC's Sugar environment is written in Python. If you are able to program in Python then you can start building OLPC applications right now. The core tools, Python and GTK, are available on Windows, Macintosh and UNIX. It is not necessary to get Sugar up and running right away unless you want to do something complex using dbus. For most educational applications, you only need to have Sugar for the final testing phases.

Basic Instructions

The following three pages have an outline of getting Sugar running on your OS however they still need more contributors.

If you want to develop an application on your own systems, you can download a standard Python install found at http://www.python.org and the PyGTK module from http://www.pygtk.org.

Tutorial

There is an excellent Sugar Tutorial at IBM's developerWorks.

Guidelines

Since the OLPC is rather different from the average PC, we need to keep in mind a set of guidelines while building educational activities.

  1. Remember that the end user is a kid.
  2. Keep the power consumption low. Avoid animated graphics or provide a way for the user to turn them off.
  3. Use simple datastores such as pickle or dbm. For relational databases use SQLite.
  4. Keep your GUI simple. Remember that the final activity will be running in a tabbed page inside Sugar.
  5. Use Unicode for all strings.
  6. Use the gettext module for all string literals.
  7. Get a friend to translate all string literals and test your program in their language.
  8. Where possible, use international iconic symbols in addition to text.