Software discussion: Difference between revisions
(→Details: Added "(This section needs to be updated)" for expectation management.) |
m (Reverted edits by 117.11.235.134 (Talk) to last revision by Skierpage) |
||
(67 intermediate revisions by 29 users not shown) | |||
Line 1: | Line 1: | ||
{{obsolete|link=[[Software components]]}} |
|||
{{OLPC}} |
|||
__NOTOC__ |
|||
{{Translations}} |
|||
==Overview== |
==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. |
|||
OLPC software is a set of carefully chosen and integrated linux applications, creating an innovative user environment. |
|||
Once we are inside, the opportunities to move instructionism towards constructionism--learning through doing--abound. |
|||
*[[Sugar|Sugar - the User Interface]] |
|||
*:[[OLPC Human Interface Guidelines]] |
|||
*[[Software components]] and [[Software projects|projects]] |
|||
*[[Software/Goals|Software goals]] and [[OLPC on open source software|open-source software]] |
|||
*[[Our_software|Software FAQ]] |
|||
# teachers (and children) can construct lesson plans and other learning materials; |
|||
Developers, you can help get Trial1 out the door right now: |
|||
# they can share these materials; |
|||
*[[Trial1 Software]] |
|||
# 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. |
|||
==Details== |
|||
---- |
|||
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. |
|||
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: |
|||
*Get an overview: |
|||
** [[Sugar]]; [[Software components]]; ...? |
|||
**[[Software/Goals|Software goals]] and [[OLPC on open source software|open-source software]]; [[Our_software|Software FAQ]] |
|||
*Play - there are a couple of options: |
|||
**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. |
|||
*Create software |
|||
**[[Participate]]; '''[[Getting started programming]]''' |
|||
**[[Software components]], [[software projects|projects]], and [[software ideas|ideas]]. |
|||
**Take a look at the several software article categories at the bottom of this article. |
|||
**... |
|||
*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?'') |
|||
*Hardcore bug hunt |
|||
**[http://dev.laptop.org/roadmap Release roadmap] |
|||
**[[Test meeting Minutes]] |
|||
**http://dev.laptop.org/query to look at bugs |
|||
**Help upstream projects (see [[Participate]]). |
|||
*Kernel Hacking |
|||
**[[Kernel]] |
|||
**[[Rebuilding OLPC kernel|Rebuild the Linux Kernel]] |
|||
==Some Details== |
|||
''(This section needs to be updated)'' |
''(This section needs to be updated)'' |
||
There are four flavors of software: |
|||
===[[BTest]]-1 Software=== |
|||
*'''[[Activities]]''', written or ported to the [[Sugar]] user interface, and following [[OLPC Human Interface Guidelines|OLPC interface]]. Activities are mainly written in the [[python]] and C programming languages. The standard libraries are listed in [[software components]]. |
|||
* The [[BTest-1 Release Notes]] are required reading for anyone with BTest-1 Hardware and Software |
|||
*Code written for a programmable activity, such as [[squeak]] and its [[etoys]], [[OLPCities]](?), javascript(?), ...(?). <!-- This is the easiest type to write. --> |
|||
* [[B1-demo-notes|BTest-1 Demo Notes]] describes some of the software on the BTest-1 systems |
|||
*[[Linux software]] using the standard libraries listed in [[software components]]. |
|||
* '''All''' BTest-1 systems [[Autoreinstallation image| should be upgraded to current software and firmware]] before use, since many problems have already been resolved since the machines were manufactured |
|||
*Any other linux software. Memory and disk space are constrained (256MB,1GB), so requiring additional libraries makes this a less attractive option. |
|||
===[[ |
===[[Developers program]]=== |
||
* [[Power_Management|Power management and your software]] |
|||
* The latest build is always [http://olpc.download.redhat.com/olpc/streams/development/LATEST here]. |
|||
* http://dev.laptop.org/ runs [[Trac]] and has the OLPC bug database |
|||
[[BTest]] Software |
|||
* The [[BTest-1 Release Notes]] and [[BTest-2 Release Notes]] are required reading for anyone with BTest Hardware and Software |
|||
* The [[OLPC Software Release Notes]] are also required reading. |
|||
* [[B1-demo-notes|BTest-1 Demo Notes]] describes some of the software on the BTest systems |
|||
* '''All''' BTest systems [[Autoreinstallation image| should be upgraded to current software and firmware]] before use, since many problems have already been resolved since the machines were manufactured |
|||
* [[Firmware]] releases are stored here. |
|||
=== [[OS_images|Build images]]=== |
|||
* The latest build is always [http://olpc.download.redhat.com/olpc/streams/development/LATEST here]. (deprecated, this directory has not been updated since 2007-11 build 625) |
|||
* Instructions regarding the use of [[OS_images_for_emulation|emulation images]] |
* Instructions regarding the use of [[OS_images_for_emulation|emulation images]] |
||
* [[User_Feedback_on_Images|User Feedback on Images]] |
* [[User_Feedback_on_Images|User Feedback on Images]] |
||
===[[ |
=== [[Software components|Laptop software]] === |
||
* [http://dev.laptop.org/ The OLPC developer wiki] |
|||
* [[Getting started programming]] |
|||
* [[Notes_on_using_the_OLPC_developer_boards|Release notes]] for the A-test developer boards |
|||
* [[BTest_Software_Notes|'''Release notes''']] for the B1-test developer boards |
|||
===[[Software components|Laptop software]]=== |
|||
* [[Software components#Programming environments|Programming environments]] we will be supporting |
* [[Software components#Programming environments|Programming environments]] we will be supporting |
||
* [[Software components#Applications on B1|Applications to be included on B1]] |
* [[Software components#Applications on B1|Applications to be included on B1]] |
||
* [[Software components#Applications (and ports) under development for B2|Applications to be included on B2]] |
* [[Software components#Applications (and ports) under development for B2|Applications to be included on B2]] |
||
* [[Software components#Libraries and Plugins|Libraries]] we are using |
* [[Software components#Libraries and Plugins|Libraries]] we are using |
||
* [[Development issues]] and [[Sample Applications]] |
|||
[[OLPC Python Environment]] |
|||
Other: |
|||
*[[Development issues]] |
|||
*[[Sample Applications]] |
|||
[[Testing checklist]] |
|||
===[[OLPC Python Environment]]=== |
|||
[[Open Firmware]] |
|||
===[[Software Schedules|Software schedules]]=== |
|||
[[Hardware Drivers|Device drivers]] |
|||
===[[Testing checklist]]=== |
|||
===[[LinuxBIOS]]=== |
|||
* [[Building LinuxBIOS]] |
|||
* [[Maintainer Notes]] |
|||
* [[OFW FAQ|Open Firmware]] |
|||
* [[Firmware_release_procedures|Firmware]] |
|||
===[[Hardware Drivers|Device drivers]]=== |
|||
* [[DCON]] |
* [[DCON]] |
||
* [[GPIO Map | CS5536 GPIO Mappings ]] |
* [[GPIO Map | CS5536 GPIO Mappings ]] |
||
* [[Port Address | OLPC Port and MMIO base address ]] |
|||
== |
==== Misc ==== |
||
* [[Kernel Debugging]] |
|||
== Some content to integrate == |
|||
*[[:Category:Software]] |
|||
This text went by on boston-pig, from doug. It should be integrated above. |
|||
*[[:Category:Software ideas]] |
|||
*[[:Category:Developers]] |
|||
The project needs help on just about every level. |
|||
[[Category:Developers]] |
|||
There are open tickets at http://dev.laptop.org/ for documentation, |
|||
[[Category:Software ideas]] |
|||
translation, python programming, c kernel programming, UI work, and of |
|||
[[Category:Software]] |
|||
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== |
|||
*[[Software components|Software specifications]] |
|||
*[http://mailman.laptop.org/pipermail/sugar/ Sugar mailing list archive] |
|||
*[[News|News - often mentions recent software progress]]. |
|||
*[http://dev.laptop.org/ dev.laptop.org] lets you [http://dev.laptop.org/browser browse the code]. |
Latest revision as of 22:26, 30 January 2011
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# 252179] +/- |
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.
- teachers (and children) can construct lesson plans and other learning materials;
- they can share these materials;
- 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:
- Get an overview:
- Play - there are a couple of options:
- Burn a LiveCd. This is likely simplest.
- Run an OS image in emulation. This doesn't require burning a CD and rebooting, but may require installing software, and may run slowly.
- Create software
- Participate; Getting started programming
- Software components, projects, and ideas.
- Take a look at the several software article categories at the bottom of this article.
- ...
- 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?)
- Hardcore bug hunt
- Release roadmap
- Test meeting Minutes
- http://dev.laptop.org/query to look at bugs
- Help upstream projects (see Participate).
- Kernel Hacking
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
- Power management and your software
- http://dev.laptop.org/ runs Trac and has the OLPC bug database
BTest Software
- The BTest-1 Release Notes and BTest-2 Release Notes are required reading for anyone with BTest Hardware and Software
- The OLPC Software Release Notes are also required reading.
- BTest-1 Demo Notes describes some of the software on the BTest systems
- All BTest systems should be upgraded to current software and firmware before use, since many problems have already been resolved since the machines were manufactured
- Firmware releases are stored here.
Build images
- The latest build is always here. (deprecated, this directory has not been updated since 2007-11 build 625)
- Instructions regarding the use of emulation images
- User Feedback on Images
Laptop software
- Programming environments we will be supporting
- Applications to be included on B1
- Applications to be included on B2
- Libraries we are using
- Development issues and Sample Applications
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/