You're viewing all posts tagged with Charting

Introduction to CogChart

For the past 12 months or so I have been involved in creating yet another charting product aimed at the finance market. This will have brought the total number of financial charts that I have worked on to 5.

I hear you ask, “Why?”. The answer is simple. The finance charts that I have worked on in the past have been part of a complete package (either for Reuters Kobra, Telerate Active8 and the like). These charts, albeit very powerful and have stood up to the tests of time, are not very portable and easy to maintain. Before blindly embarking on such a large project however, we decided that we would test out what was in the market place. We tested many popular charting products that are available on the internet, including Dundas, ChartFx and more. I recall that we tested around a dozen or so.

Unfortunately, every single one had something missing from it’s architecture that made it obvious that we would need the source code in order to remedy it’s shortcomings. We even ended up purchasing one. After spending a few short minutes looking at the source code, we quickly realised that we would be spending as much or more time shoe-horning a proper solution from the amatuer code base we have just aquired, vs designing and creating our own.

Enter CogChart. Yes, it’s not the most flamboyant of names, unlike ‘Aspen Graphics’, ‘Athena’, ‘Metastock’, or ‘Tradestation’, but it’s ours.

The difference with CogChart’s architecture compared with other charting solutions is that it is a Library of features, rather than a solution itself. This is in line with Cognethos’ idea of creating all of these different pluggable elements and then combining them later to actually create a tailor-made solution that ideally suits our customer’s needs.

So CogChart, being a library, is also designed to be completely extensible with the minimum of fuss. In fact, the architecture of the chart is that we can pull out any piece of functionality and replace it with something that better suits a particular need. For example, one client wanted to have a little notification in the bottom right when the chart’s data was updated. A few short lines of code later, we have a little flashing icon that appears temporarily in the chart when new data arrives.