Close

Working on a few Bugs

A project log for analog.io - A full stack IoT platform

A full stack project dedicated to easily collecting, analyzing and sharing IoT sensor data.

Luke Beno 09/17/2015 at 21:510 Comments

Being featured on the hackaday.com blog has been a great experience. Over the past 32 hours, about 80 people signed up for the site pushing the overall user count up to 500 people! When starting analog.io, I would have never expected it to grow to this level.

In reviewing the activity and talking with those who have contacted me, 2 Recurring bugs have been identified that may have hindered everyones first experience with the site. For that I'm sorry. First impressions are very important.

In the spirit of transparency and openness, I figured that I would share the bugs, my understanding on their root case, a recommended work around and what I plan to do to fix them.

Missing Stream Data:

The missing stream data bug occurs when a user selects a stream to view. Typically users find streams of interest from the index, click on the stream to view the data, the stream title and description loads but no data is showen. The image below is an example:

Root Cause: This bug is caused when the data.sparkfun.com server purges old data using the phant reaper module. analog.io keeps an independent record of this data in its database and does not identify that the stream is no longer valid.

Work around: Right now the only work around is to look to a different stream to see the data.

Fix: A feature is planned for analog.io to scan through all stream records and verify that data is still available. The scan may also score the streams based on their last update and provide a rank. This will ensure that the best quality streams are shown first in the index.

In the interim, I have added a manual function that I can selectively hide streams that are no longer valid.

The notch bug:

The notch bug appears as a vertical line at the beginning of the time series plot as shown below. Due to this "notch" the vertical scale of the chart is adjusted to cover all data. This scale change often compresses the meaningful data such that it looks close to a flat horizontal line.

Root Cause: Data requested from the backend server is delivered in CSV format, the application then parses this CSV file into floating point number data that is used by the highcharts library. If the parser discovers a non numeric value in the CSV file, it automatically gives it a placeholder value of 0. Since the CSV file contains a header line, the first parsed value always resolves to non-numeric and results in a 0.

Work around: One way to work around this issue is to adjust the horizontal window of the plot as demonstrated in the image below

Fix: The fix is to change the parser such that it ignores trying to parse the header row.


Thanks to everyone who joined, bugs are part of the development process and I'm very happy to hear about them for users and fix the as soon as practically possible.

Discussions