First impressions of the Raspberry Pi
Yesterday I finally received my Raspberry Pi (model B), a small computer designed for educational use that retails at about the £25 mark. I had had mine on order since March and had been reading a lot about it in that time so was looking forward to getting it. The first thing that strikes you about this device is its size, or rather lack of it. The Pi arrived in a box and a padded envelope and yet still fitted through my letter box! So that was the first computer delivery I've had where I didn't need to wait in or find some delivery office to pick it up from. The second thing that struck me is just how raw this machine is. No case, screen, input device or operating system supplied. You need to find these items for yourself. The device is also designed to be plugged into a TV, which might momentarily give it an 80s retro feel. In a time when manufacturers spend so long on polishing products and interfaces and where devices such as mobiles and tablets are starting to bring computing more into a consumer appliance mode of thinking this is quite a shock. This could prove to be a double edged sword.
The Pi is quite interesting as it has more in common with devices like set top boxes than in it does with laptops or desktops. It is based around a "system on a chip" design that has an ARM processor - the same type as appears on mobile phones. In fact, the same chip that is at the heart of the Raspberry Pi - the BCM2835 is also at the heart of the Roku Player products which are designed to bring Internet content to TVs and function as a media streamer. So while the chip lacks lots of raw CPU power it can do things like hardware decode video files. Often devices such as set top boxes, PVRs, Bluray players and televisions are based around this sort of chip and often use GNU/Linux for their operating system together with a proprietary application that the user sees. Interestingly this has lead to a situation where most people probably use Linux every day without even realising it!
Getting the device up and running did not prove too difficult. I downloaded the Debian image from the Raspberry Pi site (I am planning on trying the Arch Linux Arm image as well in the future) and transferred it to an SD card. I used the Image Writer and GParted applications on Ubuntu to write the image and resize the partitions rather than the command line (I will blog how I did this very soon). Then I plugged the Pi into my network and TV. I have a Rii miniature wireless keyboard and mouse so I plugged that in, put in the SD card and then my mobile phone charger for power. The little device then sprang into life and after a few minutes I could log in. While I didn't find creating the SD card image difficult that's probably because I have done that sort of thing a lot before. I can imagine that it could be a process that is fairly intimidating for newcomers. The availability of a pre-built SD card with an operating system pre-installed would make a huge difference here.
It is worth noting though that you are not alone with the machine. A community has sprung up around it with a forum, a wiki (which also very helpfully includes a list of hardware that people have tried with the Pi) and a Facebook page. The community is growing in numbers every day as Raspberry Pis and delivered to meet back orders and current demand.
Logging into the Debian image I found myself on familiar territory (and glad that I had spent time in the past acquiring Debian admin skills - how do people without them get by?). There were a few frustrations though. The X Server (which provides the basis for a graphical user environment) is not yet hardware accelerated which means that programmes can be slow. Web browsing is pretty bad too with the with the CPU often hitting nearly 100% usage when trying to load web pages. The provided web browser is Midori which is designed to be lightweight. It is possible to install Chromium 6 and (with some Debian magic) Iceweasel 10 (i.e. Firefox but in Debian land it is not known as that for reasons I won't go into here).
So if you want to learn programming with a heavyweight Integrated Development Environment or you want to push HTML5 to the limits you might struggle. Hopefully some form of hardware accelerated X Server solution will come along soon. For those starting out it might be better news with Python (and a basic development environment) and Scratch supplied on the image. Of course programming isn't the only use for the device. True to its set top box heritage there are projects like OpenELEC and Raspbmc aim to make it easy to turn the device into a media centre. For electronics fans the GPIO interface offers many interesting possibilities. It is clearly a device full of possibilities and for those who enjoy messing about with computers or learning about them to a deeper level it will be a very appealing device.
A lot has been written about the Raspberry Pi, often accompanied with a lot of nostalgia for the 1980s computing scene from people around the same age as me, but it is easy to forget that the device is not really meant to be aimed at us but at current school children with the hope that this will increase the numbers choosing to study Computer Science at university. This issue has come into focus with the criticism made by Eric Schmidt, chairman of Google, of computing education in the UK (and his support for the Raspberry Pi project). Sadly I think that the project will face huge barriers before it can assist in that aim.
The first issue may turn out to be a lack of enthusiasm from educators and parents. It is hard to ignore the fact that you need fair bit of computing knowledge to get going. Put it this way, if you don't know what "partitioning a disc" means then this device could turn out to be off putting. This could cause problems for parents trying to support their children or teachers trying to use it in a classroom setting (although the price of the machine means that buying a computer is no longer a major purchase - so maybe it is worth the risk). Also in my experience (I worked in a university for six years) educators tend to prefer, and get more excited by, Apple products. Anything else could face a wall of reluctance. Of course time will tell but I suspect that this device might still have a role in helping people learn but maybe in a different way. It might get more people interested in embedded computing, operating systems or making their own media centres for example (which could still prove to be a very interesting outcome).
Secondly, for a variety of reasons, I don't think that there is any possibility of the numbers of people enrolling on Computer Science degrees in the UK increasing hugely. There is a bit of attention on getting computer programming taught more widely in schools, which is great, but it is difficult to ignore some of the negative social perceptions of the field (which ironically came up during The Guardian's campaign to promote coding in schools, the article How I built my first app (with a little help) descended into some quite appalling stereotypes and yet served as a reminder of some of the attitudes out there). For a teen trying to fit in such perceptions could be a deal breaker. Maybe it would be better to think about encouraging more mixed discipline degrees with a computing element and a greater emphasis on life long learning for those who have left full time education but might welcome the challenge of a computing career (and I am sure the Pi could help them).
I'm really looking forward to experimenting much more with this little machine. Despite my reservations above I think that Raspberry Pi owners will end up learning a lot as a result of experimenting with the device. In the end I think it will end up being one of those machines that leads to unforeseen (but good) consequences. Just as the