Three of us from Sector67 went to Milwaukee’s Bucketworks to participate in a global event over the weekend called RHoK (Random Hacks of Kindness). This was an even similar to BuildMadison; people pitched their ideas, which were intended to solve a global problem or make the world a better place, and we had 24 hours to develop a solution. After listening to the pitches, we decided to work with a company called Watertech USA. They worked with industry to put sensors into their facilities to monitor water usage. All their data was coming into a central location, and was available to the industries, but not in a way that made analysis easy, or made it possible to compare week over week, or to identify anomalies. Because they had clear goals, rich data, and a prize, we thought we could get a lot out of working on this project.
After discussing the problem with the Watertech guys, who were kind enough to stick around and talk to us, we felt like we had a grasp on what exists, what they wanted, and what we could do in the 24 hours to make that happen. We put together a data model that encompassed the entire problem:
Then we set to work. For a framework, Issac and Brendan preferred Ruby on Rails, which was something I had never used before. I spent the next few hours setting up a development environment and getting familiar with it while they worked on importing the data, setting up the models, and creating the Git repository. We worked through the night and into the next day.
During the time we worked we made a lot of progress. The decision to use highcharts was critical. It saved us so much time and was an amazing library to work with. Some of the features we were using were bleeding edge with the library, but it still performed admirably.
jQuery served us well, too, and we pulled in some plugins like the dropdown checkboxes that gave us a slick interface for essentially free. Ruby on Rails was fun to learn, too. Throughout the night I would give it +1 for neat features and -1 for annoying problems that I had trouble resolving. In the end it came out a wash; maybe in the positive for Ruby. I imagine if I spent more time on it then I may come to like it.
In the end, we had a working demo. We had a basic data management interface, a way to import the data, and a dashboard that allowed us to display and compare data from any sensor in the hierarchy. Here are some screenshots:
At the beginning of the event there were probably 10 teams of people working on things. By the end of the event, there were 3 including us. We had done a lot of work in the 24 hours, and it was an interesting problem. Watertech still has a long way to go, but at least now they have an idea what some of their problems will be along the way and what to look for when they find a developer who can do what they need. The technology exists to do what they want, but it’s not a simple solution that can be done overnight.