I have a decent working web application (Java/Servlet/Jsp) that I would like to improve the end user experience and what they get out of using the application. The web app captures business data through html forms and stores it in an Oracle database. It has good form data input validation. I display the data back in html pages. But I want better reporting capabilities of my data, I don't want it to be just some repository.

As an example, I have an Out Of Plant scheduler. Employees enter dates they will be on Business Travel, or Vacation, Jury Duty, etc... Right now I have a series of pull downs to filter that data by say Employee ID, a Date, a Category, and then two buttons to display data in either a list format or on a calendar. This works well, but now I want to add more filters. What if someone wants to see only Business Travel events by only employees in Dept 123. Or what if the user would like to show Holiday and Jury Duty events? Is there something better to use than just html form widgets, pull donws, check boxes and search fields?

This is the dilema for all my web apps. I collect data and want a great way to present this data back to the end user as information, not just data.

Is this a job for jquery, ajax, BIRT, etc...?? Having an easy way to make bar charts & graphs of a query I conceive with the end user filters applied is desired too. Oh and of course upper management loves excel documents. Right now I can spit out Excel by specifying the reponse header in the java servlet.

BTW, this is a one man show, I am the programmer and designer.

5 Answers 5


The ExtJS library has a very powerful grid control, that allows reordering and hiding of columns, searching, sorting etc. And it looks nice, too. ExtJS also includes controls for charts, but I prefer to use Flot instead, because it's pure JavaScript and IMO more flexible.

  • Stay far away from EXT if you value user experience. The demos look impressive, but require custom work to get features to work together correctly. 4.0 performance for complex grids is horrible. My previous company spent more than their share trying to find workarounds for ext's shortcoming/bugs and in the end the performance was abysmal on any version of ie (including 9) Jul 18, 2012 at 22:37

I'm not very familiar with Java, but you should check out the Google Charts API as a possible way to easily implement your charts. As for some of your other UI questions, check out this question on UI pattern libraries and websites. You should find something there that will be useful or inspirational.

  • 1
    Thanks for pointing out Google Charts. It seems pretty powerful. I would love to use it but I would have to get the blessing of my company since we are a defense contactor for the goverment. I wouldn't want to see our charts on wikileaks!
    – jeff
    Dec 8, 2010 at 14:49

If you have some flexibility in delivery, you could utilize a RIA technology like Adobe Flex to develop even widgets/components (if not a complete app). Otherwise, your other options are using jQuery, CSS, and other purely web technologies like that to achieve the "cool factor" but that produces its own challenges in cross browser compatibility (something Flex and Flash Player would shield you from). The Dojo toolkit is an interesting option as well, but it also has its own set of challenges.


You can check out google chart and visualization api. They are very javascript oriented so all you have to worry is how to get the data from your database and fill the needed arrays and it shows pretty good charts. Yes, showing charts adds some bells and wistles.

There is also an open source flash chart engine http://teethgrinder.co.uk/open-flash-chart/index.php

Also check out dashboardzone.com to get some ideas on how to present your data as charts.


Similar to the Google Charts API, I would recommend Highcharts It's quite flashy – not to be confused with being made in flash – and can be a great way to visualize the data you have available. It is another JavaScript charts library which uses SVG when available and an alternative method for IE. Either way, it's mostly straight HTML, JavaScript, and CSS. Highcharts is licensed software and it is not a "service" in the cloud. Which would likely fit your needs better than the Google Charts API. For licensing information: http://www.highcharts.com/license

  • Highcharts stopped using canvas quite a while ago. It uses SVG with a fallback to VML in IE.
    – Chetan S
    Mar 3, 2011 at 5:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.