Tuesday, February 23, 2010

Full Loadout! Visualizer "Full Function" Launch!

Everything seems in place to be able to announce that as of right now, WattDepot-apps: Visualizer, the component to tie Google visualization to a meter/power record in order to display trends in data can finally be considered in its first full version. While not totally up to the “dream specs” which include the ability to add comments to the charts, Visualizer Full Function contains the basic visualizing qualities as required by the project: the ability to display multiple data types (including sensor data) from multiple sources from a given date range for every so many intervals in either timeline chart or table form. While I have no doubt that bugs and flaws still exist this benchmark gives me a sense of accomplishment with this part of our WattDepot-apps collection.

This week the work had become split in such a way that my teammates Bao and Ed focused on bringing the Monitor system (the auto updating display of power meter statistic changes mentioned last week here) online, I did my best to try to tie up the loose ends with the Visualizer. While Bao is the member designed to go back and forth in our group right now the importance of getting the Monitor up made the choice to have him invest more time in that a bit easier, while his work with me on the Visualizer would have focused more on testing code.

(Visualizer "Full Function": displaying multiple data types from multiple sources over a day)

That being said the work on the Visualizer was a case of hit and miss. As was the problem partly last week, the lack of synchronization between the visualization system and the Javascript itself lead to having to code in a way that would make them function together without one getting too far ahead of the other. The resulting system could use a little clean up and goes a bit outside the idea of self-contain modules but as Robert Brewer had mentioned to use last week when we met with him, it is sometimes better to get it to work first than to worry about optimization. The Visualization process with multiple sources comes down to one major programming key: loops. Because of the potential for several columns in a table and several tables based on the number of choices a person may want to put in loops became a necessity not just for putting the tables together but for generating arrays to chose what columns are joining together.

The “puzzle road block” for this week is the misunderstanding of loops. With Bao helping Ed and my focus more on getting functionality in I ended up making sure it worked while pondering over some of the anomalies (some of which still exist). For instance even though it works it seems like the table gets drawn twice in Firefox (one with a single table, then again with the complete selection), and when working it out in code it seems like in some instances the combining step happens multiple times (when it shouldn’t, though it does not affect final output). Depending on our next set of goals though these small anomalies might be on the back burner. In any case we’ll have to work on getting some tests into the system anyway and I’ll be consulting Bao about what he found that could help us soon.

For now we can enjoy the fact that Visualizer "Full Function" is in the trunk and accessible to developers here (and probably soon for casual users).

No comments:

Post a Comment