OLPC Python Environment: Difference between revisions

From OLPC
Jump to navigation Jump to search
No edit summary
m (→‎Introduction: remove version as it's now 2.6)
 
(31 intermediate revisions by 20 users not shown)
Line 1: Line 1:
==Introduction==
=OLPC Python Environment=
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==
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 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]]
This has been documented elsewhere on blogs and news sites such as this: http://arstechnica.com/news.ars/post/20060524-6903.html
*[[Setting Up a Sugar Development Environment on Windows]]
*[[Setting Up a Sugar Development Environment on *IX OSes]]


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.
Some nice screenshots can be found here: http://www.eschoolnews.com/eti/2006/05/001414.php


==Tutorial==
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
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==
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.
Since the OLPC is rather different from the average PC, we need to keep in mind a set of guidelines while building educational activities.


#Remember that the end user is a kid.
We need someone with experience to populate the following three pages:
#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]]
*[[Setting Up a Sugar Development Environment on MacOS X]]
[[Category:Sugar]]
*[[Setting Up a Sugar Development Environment on Windows]]
[[Category:Python]]
*[[Setting Up a Sugar Development Environment on *IX OSes]]

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.