Software components
- See Activities for downloadable software.
Software has some general discussion.
Operating system
- Linux Kernel: Linux 2.6.22; 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
- Python (Version 2.5);
- JavaScript™;
- Csound, music programming language;
- The Etoys 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 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 and Java™ virtual machine can be added via Yum or RPM install but are not part of the standard distribution.
Libraries
- Mozilla Gecko/Xulrunner (the Firefox web engine);
- GUI toolkit (GTK+) (Gnome);
- Matchbox window manager;
- Pango text layout;
- Gnome accessibility toolkit (ATK);
- Python GTK+ bindings version 2.10;
- Cairo 2D-graphics support;
- X Window System X.org Foundation;
- Font rendering (Freetype);
- Telepathy real-time communications framework;
- Avahi local service discovery;
- Multimedia framework: GStreamer and RealNetworks;
- Bitfrost security system;
- Mesh network;
- Game library: Pygame
Libraries to support all of the above, others can be installed by Yum or RPM.
User environment
- Sugar graphical user interface, written in Python, on top of the X Window System and the Matchbox Window Manager.
- “Zooming” interface to mesh network;
- Journal interface to file system;
Flash space available for other software content ~800 MiB.
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 here.
Tools for exploring
- a web browser built on the Firefox engine;
- a simple document viewer based upon evince (including the ability to view PDF);
- News Reader, an RSS (“really simple syndication”) 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.
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
- Calculator;
- Spreadsheet (under development);
- a shell and debugger;
- Develop, an activity editor (under development);
- Remote Desktop, a tool to remotely control XO laptop;
Games
- Numerous games, including variations of the “memory game”, strategy games, etc.
See the games list on the activities download page Activities#Games
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.
Mesh 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.
Additional Software projects
- Measure_/_Oscilloscope
- 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)
- Musical Editor, a music composition toolkit
- Drawing Workshop, a shared graphics space
- Tux Paint, a paint program with extreme ease-of-use
- BlockParty, 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