Friday, June 26, 2009

On the forge: CDF Training Material and Samples

With CDF's inclusion in pentaho, the user base has increased a lot. And I'm absolutely sure that the vast majority of the users that download Pentaho have no idea of what they can do with it.

Looking back to 1 or 2 years ago the improvements have been huge; We can now develop Pentaho dashboards in 1/10th of the time, being able to focus on content, and not in technology.

Still, I have to admit that it's still a steep learning curve to a new users.

We are working on a set of samples/tutorials to make it easier for new users to understand how it works - from simple inputs to sparklines in dashboards.

Our goal is have it ready in the next month; Not sure how we'll distribute it - probably with webclasses or something like that - but we'll decide it when it's finished.

In the meanwhile, here's a screenshot of the work in progress, where tutorial itself is a CDF dashboard

Thursday, June 11, 2009

Firefox breaks 100 Million users daily or The happiest bug report of my life

It's amazing - Firefox broke the barrier of 100 million active daily users for the first time yesterday. 101,229,960 to be more precise. This is especially motivating with Firefox 3.5 just around the corner. Be sure not to miss it!

Just a few hours after GMT's midnight we got this little surprise in our email boxes (it still puzzles me a bit to think that the guys in the US get the report of the day before their day is actually over; It would be much simpler if the world was flat).

This immediately led to a bug report. This number is sooo big that we didn't properly account for it when we built the report:



But I must say it's the happiest bug ever!


ps: On a somewhat unrelated note, we have to take our hats to the extensible power of pentaho's jfreereport; We were able to implement sparklines and a email repository to the engine so that all images / resources are sent as attachments, not requiring connection to the server - not forgetting anti-aliasing support, to make it look a little nicer. Thanks a lot for all the help Thomas

Friday, June 5, 2009

A very busy month

It stresses me just to think about it. Only one month till the end of the quarter and still a lot of objectives in the to-do list.


In this month, and following my previous post, our team will spend a good chunk of time extending CDF's functionalities:


  • Continue different charting widgets


  • Start building a centralized point for data access, that will allow to get data from several sources - mdx, sql and kettle (eventually metadata). One of the first goals is allow to merge the resultsets of 2 different datasources and be able to visualize / compare them in the same chart.


  • Start the foundations for a CDF Dashboard Generator / Designer / whatever.




All our experience so far led us to a lot of dashboarding implementation as a way to tie together the different pentaho components into the final solution, not only in OEM scenarios (where this is absolutely critical) but also for standard implementations.


And we need to continue improving in order to make it run better - and implement faster.


In summary, I need huge amounts of coffee

Monday, June 1, 2009

CDF Charting Enhancements

The more I work with dashboards, the more I know there's a lot to learn; If you follow the excellent work of Edward Tufte you know there's much more to visualization than the technical aspects of it.


A balance needs to be achieved; It's as wrong to focus only on eye-candy as is to build a too technical dashboard for users that will feel scared about it.


At Webdetails we've been getting very interesting conclusions from the projects we have with our clients, namely the Mozilla Metrics project, where we're implementing a full scale Dashboard centric Pentaho implementation.


Side note: maybe it's just our experience, but our clients have been much interested in dashboard centric projects; All of them make extended use of CDF in it's standalone mode (that is, without the user console). The user console has been used more to specific usage rather than the common use. This is the main reason that makes us develop and extend CDF.


On the Mozilla metrics project we started with specific by-subject analysis and then evolved to a set of summary dashboards that allow dynamic drilling, slicing, focus and allow the users to get to any information they want visually, optionally getting the raw numbers with a single click.


Recently we've reached an interesting conclusion; as much as we can develop a full-featured all-in-one dashboard, some users may feel more comfortable with dashboards that show less information but more context; We've learned that, when designing dashboards, we should focus on users first and data next.


So this is the way CDF is evolving now:


  • Increase usability - Make users feel more comfortable

  • Increase development speed



We're currently giving our first steps in the first one, and till the end of this month we'll be working hard on this 2 subjects, hopefully trying to nail both of them at the same time - let's see if we can make it.




Our first stab into the first goal is extending charting functionality, allowing users to do perform certain operations while giving it some eye-candy. The picture above shows a typical bar-chart generated by the jFreeChart CDF component; A lot of
people in the pentaho community don't like this rendering engine a lot; while it's true that it doesn't look that good, the truth is that open flash charts is not a very matured library and we miss some core functionalities.


For the record, we're also working on a OFC CDF component; our objective is to get to a CDF component that is independent of the rendering engine - jfreechart, OFC, libsparklines, flot, whatever. But this requires a big leveraging effort in order to maintain the core functionality we expect from dashboard components.


Anyway, back to the subject; When we make a bar chart plot like the above one, there are clearly some type of operations that can be done regardless of the data displayed: get the details, looking at the data, etc. So we implemented a set of (extensible) operation that we can access while doing a mouse hover:





So far, we've implemented data details, zoom, export to excel and CSV and switch to bar/pie view, but we can make this list grow/change as desired.


This an example of exporting the data to excel regardless of the data source - MDX or SQL