We recently announced our newest open source project, Roger, which allows the use of the scientific programming language R from Go. We use R at Senseye for quick exploration of data and rapid algorithm prototyping. Data visualisation is key to this process and is an area where R really shines. We felt it was only right that Go should be able to profit from R’s visualisation capabilities and recent updates to Roger have made this a reality. This blog post will demonstrate this capability, creating a Go web API which, when called, will execute an R script to generate a graph which will be returned in response to the API request.
With the Senseye beta under way, this post provides a quick introduction to using our product. It will demonstrate the simplicity of adding sensors to Senseye, in order for Senseye to automatically start building insights from data and to start building dashboards. Even if you don’t yet have any sensors, we’ll show how you can use public data within Senseye.
With the Senseye beta under way, this post provides fellow developers with a more techie introduction to using our product. We don’t require you to send any data directly to us - if you’re using an IoT hub, we can pull the data straight from there as we require it. Currently, we support Thingspeak and Dweet.io hubs but we plan to add support for more in the future.
Our simple predictive analytics product, Sensight, is using a microservice architecture partly linked together with RESTful HTTP interfaces. It’s common now to see applications, websites, services and databases being loosely coupled in this way to aid maintainability and allow for better technology selection. This communication between API consumers and providers forms a functional contract; with the consumer expecting the provider to expose a consistent interface and maintain a number of things such as endpoints, query parameters, expected request bodies, allowed verbs, returned status codes and data representations. If the API changes, consumers may no longer be able to exploit the API or could find their application behaving in unexpected and bizarre ways. Like all good applications then, it’s critical that web APIs are well-tested to ensure that they function correctly and deliver a consistent interface for consumers.