Software components

From OLPC

(Difference between revisions)
Jump to: navigation, search
(Programming environment: adding pippy ref.)
(deprecate mesh feature)
 
(162 intermediate revisions not shown)
Line 2: Line 2:
{{Translations}}
{{Translations}}
{{TOCright}}
{{TOCright}}
-
:'''''See [[Activities]] for downloadable software.'''''
 
-
[[Software]] has some ''old'' general discussion.
 
-
==Activities / programs / applications / software for the XO==
+
The default system software for the XO laptop includes child-friendly [[Activities]], the [[Sugar]] [[user interface]], the GNOME desktop, and many other software components built on top of a modified [[Fedora]] [[Linux]]. 
 +
This page lists some of them, the [[#Application environment diagram|diagram below]] shows how they fit together.
-
See [[Activities]].
+
'''Note:''' [http://wiki.sugarlabs.org Sugar Labs] and the [http://fedoraproject.org/wiki/OLPC Fedora-OLPC] special interest group have assumed most of the development of the Sugar learning platform.  See those links and [[Future releases]] for more information.
-
==Operating system==
+
Almost all the software is free and open source that users can inspect and modify.
-
* Linux Kernel: Linux 2.6.22; [http://fedoraproject.org/ Fedora] 7 base environment.
+
-
** The OLPC specific bits of the kernel are pulled from the olpc-2.6 GIT tree on dev.laptop.org: (http://dev.laptop.org/git?p=olpc-2.6)
+
-
==Programming environment==
+
Alternatively, versions of Debian, Fedora, Ubuntu, and other [[:Category:Linux distributions|Linux distributions]] have been developed that run cleanly on the XO. 
-
* [[Python]] (Version 2.5);
+
 
-
** [[Pippy]], an activity for exploring Python on the XO;
+
* For activities, collections, and other software that you can download to your XO, see [[Activities]].
-
* [[JavaScript]]™;
+
 
-
* [[Csound]], music programming language;
+
== OLPC software details ==
-
* The [[Etoys]] implementation of [[Squeak]] using Smalltalk, an object-based programming language;
+
 
 +
{{dated}}
 +
 
 +
===Operating system===
 +
* Linux Kernel: recent Linux 2.6.xx;  [[Fedora]] base environment.
 +
** The OLPC specific bits of the kernel are pulled from the olpc-2.6 GIT tree on dev.laptop.org: (http://dev.laptop.org/git/olpc-2.6)
 +
 
 +
===Programming environments===
 +
* [[Python]] (Version 2.5); much of the [[Sugar]] UI is written in Python, as are many [[Activities]]
 +
** [[Pippy]], an activity for exploring Python on the XO
 +
* [[Forth]] in [[Open_Firmware|Open Firmware]], accessible from the 'ok' prompt if you get a [[Activation_and_Developer_Keys|Developer Key]]
 +
* [[JavaScript]]™[[http://www.firefox.com]]
 +
* [[Csound]], music programming language
 +
* [[Etoys]], an implementation of [[Squeak]] using [[Smalltalk_Development_on_XO|Smalltalk]], an object-based programming language
** Please see [[Sugar Etoys]] for a detailed description of the Sugar implementation
** Please see [[Sugar Etoys]] for a detailed description of the Sugar implementation
-
* [[Turtle Art]], a graphical programming environment;
+
* [[Turtle Art]], a graphical programming environment
-
* Gnash, a free and open source plug-in for the Adobe Flash™ file format supporting vector and raster graphics, a scripting language called ActionScript™ and streaming of audio and video;
+
* [[Gnash]], a free and open source browser plug-in for the Adobe Flash™ file format supporting vector and raster graphics, a scripting language called ActionScript™ and streaming of audio and video
-
* Adobe's Flash Player, Java™ virtual machine, and other [[Restricted Formats]] can be added via Yum or RPM install but are not part of the standard distribution.
+
* [[Adobe Flash|Adobe's Flash Player]], [[Java]]™ virtual machine, and players for other [[restricted formats]] can be added via [[Yum]] or [[Rpm]] install but are not part of the standard distribution.
===Libraries===
===Libraries===
-
* Mozilla [http://www.mozilla.org/newlayout/ Gecko]/[[Xulrunner]] (the Firefox web engine);
+
This is a very incomplete list.  You can consult an [[OS images|image]]'s build log (for example the [http://pilgrim.laptop.org/~pilgrim/olpc/streams/8.2/build767/devel_ext3/ log for build 767]) to see what packages it incorporates, or run [[rpm]] commands on an XO.
-
* GUI toolkit ([http://www.gtk.org/ GTK+]) ([http://www.gnome.org Gnome]);
+
* Mozilla [http://www.mozilla.org/newlayout/ Gecko]/[[XULRunner]] (the Firefox web engine)
-
* [http://projects.o-hand.com/matchbox Matchbox] window manager;
+
* GUI toolkit ([http://www.gtk.org/ GTK+]), also used by [http://www.gnome.org Gnome]
-
* [http://www.pango.org/ Pango] text layout;
+
* a few other libraries from [http://www.gnome.org Gnome]
-
* Gnome accessibility toolkit ([http://developer.gnome.org/projects/gap/ ATK]);
+
* [http://projects.o-hand.com/matchbox Matchbox] window manager
-
* Python [[GTK for OLPC | GTK]]+ bindings version 2.10;
+
* [http://www.pango.org/ Pango] text layout
-
* [http://cairographics.org/ Cairo] 2D-graphics support;
+
* Gnome accessibility toolkit ([http://developer.gnome.org/projects/gap/ ATK])
-
* [http://x.org X Window System] X.org Foundation;
+
* Python [[GTK for OLPC | GTK]]+ bindings
-
* Font rendering ([http://www.freetype.org/ Freetype]);
+
* [http://cairographics.org/ Cairo] 2D-graphics support
-
* [http://telepathy.freedesktop.org/ Telepathy] real-time communications framework;
+
* [http://x.org X Window System] X.org Foundation
-
* [http://avahi.org/ Avahi] local service discovery;
+
* Font rendering ([http://www.freetype.org/ Freetype])
-
* Multimedia framework: [[GStreamer]] and [http://www.helixcommunity.org RealNetworks];
+
* [http://telepathy.freedesktop.org/ Telepathy] real-time communications framework
-
* [[Bitfrost]] security system;
+
* [http://avahi.org/ Avahi] local service discovery
-
* Mesh network;
+
* Multimedia framework: [[GStreamer]]
-
* Game library: [[Pygame]]
+
* [[Bitfrost]] security system
 +
* [[Mesh_Network_Details|Mesh]] network following IEEE 802.11s draft, as possible
 +
* [[Pygame]]
* [[Gettext]], the GNU internationalization library
* [[Gettext]], the GNU internationalization library
-
Libraries to support all of the above, others can be installed by Yum or RPM.
+
* Additional libraries to support all of the above.
 +
 
 +
Users can install other libraries using [[yum]] or [[rpm]].
===User environment===
===User environment===
-
* [[Sugar]] graphical user interface, written in Python, on top of the X Window System and the Matchbox Window Manager.  
+
* [[Sugar]] graphical user interface, written in Python, on top of the X Window System and the Matchbox Window Manager.
-
** “Zooming” interface to mesh network;
+
** Designed specifically for [[collaboration]] of users through [[Activity_sharing|network sharing]] of user activities (method calls and signals);
-
** [[Journal]] interface to file system;
+
** [http://wiki.sugarlabs.org/go/Human_Interface_Guidelines/The_Laptop_Experience/Zoom_Metaphor “Zooming” interface] to network connectivity “spheres” - Neighborhood, collaborators (Groups), and local (Home);
-
Flash space available for other software content ~800 MiB.
+
** [[Journal]] interface to storage of events, activities, objects (files);
 +
* ~800 MiB of flash storage space available for other software content.
 +
 
 +
==== Alternative user environments ====
 +
* [[WindowMaker_Interface]] An interface that has been around in Linux for many years. It runs on top on the X Windows system and was written in C++. WindowMaker is more of a standard laptop interface than you would see on any laptop. This interface is still in its infancy in the OLPC Laptop and Needs a lot of new community documentation and testing before it is used in class rooms. The only drawback for WindowMaker on the OLPC is that there is a bug in scrolling and refresh rate of the screen.
 +
 
 +
* [[OpenBox]] A very small compact window manager written in C++. If you are looking into changing from Sugar to a more conventional windows manager this is the one you should use. It's fast, efficient and displays windows nicely. Works very well with abiword, firefox and gnome-terminal.
 +
 
 +
* [[Xfce]] is a lightweight but powerful desktop environment that will work well on the XO. It aims to be fast and lightweight, while still being visually appealing and easy to use.  Xfce is mainly used for its ability to run a modern desktop environment on relatively modest hardware, and therefor an excellent choice for the OLPC.  It is based on the GTK+ 2 toolkit (as is GNOME). It uses the Xfwm window manager. Its configuration is entirely mouse-driven, and the configuration files are hidden from the casual user.
 +
 
 +
You can also run a completely different Linux distribution on the XO, see [[:Category:Linux distributions]].
==Applications==
==Applications==
-
There are three types of activities distributed with the base system: tools for exploring, expressing, and collaborating. A matrix of applications that have been (or are being) built for the laptop can be found [[Activities|here]].
+
{{dated}}
 +
There are three types of applications distributed with the base system: tools for exploring, expressing, and collaborating. Applications that have been (or are being) built for the laptop are called '''activities''' and the [[Activities]] page has a list of them..
 +
 
 +
===Application environment diagram===
 +
  ----------------------------------------------------------------
 +
|          |            |                  |                  |
 +
|          | Non-python  |  Sugar shell    |      Python      |
 +
|          |  Sugar    | (Desktop window,  |      Sugar      |
 +
|          | Activities  |      panel,      |    Activities  |
 +
|  Regular  |  (Etoys,    |    journal)      |                  |
 +
|    X    |  Simcity,  |                  |                  |
 +
|    Apps  |    Mono    |--------------------------------------|
 +
|          | activities, |      Sugar toolkit (python-only)    |
 +
|          |    etc.)    |                                      |
 +
|          |----------------------------------------------------|
 +
|          |        DataStore        |        Presence        |
 +
|          |        service        |        service          |
 +
  ----------------------------------------------------------------
 +
|                      Metacity window manager                  |
 +
  ----------------------------------------------------------------
 +
|                                                                |
 +
|                  GNOME-ish Linux desktop                      |
 +
|  X11, HAL, D-Bus, NetworkManager, GConf, Telepathy, etc      |
 +
|                                                                |
 +
  ----------------------------------------------------------------
 +
''from Tomeu Vizoso e-mail to devel''
===Tools for exploring===
===Tools for exploring===
-
* a [[Browse|web browser]] built on the [[xulrunner | Firefox engine]];
+
* [[Browse]], a web browser built on the [[xulrunner | Firefox engine]];
-
* a simple [[Read|document viewer]] based upon [http://www.gnome.org/projects/evince/ evince] (including the ability to view PDF);
+
* [[Read]], a simple document viewer accessed through Browse, based on [http://www.gnome.org/projects/evince/ Evince] (including the ability to view PDF files);
-
* [[News Reader]], an RSS (“really simple syndication”) reader ([http://penguintv.sourceforge.net/ PenguinTV]);
+
* [[News_Reader|News Reader]], an RSS (“really simple syndication”) subscription reader ([http://penguintv.sourceforge.net/ PenguinTV]);
* multimedia playback using gstreamer (the Real Networks Helix™ platform has been ported to the laptop and is available for download but is not part of the base distribution);
* multimedia playback using gstreamer (the Real Networks Helix™ platform has been ported to the laptop and is available for download but is not part of the base distribution);
* OpenDocument Viewer to read documents in OpenDocument format, a highly-compressed format that is a fully open international standard (ISO 26300);
* OpenDocument Viewer to read documents in OpenDocument format, a highly-compressed format that is a fully open international standard (ISO 26300);
* The [[Opera]] web browser and the Real Networks [[Helix media activity|Helix™]] platform have been ported to the laptop and are available for download but not part of the standard distribution.
* The [[Opera]] web browser and the Real Networks [[Helix media activity|Helix™]] platform have been ported to the laptop and are available for download but not part of the standard distribution.
-
* [[Measure]], a tool for exploring the physical world by measuring DC and AC voltages, observing them on a oscilloscope-like interface, being able to watch waveforms in frequency domain (spectrum analyzer), logging data at a specified time interval, and drawing the graph of logged data.
+
* [[Measure]], a tool for exploring the physical world by measuring DC and AC voltages, observing them on a oscilloscope-like interface, being able to watch waveforms in frequency domain (spectrum analyzer), logging data at a specified time interval, and drawing the graph of logged data;
 +
* [[Distance]], aka Acoustic Tape Measure, measures the distance between two XO laptops.
===Tools for expressing===
===Tools for expressing===
Line 69: Line 119:
* a [[OLPC_Human_Interface_Guidelines#Journaling|journal]];
* a [[OLPC_Human_Interface_Guidelines#Journaling|journal]];
* [[MikMik]], a wiki with WYSIWYG editing, using [[Crossmark]] (under development);
* [[MikMik]], a wiki with WYSIWYG editing, using [[Crossmark]] (under development);
-
* [http://www.vim.org VIM] and NANO text editors.
+
* [http://www.vim.org VIM] and [[nano]] text editors.
===Tools for communicating===
===Tools for communicating===
Line 78: Line 128:
* Native email client (under development).
* Native email client (under development).
-
===Other Tools===
+
===Other tools===
* [[Calculate|Calculator]];
* [[Calculate|Calculator]];
* Spreadsheet (under development);
* Spreadsheet (under development);
-
* a shell and debugger;
+
* [[Terminal Activity|Terminal]], a shell to the Linux command line using Bash;
* [[Develop]], an activity editor (under development);
* [[Develop]], an activity editor (under development);
-
* [http://foss.sit.rp.sg/main Remote Desktop], a tool to remotely control XO laptop;
+
* [[Remote_display|Remote display]], and [http://foss.sit.rp.sg/main Remote Desktop], tools to remotely control the XO laptop.
===Online Applications===
===Online Applications===
* [http://www.google.com Google Docs] (spreadsheet and word processor) work flawlessly from the XO browser. In addition, they are also shareable applications.
* [http://www.google.com Google Docs] (spreadsheet and word processor) work flawlessly from the XO browser. In addition, they are also shareable applications.
* [http://www.apple.com/webapps/ Apple Web Apps], although designed for the iPhone, work well for the XO. You access them from your Browser. In many cases just zoom into the page to fill the screen.
* [http://www.apple.com/webapps/ Apple Web Apps], although designed for the iPhone, work well for the XO. You access them from your Browser. In many cases just zoom into the page to fill the screen.
 +
* [http://www.aleks.com ALEKS] (adaptive self-paced learning system) See [[ALEKS]] for information on getting ALEKS running on an XO
 +
* [[Drupal]] explains how to install the Drupal community content management system on your XO
 +
* [http://www.alasproject.com THE ALAS PROJECT] (Advanced Language Acquisition Software) is a free online program for teaching English to speakers of Spanish, and Spanish to speakers of English, through sister schools in the U.S. and Latin America.  The program is designed to run on the XO laptop.
===Games===
===Games===
-
* Numerous games, including variations of the “memory game”, strategy games, etc.
+
* Numerous [[Activities#Games|games]], including variations of the “memory game”, strategy games, etc
-
 
+
-
See the games list on the activities download page [[Activities#Games]]
+
===Shared Applications===
===Shared Applications===
-
All applications share a common data store accessible through the Journal;
+
All applications share a common data store accessible through the Journal.
-
Most applications, including reading, writing, recording and browsing, allow for collaboration; through the network:  child-to-child and teacher-to-child. See [[Activity Sharing]] and [[Shared Sugar Activities]] and [[Tubes Tutorial]].
+
Several applications, including reading, writing, recording and browsing, allow for child-to-child and teacher-to-child [[collaboration]] to varying extents through the network. See [[Activity sharing]] and [[Collaboration Tutorial]].
===Running other Linux apps===
===Running other Linux apps===
-
You can install and run many other Linux applications by using yum or rpm from the console or Terminal activity. By way of example, see the [[Skype]] page in the wiki.
+
You can install and run other [[Linux software]] by using [[yum]] or [[rpm]] in a [[Terminal Activity]]. By way of example, see the [[Skype]] page in the wiki.
-
==Mesh Networking==
+
==Networking==
-
The specifications for the wireless networking interface include:
+
-
* Ability to act as a mesh point when laptop's main CPU is off;
+
-
* Support for asymmetric links/paths;
+
-
* Incremental releases—mesh networking is available immediately on XO; Upgrades will continue to improve functionality and adherence with standards;
+
-
* Simultaneously acts as a mesh point and an infrastructure node.
+
-
* Standards Compliance: follow 802.11s draft when possible.
+
-
== School Server ==
+
See [[Network principles]].
-
The [[School server]] is software for a resource-rich peer to the laptop, which provides additional storage, and Internet access.
+
==Power Management==
 +
 
 +
Lots of effort has gone into conserving power on the XO, by careful management at the hardware, OS, and user levels of software.
 +
See [[XO-1/Software_specification]] (multiple sections) for more information.
 +
 
 +
== School server ==
 +
 
 +
The '''X'''O [[School server|school '''S'''erver]], or '''XS''', is software for a resource-rich peer to the laptop, which provides additional storage, and Internet access.
* [[XS Server Software]]
* [[XS Server Software]]
* [[XS Installing Software]]
* [[XS Installing Software]]
-
== Additional [[Software projects]] ==
+
== Additional [[software projects]] ==
-
(Please see the [[Activities]] page for a more complete list of activities being developed for the laptop. Below is just a sampling.)
+
Please see the [[Activities]] page for a more complete list of activities being developed for the laptop. Below is just a sampling.
-
* [[Measure_/_Oscilloscope]]
+
* [[Measure]] oscillocope
* [[OLPCities]], a virtual world programming environment
* [[OLPCities]], a virtual world programming environment
-
* [[FACIL]], a webpage editor developed to be used by children. (In English at http://wiki.laptop.org/go/EASE)
+
* [[FACIL]], a webpage editor developed to be used by children. (In English at [[EASE]])
* [[Musical Editor]], a music composition toolkit
* [[Musical Editor]], a music composition toolkit
-
* [[Drawing Workshop]], a shared graphics space
+
* [[Paint]], a shared graphics space
* [[Tux Paint]], a paint program with extreme ease-of-use
* [[Tux Paint]], a paint program with extreme ease-of-use
-
* [[BlockParty]], a Tetris-like game that exploits the mesh
+
* [[Block Party]], a Tetris-like game that exploits the mesh
-
* chat, serverless linux instant messenger http://retroshare.sf.net , VOIP, email
+
-
* a shell and debugger
+
* [[Develop]], an activity editor
* [[Develop]], an activity editor
==Builds, images, and schedules==
==Builds, images, and schedules==
OLPC regularly compiles and assembles "builds" of the OLPC software listed here for development.
OLPC regularly compiles and assembles "builds" of the OLPC software listed here for development.
-
This process creates software updates for the XO Machines,
+
This process creates software images to which XO users can [[Upgrading the XO|upgrade their XO]],
-
and [[OS images|OS "images"]] of the bundled software that users on other computers can run by [[Emulating the XO]].
+
and [[OS images|OS "images"]] of the bundled software that users on other computers can download and run by [[Emulating the XO]].
-
These builds progress towards various official releases of the OLPC software:
+
These builds progress towards various official releases of the OLPC software.
-
* See [http://xs-dev.laptop.org/~cscott/olpc/streams/ Builds] for a list of build targets for manufacturing, in-the-field updates, and future software development;
+
See [[Releases]] for the high-level schedule of releases.
-
* See [http://dev.laptop.org/roadmap Roadmap] for the high-level schedule of releases.
+
==See also==
==See also==
-
* [[Software|Software overview]]
+
 
 +
* for the January 9, 2009 discussion on the future of OLPC's software (right after the large reduction in developer employee force), see [[Software discussion 2009-01-09]].
 +
* for older general discussion, see '''[[Software discussion]]'''.
 +
* for a software summary (from early 2008) see [[:image:XO_Software.ppt|XO Software presentation (MS PowerPoint)]].
 +
 
 +
* Software
** [[Software/Goals|Software goals]]
** [[Software/Goals|Software goals]]
-
** [[OLPC on open source software]]
+
** [[OLPC on free/open source software]]
-
** [[Our_software|Software FAQ]]
+
** [[Software ideas]]
** [[Software ideas]]
-
** [[Documentation]]
+
** [[XO-1/Software specification]]
 +
* [[Manuals]]
* [[OLPC Human Interface Guidelines]]
* [[OLPC Human Interface Guidelines]]
** [[Sugar]]
** [[Sugar]]
** [[Activities]]
** [[Activities]]
-
** [[542_Demo_Notes|Demo notes]]
+
** [[Demo notes]]
-
* [[Developers program|For developers]]
+
* [[Contributors program|For developers]]
** [[Activation and Developer Keys]]
** [[Activation and Developer Keys]]
** [[Autoreinstallation_image|Updating your software image]]
** [[Autoreinstallation_image|Updating your software image]]
Line 160: Line 214:
** [[Hacking Sugar]]
** [[Hacking Sugar]]
*** [[Sugar Architecture]]
*** [[Sugar Architecture]]
 +
*** [[Sugar almanac]]
 +
**** [[:Category:API|Sugar-specific APIs]]
*** [[Sugar_with_sugar-jhbuild|Building the Sugar environment]]
*** [[Sugar_with_sugar-jhbuild|Building the Sugar environment]]
-
*** [[Sugar on Fedora]]
+
**** [[Sugar on Fedora]]
-
*** [[Activity Sharing]]
+
*** [[Activity sharing]]
-
*** [[Shared Sugar Activities]]
+
*** [[Collaboration Tutorial]]
-
*** [[Tubes Tutorial]]
+
*** [[Low-level Activity API]]
*** [[Low-level Activity API]]
** [[Ejabberd Configuration|Running your own XMPP server]]
** [[Ejabberd Configuration|Running your own XMPP server]]
Line 171: Line 226:
*** [[Test Group Release Notes]]
*** [[Test Group Release Notes]]
*** [[Test_Config_Notes#OLPC_Update|Updating to test configurations]]
*** [[Test_Config_Notes#OLPC_Update|Updating to test configurations]]
-
** [[:Category:API|Sugar-specific APIs]]
 
[[Category:Software ideas]]
[[Category:Software ideas]]
-
[[Category:Resources]]
 
[[Category:Software]]
[[Category:Software]]
[[Category:Sugar]]
[[Category:Sugar]]

Current revision as of 23:17, 5 August 2013

  This page is monitored by the OLPC team.
  english | españolitaliano日本語한국어 HowTo [ID# 290754]  +/-  

Contents

The default system software for the XO laptop includes child-friendly Activities, the Sugar user interface, the GNOME desktop, and many other software components built on top of a modified Fedora Linux. This page lists some of them, the diagram below shows how they fit together.

Note: Sugar Labs and the Fedora-OLPC special interest group have assumed most of the development of the Sugar learning platform. See those links and Future releases for more information.

Almost all the software is free and open source that users can inspect and modify.

Alternatively, versions of Debian, Fedora, Ubuntu, and other Linux distributions have been developed that run cleanly on the XO.

  • For activities, collections, and other software that you can download to your XO, see Activities.

OLPC software details

The currency of this article or section may be limited by out-of-date information.
There may be relevant discussion on its talk page

Operating system

Programming environments

  • Python (Version 2.5); much of the Sugar UI is written in Python, as are many Activities
    • Pippy, an activity for exploring Python on the XO
  • Forth in Open Firmware, accessible from the 'ok' prompt if you get a Developer Key
  • JavaScript™[[1]]
  • Csound, music programming language
  • Etoys, an implementation of Squeak using Smalltalk, an object-based programming language
    • Please see Sugar Etoys for a detailed description of the Sugar implementation
  • Turtle Art, a graphical programming environment
  • Gnash, a free and open source browser plug-in for the Adobe Flash™ file format supporting vector and raster graphics, a scripting language called ActionScript™ and streaming of audio and video
  • Adobe's Flash Player, Java™ virtual machine, and players for other restricted formats can be added via Yum or Rpm install but are not part of the standard distribution.

Libraries

This is a very incomplete list. You can consult an image's build log (for example the log for build 767) to see what packages it incorporates, or run rpm commands on an XO.

Users can install other libraries using yum or rpm.

User environment

  • Sugar graphical user interface, written in Python, on top of the X Window System and the Matchbox Window Manager.
    • Designed specifically for collaboration of users through network sharing of user activities (method calls and signals);
    • “Zooming” interface to network connectivity “spheres” - Neighborhood, collaborators (Groups), and local (Home);
    • Journal interface to storage of events, activities, objects (files);
  • ~800 MiB of flash storage space available for other software content.

Alternative user environments

  • WindowMaker_Interface An interface that has been around in Linux for many years. It runs on top on the X Windows system and was written in C++. WindowMaker is more of a standard laptop interface than you would see on any laptop. This interface is still in its infancy in the OLPC Laptop and Needs a lot of new community documentation and testing before it is used in class rooms. The only drawback for WindowMaker on the OLPC is that there is a bug in scrolling and refresh rate of the screen.
  • OpenBox A very small compact window manager written in C++. If you are looking into changing from Sugar to a more conventional windows manager this is the one you should use. It's fast, efficient and displays windows nicely. Works very well with abiword, firefox and gnome-terminal.
  • Xfce is a lightweight but powerful desktop environment that will work well on the XO. It aims to be fast and lightweight, while still being visually appealing and easy to use. Xfce is mainly used for its ability to run a modern desktop environment on relatively modest hardware, and therefor an excellent choice for the OLPC. It is based on the GTK+ 2 toolkit (as is GNOME). It uses the Xfwm window manager. Its configuration is entirely mouse-driven, and the configuration files are hidden from the casual user.

You can also run a completely different Linux distribution on the XO, see Category:Linux distributions.

Applications

The currency of this article or section may be limited by out-of-date information.
There may be relevant discussion on its talk page

There are three types of applications distributed with the base system: tools for exploring, expressing, and collaborating. Applications that have been (or are being) built for the laptop are called activities and the Activities page has a list of them..

Application environment diagram

 ----------------------------------------------------------------
|           |             |                   |                  |
|           | Non-python  |   Sugar shell     |      Python      |
|           |   Sugar     | (Desktop window,  |       Sugar      |
|           | Activities  |      panel,       |     Activities   |
|  Regular  |  (Etoys,    |     journal)      |                  |
|     X     |  Simcity,   |                   |                  |
|    Apps   |    Mono     |--------------------------------------|
|           | activities, |      Sugar toolkit (python-only)     |
|           |    etc.)    |                                      |
|           |----------------------------------------------------|
|           |        DataStore        |         Presence         |
|           |         service         |         service          |
 ----------------------------------------------------------------
|                       Metacity window manager                  |
 ----------------------------------------------------------------
|                                                                |
|                   GNOME-ish Linux desktop                      |
|   X11, HAL, D-Bus, NetworkManager, GConf, Telepathy, etc       |
|                                                                |
 ----------------------------------------------------------------

from Tomeu Vizoso e-mail to devel

Tools for exploring

  • Browse, a web browser built on the Firefox engine;
  • Read, a simple document viewer accessed through Browse, based on Evince (including the ability to view PDF files);
  • News Reader, an RSS (“really simple syndication”) subscription reader (PenguinTV);
  • multimedia playback using gstreamer (the Real Networks Helix™ platform has been ported to the laptop and is available for download but is not part of the base distribution);
  • OpenDocument Viewer to read documents in OpenDocument format, a highly-compressed format that is a fully open international standard (ISO 26300);
  • The Opera web browser and the Real Networks Helix™ platform have been ported to the laptop and are available for download but not part of the standard distribution.
  • Measure, a tool for exploring the physical world by measuring DC and AC voltages, observing them on a oscilloscope-like interface, being able to watch waveforms in frequency domain (spectrum analyzer), logging data at a specified time interval, and drawing the graph of logged data;
  • Distance, aka Acoustic Tape Measure, measures the distance between two XO laptops.

Tools for expressing

  • TamTam, a music synthesis and composition tool;
  • Etoys (see above);
  • a word processor based upon the Abiword project;
  • Record video, audio, and still-image capture and playback (a “video wiki” is under development);
  • Draw, a pixel-paint programming;
  • a journal;
  • MikMik, a wiki with WYSIWYG editing, using Crossmark (under development);
  • VIM and nano text editors.

Tools for communicating

  • Chat and serverless instant messenger;
  • Video Chat (under development);
  • a VoIP client (under development);
  • Email through the web-based Gmail service;
  • Native email client (under development).

Other tools

Online Applications

  • Google Docs (spreadsheet and word processor) work flawlessly from the XO browser. In addition, they are also shareable applications.
  • Apple Web Apps, although designed for the iPhone, work well for the XO. You access them from your Browser. In many cases just zoom into the page to fill the screen.
  • ALEKS (adaptive self-paced learning system) See ALEKS for information on getting ALEKS running on an XO
  • Drupal explains how to install the Drupal community content management system on your XO
  • THE ALAS PROJECT (Advanced Language Acquisition Software) is a free online program for teaching English to speakers of Spanish, and Spanish to speakers of English, through sister schools in the U.S. and Latin America. The program is designed to run on the XO laptop.

Games

  • Numerous games, including variations of the “memory game”, strategy games, etc

Shared Applications

All applications share a common data store accessible through the Journal. Several applications, including reading, writing, recording and browsing, allow for child-to-child and teacher-to-child collaboration to varying extents through the network. See Activity sharing and Collaboration Tutorial.

Running other Linux apps

You can install and run other Linux software by using yum or rpm in a Terminal Activity. By way of example, see the Skype page in the wiki.

Networking

See Network principles.

Power Management

Lots of effort has gone into conserving power on the XO, by careful management at the hardware, OS, and user levels of software. See XO-1/Software_specification (multiple sections) for more information.

School server

The XO school Server, or XS, is software for a resource-rich peer to the laptop, which provides additional storage, and Internet access.

Additional software projects

Please see the Activities page for a more complete list of activities being developed for the laptop. Below is just a sampling.

  • Measure oscillocope
  • OLPCities, a virtual world programming environment
  • FACIL, a webpage editor developed to be used by children. (In English at EASE)
  • Musical Editor, a music composition toolkit
  • Paint, a shared graphics space
  • Tux Paint, a paint program with extreme ease-of-use
  • Block Party, a Tetris-like game that exploits the mesh
  • Develop, an activity editor

Builds, images, and schedules

OLPC regularly compiles and assembles "builds" of the OLPC software listed here for development. This process creates software images to which XO users can upgrade their XO, and OS "images" of the bundled software that users on other computers can download and run by Emulating the XO.

These builds progress towards various official releases of the OLPC software. See Releases for the high-level schedule of releases.

See also

Personal tools
  • Log in
  • Login with OpenID
About OLPC
About the laptop
About the tablet
Projects
OLPC wiki
Toolbox