CROSS PLATFORM FINANCIAL CHARTING
Scott Logic worked with a leading international Investment Bank across four locations to implement cross-platform financial charting.
We built a replacement for the client’s charting component which was used in both their desktop and web trading platforms. The client’s component was rich in features, but only supported Windows and the Internet Explorer browser. We re-implemented the component with a new technology stack that runs on both Windows and Mac, and in all major browsers. We also enhanced the component to improve interactivity and add additional analysis features.
- Windows Presentation Foundation (WPF)
- Visiblox Charts
DISTRIBUTED DEVELOPMENT TEAM
In order to deliver the component for both of the client’s platforms, we supplied a team of four developers with a mixture of desktop and web specializations. Our developers made up the majority of the development team, and were fully integrated with a smaller number of the client’s own developers and the client’s testing team. The Scott Logic team was spread across our Newcastle and Edinburgh offices, whilst the client’s developers were located in their European headquarters, and the test team were in India.
In addition to the development team we provided project management throughout the two year project using the Scrum methodology. This included iteration planning, day-to-day management of iterations, management of the testing team, and co-ordination with the product owner.
REPLACING THE TECHNOLOGY STACK
The existing component was built on Microsoft’s ActiveX technology stack making it completely tied to Microsoft Windows, both on the desktop and the web. To meet the client’s cross-platform (Windows and Mac) and cross-browser (IE, Firefox, Chrome and Safari) requirements, we chose to implement a solution based upon the Visiblox Charts component. Visiblox offers a WPF version for the desktop and a Silverlight version for the web, both with the same API, so we were able to create a single implementation for both of the client’s platforms, with only a small amount of integration code specific to each platform.
NEW AND IMPROVED FEATURES
Our brief for the first release was to provide a cross-platform charting component that supported all the current functionality:
- Charting of instruments across the full range of asset classes offered by the client
- High performance: immediate rendering of charts, fluid streaming of live data, and smooth zoom and pan – even when plotting multiple instruments over a large time period (i.e. large numbers of data points)
- A variety of annotations to allow users to add context and information to charts
- A wide range of technical indicators which could be added to charts
We knew that subsequent releases would include many new features, so a key aspect of the new design was therefore extensibility. We worked closely with the product owner during the initial implementation to build a backlog of new features and enhancements for the second phase, which included:
- Integration with the order logic of the platform, allowing users to view, place, and amend orders directly from the chart component
- Improved integration with other components in the platform
- Design and migration of a new JSON data feed
- Addition of new complex technical indicators
- Improvements to rendering speed, allowing users to plot more data points and view charts over longer periods