If a question seeking product recommendations is not deemed 'right', please feel free to lock/delete this post. I will seek other avenues.
The presentation layer of enterprise applications has hardly ever been my focus area. However now, I am required to look for a development platform that allows quick and easy development of dashboards with widgets. Where, development is no more than drag-drop and few clickys here and there. This is because the audience is more of business oriented folks than development staff.
After much browsing around, I think, I have short-listed the requirements of a development platform suitable for us.
- Custom display elements. I should be able to import display elements (line chart, bar graph, etc.) or develop on my own.
- Event-based refresh. All the display elements should have an option to refresh itself based on events than on a refresh time period.
- Responsive. The display elements should render correctly on different browsers on devices of different aspect ratio e.g. laptop, desktop, 42" LED TV, etc.
- Internationalization support. All display text and locale elements (date, money, etc.) should be rendered via a 'bundle' or at least be programmable for me.
- Hand-held friendly. The platform maybe provides a SDK that allows handling of device gestures for rendering display. For example, pinch to zoom, swipe, etc.
Ideally, an open source product backed by commercial support would be great.
Most options that I have seen, do not have an easy drag-drop feature. For example, d3.js has some really amazing visualizations but, probably requires non-trivial development effort. I checked out Freeboard too, but, I am not sure if it can extend to custom data sources and widgets. Splunk looks good but I am not sure how extensible it is.
So, what are your suggestions?
I would highly recommend Splunk for your case. I have been working with it for quite a while now and have seen numerous capabilities. It is not true that it is not responsive; most companies demonstrate Splunk dashboards on wide screens, projectors, mobile phones, etc.
Using custom display elements couldn't be easier. There is a variety of options of charts,graphs,stats tables and others,plus you can work with various programming language from simple xml and html to javascript (d3 libraries are supported for D3 visualizations) for more complex applications. You can add drilldowns to your panels, time pickers, search boxes, all by using its GUI interface.
You can easily configure it to "auto-run" when new events are available by choosing one of the real time options , e.g. 1-minute-window, 5-minute-window,etc.
You will be impressed how easy is to "form" your data, as Splunk recognises and extracts timestamps and time zone data automatically (of course you can apply your own settings in any case). It is also capable of recognising different data sources (like json, syslog, database logs, etc) providing the proper configurations for line breaking, fields extractions, and other options, allowing regex replacement too.
Imho it is the easiest and most robust way to visualise your data quickly allowing a lot of space for customizations.