Connected Studio - Coding For Teens, Building the Dresscode

July 23, 2014 at 03:13 AM | categories: wearables, arduino, programming, iot, BBC, kidscoding | View Comments

At a connected studio Build Studio last week, I along with 2 others in Team Dresscode prototyped tools for an proposition based around wearable tech. We worked through the issues of building a programmable garment, a programmable accessory, and a web app designed for teaching the basic of programming garments and accessories in a portable fashion.

We achieved most of what we set out to achieve, and the garment (as basic as it was) and accessory (again very basic) had a certain "I want one" effect of a number of people, with the web app lowering the barrier to producing behaviours. It was a very hectic couple of days, but as a result of the two days it's now MUCH clear as to how to make this attractive to real teenagers, rather than theoretical ones - which is a bonus.

Probably the most worthwhile thing I've done at work at the BBC in fact and definitely this year - beyond sending a recommendation to people in strategy last summer regarding coding.

The rest of this post covers the background, what we built, why we built it and an overview of how.

NOTE Just because I work in BBC R&D does NOT mean this idea is something the BBC will work on or take on. It does NOT mean that the BBC approves or disapproves of this idea. It just means that I work there, and this was an idea that's been pitched. Obviously I believe in the idea and would like it to go through, but I don't get to decide what I do at work, so we'll see what happens.

The only way I can guarantee it will go through is if I do it myself - so it's well worth noting that this work isn't endorsed by the BBC - I "just" work there

Connected What?

So, connected studio - what is that then?

Connected Studio is a new approach to delivering innovation across BBC Future Media. We're looking for digital agencies, technology start-ups and individual designers and developers (including BBC staff) who want to submit and develop ideas for innovative features and formats.

Note that this process is open to both BBC staff and external. It's a funded programme that seeks to find good ideas worth developing, and providing seed funding to test the ideas and potentially take forward to service. People can arrive in teams or form teams at the studio.

Connected Why?

And what was the focus for this connected studio?

  • Inspiring young people to realise their creative potential through technology
  • We want to inspire Britain's next generation of storytellers, problem solvers and entrepreneurs to get involved with technology and unlock the enormous creative potential it offers
  • The challenge in this brief is to create an appealing digital experience with a coding component for teenagers aged 13-16
  • Your challenge is to make sure we inspire not just teenagers in general, but teenage girls aged 13-16 in particular ** Ideally, we're looking for ideas that appeal to both boys and girls, however, we're particularly keen to see ideas that appeal to girls.

The early stages involve a idea development day - called a Creative Studio. At this stage people either arrive with a team and some ideas and work them up in more detail on the day, or arrive with an idea they have the core of and are looking for people to help them work up the idea, or people simply interested in finding an idea they think is worth working on.

That results in a number of pitches for potential services/events/etc the BBC could take forward. Out of these a number are taken forward to a Build Studio.

What happened on the way to the Build Studio?

So, that's the background. I signed up for the studio because I was interested in joining a team and interested in working with people outside our department - with a grounding either in BBC editorial and/or an external agency's viewpoint. I also had the core of an idea with me - which I'll explain first.

A meeting the previous week an attendee asked the question "If the stereotype of boys is that they're interested in sports, what's the stereotype for girls?". The answer raised by another person there was "fashion". Now, if you're a lady reading this who says "don't be so sexist, I'm not interested in fashion", please bear in mind I don't like sports - things like the commonwealth games, olympics, world cup, etc all leave me cold. Also please bear in mind the person asking the question was a lady herself, and the answer came from another lady at the meeting.

Anyway, true or false, that idea mulled with me over the weekend - with me wondering "what's the biggest possible draw I can think of regarding fashion?". Now the closest I get to fashion is watching Zoolander, so I'm hardly a world authority. Even I know about London Fashion week.

So, the idea I took with me to the creative studio was essentially wearable tech at london fashion week. I'd fleshed out the idea in my head more like this:

  • The BBC hosts an event at London Fashion week regarding wearable tech - with the theme of costumes for TV - which widens it beyond traditional fashion to props and so on. So you can have the light up suits and dresses but also props like wristbands, shoes, animatronic parrots, and so on. (Steampunk pirate?)

  • Anyone and everyone can attend, BUT the catch is they must have created a piece of wearable tech to take to the event - if they do however, they can take their friends with them, and one of them - either themselves or their friends can wear it down the catwalk.

To support this, you could have a handful of TV programmes and trails leading up to this, a web app for designing and simulating garments/etc of your choice, tutorials for how to build garments, and in particular allow transferable skills between the web app to creating programmable garments. So the TV drives you to the web, which drives you to building something, which drives you to an event, which drives you onto TV.

Now at the creative studio, there's essentially a "I've got this kind of idea" wall first thing in the morning - where if you've got an idea you can stand in front of those interested in joining a team and describe the idea- and then say what sort of skills/etc that you're after.

In my case I described the above idea, and said that I was primarily looking for people with an editorial or business oriented perspective. After all, while the above sounds good to me, I was never a teenage girl, and lets face it I was in the geeky non-cool demographic when I was a teenage boy :-) First person who joined me was Emily who has worked on various events at the BBC, primarily in non-techie areas including Radio 1's Big Weekend, Ben from a digital Agency and Tom from Nesta - a great mix of people. Thus formed Team Mix.

Team Mix's refined idea

We worked the idea through the day - with every element up for grabs and reshaping. The idea of being limited to London Fashion week was changed to be the wider set of possibilities - after all the BBC does lots of events from real physical ones like Radio 1 Big Weekend, through glastonbury, the proms, Bang goes the theory, through to event TV including things like The Voice.

After a session with a member of the target audience, we realised that while the idea was neat, for a teenager asking them to build something for a catwalk is actually asking an awful lot. Yes, while showing off, and finding your own identity is a big thing, not losing face, and not doing something to lower your status is a real risk. "I couldn't make that". As a result, we realised that this could be sidestepped by whatever the event was being changed to "this is a collection of your favourite stars wearing these programmable outfits and you get to decide what and how those clothes behave". However, on the upside this made the web element much clearer and better connected.

It left the accessories part slightly less connected, but still the obvious starting point for building wearable tech. This left the idea therefore as a 3 component piece:

  • Celebs with outfits that are programmable - a trend that seems to be happening anyway, and these would be worn at some interesting/cool event - to be decided in conjunction with a group running interesting/cool events :-)

  • A website for creating behvaiours via simple programming - allowing people to store and share their behaviours - the idea being that they control the outfits the celebs will wear.

  • Tutorials for building wearable tech accessories - which are designed to be programmed using the same behaviours as the celeb outfits - making the skills transferable.

So the idea was pitched at the creative studio - and ours got through to the Build Studio stage.

Taking wearable tech to the Build Studio

Out of the 20-30 ideas pitched, it was one of 9 to get through to the build studio. However, another team had ideas related primarily to Digital Wrist Bands, and our team - Team Mix - was asked to join with theirs - Team DWB - resulting the really non-sexy name Team Mix/DWB. That mean 8 teams at the studio. One of the teams didn't show, meaning 7 builds.

It transpired that out of the two teams, only myself and Emily could make it to the build studio - so we chatted to Ben and Tom about what they'd like to see achieved, and also to those on Team DWB. The core of their idea was complementary to our accessories idea so we decided to focus that part of our build on wristbands.

So, what was our ambition for the Build Studio? The ambition was pretty much to do a proof of concept across the board, and to describe the audience benefits in clearer, concrete terms. Again, there was the opportunity to bounce the ideas off a couple of teenagers.

We had help from the connected studio team in seeking assistance from other parts of FM, and after a call across all of BBC R&D, various groups in FM across the north and south we had a volunteer called Tom who was a work placement trainee.

I also ran our aspiration for the build studio via Paul Golds at work, and asked him if he wanted to be involved, and in particular what would be useful, and while he couldn't make it to the Build Studio, he did provide us we simple controllable web object.

What we built at the Build Studio

So the 3 of us set out to build the following over the 2 days of the build studio:

  • A wearable tech garment, which mirrors a web app, and in particular has a collection of programmable lights.

  • A web app for allowing a user to enter a simple program to control a representation of a web garment, with increasing levels of complexity. The app demonstrated implicit repetition, as well as sequence and selection.

  • A bracelet made of thermoplastic with programmable behaviours controlling lights on the device, perhaps incuding feedback/control using an LDR.

And that's precisely what we built.

The wearable garment was built as follows:

  • LEDs were sewn in strips - 8 at a time - onto felt. Conductive thread then looped through and tied on as positive and negative rails - like you would with a breadboard. Then attached underneath the garment so that the lights shone through.

  • The microcontroller for the garment was a Dagu Mini - which is a simple £10 device which is also REALLY simple to hook up to batteries and bluetooth. I've used this for building sumobots with/for cubs too. It's able to take a bit of bashing.

  • For each strip, the positive "rail" was connected to a different pin directly on the microcontroller - not necessarily the best solution, but works quite well for this controller.

  • Code for this was really simple/trivial - simple strobing of the strips. The real system would be more complex. In particular this is the sort of code in pastebin

    However, the "real" garment would use something like this iotoy library for control - to allow it to be controlled by bluetooth and also by an IOT stack.

The web app is a simple client side affair only, and uses a small simple DSL for specifying behaviours. This is then transformed into a JSON data structure for evaluation. This uses jquery, bootstrap, and Paul's awesome little web controllable light up dress. You can see this prototype on my website.

Again, bear in mind that this is a very simple thing, and the result of a 1 - 1.5 day hack by a work placement trainee - treat it nicely :-) The fact it generates a JSON data structure internally which could be uploaded/shared is as much the point as the fact it has 3 micro-tutorials around sequencing, control and selection.

The bracelet was created as follows:

  • Thermoplastic was used at the wristband body - about 5-10g. This is plastic that melts in hot water (above 60 degrees), and becomes very malleable.

  • A number of LEDs and and LDR

    • The LEDs connected to the 3 digital pins, A0 and A1, with A2 connected between an LDR and 10K resistor.
  • A DF Robot Beetle - which is a tiny (and cheap ~£4.50) Arduino Leonaro clone - though it's the size of a 10p piece, and only has (easy) access to 6 pins.

  • This was MUCH more fiddly than expected, and there's lots of ways of avoiding that issue. In the end the bracelet was electricly sound, though having access to a soldering iron (or rather a place where soldering could take place) would've been handy. We remarked several times that building the bracelet would've been easier at home multiple times - which I think is a positive statement really.

  • Again the cost part was very simple, and due to time constraints no behaviour of the LDR was implemented. On the upside, it does show how simple these things can be - http://pastebin.com/FzQqGSTv - again howvever, if the microcontroller was tweaked, you could use bluetooth and use something like the iotoy library above - allowing really rich interaction with other devices.

In fact we had a fair amount of this working before the meet the teenagers session. As a result we had concrete things to talk about with the teenagers, who warmed up when we point out the website and devices were the result of just a few hours work.

The feedback we had was really useful and great. This also meant that while physical and tech building continued on the second day, more time could be spent on the business case and audience benefit than might have otherwise - though never as much as you'd like.

Feedback we had was:

  • Make it chunky!
  • Can you make it velcro-able - so we can attach it to bags, clothing etc as well. ** It also made it more possible to add to things like belt buckles, jackets, hats etc.
  • Can you have these devices controllable / communicating?
  • Can you make the web app an Android/iOS app?
  • Can you add in more sensors?
  • Can it be repurposed?
  • Call the project DressCode - this is one of those things that is a moment of genius, and so obvious and so appropriate in hindsight.

This instantly solved a problem we had in terms of keeping wristband small and elegant - chunky makes everything alot simpler. Velcro was a good idea, but a but late in our build studio to start over. The idea of controlling and communicating is right up the angle we wanted to pursue (IOT type activities using the iotoy library) but didn't have time for in a 1 - 1.5 day hack.

The idea of having a downloadable app was one that we hadn't considered, but fits right in with the system - after all this would be able to directly interact with a bluetooth wristband, and the communications stack is already written. Having more sensors was obvious, and repurposing made sense if we switched to something using velcro.

It was a really useful session as you can imagine.

The Pitch :: Dress Code

So we carried though to the pitch - DressCode - Fashion of the Tech Generation. (After all, a generation now will be learning how to code behaviours of some kind - so this is a fun application of the skills they'll be learning)

We said in the creative pitch what we'd allow you to do, and said we were allowing you to do just that - as you can see from what our core aspects were vs our prototypes.

Some key aspects of making this work would be the development of kit forms for tech bands which could then be made and sold by 3rd parties and partner - assuming they meet a certain spec.

The ideas behind the pitch included self-expression - the ability to look like the group or different from the group - the ability to share behaviours, to be part of something larger for the coding to be a means of creating behaviours for something but also that it leads naturally into coding for other devices - such as indicator bands or gloves for cyclists, shoes for runners, bottom up fund raising as happens with loom bands, and as a starting project for learning about coding - with a strong/fun inspiration piece involving TV - from headlining glastonbury through to a light up suit for Lenny Henry for comic relief - where each red nose is a seperate pixel to be controlled.

We described the user journey from the TV to the webapp to the techband and back to events and the TV show.

Pitching doesn't come naturally to me - the more outgoing you are in such situations the more likely your idea gains currency with others. Emily led our pitch and I though did a sterling job.

Competition however was very fierce. If our idea doesn't go through, it won't be because it's a bad pitch or a bad idea, it'll just because a different pitch is thought to be stronger/more appropriate for various reasons.

Hindsight

Hindsight is great. It's the stuff you think of after the time you needed it. In particular, one thing we were ask to do - and I think we kinda addressed it - at the build studio was to deal with the link between the techbands and the online web app and TV show. The way we dealt with it there was to decide to make available the same DSL to both wristbands (or blinkenbands as I nicknamed the code) and garments. ie to allow the same behaviour online or on a garment to control a blinkenband and so on.

That's pretty good, but there was a better, simpler solution staring us in the face all along :

  • The felt strips we sewed LEDs onto then wired up with conductive thread, were pretty simple to make. Even sewing in the Beetle would've been pretty simple.

  • Putting velcro onto those would've been simple - meaning each piece of felt could be a blinkenband. Also each blinkenband could be attached inside a garment (as each strip was), allowing at once both more complex behaviours but also a much cleaer link between the wristbands and the garments.

  • Also, attaching bands inside a pre-existing garment also drastically reduced the risk element for teenagers in building a garment - if it didn't look good, you still had wristbands. If it DID work, you gain more kudos. Furthermore, if you did this there's an incentive to make more than one wristband with two side effects - firstly it encourages more experimentation and play - the best way to learn but also leads to people potentially selling them to each other, secondly it encourages people to make more than one - since once they've done one, if they do more they could make an outfit that's all their own.

  • Also, if you did this, you have an activity that while a little pricey (about £10 each all in) it IS the sort of activity a Guides group would do - especially at camp (assuming a pre-programmed microcontroller ) in part because it's a group that tend to do more crafts type activities and would actually find the light useful in this situation. While people have ... "isn't that rather 19th century" ... views of things like Guides/Scouts, they do both cover the target demographic, and out of the two, it seems more likely to get Guides happily making felt/fabric programmable blinkenbands than Scouts - based on who the two sets attract.

    For me, it's this final thought that made me think that this would definitely be a good starting point - since it seems a realistic way of connecting with the demographic. (Ironically - getting leaders on board in groups would perhaps be harder work!)

Closing thoughts

All in all, an interesting and useful couple of days, leaving me with some clear ideas of how to take things forward - with or without support from connected studio - which I think makes this a double win. Obviously getting 6-8 weeks to work on this for a pilot would be preferable to trying to cram it into my own time, but to me the Build Studio definitely proved the concept.

As mentioned an actual real world example of this would have to:

  • Identify a realistic event
  • Make the audience benefit clearer, figure out a marketing strategy
  • Build a better/more concrete garment - I started unpicking my jacket, but didn't have time to pixelise it...
  • Build a better web app - close the loop to controlling the garment, linking to users
  • A downloadable app - which links to the online account for spreading behaviours to a device.
  • Better tutorials, and kits for building tech bands.

All in all a great and productive couple of days.

Next up, building robots for the BBC academy to teach basics of coding to BBC Staff (though I suspect they'd like tech bands too :-), but that's another day.

Later edit

(27th August)

Well, this is a later edit, and a shame to mention this, but Dresscode did not make it through the Connected Studio to Pilot. That's the nature of competitive pitching though, which is both sad, and awesome because it means a better idea did go through.

Regarding Dresscode itself, the Connected Studio team also said the following:

With regards to continuing your work on this independently, the idea is your IP and as it did not get taken to pilot the BBC doesn't retain any IP on Dress Code. The only caveat is that the idea cannot be pitched at another Connected Studio event. However, the Connected Studio modus operandi does not replace BBC commissioning, so feel free to progress the idea this way. We must add that if choosing the BBC commissioning route, it's up to you to talk to your line manager about this before any steps are taken.

So while Dresscode as a Connected Studio thing is no more, it could be something I could do independently later. We'll see.

Read and Post Comments

Nesta Report - Legacy of the BBC Micro

May 23, 2012 at 11:21 PM | categories: BBC, programming, reports, nesta, kidscoding | View Comments

Earlier in the year we visited MOSI - which is (these days) a Manchester branch of the Science Museum. Anyhow, one of the long standing exhibits is of the Manchester Baby - or more specifically a restored version of the Baby which has been lovingly restored with many original parts. The Manchester Baby is significant because it was the worlds first stored program computer, and was switched on and ran it's first programs in June 1948.

The exhibition it was in was in a celebration of computing, including the BBC Micro. They had a survey, which would feed into a study on the legacy of the BBC Micro, you popped your answers in and they'd forward you the results if you were interested. I ticked the box, and duely today recieved the following email:

Thank you for responding to the BBC Micro survey that the Science Museum
conducted in March 2012. We received 372 responses which is amazing given
that the survey was only open for a couple of weeks. Many people left
detailed responses about their experiences of using computers in the
1980s and the influence it had on their subsequent careers paths.

As you took part in the survey I thought you might be interested to know that the Nesta report on the Legacy of the BBC Micro has been published today and is available to download here: www.nesta.org.uk/bbcmicro

It's an interesting report, and from what I've skim read it seems to be a good report. If I had to pick out one part, the final chapter - "A New Computer Literacy Project ? Lessons and Recommendations" in particular is something I think is very good food for thought, and motivational.

In particular it makes 7 recommendations which I'll aim to summarise:

1. A vision for computer literacy matters

The report singles out John Radcliffe as a single motivating force in the original Computer Literacy Project as being a key driver in the success in the past. it goes on to say:

    Today, there is no single vision holder creating the partnership between industry, education and the range of actors who want to change things. {...} personal leadership and vision, based on a level of knowledge and understanding of the industry that inspires respect, and backed up by significant skills in diplomacy, is vital at this point in time.

I'm not sure I agree on the point of regarding a lack of a vision, but possibly agree on their being no single vision.

2. We need a systemic approach to computer literacy and leadership.

The key points brought out here is that the reason why the CLP worked last time around was due to there being efforts at many levels - all the way from grass roots, all the way to high level government buy in, which included resources and that the key reason for success was the many micro-networks that existed, which were assisted in co-ordination (in part) by the BBC's Broadcasting Support Services. (which I don't think have a modern equivalent) Crucially though, individuals and local groups had to take ownership and did.

It makes two interesting points:

    A key part of this plan will be empowering local and regional bodies to take part and own this new movement for computer literacy. Organisations leading this effort need the commitment, the capability, the skills and the scale to deliver. At present there are many candidates, but no one organisation that meets all these criteria. Someone needs to step up to the plate.

In particular, it then does on to single out the BBC, but with some caveats:

    The BBC may be able to replicate their previous role, by providing supporting television and online programming, but to deliver at the scale of the original CLP would require not only significant buy-in at a senior level but significant institutional re-engineering and resources.

This final caveat of buy-in at a senior level, and buy in with resources is an important point. After all, it's one thing for someone to say "this is a good idea" and another for someone to say "yes, this matters, here's resources" - which may only be time and space.

3. Delivering change means reaching homes as well as schools.

While I really like the last part of this recommendation because it really says what should be done clearly and succinctly...

    We need a contemporary media campaign: television programmes that legitimise an interest in coding, co-ordinated with social media that can connect learners with opportunities and resources. This is a vital but supporting role, arguably still best played by the BBC.

... it gets there by making a point a point which I emphatically agree with - that the focus of this must reach out into the home, rather than just into schools. In particular it notes a point I've made repeatedly:

    Despite the BBC Micro now being considered ‘the schools machine’, the computer was actually more important in its impact of changing the culture of computing in the home, particularly through the legitimising effect of the television programmes.

The key point brought out is that it's this aspect - which boils down to engaging children in their time - that really matters.

4. There is a need to build networks with education.

Again, the executive summary is nicer/kinder than the final chapter, and in particular calls out a real issue from the BBC side of things:

    At the core of the original CLP were the BBC’s educational liaison officers {...} These two-way networks provided an invaluable way of both listening and delivering appropriate tools and training for adult, continuing and schools education. {...} These days, the BBC has neither the equivalent staff nor the resources to play such a role.

That's pretty harsh. However, it's interesting to note that there are some groups actively looking at improving this sort of thing. I think however there's a long way to go based on what I've seen. There's misunderstanding about how schools work, how academia works, how industry really builds good systems/works, how the BBC operates today, etc.

On a positive note, people are talking, listening and trying to figure out how to move forward - which IMO supports this recommendation.

5. There are lots of potential platforms for creative computing; they need to be open and interoperable.

This point really brings summarises the issue I've described before of "ask a hundred engineers what the BBC Micro of Today would be and you get a 100 different answers". Furthermore though it points out that the reason why the Micro worked was because it helped provide a clear common platform for talking about things.

Today the issue is that we have a collection of micro-development environments which aren't joined up, either in practical terms or conceptually, but if they were more joined up, even in just a conceptual framework for discussing things we could make progress. Without this, it makes the task of teaching this in schools hard, and even harder in the home for someone to say "where do I start?"

It's probably worth noting at this point that there is a project which may result in just such a common platform or framework. It's a project I've helped spec out, and Salford University are hiring someone to work on it. It's target is really to do with "the internet of things", but is spec'd out in terms of pluggable micro-development environments. It's my hope that this could help head towards a common platform spec. We'll see.

6. Kit, clubs and formal learning need to be augmented by support for individual learners; they may be the entrepreneurs of the future.

Again, this reiterates the need for support outside schools and notes that last time round the informal learning was more influential than formal. This relies belies something quite incredible - it succeeded primarily because people found it fun and had sufficient support.

Not only this it specifically points out that these things need to go beyond after-school clubs, and that whilst those are good, these run the risk of following a route of formal learning rather than the motivations that encourage longevity. The former could be said to be "I am doing this because I've been told I should", whereas the real motivator is "I am doing this because it's fun and I want to". I think this is one place where the executive summary is punchier than the main recommendations:

    There is a need for supporting resources that can develop learning about computers outside the classroom. These may be delivered through online services or social networks, but must bring learning resources and interaction, not just software and hardware, into the home.

7. We should actively aim to generate economic benefits.

This recommendation points out a handful of things:

  • The CLP built upon pre-existing skills in industry
  • That this stimulated a market - that boosted that industry
  • That that boost also then led to much larger take up that you'd expect otherwise
  • That this then drove the industry further down the line

It notes that whilst the third and fourth points may be the goal, that there's real benefits from the second point, and this time around any boost could from international opportunities as well as national and regional, and that including economic benefit is a good idea.

Personally I think that final point is more important than people realise. I still remember to this day hearing about a kid writing a game in his bedroom and getting paid £2000 for it. This was 1982/1983 or so, and that was an absolute fortune from my perspective, and the idea that you could get paid for creating something fun was an astounding thought. So you'd get something fun out of the process. You'd have fun making the thing. And you'd get paid for doing it. A bit like the idea you have tea testers excites people who like tea. You don't get interested in tea because you'll get paid for it, but it's an intriguing thought. Likewise, you don't write code because you'll get a fortune - you probably won't. What you might get to do though is something which is fun that you can live on, because it's outputs are useful to people. That's a pretty neat combination really.

Anyway, I hope the above points have whetted your appetite to read the whole thing - it's an interesting read. Go on. You know you want to.

Read and Post Comments

Why did kids code in the 80's?

October 11, 2011 at 11:42 PM | categories: programming, kidscoding | View Comments

Caveat: This is my view. Your views/memories may be different. Please share them :-)

The Shark

They say that those who forget the past are condemned to repeat the mistakes of the past. That's all well and good, but there's also the idea that if you watch Jaws and think the reason it succeeded was "shark", then you might think adding sharks always improves a thing. Sometimes remembering the past is fraught with missing the point.

This is why I raise this is the idea "Why did kids learn to write code in the 80's?". Some think it was due to the BBC Micro. Some think it was Sinclair, or Commodore, or Apple or Atari. There's a dozen possible answers to the question, and I'd be interested in hearing why you started coding in the 80's as a kid (assuming you did) in the comments. It was when games like David Braben's Elite took to the space ways, when small computers rode ontop of robots solving mazes for the first time, when men leapt of quantum leaps over bad ideas, and many more cliches. In amongst all this there were some real opportunities.

However, the reason other reason I'm picking the 80's is because they're viewed today through the rose tinted goggles of history, and because it's when I started coding. I'd like to argue that in terms of the home - where people really learnt to code - the BBC Micro was in fact the shark, not the story.

The era

So let's pick a rough date - say 1983. I would've been 9 (going on 10) or so, living in a caravan, on the outskirts of 3 villages in cambridgeshire, a year after my parents had done the whole Good Life thing (which was their way of working round the lack of jobs when 4 million people were unemployed). My bedroom was 2m by 1m. Suffice to say by UK standards we weren't rich, but we were happy :)

Back then, you could get a computer - a ZX81 for £50, and then lower as other better machines came on the market. It wasn't the world's best computer, and an arduino today beats it hands down, but it was a real computer, and with a 16K RAM pack it could play a mean game of chess. Probably the next up the food chain was the Commodore Vic 20 for another £20-£30. The ZX Spectrum was pushing the £99 price bracket depending on model, and Commodore 64 was getting towards £130 or more. (My memory is rather hazy) To put this into perspective, the BBC Micro was £299 and £399. A ZX81 would also, work on a normal television - even a black and white portable - whereas things like a BBC Micro generally had a composite monitor attached to them.

However £50 was a lot of money then. To give an idea of inflation, a monthly magazine that now costs about £4.50 costed 60p then. That means in today's money a ZX81 then cost the equivalent of £375, and a BBC Micro costed (in today's terms) around £3000 (or £2250 or so). Given the economics of the day made putting food on the table hard each month, why would we have a computer ? Even a "cheap" one ? Part of the reason is simple - parents of the day - like parents today - want the best they can afford for their children. You'll always hear many families scrimping and saving and putting aside just enough to do well by their kids. Aspiration is unchanging and universal.

That's only part of the reason though. There was an awful lot else going on. As hinted at, 4 million people were unemployed, a recession was happening, money was tight.

What else happened?

Influences

Well, Doctor Who for starters. In 1977, the Doctor gained a new companion in a story called The Invisible Enemy. In a story reminiscient of the recent one with the teselector, the Doctor was shrunk and went inside his own body, complete with fighting white blood cells. As a story it sticks in my mind, even though I was 4, primarily because as well as "explaining" the immune system it introduced a new companion - K9.

K9 wasn't created by the Doctor though. K9 was created by a human scientist - Professor Marius - on a space station because he missed his dog. For me that was the start of my interest in robots - since K9 was a human creation and therefore possible (from a 6 year old's perspective). This was followed by C3PO, R2D2, and other random "greats" (from a small kid's view) like Metal Mickey.

In early 1980, Doctor Who Weekly magazine started, and for a 6 1/2 year old something really fun was printed - "complete" plans and schematics for K9 were printed. Unsurprisingly then, I tried to build K9. Unsurprisingly then, I failed. I was definitely hooked on robots at that point. I read book after book on robots.

Unlike today, they actually made books for kids on robots - that you'd find in bookshops anyway. One of them, made the point that robots were programmed. They were controlled by a program written by people. It described essentially (in the broadest possible terms) what would now be called top down stepwise refinement. Over time my interest switched from robots to programming.

Kids, Computers in the 80's and the BBC

Not only that, this was a time when computers and kids was very much something which mixed. This is really where the BBC comes in, in a piece of the puzzle I only really understood in recent years. In my few years at the BBC, I've been lucky enough to have met a handful of those behind "The BBC Micro". However, the BBC Micro was really the tip of the iceberg for a more important project - the BBC's Computer Literacy project. The linked PDF (link found via Diane Coyle's blog) describes the project over the years of 1979 to 1983. In others words the crucial years leading up to the point where I personally started learning to code. That helped form the environment that I grew up in and learnt to code.

Not only that but the environment that many of my peers also grew up in.

Who does that project credit with the large take up of computers in the UK? Sinclair. This tracks with history as I remember it. A few years later when I was at secondary school around 86-88, as part of a maths project were all had to run a survey and produce stats on a subject, so being a geek even then, I ran a survey on home computer ownership in the school. Out of the surveys returned, a significant chunk had a home computer, the vast majority were ZX Spectrums, followed by Commodore 64's. There were then mainly Vic 20's. A couple of Commodore Plus/4's, a Commodore C16, a couple of Oric's (Oric 1 and Atmos) and a Jupiter Ace (Forth!). Out of the 100-150 people who said they had a home computer, about 2 or 3 people had a BBC Micro.

So the BBC Micro's contribution in terms of hardware was remarkably small at home. However, there was a target of at least one per school or something like one per class per school, which is where the impact in the classroom happened.

So, in this great heyday, kids learnt programming in schools, and kids learnt to write games, and develop software ? Sounds good, but no. That's not the case.

What did we learn? We used educational software, we learnt a bit of logo to control a robot turtle, and, um, things pretty similar to what we actually still get today.

So how the hell did we end up with an industry and heritage that (rightly) credits the BBC Micro so heavily? For one very very important reason - it legitimised micro-computers in the eyes of the mass public, in the eyes of it being an educational tool, in the eyes of publishers and most crucially in the eyes of parents.

There were TV programmes - such as those produced by Dave Allen (who has been welcome around BBC R&D since, and I've had great pleasure to be his assistant recording open days a few years ago) - which quite literally brought computers into the living room saying "hey look, they can do this!". There were reports of children writing games, and making thousands by simply recording them onto tapes and selling tapes. These things encourage a small cottage industry and that cottage industry bloomed.

Heck, if you're 8 and you hear that a 14 year old has made £2000 (in money then - the equivalent of £15000 today) for simply writing games, it makes you sit up and take notice. So do your parents.

Similarly, I'm pretty certain that without the BBC computer literacy project specifically legitimising micro computers that I wouldn't've had access to books like this:

And without books like that, I would've been left as a consumer using a ZX81 (if I'd been lucky enough to get one), rather than a creator. I'm pretty certain that it's due to the BBC Computer Literacy Project acting as a social and political catalyst in a time of economic hardship, that led to this environment.

Why kids coded in the 80's

So, given all that, the reason kids coded in the 80's was greed? No. The reason kid's coded is because they learnt it at school? Not really. Why then?

One thing about most of those books above is that they are full of listings. Not dry descriptions of "this is how a computer works", but pictures using robots as a metaphor for how things work, but also showing how computers and programs work, by providing programs for a child to type in. Given that when I was a kid I got these books out of the library, what did these books, programs, listings and games represent?

  • Free games
  • Free tools for modelling systems
  • Free tools for playing with graphs
  • Free tools for learning and understanding complex systems through play

Today, those 4 usecases are taken by the web. However, in the 80's the reason why you learnt coding really is because those books, bless them, had typoes. They had to deal with variants of BASIC on various systems, and in order for you to get your free games to work, you needed to make sure you entered the right variant. Most of the pieces of the puzzle were done for you, but not all, not quite.

From my perspective the real legacy of the Computer Literacy project was in legitimising micro computers, inspiring people to learn and encouraging the creation of resources that kids would want to play with to come into existence.

In case you're wondering the book "Computer Programming - BASIC for beginners" was the first programming book I ever owned. I didn't own a computer, but a friend of mine had a Vic 20, so I went round his house to type in the space invaders game to play round his.

Yep, back in the early 80's programming was social by default because you wanted to play games with your friends, and didn't have the money to buy the games.

It's really quite simple - kids learnt to code because they wanted to play and to play with their friends.

Kids still want to play games, and still don't want to be limited to what they can buy.

They still want to create their own games to play with their friends. To my mind, that's a window of opportunity.

A Modern Computer Literacy Project ?

And all this really makes me ask:

  • What is it that the BBC could legitimise in the eyes of parents, politicians, schools.
  • What would a modern BBC Computer Literacy project look like?
  • How do you make it relevant to a world where 75% of homes have broadband, and 25% of children in the UK live in poverty.

Personally, I think what we really need as a society is:

  • The useful aspects from computational thinking used to boost the curriculum
  • Concrete usage of that through instructing programmable devices (not just programming)
  • Make it work in the modern school

That last point is actually quite complex, since there are 8 main classes there:

  • Well equipped schools, with knowledgeable staff and well maintained kit.

And each of the other boolean options there where the inverse of each is:

  • Poorly equipped schools, without knowledgeable staff and badly maintained kit.

After all, these days kit is in most schools - either through the schools (or LEA) prioritising computers, or through schools getting Computers For Schools vouchers from Tesco and Sainsbury's...

The real killer point though is how to actually interesting children, today in today's environment, in learning to write code? Where it fits in with their personal desires and needs. With their homework and curriculum? With, quite frankly, the kit they DO have at home or school, today ? When they're used to 3D gesture controlled games, online social networks, and rich computer graphic systems? A world where even Blue Peter shows children working with dev teams to create Apps for iPhones.

I have no doubt that these questions all have answers and are all tractable.

I do think the questions need posing and answering though.

Anyway, comments welcome, and if you started coding in the 80's as a kid, I'd be curious as to why you did so. After all, I'm basing this on what I saw and I clearly wasn't everywhere, and people didn't blog then either :-)


The monthly magazine I'm using for inflation is Doctor Who Monthly magazine. It's not a bad metric because it's something that kids then and kids now would want to buy. And yes, it's also a terrible metric, but it's to give an idea of relative costs.


Later edit - it's struck me that someone could read this and think that I'm belittling the achievements of the BBC Micro - I'm not, not even slightly. What I'm saying is that the Computer Literacy project (which it was a part of) is the thing to not lose sight of and the thing to learn from. Now that I know what the BBC is like internally, it's more incredible to think it happened at all, let alone as successfully as it did.

Read and Post Comments

Children and Computers

October 09, 2011 at 10:42 PM | categories: programming, kidscoding | View Comments

This is likely to be the first of a few posts on this theme.

One of the common memes going around the tech industry at the moment is "Kids don't get to do programming, oh the horror!". There's a petition to start teaching programming in year 5 at primary school (9-10 year olds for those without a small child). There's been various comments lamenting the death of the BBC Micro in the eighties and a lot of rose tinted glasses about what it achieved, and why. To that end some people think that lack of hardware is the problem, and have started a project called raspberry pi to try and make some affordable hardware. Heck, even hoaxing hoaxing a receptive audience (and a non-receptive one) about a BBC codelab has happened, as a means of trying to get something started. Lots of people think "the BBC should do something". (Consider "why?" for a moment...)

Getting my cards out

I don't think this lays all my thoughts on the table, but it's a start:

  • I agree that programming - or more generally computational thinking needs to be on the curriculum more . (much more)
  • I've signed that petition - you should too. It's something that is a very good idea.
  • The Raspberry Pi is in my opinion misguided, but I'm glad they're trying. Geeks like to throw hardware and software at social, political and economic problems. That rarely works until you've solved the social, political and economic issues. However, I concede some of these things are chicken and egg, and if you can't make an egg, maybe try making a chicken.
  • The hoax thing was a huge mistake. I've told the hoaxer this directly, but also encouraged him to keep going and that I'm sympathetic to his ideals. Anyone who cares that much is my friend as far as I'm concerned.

I don't think people have thought about the why, nor the what hard enough though. (Let alone the who, where, when or how)

Myth: There's no programming in schools

After all, it's a myth that kids don't do programming. Geeks latch onto this, very easily, and then say "it's all bad". However, children do do a little programming, and then they stop, which personally I think is a bad thing. Indeed, the way computers in school appears to be taught is as follows:

  • Infant school, in year 2, they learn to control a basic turtle type robot using either buttons + memory, or a cutdown version of logo.
  • Secondary school, they get taught to use some office applications
  • Sixth form, depending on which one you go to, you may get taught to program a spreadsheet or database.

It's very easy to attack this, but counter productive. After all, do you want to get rid of:

  • Infant school, computers are used as a tool to explain geometry
  • Secondary school, they're taught essential life skills regarding using a piece of technology. This is akin to being "taught" Art but not taught to stretch your own canvases, nor make your own paints.
  • Sixth form, advanced usage of applications for automation of basic tasks

I'd expect your answer to be "no". So rather than jump straight in with "how do we get more coding in the curriculum", let's consider:

  • Why did kids in the 80's really start coding?
  • Why did coding drop off the curriculum ? Why was there a change from "Computer Studies" being about building things (~'88/89) to being about using computers ?

Programming is Hard

Programmers really like to say, a lot, that programming is Hard. And yes, that's Hard with a captial H deliberately. If you're in charge of setting a curriculum, and you know there's university courses where people start there and learn programming, you might reasonably go "well, we don't teach rocket science to children, nor mathematical analysis from formal axioms and formal proof to kids, so leaving programming until later makes sense". So given that, why the outcry from many a developer?

After all, you can't have it both ways you say. People simultaneously make these two comments:

  • "It's difficult, really difficult, listen if you think it was difficult to program your microwave oven to roast a chicken, boy let me tell you how hard it is to write a program that goes ping"
  • "Why isn't my 8/9 year old being taught to write programs?" (When their 8 year old doesn't yet know their times tables, how to spell properly or basic punctuation...)

Otherwise rational and skeptical programmers will miss the logical schism between these two points.

Why am I, as a parent of 2 children (girl and boy, 8 and 9) anxious that they should understand the fundamentals of programming? Passionate about the subject even ?

Well, for pretty much the same reason we teach children about action and reaction, the same reason we teach children about soda bottle rockets, the same reason we teach basic maths, basic maths principles, the core ideas of science, the basics of artistry, the basics of poetry, how to structure stories, essays and so on - because these become the cores of tools that enrich the lives of our children.

Ask an 8 year old that if they could build anything on a computer, what would it be and you'll get a dozen different answers. However, some commonalities I've noticed:

If shown that hardware can be played with:

  • I want to make a games console (then describe something like a DS)
  • I want to make a robot cat
  • I want to make a robot that can bring you cake. (When confronted with a robot hand)

Reality : Children are taught computers, but only at a crippling level of use

I think the reason why geeks really get annoyed that kids don't get to learn to write code, isn't because they expect all kids to write code. It's because we're teaching them to be cripples. We're teaching them that these exciting, magical devices are non-exciting black boxes and all they can do is edit documents, play with existing apps and play existing games, and chat to their friends.

Computers, at their best, act as intellectual augments. They augment our intelligence as a means of allowing us to make better predictions. They augment our abilty to create through the wave of a mouse, a swish of a gesture, through typography, through mixing, through doing and undoing, through being able to play with ideas in ways undreamt of 100 years ago. They allow us to create amazing films which would take a cast of thousands or hundreds of thousands to act, or years to animate by hand. They allow us to replicate our intelligence into devices so that we can do many things at once. They allow us to share our thoughts, feelings, our loves, our hates, in ways that enable us far greater support and sympathy from people we could never have known otherwise.

Not only that in order to write code, you need to be able to understand how to break a problem down into manageable chunks. How to delegate behaviour and actions in replicable ways. In short, you learn the tools for solving problems. You learn tools for understanding, really understanding a system. You understand how to pitch ideas at a level that needs to be understood. The reason for that is because you constantly do that when writing code. You abstract this concept away to this. Generalise a principle of behaviour to that. Question assumptions to get to the core of an idea. How do i understand the brain? Let's model a neuron and find out what happens using many.

Simply learning to use applications is the same as learning how to add up, subtract, multiply and divide. It's like learning how to write words on paper, use adjectives,ad-verbs, nouns, sentances. For many in the world those are the basic core skills. However, learn to use a spreadsheet properly, and you can juggle household finances, or count calories. Learn to use a database and you learn more skills. Rather than just use a blog, you start being able to script the blog, so the computer starts doing the work for you. Start teaching the computer to do things that you know how to do, and you start freeing up your own mind for other, more interesting things.

The real motivation

Teaching kids to code gives them tools to augment their own intelligence and intellectual capacity. It allows them to solve problems in more refined and mature ways. It allows them to experiment and create things their grandparents could only dream about. It allows our kids to have a better life than those of either our parents or hopefully ourselves.

It's as vital today for children to learn to create code now as it was a pre-industrial society to know how to grow your own vegetables, how to fish for fish, how to bake cakes, how to make a chair, or bed, or table.

Without learning these skills, they'll be left at the mercy of those who do have them, and in a world dominated by code for getting our food, for transportation, for managing the economy, for sharing information, for protecting privacy, for creating art, films, entertainment, music.... in a world where in a "free" service, the consumer of the service is the product, do you really want your children growing up simply to be products and consumers of products, or the builders, thinkers, dreamers, makers, lovers, entertainers, singers, educators and creators ?

I'd hope for the latter for my children and I suspect many others would too. In the coming age, being able to code - to be able to create controlled automation of intellectual tasks - is going to be a vital skill. In the past intellectual augmentation simply wasn't possible, now it's critical, in the same way that education became 100 years ago.

It's also fun.

That's my motivation, what's yours ?

Read and Post Comments