Sprinkl is a user-friendly sprinkler controller that measures, controls, conserves, and cultivates your sprinkler system. Using wireless sensors, Sprinkl measures soil moisture and temperature and relays this information back to the controller. Taking soil conditions, as well as weather forecasts into account, the controller determines just the right amount of water to distribute.
The Sprinkl controller includes a touch-screen interface and a smartphone application, wireless sensors, automatic conservation schedules, WiFi connectivity, and a REST API (for the hackers out there).
Creating a Tight Synced Data Loop
Sprinkl needed a realtime infrastructure to power their mobile API integration layers with their cloud system. This would ensure that the Sprinkl Cloud and mobile applications up to date based on any changes happening on a user’s controller.
Considering developing their own protocol, along with a client and server library, the Sprinkl development team ran into a number of issues. Originally implementing their own integration layer using Socket.io, they soon found numerous specification bugs and incompatibilities with what was available.
Looking whether to build out their own underlying socket communication layer or go with a realtime data stream network, Sprinkl settled on PubNub. With a small development team, Sprinkl seamlessly implemented the PubNub Data Stream Network, significantly reducing development time, as well as development complexity for their realtime backend.
“Why recreate the wheel?” said Noel Geren, cofounder of Sprinkl. “By switching to PubNub, we’ve been able to rapidly build out a rock-solid integration layer for handling realtime events originating from a user’s controller, the Sprinkl Cloud, and/or our mobile applications in a fraction of the time over engineering something ourselves.”