When the Raspberry Pi officially launched on the 29th of February this year, it was presented and welcomed with a triumphant spirit not seen for a UK computing product since the '80s. Aside its primary purpose as a programming platform for children, it has come to represent many things to its advocates, being equal parts emancipation and nostalgia. For the early adopters, it is creating something of a new touchstone for personal computing in a traditional, non-consumerist sense. Whilst heartening to have this kind of vessel for hope and potential, it remains to be seen if the Raspberry Pi is truly an economically-miraculous skeleton key to the world of software development. Or if it is doomed to be eventually lost in a sea of competing little fish carving a niche of survival within the space left between corporate monoliths.
In principle, the Raspberry Pi is a wonderful endeavour. With low cost being of utmost importance, it is ostensibly a credit card-sized smartphone without the screen, case or the telecommunications technology. This makes it wonderfully accessible - under £25 for a machine with the computing power of a decade-old £500 desktop, capable of decoding and rendering HD video. It can run flavours of Linux as an operating system and in its Model B form, has sockets for keyboard, mouse and video output, so is a genuine computer, supported by its own brainpower-heavy charity.
The Raspberry Pi Foundation is a Cambridge-based collaboration between university academia and David Braben, elder statesman of the British games industry. Braben burst onto the scene in the early '80s as the co-author of Elite, a space combat and trading sim for BBC Micro that boasted mind-bending density of content and futuristic 3D vector graphics. BBC Micro was another product of Cambridge, being the educational platform from Acorn Computers, a company that lost the '80s 8-Bit home computer war to Sinclair and the '90s 16-Bit fight to Commodore before all were consumed by the Intel/Windows PC. Unable to sustain hardware development, Acorn underwent an evolutionary rebirth to become ARM, a provider of blueprints to the CPU manufacturing industry. ARM designs now dominate the entire mobile/smartphone sector thanks to hard-edged research throughout the '90s into improving processor performance while reducing chip size and power demands. Understandably then, an ARM-designed CPU forms the heart of the Raspberry Pi.
The Raspberry Pi is very much intended to be the BBC computer for our time. While the Pi plays host to a modern operating system and supports some very contemporary programming environments as a result, the launch publicity made proud fanfare that BBC BASIC, the beloved programming language will also be available for the machine. There is a sense that connecting current ARM-based hardware to a rose-tinted tinkerer's past with archaic languages is the missing key that will position Raspberry Pi beyond its competitors. It is a fact that many 30-something coders today got started with BASIC, but this was as much due to a proliferation of computing magazines with type-in listings for games as it was BASIC itself. In many cases, it was thanks to those listings being printed incorrectly and the user having to debug the program themselves that they gained deeper knowledge of the machine and realised the potential within.
It isn't hard to see some hopeful nostalgia at play here on the Foundation's part, or at least some strange manifestation of faith, in the sense that by simply recreating the digital environment of the early '80s, Raspberry Pi will give birth to a new generation of programming-minded children. In the same manner that leading technical figures in Formula 1 insist that Technical Lego and Meccano are essential for seeding new generations of race car engineers.
Ever since the first microprocessors became available to purchase in the early '70s, there has been a keen and constant strata of "homebrew" tinkerers in computing culture, both young and old. Apple Computers was founded by one such person in Steve Wozniak, and sold its first machines to those same tinkerers. Sinclair, the most romanticised of all the UK computing brands, had its roots in home electronic kits and self-assembly was a popular option right up to the mid-80s. With hardware tinkering came software fiddling, which spun off its own culture of hobbyist programmers and the late-coined umbrella term "Freeware" for everything they programmed - which leads almost directly to the '90s ideology of Open Source. This culture has always been there and remains vibrant. The web only served to fuel its growth, with manufacturers happy to launch hardware to service that culture. In the past decade, there have been Korean and Chinese handheld consoles, stylish American PDAs and German system-on-a-circuit-board kits all intended for hobbyist programming. There are even reverse-engineered 8-and-16-Bit revival consoles with secret ports on the main board to add keyboards, mice and external storage. In darker corners, there is the long and rich history of breaking the protection of Nintendo and Sony handheld consoles for the purposes of free coding on exotic, high-powered hardware; piracy being the pioneering sprit's unfortunate bedfellow. Even a modern Android smartphone can be opened up by simply ticking in the options box. And anyone is free to create applications made in Google's own app creator package. Of course, the Pi joins this ecosystem as a new, cheap option for any genius in their garden shed to capitalise upon. No doubt we will see it becoming a core feature component for all sorts of fabulous contraptions. The Pi is already integral for various amateur science experiments, ranging from balloon-based aerial laboratories to ocean-sailing mini-ships that map currents and chart the ravages of climate change.
It is worth noting that a prime driver of this hobbyist culture is the prodigal teen as much as the educated amateur adult. So given the richness of the hardware landscape open to adolescents with plenty of time and ambition to explore, it is no surprise that the Raspberry Pi should be pitched to an even younger audience - making it not so much about noble enablement for all, but perhaps more about finding an under-served niche for brainy, inquisitive kids that often find themselves begging to play with Dad's iPhone, or languish around playing trial games on an iPod Touch, longing for the day they can have a computer of their own to program games on.
While that niche may be valid and under-served, and with the oft-stated hope that schools will take notice of the Pi's price to make sure it gets into those hands, the grand Raspberry Pi mission slips by adhering to a status quo that supports a general level of ignorance about how computers actually work. The Raspberry Pi Foundation rightly points to a drop in raw programming skills for computer science degree applicants as a worrying trend, but the Pi adheres to the programming establishment by ignoring the need for a new software paradigm to complement its hardware. Beyond the operating system and a handful of recommended languages, Raspberry Pi's potential is up to its users to fulfil.
"We want to break the paradigm where without spending hundreds of pounds on a PC, families can't use the internet. We want owning a truly personal computer to be normal for children", states their website. And in which the programming education itself isn't touched upon. "We don't think that the Raspberry Pi is a fix to all of the world's computing issues; we do believe that we can be a catalyst." It is a fairly realistic outlook - one circuit board can't change the world, even if it was sold for 50p, without the software to make it useful to all. The skills required to make such a product useful in the modern world are not universally shared, but it isn't up to the Raspberry Pi Foundation to dictate the best way forward for anyone. However, if people are to adopt the empowerment of programming their own technology as a skill as common as basic numeracy, then surely it won't be via a primary school education in traditional methods. A curriculum focus on the Roman empire doesn't mean we are all empowered historians. With concepts as abstract as computer programming, we have as much hope of democratising Quantum Mechanics by getting kids to calculate their own wave functions in primary school. For programming to become commonplace, the manner in which the user programs necessarily needs to change.
A similar democratisation of music production involving arcane machinery has emerged over the last two decades precisely due to a profound change in the human/software relationship. In the '80s, controlling synthesisers, drum machines and samplers with a computer required knowledge of three-letter mnemonics, tables of alphanumerical codes and a calculator. Combined with expensive hardware, electronic music was understood in general society as computer programming. By the end of the '90s, direct simulation instruments within the computer, along with simulation of their knobs and sliders, led to teenagers having superstar careers with little more than playful knowledge of a handful of applications. Like or loath him, but Skrillex has built his global dubstep career with a single MacBook, using software of incredible power with a hands-on interface built for free experimentation without having to look up a single hexadecimal code or circuit diagram. Kids today can download free, less professional packages and learn the art of electronic music production from countless YouTube tutorials and forum threads. Both grime and dubstep emerged as music genres thanks to this new culture and freedom. The parallels with the '80s bedroom programmer culture are obvious. Where once there were magazines, pen-pals and free experimentation fuelling a burgeoning games industry with youth-created content, there is now the internet offering the tools, knowledge and access plus distribution channels to take over the public consciousness and define entire new streams of popular culture. The critical difference is that those modern tools remove the need for technical expertise and open the creative potential to "regular" folk, just as much as the internet provides channels and audiences to make a name for anyone with the talent, inclination and luck to make it big.
Where is programming's version of this? Hard to say, but it isn't with Raspberry Pi as it currently stands. More "human" programming languages and more visual, experimentation-oriented packages do exist. There are games that try to teach coding and a plethora of website-based "learn to code in a year" courses, but they all rely on the "hard mathematics, learn entire new languages" paradigm. They all need the coder-in-training to adapt what they learn to the hardware they actually need. They still need the learner to care about coding in and of itself, non-reliant on contextual application or a need to program something personal for everyday use.
It seems we need an entirely new approach to truly democratise programming for all; one that is likely beyond the scope of our current generation's experience, for it would likely already exist if it could. To channel the virtuous hope of the Raspberry Pi Foundation, we must look to the next wave of whizz kids to redefine the status quo and create their own miracles. It is very possible that whomever succeeds will have learnt the old ways on a hand-me-down Raspberry Pi. But given its current responsibilities to provide a hardware base for a software choice, it is just as likely they would embark on their coding journey with a Windows laptop or in a smartphone browser than a machine specifically designed for them. Where the Raspberry Pi counts is precisely in its idea - that more kids should be programming and that they need access to the tools to do it, but also that it is a necessary investment in the future. Such a concerted application of experience, encouragement and education is required to find and develop the one genius necessary to naturalise the relationship between unskilled human being and mathematical wonder-machine. And have us all making our own applications as easily as we edit our own movies, record our own music and process our own photographs. The Raspberry Pi hardware may not be the precise answer its fans and evangelists wish it to be. At least not at this early stage. It is certainly a totem that points towards a wondrous future where our personal computers can truly be ours to control. §