Codex: Uros 2008 Report

  • October 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Codex: Uros 2008 Report as PDF for free.

More details

  • Words: 1,990
  • Pages: 5
Collaborative Development for the XO Laptop (CODEX) James Munro Cornelia Boldyreff Centre of Research on Open Source Software – CROSS Department of Computing and Infomatics University of Lincoln, UK {jmunro,cboldyreff}@lincoln.ac.uk

Abstract The OLPC XO laptop is an interesting and simplistic system to develop applications for; however, there is a lack of information and resources from a university student’s perspective. The CODEX project aims to research and produce a collaborative development environment for use by students wishing to create applications for the OLPC XO laptop system. Different platforms and environments were researched to determine the most suitable candidate. The end result of this project is the CODEX LiveCD, a usable self-contained development environment specifically catering for students developing software for the XO laptop. Students can now potentially use the LiveCD to collaboratively develop software for the XO laptop.

1 Introduction The XO laptop is the unique system at the heart of the OLPC project. The laptop is specifically tailored and designed for use by children in developing countries. With its simplified Sugar interface the XO has stepped away from the traditional desktop-computing metaphor that we’ve grown to rely on. All of the software associated with the OLPC project is built upon Open Source Software (OSS) and is freely available to anyone in the world. Much of the development effort is undertaken by the open-source community entirely for free; and this helps the project to evolve and grow. The free nature of the OLPC project’s vision permits anyone to contribute resources to the project; and their contributions are not limited to just the software code, as any type of contribution is gratefully accepted [1]. Here at the University of Lincoln we have identified the OLPC project as a potentially excellent way of getting students involved in collaborative software development within the open-source community and as a way of allowing students to contribute to an ethical and worthwhile cause. We are aiming to determine a suitable environment in which students can collaborate and develop software for the XO laptop. XO software applications are known as ’activities’ for the laptop’s Sugar interface. Like the XO hardware, Sugar is designed specifically for the children of developing countries.

1.1

Reasons for Choosing CODEX

I chose to work on the CODEX project for many different reasons. I have a strong personal interest in OSS and software development in general and saw that CODEX would be an excellent opportunity to contribute to an OSS project, something I have wanted to for a long time. I knew that by taking a ’hands-on’ approach in a project such as this I would develop skills in many new areas.

1.2

Aims and Objectives

The main aims and objects of CODEX are listed below:

1

1. Identify a suitable development environment for Sugar activities 2. Develop/modify development environment for student use 3. Produce tutorial content and documentation 4. Develop example activities using the environment

1.3

Previous Work

The ’eCLAMP’ project from UROS 2007 introduced a unified development environment designed for use on all of the University’s technology courses. This project is based on Eclipse - an industry standard Integrated Development Environment (IDE) and eCLAMP was investigated as part of CODEX to determine its suitability for further modification.

2 Process The research process of the project consisted of three distinct phases: 1. Investigative phase 2. Development phase 3. Trial usage and evaluation phase The details of the three phases are elaborated in further detail in the following subsections.

2.1

Investigative Phase

This phase of the project involved in-depth research on various aspects of the OLPC project. In particular, close attention was paid to the development tools and environments generally used by developers working for the project. This provided an insight into the typical workflow associated with developing software for the Sugar platform. The bulk of this phase was researched from the following sources: • Existing reports on similar topics, e.g. the eCLAMP UROS report [8]; • Internet articles, e.g. the Sugar API documentation [4]; and • ’Wiki’ type webpages, e.g. the official OLPC Wiki [3] and SugarLabs [5]. The deliverable of this phase consists of useful references and knowledge sources that have been recorded on the UROS blog and the Learning Lab Wiki [2].

2.2

Development Phase

The development phase of the project involved acting upon the findings of the previous phase. In particular, this involved creating the actual development environment. A breakdown of this phase can be seen below: • Choose existing development environment and tools, • Suitably modify/adapt existing environment for student use, • Record steps required to produce deliverable for future repetition, and • Produce example content using the environment in tutorial format. The deliverable of this phase is the useable development environment complete with documentation and resources required to use the environment efficiently. 2

2.3

Trial Usage and Evaluation Phase

The final phase of the project involved testing out the deliverables of the development phase to test the efficiency and suitability of the environment. In some respects this phase is still on-going, the environment has yet to be tested by students but the opportunity has arisen for CODEX resources to be used as part of a final year project by students in 2008-09.

3 Results 3.1

Suitability of eCLAMP

The results of the investigative phase soon demonstrated that eCLAMP would not be a suitable environment to adapt for the following reasons: 1. Difficulty of integrating with existing Sugar development tools, 2. Difficulty of deploying on the University computers, and 3. Unsuitably complex user-interface of Eclipse for the simple Sugar development.

3.2

LiveCD

The most appropriate solution was deemed to be using the Sugar interface for Sugar development as this would allow students to collaborate. However, there were not sufficient XO laptops available for student use so alternative development environments were investigated. After careful research of the alternative methods of development it became clear that a Linux LiveCD would be suitable for use by CODEX. A LiveCD is a Linux distribution that can be run directly from the CD - without the need to be installed on the computer. Developing a LiveCD would have the following advantages: 3.2.1 Advantages 1. Self-contained environment providing all the required tools and software; 2. No need to install on computer - easy to deploy; and 3. The system can be carried around wherever the student goes. 3.2.2 Disadvantages 1. LiveCD’s are typically slow to boot; 2. The system is read-only, students need to save their work to USB drives; and 3. If a new version is created, the student will need a new CD.

3.3

Sugar Packages

As development of the LiveCD continued it became important to stay up-to-date with the latest versions of the Sugar software. I discovered that nobody maintained Ubuntu packages of the Sugar suite and so I took on the task of producing these packages. This involved learning how to use many new tools and has proved to be invaluable experience. I received a lot of positive feedback from Sugar community members which gave me the motivation to stay on top of this task. The creation of the packages enabled easy integration with the LiveCD, making the task of updating the Sugar software on the CD trivial. To make this process even easier I produced a small set of Python scripts that automate some of the tedious aspects of remastering LiveCDs.

3

Figure 1. The LiveCD running a Sugar emulator session

3.4

Sugar Team

I received some interest from the Sugar community after creating the Ubuntu packages. The result of this interest became the ’Sugar Team’ [6], a group of enthusiasts with the aim of creating high quality, up-to-date Sugar packages for Ubuntu. Initially, my packages were used as a base for the work; however, this base soon evolved as a better and a much more efficient system for producing the packages became prevalent. I am currently no longer active in this effort due to time constraints, but the hard work of the Sugar Team still continues and I am proud to have been a part of this.

3.5

The CODEX LiveCD

The CODEX LiveCD is the main deliverable of the project. The CD is a self contained development environment specifically tailored for use by students. The features of the CD are listed below: • Good hardware support; • Integrated Sugar software and tools (see Figure 1); • Sugar emulator (run activities without XO hardware); • Useful menu shortcuts; • Tutorial content and resources; and • Example Sugar activities. The CODEX LiveCD is intended to be very easy to use and supports a large range of software, as a result of the solid foundations of Ubuntu Linux [7] under the bonnet. The CD contains everything that students require to get started in developing activities for the XO laptop and information for future development. It can be used on almost all types of PC hardware as long as it is possible to boot directly from CD, a feature present on all modern computers.

4 Summary If we consider the initial aims of the project we can see that CODEX has been successful. As part of the investigative phase we identified a suitable development environment for student use and based our development upon these findings in the form of a LiveCD. The ultimate efficiency and success of the project as a whole is hard to measure until concise useage information gathered by trialing the CD in a real development situation by students as is planned in the coming academic year. Another of the aim of the project was to produce documentation and tutorial content to support the chosen development environment. We were successful in meeting this aim and the content exists in a Wiki-type format. This format organizes the data in a logical fashion and promotes students and other users to adapt, modify and update the information as they see fit. 4

5 Conclusions The CODEX project has been a great success. I have learned much from my experiences and in the process fulfilled a personal goal of contributing to an OSS project. Work for the future could involve optimizing the CODEX LiveCD after receiving feedback from students who have used it. Due to the ever changing nature of Sugar itself, it is a very difficult task to keep the LiveCD up-to-date as it is essentially like trying to hit a moving target. The best course of action is to aim for scheduled stable releases of Sugar.

6 Acknowledgements Over the course of the CODEX project I have received invaluable help from many people. In particular I would like to thank the following people: • Cornelia Boldyreff - Cornelia is the supervisor of the CODEX project and has proved invaluable at all times. Without Cornelia’s help I would not have been able to stay on course with the project, her advice and support has been concise and very useful. • Andrea Capiluppi - Andrea provided excellent advice and knowledge on all things open-source. He is also adept at creating Perl scripts. • Thomas Knowles - Thomas is another member of the CROSS and has contributed advice and humour during long hours in the office. • Jani Monoses - Jani provided me with excellent advice on creating and maintaining Debian packages. Without his help I would have been unable to update his existing packages with up-to-date Sugar releases. I am extremely grateful for his patience in responding to my many emails. • Morgan Collett - Morgan helped to establish the Sugar Team dedicated to producing Sugar packages for the Ubuntu Linux distribution and also co-ordinated the IRC meetings.

References [1] [2] [3] [4] [5] [6] [7]

Get Involved. http://wiki.laptop.org/go/The_OLPC_Wiki#Get_Involved. Checked July 2008. Learning Lab Wiki. http://learninglab.lincoln.ac.uk/wiki/index.php/OLPC_XO-1. Checked September 2008. The OLPC Wiki. http://wiki.laptop.org/go/The_OLPC_Wiki. Checked July 2008. Sugar Learning Platform. http://api.sugarlabs.org/. Checked August 2008. SugarLabs. http://www.sugarlabs.org/go/Main_Page. Checked July 2008. Sugar Team in Launchpad. https://launchpad.net/˜sugarteam. Checked September 2008. Ubuntu Desktop Edition. http://www.ubuntu.com/products/whatisubuntu/desktopedition. Checked September 2008. [8] Wayne Garland. eCLAMP UROS Report. Technical report, 2007.

5

Related Documents

Codex: Uros 2008 Report
October 2019 6
Codex: Uros 2008 Poster
October 2019 8
Uros
May 2020 1
Codex
May 2020 23
Codex
June 2020 20