Rebels defeat the Empire (again) by giving BB-8 an API
Disney omitted an API for The Force Awakens' star droid. The Force of the internet decided that wasn't good enough
When I was fourteen, the Personal Computer didn’t exist. Even the famed ‘microcomputer’ only existed in the hands of a few hobbyists who laboriously soldered chips onto boards communicating over an S-100 bus. But a friend’s father ran a data centre and when he went in on Saturdays to run the backups he brought us along. We spent hours playing the interactive ‘Startrek’ game, pecking our commands into DECWriter II line printers. That’s where I fell in love with computers, and knew I’d spent the rest of my life playing with them.
In the summer of 1977, to be fourteen, precociously nerdy, and in the cinema watching Star Wars was an adolescent trifecta of technology, mythology, and possibility. In the very first scene, C-3PO tells R2D2 - in very serious tones - that he’s worried whether they’ll survive. It’s a masterful bit of screenwriting - in a single line of dialog, an obviously mechanical device betrays the hopes and fears of a living, breathing person.
From that moment I wanted a droid of my very own. Perhaps not C-3PO (fussy and obviously high maintenance), but the sturdy, steadfast and eternally helpful R2D2 - a mechanical friend in the best sense of the term. I wanted a droid and knew that I would never have one, because that sort of techno-magic only existed a long time ago, in a galaxy far, far away...
In September, I watched just enough of Disney’s livestream of the global unboxing of all their new toys for The Force Awakens, to learn that my nearly forty year-old prayers had been answered. A tween in New York City unboxed a toy on Good Morning America (another Disney property, woohoo synergies!) unlike any I’d seen before.
BB-8 is the newest droid addition to the Star Wars universe and - if the clips are to be believed - plays a pivotal role in The Force Awakens. Disney has also given us a real BB-8 droid, a 5cm-wide rolling beach ball with a magnetically attached head and a spectrum of behaviours that make it feel very nearly alive.
How did Disney create this magic? Well, it’s all a bit of a cheat. The BB-8 droid is really just a bit of mechanism slaved to the BLE interface on a nearby smartphone. It’s the smartphone app that’s the real brains of BB-8 - which means BB-8 has quite a lot of brains.
You know what happens when you see your dreams come true? You lose your mind. Apparently I tweeted, “I WILL OWN A BB-8 DROID. IT IS MY DESTINY,” and the next morning found myself walking into the nearest tech retailer, plunking down my cash, and walking out with the very first BB-8 they sold.
I was unbelievably psyched. I’d go home, do a Google search for all the API information for BB-8, and start writing some code to program my own droid. How cool is that?
It didn’t work out that way. Although Sphero - creator of BB-8 under licence from Disney - has full documentation and APIs for all of its other delightful toys, there was nothing for BB-8. Nothing at all. Through some backchannels I learned this was a considered decision of the Empire - err, I mean Disney.
I had a nearly forty-year itch that still needed scratching. Fortunately a friend pointed me at Tickle, an iOS app that integrates the Scratch programming language - pioneered at MIT’s Media Lab, and now used throughout the world to introduce youngsters to coding - with the Internet of Things. Tickle already had integration for Sphero’s toys, but nothing for BB-8, until a few weeks later. In a software update I suddenly had full control over my BB-8 - and in a programming language anyone could learn.
Much of my precious downtime over the last few months has been dedicated to writing little programs for my BB-8. It’s just the beginning of what’s possible, now that I can program my own droid. (For all you pseudo-Santas out there: BB-8 plus Tickle are an excellent way to introduce a young mind to the joys of robots and physical computing.)
Just one more thing...
It’s very early days for BB-8. Disney will loosen up - eventually - and recognise the value of integrating BB-8 with other elements in the tech ecosystem. If we want BB-8 to have the kind of interior life we associate with R2D2, it’s going to need a lot more than a smartphone for a brain. BB-8 needs a vast, distributed artificial intelligence - something quite a bit like a concatenation of IBM’s Watson (for thinking) and Apple’s Siri (for natural language parsing and iOS integration).
When we shoehorn Watson and Siri into BB-8, I can tell my droid, “Go play with the cat,” and off it will roll, beeping and blinking and ready for the encounter.
Faithful friend, indeed.
Wishing all a very Merry Christmas and a Happy, Prosperous New Year! ®