As most established startups today Ozmo is interested in process improvements - little tweaks to our daily activities that make us leaner, smarter, and more agile. We are also on the cutting edge of technology, which makes us look for highly technical ways to solve these small hurdle problems. It is a personal and cultural goal at Ozmo to seek out these problems, and I found one soon after beginning working here. This post sets out to explain how we solved it.
Ozmo has a fantastic collaborative space located in Kent Square in the heart of Blacksburg, VA. The floor plan is open as well as the seating. There are literally hundreds of small collaborative spaces aside from the cordial glass-encased meeting rooms. One of the great things about these spaces is that they feature huge dry erase walls. Not just boards, but whole walls painted in dry-erase paint, making any corner a potential collaboration point.
The issue, however, is that we work on large-scale, cloud-enabled applications that sometimes take quite awhile to draw out the flow of an application before we can begin talking about them. In fact, many times we would be in such a hurry to get an idea down that we would produce incoherent technical diagrams confusing the issue or leave out large chunks of a diagram in order to explain the idea. By leaving parts out, it would lead to unforeseen issues with the flow of an application. The worst situation is when we would spend so much time drawing out the flow of an application that the creative idea itself would be forgotten or muddled.
The answer came to me when MakeBlock started a KickStarter campaign that involved a wall-climbing robot (mDrawBot). What if we could get a robot to draw out our complicated diagrams ahead of time? We would save time and be able to talk over highly detailed drawings of our application, keeping the engineers on the task of creating new features and solving issues rather than just drawing out diagrams. I backed the kit and when I received it I put it together that week.
To test out the robot I cleared an infrequently used wall and mounted it up. The robot was meant to attach to a dry erase board - not directly to a wall - so I came up with a mounting solution using 3M Velcro to keep it secure. I then had to tackle calibration and the fact that the pen and holder was not meant to be placed directly on a wall, so it had to have a few modifications as well. Then came the software.
A few practice runs showed that it was taking each piece of geometry and splitting it into line segments to get start and end positions for when to put the pen down, travel, and then pick the pen up again. It was painfully slow to watch it try and draw some of the details, so we modified this code based on previous experience with Delta printers and Marlin to get the code to understand polygons and arcs better. Then it was ready for testing.
It was a great experiment for seeing if having the robot draw diagrams would be better than drawing them out by hand. Although we still have some work to do, it has already been beneficial. Only at Ozmo would we find a way to solve a problem with a wall-drawing robot!