The article describes Windows 8 application entry in Intel® App Innovation Contest 2013
NOTE: This winning submission was honorably withdrawn by its author to allow another CodeProject entrant to advance to Round 2 in its place.
Overview of the application
Penelope™ Investment Portfolio Management System allows to calculate P&L and multiple performance metrics (e.g. Portfolio P&L, performance/ROI, OLAP functionality, etc.) in a real-time mode. Current system exists as an integrated package comprised of several loosely-coupled functional modules, namely: Data Server, Central Database, and Web Application. Note: Data Server requires a live connection to Market Data providers (either Thomson Reuters, or Bloomberg). System implements a set of elaborated User Interfaces corresponding to 3 major User groups: Admins, Data Managers and General Users. (see the simplified architectural diagram of the IS is shown in Fig 1.):
General User interfaces (web-based, read-only) provide universal access to the to the IS key metrics and OLAP features, updated in real-time. Aggregated investment performance metrics are calculated in real-time, and are also available in historical perspective via additional set of UI.
Data Managers set of interfaces implements read-write functionality, allowing Users to enter/modify Portfolio/Funds meta-data.
Admin group interfaces implement IS performance (in a technical sense) monitoring and maintenance tools.
Proposed solution will extend the existing web-based set of UI with novel TabletPC application, providing similar functionality in a smaller form-factor, with aesthetic enhancement and improved responsiveness. Another extension may include the unique proprietary market/investment risk and funds rating analytical module "FINNY™" (Financial NY) also developed by Author (contains a database of more than 3,000 financial institutions in NY with comprehensive meta-data records and risk metrics), and quantitative trading engine Dynatrade-Bell™ .
Intended uses for the Application
Penelope™ is primarily a trading floor IS intended mostly for Hedge Funds, PE and other investment institutions dealing with US/Foreign financial vehicles (chiefly, equities/derivatives and FX). In addition to the straightforward trading floor usage, it could be helpful for C-Level corporate officers and quant department of any investment Company, either public or private.
From technical perspective, development approach will adhere to cornerstone principles of loosely-coupled modularity and separation of programming concerns. Implementation of novel Tablet-based interfaces will require web-services added to the server side and Internet connector developed for bi-directional communication between HTTP "transmitter-receiver" end-points (using WCF or any IIS/ASP.NET web services technology set).
From PMO perspective proposed efforts identified as change-management/integration phase.
Application Development approach
Existing system has been developed by Infosoft International Inc (the company owned and represented by Author) and put into production for the first time in the year 2005. The code name "Penelope" (or PeNeLope) was chosen after Penelope (the faithful wife of Odysseus, immortalized by Homer in his epic "Odyssey") due to phonetic similarity to key investment portfolio P&L metric pronounced as PNL by folks on Trading Floors. Simplified architectural diagram is shown in the following Fig.1:
Fig. 1: Penelope IS, simplified architectural diagram
As mentioned above, for the purpose of UX improvement proposed app will implement novel MMUI utilizing novel features of Tablet PCs. The core design principle of MMUI are listed below:
- Compatibility with standardized Windows desktop-type GUI operations via mouse/keyboard
- Multi-touch UI utilizing most common gestures, namely:Tap, Press and Hold, Swipe, Turn and Slide, corresponding to primary actions/navigation between screens and functional areas.
- Voice feedback to User implementing error, instructional and notification messaging via TTS
- Voice commands via ASR (optional, depends on the availability/quality of microphone input)
- Orientation sensor to switch between portrait/landscape
- Digitizer pen (optional) functionality, corresponding to standard gestures, plus data input features
- Automated brightness/contrast adjustment (optional, depends on availability of the ALS)
- Proposed Tablet app could benefit from external HID (input devices), in particular: detachable keypad and digital pen.
Coding Languages and Frameworks: .NET, WPF, C#
Application's managed code base will be developed using C# language and .NET framework/WPF. SQL/T-SQL will be used for Database operations on Microsoft SQL Server Compact edition (SQL CE).
Dr. Alexander Bell is a Microsoft technology veteran with development experience span from DOS to Win 8. He actively participates in digital life of online development communities (published 15 article and 36 tips on Codeproject). In the meantime, Dr. Bell is mostly focused on HTML5, CSS3, .NET/WPF, C#, Java/jQuery, SQL technology set. He is personally credited for the completion of 10+ of enterprise level FLCD projects, providing consulting services to major financial institution in NYC, including JPMorgan Chase, Societe Generale, etc. Dr. Bell is a pioneer and enthusiast of speech-enhanced Windows application software[1-5], and novel MMUI concept.
Using the code
NOTE: This section will be continuously updated as project progressing.
Points of Interest
There are several potential programmatic challenges corresponding to the tasks partially listed below:
- Borderless WPF windows with custom control box
- Multi-touch operations and voice commands set (optional)
- Intuitive and effective voice-messaging (i.e. error messages, notification/instructions via TTS)
Borderless WPF Window
Sample screenshot of borderless WPF Window, implemented in the latest version of Engineering Calculator Volta-8014D is shown below in Fig 2. Borderless Windows have better aesthetic appeal and increase the overall UI, though they represent certain programmatic challenge. The "borderless effect" could be easily achieved via XAML, but it requires some coding to make the window moveable/resiseable (notice the novel window control box having additional resizing option). Further aesthetic enhancement could be achieved by making the window translucent (it corresponds to the setting of opacity level). Tablet PC provides excellent opportunity to improve UX by adding multi-touch and voice-controlled re-sizing feature.
Fig. 2: Sample Borderless WPF window implemented in Engineering Calculator Volta-814D
The author has been working on speech-enhanced applications for more than a decade and published multiple articles covering two cornerstone technologies, namely: TTS and ASR [1-5]. Speech-enhancement is planned for proposed application, including extended set of TTS voice messages (error messages, instructional and notification messages) and (optional) ASR voice commands.
- 2002: Author developed a series of speech-enhanced Windows apps [1-5]
- 2013 Engineering Calculator Volta-814D has been released (implements borderless WPF window)
- 2005 Fist production release of Penelope™ with voice-enhanced interfaces
- Aug 14, 2013: Current article submitted to the contest (Tablet PC, Finance)
- Pericles™ TTS-14 Text-to-Speech Synthesizer
- Alexander Bell, Voice feedback enhances engineering calculator (EDN, 2002, 7)
- Alexander Bell, Add voice command to virtual instrumentation (EDN, 2002, 5)
- Dynatrade-Bell™, Quantitative Trading Engine
Acronyms and Abbreviations
- ALS Ambient Light Sensor
- ASR Automatic Speech Recognition
- FX Foreign eXchange (rates)
- MMUI Multi-Modal User Interface (multi-touch, speech-enhanced)
- NASDAQ National Association of Securities Dealers (Market Index)
- NYSE New York Stock Exchange
- OLAP OnLine Analytical Processing
- PDC Previous Day Close value (investment portfolio metric)
- P&L Profit and Loss
- PNL phonetic variation of P&L, typically used on Trading floors
- ROI Return On Investment
- SQL CE SQL Compact Edition
- TTS Text-to-Speech
- UI User Interface
- UX User eXperience
- WPF Windows Presentation Foundation
- XAML eXtensible Application Markup Language