Software components: Difference between revisions

From OLPC
Jump to navigation Jump to search
No edit summary
Line 2: Line 2:
{{Translations}}
{{Translations}}
==Operating system==
==Operating system==
* Linux Kernel: Linux 2.6.22; Fedora Core 7 base environment.
* Linux Kernel: Linux 2.6.22; [http://fedoraproject.org/ Fedora] Core 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.do?p=olpc-2.6;a=summary


==Programming environment==
==Programming environment==
* Python (Version 2.5);
* [[Python]] (Version 2.5);
* [[Javascript]]™;
* Javascript™;
* CSound, music programming language;
* [[CSound]], music programming language;
* The Etoys implementation of Squeak using small talk, an object-based 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 Logo, a graphical programming environment;
* [[TurtleArt]] [[Logo]], 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 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.
* 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===
===Libraries===
* Mozilla Gecko/Xulrunner (the Firefox web engine);
* Mozilla [http://www.mozilla.org/newlayout/ Gecko]/[[Xulrunner]] (the Firefox web engine);
* GUI toolkit (GTK+) (Gnome);
* GUI toolkit ([http://www.gtk.org/ GTK+]) ([http://www.gnome.org Gnome]);
* Matchbox window manager;
* [http://projects.o-hand.com/matchbox Matchbox] window manager;
* Pango text layout;
* [http://www.pango.org/ Pango] text layout;
* Gnome accessibility toolkit (ATK);
* Gnome accessibility toolkit ([http://developer.gnome.org/projects/gap/ ATK]);
* Python GTK+ bindings version 2.10;
* Python [[GTK for OLPC | GTK]]+ bindings version 2.10;
* Cairo 2D-graphics support;
* [http://cairographics.org/ Cairo] 2D-graphics support;
* X Window System X.org Foundation;
* [http://x.org X Window System] X.org Foundation;
* Font rendering (Freetype);
* Font rendering ([http://www.freetype.org/ Freetype]);
* Avahi local service discovery;
* [http://avahi.org/ Avahi] local service discovery;
* Multimedia framework: gstreamer;
* Multimedia framework: [http://gstreamer.freedesktop.org/ gstreamer] and [http://www.helixcommunity.org RealNetworks];
* Bitfrost security system (detailed in a separate document);
* [[Bitfrost]] security system;
* Mesh network;
* Mesh network;
* Game library: [[Pygame]]
Libraries to support all of the above, others can be installed by Yum or RPM.
Libraries to support all of the above, others can be installed by 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;
“Zooming” interface to mesh network;
* Journal interface to file system;
* [[Journal]] interface to file system;
* Flash space available for other software content ~800 mbytes.
Flash space available for other software content ~800 mbytes.


==Applications==
==Applications==
Line 39: Line 42:


===Tools for exploring===
===Tools for exploring===
* a web browser built on the Firefox engine;
* a web browser built on the [[xulrunner | Firefox engine]];
* a simple document viewer based upon evince (including the ability to view PDF);
* a simple document viewer based upon [http://www.gnome.org/projects/evince/ evince] (including the ability to view PDF);
* an RSS (“really simple syndication”) reader;
* an RSS (“really simple syndication”) 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);
Line 47: Line 50:


===Tools for expressing===
===Tools for expressing===
* TamTam, a music synthesis and composition tool;
* [[TamTam]], a music synthesis and composition tool;
* Etoys (see above);
* Etoys (see above);
* a word processor based upon the Abiword project;
* a word processor based upon the Abiword project;
** [[OpenDocument Viewer]] to read documents in OpenDocument format, a highly-compressed format that is a fully open international standard (ISO 26300)
* video, audio, and still-image capture and playback (a “video wiki” is under development);
* video, audio, and still-image capture and playback (a “video wiki” is under development);
* a pixel-paint programming;
* a pixel-paint programming;
* a journal;
* a [[OLPC_Human_Interface_Guidelines#Journaling|journal]];
* a wiki with WYSIWYG editing (under development);
* a wiki with WYSIWYG editing, using [[Crossmark]] (under development);
* VI and NANO text editors.
* [http://www.vim.org VIM] and NANO text editors.


===Tools for communicating===
===Tools for communicating===
Line 82: Line 86:
* Simultaneously acts as a mesh point and an infrastructure node.
* Simultaneously acts as a mesh point and an infrastructure node.
* Standards Compliance: follow 802.11s draft when possible.
* Standards Compliance: follow 802.11s draft when possible.

==Operating System Components==

===Linux Kernel===

For the main kernel, we are using the Fedora Rawhide version of the Linux kernel, which means that we are tracking the main kernel fairly closely.
The OLPC specific bits of the Rawhide kernel are pulled from the olpc-2.6 GIT tree on dev.laptop.org:http://dev.laptop.org/git.do?p=olpc-2.6;a=summary

==Programming environments==
*[[Python]] version 2.4
*[[Javascript]]
*[[CSound]], our sound and music environment
*[[Squeak]] / [[Etoys]], a media-rich authoring environment (Please see [[Sugar Etoys]] for a detailed description of the Sugar implementation.)

===To be determined===
*We will have a [[LOGO]] environment, most likely one developed by [http://www.media.mit.edu/~arnans Arnan (Roger) Sipitakiat] that runs on top of Python
** See [[pyoLogo]] for more information.
*We may have a open source JVM and/or a Flash VM

==Applications on B1==
*a web browser built on [[xulrunner]]
*a simple document viewer based upon [http://www.gnome.org/projects/evince/ evince]
*[[TamTam]], a music synthesis tool
*[[Memory]], a musical memory game written in Csound that exploits the mesh network
*[[Sugar_EToys|eToys]] (see above)
*[http://penguintv.sourceforge.net/ PenguinTV] RSS reader
*[[AbiWord|Abiword]], a word processor
*a simple application to demonstrate the camera by putting its video onto the screen.

==Applications (and ports) under development for B2==

Any of these applications may not be available in time for B2, or necessarily preloaded onto the systems.

*a [[OLPC_Human_Interface_Guidelines#Journaling|journal]]
*a wiki with WYSIWYG editing, using [[Crossmark]] as its markup language
*[[OpenDocument Viewer]] to read documents in OpenDocument format, a highly-compressed format that is a fully open international standard (ISO 26300)
*[http://www.vim.org VIM], a text editor
*[http://helixcommunity.org/ Helix], an open-source multimedia environment
*other video tools, such as a video wiki
*an [http://www.springerlink.com/index/U2PAG8MFR651DRCF.pdf image map] tool
*[[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
*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

==Libraries and Plugins==
*[[Tinymail]] (Possible, still looking for design ideas.)
*Mozilla [http://www.mozilla.org/newlayout/ Gecko]/Xul
*GUI toolkit ([http://www.gtk.org/ GTK+]) ([http://www.gnome.org Gnome])
*[http://projects.o-hand.com/matchbox Matchbox] window manager
*[[Sugar]] (UI) RedHat/OLPC/Pentagram
*[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
*[http://fedoraproject.org/ Fedora] Linux
*Font rendering ([http://www.freetype.org/ Freetype])
*[http://avahi.org/ Avahi] local service discovery
*Multimedia framework: [http://gstreamer.freedesktop.org/ gstreamer] and [http://www.helixcommunity.org RealNetworks]
*Game library: [[Pygame]]


== See also: [[Software projects]] ==
== See also: [[Software projects]] ==
* [[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
* 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


[[Category:Software ideas]]
[[Category:Software ideas]]

Revision as of 02:08, 23 August 2007

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

Operating system

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
  • TurtleArt Logo, 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

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;

Flash space available for other software content ~800 mbytes.

Applications

There are three types of activities distributed with the base system: tools for exploring, expressing, and collaborating.

Tools for exploring

  • a web browser built on the Firefox engine;
  • a simple document viewer based upon evince (including the ability to view PDF);
  • 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 the laptop and are available for download but not part of the standard distribution.

Tools for expressing

  • TamTam, a music synthesis and composition tool;
  • Etoys (see above);
  • a word processor based upon the Abiword project;
    • OpenDocument Viewer to read documents in OpenDocument format, a highly-compressed format that is a fully open international standard (ISO 26300)
  • video, audio, and still-image capture and playback (a “video wiki” is under development);
  • a pixel-paint programming;
  • a journal;
  • a wiki with WYSIWYG editing, using Crossmark (under development);
  • VIM and NANO text editors.

Tools for communicating

  • chat and serverless instant messenger;
  • 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).

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; Most applications, including, reading, writing, recording and browsing, allow for collaboration; through the network: child-to-child and teacher-to-child.

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.

See also: Software projects