He also was wondering if he could talk about something entirely different: “a Selenium-powered, ‘Angry Birds’-playing mobile-phone-testing robot.” While I had initially been worried I’d have to sit for several hours of interviews about Component Dependency Ennui 4.2, here was an interesting guy that wanted to not only demonstrate his “Angry Birds”-playing robot but also relate it to his testing-focused startup Sauce Labs. I welcomed the opportunity, and here’s the result:
From what I could gather, Huggins’ bot is driving two stepper motors that control a retractable “dowel” finger covered in some sort of skin-like material that can fool the capacitive touch sensor of a mobile device. He sends keystroke commands through this Arduino-based controller, which then sends signals to two stepper motors. The frame of the device is made of what looks like balsa wood. He’s calling it a “BitBeamBot.” You can find out all about it here and you can see it in action in the following video:
Relating BitBeamBot to Sauce Labs and Selenium
In the course of the interview it became clear that BitBeamBot was the product of an off-time project. Here’s how Huggins explained it: Imagine a wall of these retractable dowels, each representing a single pixel. if you could create a system to control these dowels, then you could draw pictures with a controller.
While working on this project, Huggins attended a Maker Faire and found some suitable technology. His creation of a single-arm controller then led to his big “eureka” moment: This same technology could create a robot that can play “Angry Birds,” and if a contraption can play “Angry Birds,” it’s a simple leap to create a system that can test any mobile application in the real world.
Huggins went through a similar discovery process with Selenium. Selenium is a contraption that supports and contains a browser. You feed a series of instructions and criteria to a browser and then you measure the output.
With BitBeamBot, Huggins has taken the central software idea that he developed at Thoughtworks and applied it to the physical world. He envisions a service from Sauce Labs, the company he co-founded, where customers would pay to have mobile applications tested in farms of these mobile testing robots.
Sauce Labs is focused on the idea that testing infrastructure is often more expensive to set up and maintain than most companies realize. The burden of maintaining an infrastructure of browsers and machines can often exceed the effort required to support a production network.
With Sauce Labs you can move your testing infrastructure to the cloud. The company offers a service that executes testing scripts on cloud-based hardware. For a few dollars you can run a suite of unit tests against an application without having to worry about physical hardware and ongoing maintenance. Sauce Labs is trying to do for testing what Amazon EC2 and other services have done for hosting.
Toward the end of the interview (contained in the first video, above) we also discussed some interesting recent developments at Sauce Labs, including a new system that uses SSH port forwarding to allow Sauce Labs’ testing infrastructure to test internal applications behind a corporate firewall.