Tuesday, 11 August 2009
The RFID-enabled Eclipse IDE, part II
Squirrels alledgedly not involved!
This is an ideal time to post my follow-up to part I, as the company behind the object of affection used in the next hardware set-up, seems to be going through some really tough times. In fact, white rabbit company Violet is rumored to have filed for bankruptcy. Seems like trouble with animals all over again, but is it? Let's come back to that later!
Here at the recently founded OSGi headquarters, the Obnoxious Squirrel Goring institute, the pursuit of alternative input methods for the Eclipse IDE is running full speed ahead, once again. Of course, Eclipse already has a solid track record as a breeding ground for innovative ideas to increase developer productivity. The incremental compiler of the JDT, the Mylyn task manager and the Buckminster component assembler (a 'builder' is so nineties!) are just some of the fine examples proving that point. In this part, we'll take a closer look at an alternative way to control Mylyn, using a product from a company pioneering the so-called 'Internet of Things'. That product looks like a small singing dish and comes with colourful rabbit-shaped RFID tokens. Kawaii! Okay, let's take a closer look at the Violet mir:ror. In the picture below, it was already skinned for EclipseCon!
The Violet mir:ror is unique in consumer space: it is a properly product-designed RFID reader which offers a stark contrast to its industrial counterparts, such as the interrogator featured in part I. It has been extensively tested for usability, and offers intuitive audio-visual feedback when you operate it. It is simple enough for children and general managers alike. It is equally important to realize that the reader is only half of the business model: typical for the transformation seen with consumer electronics vendors, Violet assumes the role of an Application Service Provider, through a web service which allows everyone to prototype personal applications which use the mir:ror (and other products from their catalog).
This demonstration is marginally different from the set-up in part I. In fact, although the mir:ror is a fairly simple USB HID device, the mirware software introduces a level of indirection which turns this application into a true web mash-up. Once the reader announces the presence or absence of one of the bunnies, the mirware software uses the XMPP protocol to look-up the associated action, asynchronously. Note the interrupt-driven interaction with the reader, which is obviously more efficient than the polling strategy necessary with some of the industrial readers. The mirware software is basically a rich multi-media framework (also plug-in based), and is amongst other things capable of executing shell scripts, playing music and performing text-to-speech conversion. It is also possible to delegate actions to the Violet application server. In fact, for the Mylyn demo, the bunny event is translated into a web API call to a proprietary HTTP bridge, which tunnels the call all the way back to a web server, activated from a plug-in inside Eclipse. That's quite a round-trip, but the call chain shows the event being pushed all the way from the reader, straight into Eclipse (in the outline, both the application server, as well as the HTTP bridge are available through a publicly routable IP address; yet, the mir:ror and Eclipse connect to the internet using NAT).
In this demo, there are two Mylyn tasks associated with a Nano:ztag tag and a Mifare Ultralight 1K card. As soon as one places the rabbit on the dish, Mylyn is told to activate the task, it then reorganizes the workspace and starts tracking the developer's activity. Once the rabbit is removed, the task is deactivated again. Same for the card. You might want to lose the rabbits in a real Agile environment, but this sounds like an interesting way to leverage a SCRUM-based development process. Developers can physically pick up tasks from the wall, or pass them around in the team. One might consider RFID stickers on story cards, as well, or just use credit-card sized RFID tokens to write on directly. In the upcoming part III, this exploration is taken even further: that demo will show how to use your smartphone and the NFC Smart Poster concept to remotely order all the source code you need by touching your target component in an architectural overview.
So, where did it all go wrong for Violet, assuming those rumors are true? Did some louche attack by a billion dollar loss toting ACME Corporation take away the wind out of Violet's sails (pun intended)? Probably not. Most likely, their luxury product hit rock bottom in a crisis, in what was a difficult market to begin with. And they stuck to a pretty closed model, as well. Consumer-oriented RFID applications are not exactly an easy sell. And as far as the competition is concerned, most of the knock-off applications couldn't even keep a five-year old interested for a minute. Honestly, if your kid does appear quietly entertained with one of those, drop everything and go see a child development specialist immediately. At least Violet had one nifty application for their reader: when kiddo put a fairy tale book on the reader, the computer it was attached to would start to read it out loud. Instead of 'feeling inspired' by that, as well, ACME Corporation might consider just putting its money where the original ideas came from to begin with. Come on, just invest in Violet already!
For those who remember, in return for the eyeballs at EclipseCon, Violet kindly offered a dozen readers to be given away during the event. It's great to hear these were well received; one actually made it all the way to NASA's Jet Propulsion Laboratory. And as it turns out, all of them could be en route to become genuine collector's items. I'll just hold on to mine for a while, before I put it on eBay for a gazillion bucks. Not.






