Saturday, February 14, 2009

An Open Letter to the Creators of Flot

Dear creator(s) of Flot, who I only know from this blurb on your google code page:

The development so far has mostly been done by Ole Laursen, sponsored by IOLA, a small Danish web-development house focusing on Django and jQuery.

I want to thank you for making such a kick ass graphing tool. First of all, you have cleanly separated data from code: I really think that isolating the actual graphing call to this method:


really allowed me to focus on what I should be focusing on when using a graphing tool: the data I wanted to present, instead of the mechanism I was going to use to present it.

Second, you have eliminated the need for me to write some kind of JS wrapper around Google Chart API. I cant tell you how much it means to me, a deeply lazy person, to not have to do work. Especially work that seemed peripheral to my main focus.

Third, thank you for basing your engine on JQuery. As a lazy person, I love the way I can do transformational operations on DOM elements by chaining function calls. I'm hardly a JS guru, but JQuery makes me feel like a badass mofo with very little effort on my part. Flot does the same.

Fourth, I really like the way you've made it possible to interact with the data, and zoom in. For better or for worse, I've decided to write my own monitoring system, and this is the kind of functionality that gave me migraines, because it is essential to what I'm trying to do, but very time consuming to get right.

I decided to write my own monitoring system because the current monitoring system we had in place made the silly assumption that software doesn't migrate. Actually this assumption isn't all that silly, we just happen to move services around from machine to machine, and any system that assumed that services were somewhat statically located (again, a valid assumption in most cases) was S.O.L in our world. Also, by being smart about when to send data across, a custom monitoring system ends up scaling much better than traditional SNMP based approaches.

Ahem. Anyways, as the sole implementor of this system, I've been fielding a lot of complaints from both the business team and the devs about the quality of the graphs, the lack of preciseness, the lack of interactivity. Being able to receive events on mouseovers and clicks lets me, as Peter Frampton would say, "come alive". It's always nice to be able to exceed expectations.

Finally, Ole and other makers of Flot, thanks for making me look like a UI wizard, even though I'm purely a server side guy. The fact that I was able to change out graphing engines in a couple of hours says a lot about how easy Flot is to use. You guys made a total pain in the ass operation a lot of fun. Flot is a great tool, and I look forward to using it more in my app.

Flot resources:

Reblog this post [with Zemanta]