Squeezing data
As you might have figured out the product consists of 3 units: gadget, meter and web. And the basic functionality is that the meter measures your electricity consumption, sends this to the web, the web stores the data and tells the gadget what to display.
The amount of data being transferred from the meter (for the moment a semi buggy simulator written in Java) to the web is quite large and we needed a way to compress this data. Mostly for shorting query times but also we thought that being able to view consumption data for a Wednesday half a year ago with second granularity was a bit unnecessary.
The solution turned out to be storing the raw data for a couple of days, then generalize all aged data points within an hour to an average for that hour. This approach reduces the number of entities in the database approximately with a factor 200! But, it also means that data that has been measured by the meter, and then travelled half the globe are being thrown away. Therefore we might offer the ability to download this data and store it locally. A form of recycle bin you might say. If you’re not interested in storing the data locally, and still want to keep fine granularity, there’s a second way. In the “advanced mode” on the Website you will be able to mark an interval in a diagram and store all data points within this interval, keeping them safe from cleanup algorithms. After giving the interval a note you can share it with your friends.



