From The Archives: Ivan Anywhere Origin Story
This post was originally written by Glenn Paulley and posted to his blog on sybase.com in April of 2008. I think Ivan Anywhere is pretty cool and seeing as how he is still roaming the halls here in Waterloo, his story should be retold.
IvanAnywhere is the name given to the telepresence robot that one of my staff, Ivan Bowman, uses to collaborate amongst the team in Waterloo while Ivan sits in his home office in Halifax, Nova Scotia.
Ivan, to put it simply, is a brilliant guy, who has worked at the firm since 1993. About six years ago Ivan relocated to Halifax, and has been telecommuting ever since. Before the IvanAnywhere robot was built, we kept in touch with Ivan using the typical telecommuting tools: email, instant messaging, telephone, and more recently, a webcam. We originally installed a webcam on a desktop PC immediately outside my office door, which provided Ivan with a “window on the world”, or more concretely a window on the world consisting solely of my corner of the building. The webcam, coupled with a standard telephone, was somewhat adequate for standup meetings but only worked as long as the conversation was located outside my office door. Together with IM and the other tools, such interaction techniques were sufficient for collaborating with my small team, but inadequate for interacting with other groups in the rest of the SQL Anywhere server engineering team.
What was missing from the static webcam, as anyone who has telecommuted can tell you, was mobility: Ivan could rarely participate in an impromptu conversation, because only if the conversation was held outside my office and within the range of the webcam would Ivan have any idea that such a conversation was taking place. More frustrating would be a situation where Ivan could hear a conversation in the distance through the webcam’s microphone, but be powerless to do anything about it.
After I saw a TV ad for remote-control blimps one evening, I mentioned it to both Ivan and Ian McHardy, another developer on the SQL Anywhere server team here at iAnywhere. If Ivan could pilot a blimp remotely, and the blimp could carry a webcam and microphone, it could provide a subset of the functionality we were looking for. Ian quickly brought me down to earth (so to speak): the battery life required was going to trump any aero design; only a wheeled unit could do it. (Aside: I have since learned that two faculty at UC Berkeley, Eric Paulos and John Canny, proposed and built a prototype telepresence blimp in 1997!)
That got the ball rolling. We discussed and debated a number of requirements that the unit would have to satisfy to meet our minimal needs, and debated about a number of nice-to-haves that we would implement if we could do so feasibly (and cheaply). For a proof of concept, Ian modified one of his model RC trucks and taped to the hood a tablet PC, an analog-to-USB interface, proximity sensors and a webcam. The test of this proof-of-concept vehicle was successful. In particular, the RC truck proved that Internet network latency (including wireless access inside the iAnywhere building) was not a significant problem, and it was feasible for Ivan to pilot such a vehicle from Halifax. However, the RC truck was inadequate as a design, for lots of reasons – so Ian started designing a “real” prototype that could really work, one that is in use today in the Waterloo office. That “prototype” has been in production since May 2007.
I was completely confident in Ian’s ability to construct and build a working robot. Everything about the robot began with standard robotics components that I bought for Ian as he specified them: motor controllers, the base/wheel assembly, additional sensors, the batteries themselves. Ian customized a lot of things as he went along, including virtually all of the wiring that ties everything together, and the client/server protocol that Ivan uses to control the robot. Ivan’s input device is a “standard” Logitech two-joystick gaming console, one stick for the robot’s drive system – which is tank drive – and the other for controlling the webcam. Today the robot also features a 4-megapixel Canon point-and-shoot camera, with software control so that Ivan can take pictures using (another) button on the Logitech game console.
While I was completely confident in what Ian could build, however, in my mind there were two significant issues. The first was (still) network latency: would this present a problem over time? The second concern was the multiple points of failure any such robot would be subject to: we would be relying on an ordinary tablet PC, running MS Windows, over the public internet. Just how reliable is this combination end-to-end?
What was really so great about getting interviewed by Nora Young for her show, Spark, on CBC Radio was that Nora and her producer Liz Bowie got it. To her credit, Nora immediately grasped the significance of what a telepresence robot like IvanAnywhere could do for remotely-located staff. Matt Walcoff of the Kitchener-Waterloo Record, the reporter who first wrote the story about us and which got republished in the Manchester Guardian, got it too (unlike Craig Silverman, who writes for Toronto’s Globe and Mail, and who clearly did not “get it” when he highlighted IvanAnywhere in his “worst-of-the-worst” list at the end of 2007). It is difficult to convey to the reader how much an improvement the realtime audio and video on the robot provides compared to dealing with Ivan only through messaging, email, or the telephone. After approximately one year of operation, I am now so used to the robot that I simply ask Ivan to come to my office when I want to speak to him, just like I would if he was physically here. Of course, he is physically here, sort of. Being able to communicate visually with him, and he with me, adds much of the missing non-verbal communication that we all use in everyday conversation. It actually has come to the point where if the robot is not working (i.e. the network is down) then everyone feels the loss – not just Ivan. It’s as if Ivan is sick and “not in the office today”.
While the mobility of the robot is what gives it its value, the amount of time the robot has to travel in any one day is actually pretty small, for a number of reasons. One is that since Ivan worked in Waterloo previously, most of us already know him pretty well, so there’s been little need for Ivan to initiate “social” relationships with the staff; those relationships already exist. It is for this reason, really, that our experience with the robot as a surrogate team member has been so successful, and so seamless. A second reason is that while our team works in a highly collaborative environment, all of my team’s workspaces are in one corner of building, making travel time pretty short. On an average work day, Ivan travels just over 7 minutes, though there is considerable variation from day-to-day (the standard deviation is 5.61 minutes). Nonetheless, the robot does need the two 10-kg lead-acid 12-volt batteries in the base to provide power for the tablet PC to handle a full 9-hour work day.
Is the reliability of the Internet a problem? Sometimes. Occasionally our wireless router, or the entire internal network, goes south but this has been rare. More problematic has been bandwidth issues, either with internal traffic or with traffic over the public internet. Interestingly, the increase in latency and decrease in throughput consistently occurs later in the afternoons, but we don’t have any explanation. In such cases, we revert back to the phone, IM, or email as necessary. However, the robot’s uptime significantly exceeds its effective downtime.
What the robot does well:
- Overhearing and joining in ad-hoc hallway discussions
- Blue-sky discussions about solutions, opinions
- What other team members are thinking about / working on
- Urgent customer issues that need dynamic collaboration
- Finding someone at a “non-busy” time
- Check if door is open or shut (busy)
- Park by office and wait for an opportune moment
- Park in common areas to talk to co-workers from related teams
- Small meetings (up to 8 people)
- Seeing other participants allows better conversation tracking
- Visual feedback makes it easier to gauge mood
- Camera presets simplify looking at different speakers
- IvanAnywhere Channel on YouTube
- IvanAnywhere on the Sybase web site
- IvanAnywhere on Wikipedia
- The worker you have to plug in (Manchester Guardian)
- Listen to our interview with CBC Radio’s Nora Young
- Send Your Robot to Work (Christian Science Monitor)
- Remote Worker? Try Remote Controlled (The Globe and Mail)
- The people at Space TV in Toronto have placed our interview on “The Circuit” online on their website. You can follow this link:
Finally, here’s a link to our first IvanAnywhere video on YouTube. It’s a spoof on 2001:A Space Odyssey, with Ivan in the starring role as “Hal”: