Software discussion: Difference between revisions

From OLPC
Jump to navigation Jump to search
(→‎Some Details: make subsections, fix some links)
(→‎Overview: add links, remove some obsolete specifics and reference to upcoming "Trial-3")
Line 16: Line 16:
----
----


A matrix of applications that have been (or are being) built for the laptop can be found [[Activities|here]].
A matrix of applications for the laptop can be found [[Activities|here]].


OLPC software is a set of carefully chosen and integrated Linux applications, creating an innovative user environment.
OLPC software is a set of carefully chosen and integrated Linux applications, creating an innovative user environment.


Basically, the laptop runs the Fedora 7 Linux distribution; On top of the X Window System and the Matchbox window manager, we run a novel '''[[Sugar|Sugar user interface and support library]]''', supporting a core set of "activities". [[Activities]] are programs that follow the [[OLPC Human Interface Guidelines]]. There is an emphasis on [[Python]] and [[GTK]]. Other Linux software can be run too, but having a common and enabling user interface is nice; requiring additional libraries (KDE, java runtime, whatever) is in tension with disk and memory limits.
Basically, the laptop runs the [[Fedora]] Linux distribution; On top of the [[X Window System]] and the Matchbox window manager, we run a novel '''"[[Sugar]]" user interface and support library''', supporting a core set of "activities". [[Activities]] are programs that follow the [[OLPC Human Interface Guidelines]]. There is an emphasis on [[Python]] and [[GTK]]. Other Linux software can be run too, but having a common and enabling user interface is nice; requiring additional libraries (KDE, java runtime, whatever) is in tension with disk and memory limits.


In regard to OLPC software, you can:
In regard to OLPC software, you can:
Line 28: Line 28:
*Play - there are a couple of options:
*Play - there are a couple of options:
**Burn a [[LiveCd]]. This is likely simplest.
**Burn a [[LiveCd]]. This is likely simplest.
**Run an [[OS images for emulation|OS image in emulation]]. This doesn't require burning a cd and rebooting, but may require installing software, and may run slowly.
**Run an [[OS images for emulation|OS image in emulation]]. This doesn't require burning a CD and rebooting, but may require installing software, and may run slowly.
*Create software
*Create software
**[[Getting involved in OLPC]]; '''[[Getting started programming]]'''
**[[Getting involved in OLPC]]; '''[[Getting started programming]]'''
Line 36: Line 36:
*Document OLPC python code
*Document OLPC python code
:If you are comfortable reading python and writing documentation, much new code is in need of doc strings, tutorials, etc. (sugar, geckoembed, ...''what else?'')
:If you are comfortable reading python and writing documentation, much new code is in need of doc strings, tutorials, etc. (sugar, geckoembed, ...''what else?'')
*'''Help improve software for the upcoming TRIAL-3'''
**http://dev.laptop.org/milestone/Trial-3
*Hardcore bug hunt
*Hardcore bug hunt
**[http://dev.laptop.org/roadmap Release roadmap]
**[http://dev.laptop.org/roadmap Release roadmap]
**[[Test meeting Minutes]]
**[[Test meeting Minutes]]
**[http://dev.laptop.org/query http://dev.laptop.org/query]
**http://dev.laptop.org/query to look at bugs
**Help upstream projects (see [[Getting involved in OLPC]]).
**Help upstream projects (see [[Getting involved in OLPC]]).
*Kernel Hacking
*Kernel Hacking

Revision as of 23:55, 3 August 2008

  This page is monitored by the OLPC team.
  Please copy/paste "{{Translationlist | xx | origlang=en | translated={{{translated}}}}}" (where xx is ISO 639 language code for your translation) to Software discussion/translations HowTo [ID# 149472]  +/-  

Overview

The OLPC Trojan horse is the ebook and the soldiers inside the horse are children and teachers with laptops.

The way to penetrate the walls of the Education Industry is through the more efficient creation of instructional materials--the traditional textbook.

Once we are inside, the opportunities to move instructionism towards constructionism--learning through doing--abound.

  1. teachers (and children) can construct lesson plans and other learning materials;
  2. they can share these materials;
  3. they can engage in a critical dialog about these constructions.

Thus we can infect the Education Industry with the ethics, methodologies, and efficiencies of the Open Source community.


A matrix of applications for the laptop can be found here.

OLPC software is a set of carefully chosen and integrated Linux applications, creating an innovative user environment.

Basically, the laptop runs the Fedora Linux distribution; On top of the X Window System and the Matchbox window manager, we run a novel "Sugar" user interface and support library, supporting a core set of "activities". Activities are programs that follow the OLPC Human Interface Guidelines. There is an emphasis on Python and GTK. Other Linux software can be run too, but having a common and enabling user interface is nice; requiring additional libraries (KDE, java runtime, whatever) is in tension with disk and memory limits.

In regard to OLPC software, you can:

If you are comfortable reading python and writing documentation, much new code is in need of doc strings, tutorials, etc. (sugar, geckoembed, ...what else?)

Some Details

(This section needs to be updated)

There are four flavors of software:

  • Activities, written or ported to the Sugar user interface, and following OLPC interface. Activities are mainly written in the python and C programming languages. The standard libraries are listed in software components.
  • Code written for a programmable activity, such as squeak and its etoys, OLPCities(?), javascript(?), ...(?).
  • Linux software using the standard libraries listed in software components.
  • Any other linux software. Memory and disk space are constrained (256MB,1GB), so requiring additional libraries makes this a less attractive option.

Developers program

BTest Software

Build images

Laptop software

OLPC Python Environment

Software schedules

Testing checklist

Open Firmware

Device drivers

Misc

Some content to integrate

This text went by on boston-pig, from doug. It should be integrated above.

The project needs help on just about every level. There are open tickets at http://dev.laptop.org/ for documentation, translation, python programming, c kernel programming, UI work, and of course bugs. There is a special section of bugs for people who are not familiar with the system but want to help out: http://dev.laptop.org/query?status=new&keywords=%7Esugar-love&order=priority

These are bugs in sugar which are already triaged which good instructions on how to fix them in most cases and can be fixed with the LiveCD.

The CD's that were available are the LiveCD from here: http://wiki.laptop.org/go/LiveCd in case you didn't get one.

There are other ways to check out the XO and do development but the LiveCD is the easiest. Here is a good link for other forms of emulation: http://wiki.laptop.org/go/Software

Because Sugar (the core interface) is GTK+ python based, you can run it and do development for it anywhere those packages are available (Mac, Linux, win32). Linux is the easiest and best documented.

http://wiki.laptop.org/go/Sugar http://wiki.laptop.org/go/Sugar_Instructions http://www.redhatmagazine.com/2007/02/23/building-the-xo-introducing-sugar/

See also

Category:Software development