Software components: Difference between revisions

From OLPC
Jump to navigation Jump to search
(Removing all content from page)
(This page is better *with* content, thank you.)
Line 1: Line 1:
{{OLPC}}
{{Translations}}
{{TOCright}}
:'''''See [[Activities]] for downloadable software.'''''
[[Software]] has some ''old'' general discussion.

==Activities / programs / applications / software for the XO==

See [[Activities]].

XO Software summary [[:image:XO_Software.ppt|poster]].

==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?p=olpc-2.6)

==Programming environments==
* [[Python]] (Version 2.5);
** [[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]]™;
* [[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
* [[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 Flash|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.

===Libraries===
* Mozilla [http://www.mozilla.org/newlayout/ Gecko]/[[Xulrunner]] (the Firefox web engine);
* GUI toolkit ([http://www.gtk.org/ GTK+]) ([http://www.gnome.org Gnome]);
* [http://projects.o-hand.com/matchbox Matchbox] window manager;
* [http://www.pango.org/ Pango] text layout;
* Gnome accessibility toolkit ([http://developer.gnome.org/projects/gap/ ATK]);
* Python [[GTK for OLPC | GTK]]+ bindings version 2.10;
* [http://cairographics.org/ Cairo] 2D-graphics support;
* [http://x.org X Window System] X.org Foundation;
* Font rendering ([http://www.freetype.org/ Freetype]);
* [http://telepathy.freedesktop.org/ Telepathy] real-time communications framework;
* [http://avahi.org/ Avahi] local service discovery;
* Multimedia framework: [[GStreamer]] and [http://www.helixcommunity.org RealNetworks];
* [[Bitfrost]] security system;
* [[Mesh_Network_Details|Mesh]] network following IEEE 802.11s draft, as possible;
* gggg lib, <font color=red><b>can you see this change?</b></font> [[Pygame]]
* [[Gettext]], the GNU internationalization library
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.
** Designed specifically for [[collaboration]] of users through [[Activity_sharing|network sharing]] of user activities (method calls and signals);
** [[OLPC_Human_Interface_Guidelines/The_Laptop_Experience/Zoom_Metaphor|“Zooming” interface]] to network connectivity “spheres” (local, collaborators, neighborhood);
** [[Journal]] interface to storage of events, activities, objects (files);
* ~800 MiB of flash storage space available for other software content.

==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]].

===Tools for exploring===
* [[Browse]], a web browser built on the [[xulrunner | Firefox engine]];
* [[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|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);
* 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.
* [[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 [[Write|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 [[OLPC_Human_Interface_Guidelines#Journaling|journal]];
* [[MikMik]], a wiki with WYSIWYG editing, using [[Crossmark]] (under development);
* [http://www.vim.org 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===
* [[Calculate|Calculator]];
* Spreadsheet (under development);
* [[Terminal Activity|Terminal]], a shell to the Linux command line using Bash;
* [[Develop]], an activity editor (under development);
* [[Remote_display|Remote display]], and [http://foss.sit.rp.sg/main Remote Desktop], tools to remotely control the XO laptop.

===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.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===
* Numerous [[Activities#Games|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 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.

==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.

== School Server ==

The [[School server]] is software for a resource-rich peer to the laptop, which provides additional storage, and Internet access.

* [[XS Server Software]]
* [[XS Installing Software]]

== 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_/_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

==Builds, images, and schedules==
OLPC regularly compiles and assembles "builds" of the OLPC software listed here for development.
This process creates software updates for the XO Machines,
and [[OS images|OS "images"]] of the bundled software that users on other computers can run by [[Emulating the XO]].

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 [http://dev.laptop.org/roadmap Roadmap] for the high-level schedule of releases.

==See also==
* [[Software|Software overview]]
** [[Software/Goals|Software goals]]
** [[OLPC on open source software]]
** [[Our_software|Software FAQ]]
** [[Software ideas]]
** [[Documentation]]
* [[OLPC Human Interface Guidelines]]
** [[Sugar]]
** [[Activities]]
** [[542_Demo_Notes|Demo notes]]
* [[Developers program|For developers]]
** [[Activation and Developer Keys]]
** [[Autoreinstallation_image|Updating your software image]]
** [[Customizing NAND images]]
*** [[Localization]]
*** [[Python_i18n]]
*** [[Yum]] package manager
** [[OS_images_for_emulation|Using an emulator]]
** [[Hacking Sugar]]
*** [[Sugar Architecture]]
*** [[Sugar_with_sugar-jhbuild|Building the Sugar environment]]
*** [[Sugar on Fedora]]
*** [[Activity sharing]]
*** [[Collaboration Tutorial]]
*** [[Low-level Activity API]]
** [[Ejabberd Configuration|Running your own XMPP server]]
** [http://dev.laptop.org Bug reporting/tracking]
** [[Test issues]]
*** [[Test Group Release Notes]]
*** [[Test_Config_Notes#OLPC_Update|Updating to test configurations]]
** [[:Category:API|Sugar-specific APIs]]

[[Category:Software ideas]]
[[Category:Resources]]
[[Category:Software]]
[[Category:Sugar]]

Revision as of 00:21, 8 September 2008

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

Software has some old general discussion.

Activities / programs / applications / software for the XO

See Activities.

XO Software summary poster.

Operating system

Programming environments

  • Python (Version 2.5);
    • 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™;
  • 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 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.

Libraries

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.
  • ~800 MiB of flash storage space available for other software content.

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

  • 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 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.

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.

School Server

The School server 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.)

Builds, images, and schedules

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

These builds progress towards various official releases of the OLPC software:

  • See Builds for a list of build targets for manufacturing, in-the-field updates, and future software development;
  • See Roadmap for the high-level schedule of releases.

See also