28 August 2011

Raspberry Pi - The Trojan Horse?

The Raspberry Pi project has got a lot of coverage today thanks to the article in the Guardian written by John Naughton.

The fundamental problem has never been the lack of cheap hardware. Even in this day and age it is not the lack of quality freely available tools.  A kid who has the propensity to be a hacker nowadays would invariably have Linux installed with the myriad of tools available, and also doing that they would have the knowledge it should work fairly easy on other computers running roughly the same operating system.

The Raspberry Pi is attempting to invoke the feeling of the BBC Micro in an attempt to get kids programming again, because in the near future we are going to be in a very precarious situation with our engineering ability in this country.

First of all why did the BBC Micro succeed? It is very hard to compare to today with the abundance of computing hardware just in your pocket.  Part of it was almost every classroom across the land had one of these and the children who could work out how to operate them hunted 1s and 0s in packs.  There was a communal aspect to it as the children would have to share, listen, and take it in turns.  Also, there was the TV programme Micro Live, which was needed to get a chunk of publicity.

My first programming was done on BBC Micros at school in the East End of London and at friends houses as we couldn't afford one at home. So, I for one know their importance and probably a majority of my friends and colleagues had similar start.

When I was at University Linux was just starting to gain some traction and the work of the FSF got us GCC and the mix of other tools.  But on Windows I was still trying to use DJGPP and there was no chance of getting more complex things working with an open (free and Free) toolchain.  Children coming up in that age must consider it the computing Dark Ages.

So I come back to my first statement that cheap hardware has never been the problem.  The people getting excited about it are 30+ developers like me who think - "Oooooh, cheap commodity ARM platform, that I can hack in lots of ways".  My immediate thought was to make it into an immensely cheap network connected digital signage system.  And this is probably because ARM is still a minefield and a static and well supported platform would be desirable.

I am not trying to negate the good work done by Raspberry Pi as it could be amazing if it is the Trojan Horse.  What do I mean by that?  The hardware becomes the makeweight for all the real important stuff that needs to happen if we are truly going to educate the next generation of programmers.

What is needed?  Community, publicity, documentation and traction.  Community because this goes beyond the single classroom of my youth.  You need IRC, social networking and tools for more permanent sharing (like Github and Gist).  This then ties into documentation, it would need to be good up front but also allow for the people to evolve it, so much like a wiki.

Just social media publicity would not be enough, you would really need a TV programme to generate it, but then this is where the social media would tie in.  For the programme they would have to show the users best contributions so there is an incentive to produce and produce something good.  After all how many people sent a picture into Hartbeat in the hope of getting into the gallery? It's the closest computing could get to the X-Factor...

The most important part will always be changing the educational system to get children learning how computers to make computers work for them rather than simply going through the commercial Word Processor/Spreadsheet operating.  I suppose this is where the documentation does come in, but I think there will need to be more.  If someone could show educators a curriculum that they could prove worked then that might get the traction required.  That would be a tough proposition and also I am unsure about whether there are enough technical skills in the educational sector to deploy such a thing.  Maybe it would require people from industry coming in and mentoring...

In the end I am hoping that the Raspberry Pi hardware is the Trojan Horse for something much more fundamental.