Monday, September 5, 2011

OLPC

I should be posting my week 6 task right now, but I will post this now and the week 6 task tomorrow.






OLPC stands for One Laptop Per Child. It is the brainchild of Nicholas Negroponte, and others who have worked at the MIT Media Lab. 

The idea was to create a low cost, rugged laptop that could be distributed, en masse, to kids in developing countries. The OLPC foundation was seeking to make the internet available to every child, no matter their wealth. The project has had mixed success. So far a little over 2 million laptops have been distributed around the world.


Hardware
The specifications of the computers are not particuarly impressive.  
  • 400MHz cpu
  • 512 MB Ram
  •  2GB internal flash hard drive
  • 7.5 inch LCD screen
  • Keyboard is a single piece of rubber that is moulded into the shape of a keyboard.
There are some great things about the design, though, that are worth mentioning.  These laptops are designed for kids aged 6-12 who might live anywhere.  The laptop has no movin parts in it, so moving it while it is on won't hurt it.  It's designed to be able to survive being dropped a lot.  If it is turned off and dropped into a bucket of water it will probably suffer no ill effects (although I wouldn't try it).  It has a handle so the kids can carry it easily.  These guys knew their audience and the design of the computer, though clunky and boxy, is actually quite practical.  The screen can swivel right around and fold back over the keyboard.



The idea of the laptop is for it to have very low power consumption, as kids who don't have access to electricity are going to have to charge the battery themselves.  This is done, I think, by linking a hook to your foot and pulling a string, kind of like a pull start on a lawnmower, which creates an electrical current and charges the battery.  I'm not sure about this, though, I feel like I might be wrong.  Feel free to look it up and correct me.


The monitor has two modes:
  1. Normal colour.  It's not particularly impressive, but it works.
  2. There is also a high contrast gray scale mode that allows the screen to be easily read in direct sunlight.  For kids who can't stay indoors a lot, this is a real advantage.
The screen is very high resolution for its size, getting something that looks around 1024 x 768, but the pixels don't work quite like a regular LCD.

Software
The operating system on the OLPC is called Sugar.  It is a unique operating system in almost every aspect, not least because it is written completely in Python, which is unheard of.  Of course it includes byte code as well, but the OS itself is Python.  Python is an extremely high level programming language and the idea, I think, is for it to be accessible to as many developers as possible.  The operating system uses the linux kernel.

Most of the programs written for the OLPC are written in Python also.  
Here is a picture of the Sugar home screen, or 'desktop', for lack of a better word.  



 The icon in the centre is the control panel.  Underneath it, the picture of a notebook, is the journal.  The journal is where all of your user data is saved.  It's like the 'My Documents' folder on a PC, I suppose.  From there students can open up applications where they were up to when they closed the computer last time.


The icons that make up the circle are the programs installed on the machine, but they are called 'activities', not programs.  These are the programs available in the standard installation.  There are a myriad of others that kids can download from a few different sites.


At the moment I'm writing a maths program that is unlikely to make it as one of the main programs, so when it is ready kids will be able to download it and add it to their circle of activities should they wish to do so.


Some of the activities are pretty average, but there are a few standouts that are really great.  The ideology behind this laptop is greatly influenced by Seymour Papert and so there is a huge emphasis on computer programming.  
'Turtle Art' is your classic logo program but it uses tiles so that kids don't have to learn the code themselves.
'Pippy' (the snake icon) is a python IDE and gives some simple examples of how to program in python.
'eToys' (the icon of a star shooting up) is a program which is, in my opinion, one of the greatest pieces of educational software ever written.  It is incredibly powerful and has loads of great features for kids to use to learn computer programming, maths and science.  The problem with it is that it was written in a computer programming language called 'Squeak', and it is extremely buggy.  It was developed by Alan Kay and his team at the MIT Media Lab, and he himself says that it is a great innovation, but that he needs a load of money to completely rewrite it.  If anyone ever does it properly then it will be an extremely powerful tool for learning.
'Scratch' (the icon of a cat's head) is another icon based computer language for kids.  This is written in java and is stable.  I use Scratch in my teaching almost every day and I think that it is the best way to introduce kids to programming.  Kids create blocks of code that fit together like a jigsaw.


That will do for now.  I imagine that there are lots of questions.  Feel free to ask and I will do my best to answer them.


I'm interested to know what others think about the project.  It's extremely ambitious and it has had lots of praise and criticism.


Oh, and here are a couple of pictures of the XO-3, rumored to come out next year, but we'll see.  I imagine it will look quite different and that it will come out late.




5 comments:

  1. Wow!! So much information there, thanks Graham. I wish we could 'have a go' on one. Love the idea of making computers accessible to disadvantaged children in remote areas..but why not just work on developing a cheap, sturdy version of existing, conventional systems rather than develop a whole new system that will not be transferrable (skills, user-interface and competency-wise) in the 'real world'? Also how do you gain access to 'documents' (or whatever) that you have completed at some stage in the past ie what is the 'document' storage logic/pathway of this system?

    ReplyDelete
  2. I agree with you, Sally. The look of this computer reminds me of what you can purchase for toddlers in the western world (Barbie Computer, Dora the Explorer)... I have not investigated the OS that is on these types of systems. I remember reading a few years ago about computers for children in developing countries - and the battery source being a hand or foot generator like this one.

    ReplyDelete
  3. Thanks for the comments.
    Part of the reason for having a different OS is that right now we have something of a duopoly when it comes to OS's. Part of the idea of the OLPC laptop is that its price should be within the grasp of poor countries.
    All of the software and activities are developed for free, why not the operating system? Neither Windows or Mac are willing to give away their OS's for free, and dare I say that their business practices are questionable, to say the least.

    As for transferrable skills in the 'real world', I'm not sure what the real world is. If you mean the rich world, they are not the majority. The world's popuation is getting very close to 7 billion and it's estimated that something in the order or 2 billion have internet access. Less actually own a computer. It seems to me that the real world is a non computing world.

    Also, the kids here are running a linux system and learning to program. I bet after a few years of working on and putting up with the bugs on their little XOs, they are far more equipped to use a computer than our kids who are not allowed to touch anything to do with the system. In fact, we don't know anything about the system, because working in it is made overly complicated by the people who make the OS's in order to discourage it.

    ReplyDelete
  4. Yes, I think you are right about the transferable skills Graham. I have done some computer programming units at university level, and the students that excelled at programming were usually the kids that had messed around with Linux OS's at home from a young age. (Although they still struggled with the more advanced object orientated language concepts like the rest of us)

    The scratch language sounds interesting, I will have to look into this - thanks Graham.

    ReplyDelete
  5. Thanks again for putting this up Graham. Very good. I'm in the process of starting to consider the transferability of these skills to other learning tasks, in comparison with more traditional interfaces. I'm keen to see if there is an impact.

    ReplyDelete