If you keep your eyes and ears on tech news, chances are you've heard of Raspberry Pi -- an ambitious project to create a small form-factor usable computer for the education market which will be available for £15/$25. The price is not the ambitious part though, it's the aims of the project behind it which I think are ambitious and worthy of some attention. Of course with that price it can only be based on free software.
Encouraging the next generation of hackers
This is part one of a series looking at encouraging the next generation of hackers and how free software is being or can be used for this
Comparisons with OLPC
The second anybody mentions low-cost, computer and education market in the same sentence many thoughts will turn to the One Laptop Per Child (OLPC) project and all the associated farce that accompanied it. (Heck when I was searching for free stock photos for this article all I could mostly find was kids using the OLPC). I suppose somebody producing a "computer" for such a low cost will naturally draw comparisons but in terms of hardware and project aims there are quite big differences.
I suppose given the current usage of the term I should mention that when I say hackers I do not mean people breaking into other people's computer systems (which is actually a cracker by the way). I mean people who hack code for a living or just for fun.
Growing up with computers now appears to mean having the ability to use a word processor or a paint program
Firstly Raspberry Pi has no input or output peripherals built in. It doesn't come with a screen or a keyboard - let alone a mouse. Full specs later but that's one reason why it can be so cheap. The second difference from OLPC is that this isn't aiming to put a computer into the hands of every child on the planet per se. The aim here is borne out of producing kit which will encourage children to program. As one of the founders of the project said:
"Computers are too expensive to give to children and the computers for children market was eaten from two directions by games consoles and by the 'family PC' which sits on a desk, belongs to the family and 'thou shalt surf the web on it' or 'thou shalt do your homework on it'... [when that happened] what we were left with was a situation where people had no platform they could program on" Eben Upton: Educating programmers summit - Bletchley Park August 2011
As you can see this is coming from a very different direction to the traditional approach of computer philanthropy and I applaud it. Like many I grew up with the Spectrums, C64 and BBC Micros of this world. These were computers that, yes, you played games on but as soon as you turned them on you had an invitation to program. That little blinking cursor which was just crying out for a two line BASIC program to print "Hello World!" endlessly on your TV. I know it sounds like something out of a Monty Python sketch but this is part of the issue for children today. Growing up with computers now appears to mean having the ability to use a word processor or a paint program. Yes there are hackers out there but they have to really know they want to pursue that line to get anywhere along it. ICT teachers are doing their best but looking back it wasn't in school that I learned to hack, it was in my bedroom with a 16k Spectrum (I upgraded from a ZX81 don't you know), a portable TV and a cassette player.
I said I thought the aims (to get kids programming) was the ambitious part of this project and here's why: cheap computing has been around for some time. I am sure that as soon as any story about this project reaches a tech site, lots of readers will think -- or comment -- "But you can can get a used PC for that price that will come with a screen and a keyboard" and they're right. Of course those PCs will be big and very slow. The low specification for the Raspberry Pi is somewhat impressive given it's form factor and to prove this the project recently uploaded a video of one running Quake III. Here's the specifications given for the prototype model:
- 700MHz ARM11
- 128MB or 256MB of SDRAM
- OpenGL ES 2.0
- 1080p30 H.264 high-profile decode
- Composite and HDMI video output
- USB 2.0
- SD/MMC/SDIO memory card slot
- General-purpose I/O
- Optional integrated 2-port USB hub and 10/100 Ethernet controller
For the alpha model much of this has been provided by using custom boards from Broadcom (who some of the project founders have connections with). The prototype was the size of a USB key but they are aiming to make the alpha and beta models "Credit card sized." The USB hub is likely to be single port and the Ethernet controller will be on the Beta model which is $10 more.
This sort of hardware at this kind of price is both commendable and a good idea. If it is coupled with the right software and implementation it can achieve the aim of encouraging the next generation of hackers. It's good -- and almost expected -- to see free software at the heart of this project but as I'll discuss in the next part the implementation is as important as the choice of software.
Can they do it
The real question is always going to be how well they deliver on their aims. When the alpha boards were being prototyped in August 2011 they were aiming to have them available for developers by November. This is both ambitious and astounding considering the project only really started early in the same year. Things move fast though and the Beta boards were announced in December 2011. This project is rocketing and has real potential. As a Brit I can't help smiling that such an ambitious and innovative project is being developed here too.
I really hope this works and I really hope it can be used to help kids to get into programming because I worry that without it there will be not enough people to stand on the shoulders of the giants who learned their hacking skills on a portable TV and 16K of RAM.
Helping with this series
This is the first part of a series on encouraging the next generation of hackers. For one of the later parts I need your help. I need some - albeit anecdotal - data on what and how kids are taught with regards programming at school or at home. If you (now or in the past) teach IT whether full time or as part of another role to children below the age of 16 - even if that's not as part of an official role - please can you complete this 30 second (6 question) survey? I'll post the results in a later part of this series. The survey will run for one month after the publication of this post. Apologies that this uses a non-free software service.
- You can view the videos mentioned here at the Raspberry Pi website. There are also examples of the prototypes running various GNU/Linux distros as well as things like VNC, QT etc.
- The photo of the Raspberry Pi prototype is taken from the Raspberry Pi website and is (c)Raspberry Pi Foundation
- ZX81 Photo by Mike Cattell CC:By
This work (excluding the figures) may be distributed under the terms of the Creative Commons Attribution-ShareAlike Licence, version 3.0, with attribution to "Ryan Cartwright, first published in Free Software Magazine".