<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Platformability &#187; Financial Ajax</title>
	<atom:link href="http://blog.caplin.com/tag/financial-ajax/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.caplin.com</link>
	<description>Single Dealer Platforms, Industry Expertise</description>
	<lastBuildDate>Fri, 03 Feb 2012 15:38:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Silverlight 4 &#8211; Is it what banks want?</title>
		<link>http://blog.caplin.com/2010/04/19/silverlight-4-is-it-what-banks-want/</link>
		<comments>http://blog.caplin.com/2010/04/19/silverlight-4-is-it-what-banks-want/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 08:23:44 +0000</pubDate>
		<dc:creator>Michael Poston</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Trading Technology]]></category>
		<category><![CDATA[Financial Ajax]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://blog.caplin.com/?p=2028</guid>
		<description><![CDATA[Where is Microsoft going with Silverlight? There is no ambiguity in Microsoft’s intentions to contend with AJAX and Adobe Flash in the RIA space; Friday&#8217;s Silverlight 4 release includes me-too features such as enhanced video streaming capabilities aimed at internet broadcasters, better device handling including web-cam, microphone, mouse wheel and...]]></description>
			<content:encoded><![CDATA[<p><strong>Where is Microsoft going with Silverlight?</strong> There is no ambiguity in Microsoft’s intentions to contend with AJAX and Adobe Flash in the RIA space; Friday&#8217;s Silverlight 4 release includes me-too features such as enhanced video streaming capabilities aimed at internet broadcasters, better device handling including web-cam, microphone, mouse wheel and right-click support, together with enhanced animation capabilities such as hardware accelerated transforms and rotations.</p>
<p>Yet the capital markets want more than a Microsoft version of Flash, and fulfilling their additional business requirements is where Silverlight 4 looks to shine.</p>
<p>When banks build single-dealer portals they need an application framework that leverages existing skills so that client offerings can be created quickly, deployed easily, and rolled out to clients en masse. The integration and functional requirements on application frameworks across pre-trade, deal-capture and post-trade are varied and not usually completely solved by any single vendor implementation or framework.</p>
<p><span id="more-2028"></span></p>
<p>The ability though to empower enterprise application developers with a familiar language, good IDE and tools for rapid collaborative implementation is paramount for success. Non-functional requirements on the underlying application platform such as stability, maturity, security and performance are essential, yet often difficult to measure.</p>
<p>Where does Silverlight 4 fit in? The release notes may not immediately instil delight into e-commerce managers around the world as the business benefits aren’t entirely obvious. The presence of features such as right-click support for context menus may be welcomed, but it also gives the impression that other important pieces of functionality might be missing and won’t be around until Silverlight 5 or 6.  Luckily that doesn’t seem to be the case and the business credentials of the Silverlight 4 beta have generally been well received. There’s a plethora of features in the new release and not enough blog space here to cover them all, so here’s a brief description of the key business benefits for financial markets.</p>
<h2>Pre-trade</h2>
<h4>Data aggregation</h4>
<p>There are several Silverlight 4 enhancements for pre-trade and analytics, the first being the ability to add external HTML content into your Silverlight application. Silverlight 4’s WebBrowser control allows client-side aggregation of external web content such as market data, calendars, news and technical analysis. AJAX and Adobe Flex content such as charting applications can be easily lifted into a Silverlight app.  Interestingly, duplex interoperability between guest web pages and Silverlight is feasible, as Silverlight can invoke JavaScript methods and receive notification back from the page. A potential (yet unproven) benefit of this feature is to aid the transition period from your legacy RIA application into Silverlight, as an intermediate/hybrid approach is facilitated.</p>
<p>Unfortunately restrictions almost cripple this approach; the browser stack security model prevents cross-domain calls, so the WebBrowser control is limited to Out-Of-the-Browser (OOB) Silverlight deployments. If you attempt to place the control in a browser-based Silverlight instance you get a not-very-useful big blank white box. Just to navigate to a web site, the Silverlight package (XAP) must be signed by a certificate authority (XAPs with elevated trust is a new feature) otherwise the client is subject to the cross-domain policy files of the respective sites.</p>
<h4>Persistence</h4>
<p>Local disk access within Silverlight 4 opens up a few possibilities for providing client access to saved documents or for saving data generated within Silverlight to your client’s local hard disk.  Disk access may be employed for any persistence of application settings or for your clients to save/load business logic such as client generated structures or derivatives. Similar restrictions also apply here, only IsolatedStorage (sandboxed space) is accessible in browser-based apps. Microsoft also felt the need to restrict signed OOB apps by writing only to the “My Documents”, “My Pictures”, and “My Music” directories. In general, this feature will probably not infringe on the traditional app-server / hibernate/ database deployments for persistence, but there is potential in this new feature for client log storage or large file manipulation.</p>
<h4>Low latency rendering</h4>
<p>Finally, pre-trade often involves streaming indicative prices from the banks pricing engine to the client’s browser instance. Although we are never likely to see real-time topic based pub/sub messaging capabilities within Silverlight’s default controls, GUI performance plays a critical role in ensuring low latency price consummation and rendering. Exploratory testing of streaming prices across the web to the client and rendering them within the DataGrid control indicates similar performance between Silverlight 3 and 4, however judgement should be postponed until the release version. I suspect Microsoft’s claim of ‘a 200% performance improvement’ is probably centred on Storyboard animations, procedural animations and perspective 3D transforms. Nevertheless, performance has been satisfactory for foreign exchange one click trading since Silverlight 2.</p>
<h2>Deal-Capture</h2>
<h4>Trade ticket stability</h4>
<p>To correctly capture RFQ trades, Silverlight must efficiently render quotes and validate form-based data submitted by clients. It is critical for ticket-based workflows that trade tickets operate in a deterministic, stable fashion. One of the most interesting additions to Silverlight 4 is the ‘commanding support’ enhancement, which makes it much easier to unit test applications with complex GUI interactions, resulting in a more stable application.</p>
<p>Without getting too bogged down with the technical details, ‘commanding support’ helps promote implementations using the Model-View-ViewModel (M-V-VM) pattern. M-V-VM extends the standard Model-View-Presenter pattern by featuring a ViewModel, an abstraction of the View which contains the View’s state and behaviour. The idea is that a View is just a rendering of a ViewModel, and Microsoft makes it very easy to keep a View in sync with a ViewModel via ‘Data Bindings’.</p>
<p>So what’s so good about adding this extra layer of abstraction? ViewModel classes are easy to unit test. First hook up your unit-testing framework to the ViewModel in place of the View, then change the Model. Your ViewModel consumer can test the outcome. There’s no need to add any extra binding as ViewModels update all ViewModel consumers, and no XAML needs to be parsed or initialised for your tests. The new ‘commanding support’ comes in for the other direction; your unit-testing framework issues a command emulating something like a button click, and your framework then tests that the input is fed correctly back into the Model.</p>
<p>Although the M-V-VM pattern probably suits WPF better than any other language &#8211; and having some code between the XAML View and the Model seems like a good idea &#8211; it’s good to see Microsoft promoting test friendly features for enterprise apps, especially when you consider the difficulties in MVC testing in alternative RIAs.</p>
<h4>Batch trading</h4>
<p>Often deal capture involves assigning pre-trading allocations and importing baskets and lists from external applications such as Excel. Often clients or sales traders open a spreadsheet, tweak the sizes, allocations or portfolio constituents, and then paste the batch directly into the deal capture UI. Silverlight 4 now includes true multi-platform clipboard support, replacing Silverlight 3’s IE-only approach that didn’t work OOB. Developers can customise how Silverlight parses and copies to the clipboard content using the <code>GetText()</code> and <code>SetText()</code> methods. If running Silverlight within a browser, a new prompt warns the user the first time the clipboard is read or set. In Silverlight 4 beta it is not possible for the user to disable these prompts for more than a single session.</p>
<h4>Field formatting</h4>
<p>Formatting RFQ trade ticket fields such as prices, sizes and settlement dates in real-time is an everyday requirement. Silverlight 4 adds the ability to specify standard or custom string formatting via XAML. Consider a trade ticket displaying the settlement date:</p>
<p><code>&lt;TextBox Text=”{Binding Path=SettlementDate, Mode=TwoWay, StringFormat=’MM-dd-yyyy’}”/&gt;<br />
</code></p>
<p>Defining the formatting rule within the XAML view removes Silverlight 3’s dependency on boilerplate <code>IValueConverter</code> interface implementations.</p>
<h4>Input validation</h4>
<p>Validation of user submitted data is another key requirement, and this too is facilitated using the M-V-VM pattern without writing anything into the code-behind. Two interfaces, ‘<code>INotifyDataErrorInfo</code>’ and ‘<code>IDataErrorInfo</code>’ expose validation results into the user interface for both server-side [asynchronous] and custom client-side validation logic.</p>
<p><code>&lt;TextBox Text="{Binding SettlementDate, Mode=TwoWay, NotifyOnValidationError=True}" ... /&gt;<br />
</code></p>
<p>Here the View Model receives client settlement date instructions and can validate them against an internal or external calendar model. On validation failure, the UI is updated with a list of errors.</p>
<h2>Post-Trade</h2>
<h4>Straight Through Processing (STP)</h4>
<p>In order to achieve Straight Through Processing, end-to-end automation is required from all processes in the trading cycle between the buy- and sell-side institutions. Automated deal capture, order entry in the buy-side Order Management System (OMS), and settlement and reporting integration systems eliminates human error and speeds up the clearing and settling process. A very important but little emphasised change in Silverlight 4, is the addition of the WCF net.tcp protocol. The addition markedly boosts the client-side integration potential within the buy-side, allowing the client to establish duplex asynchronous TCP/IP communication with a local server.</p>
<p>Across RIA technologies, HTTP communication with the buy-side OMS is hampered by cross-domain policy issues and the necessity for a web facing application server stack. TCP communication offers superior throughput and no web infrastructure is required.</p>
<p><a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3RvbWFzei5qYW5jenVrLm9yZy8yMDA5LzExL3djZi1uZXR0Y3AtcHJvdG9jb2wtaW4tc2lsdmVybGlnaHQtNC5odG1s"><img class="alignnone size-full wp-image-2039" src="http://blog.caplin.com/wp-content/uploads/NetTcpAndHttpPollingDuplexThroughput13.png" alt="" width="559" height="318" /></a></p>
<p><a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3RvbWFzei5qYW5jenVrLm9yZy8yMDA5LzExL3djZi1uZXR0Y3AtcHJvdG9jb2wtaW4tc2lsdmVybGlnaHQtNC5odG1s">Source:<em>“WCF net.tcp protocol in Silverlight 4&#8243; &#8211; Tomek on Software.</em></a></p>
<p>The potential for TCP communication of settlement and clearing information with buy-side internal systems is promising, yet again subject to rather crippling restrictions. Most ports such as (443 or 80) are blocked unless the application is signed, so clients may need to open firewall ports for the 4502-4534 range. It’s also not possible to write a FIX implementation (e.g. OpenFix .Net) directly into your Silverlight app, as Microsoft (being Microsoft) has bound all traffic to the WCF protocol and the Microsoft WCF server-stack (e.g. IIS). Another obvious omission is the lack of transport security (e.g. SSL), which is a big deal even just for internal traffic.</p>
<p>Further pre- and post-trade integration capabilities are provided by Silverlight 4’s newfound access to native Component Object Model (COM) components through COM Automation classes. This means Silverlight 4 OOB applications can interoperate with local Microsoft Office application instances in the same way as Visual Basic for Applications. Examples of use include integration of Spreadsheet pricing structures with the deal capture system, feeding spreadsheet pricing models with real-time data, illustrating payment schedules using Excel graphs and spreadsheets, exporting historical trade blotters into Excel, or auto-generating emails in Outlook. Automation also provides speech support to business applications should it be required for accessibility.</p>
<h4>Trade Confirmation Printing</h4>
<p>For single-dealer platforms where STP is employed, buy-side clients often require hard copies of trade confirmation. Silverlight hasn’t previously included printing support, and Silverlight 4 duly adds printing capabilities for XAML trees (either the full UI view or specific controls). The Silverlight implementation is rather rudimentary, sending the printer a single paged-sized bitmap. This approach incurs rather high memory usage and slow printing. Flex is still ahead of the game here with better quality vector printing, together with the ability to override the default printing behaviour of individual UI components.</p>
<h2>Building Applications with Silverlight 4</h2>
<p>Brushing all functional requirements to one side, banks need to build Single Dealer Platforms cheaply and fast. The ability of a development team to consistently deliver good quality business logic is the game played out across platforms like Barx and REDIPlus, and competition is stiff.</p>
<h4>Skills</h4>
<p>Leveraging existing skills to deliver Single Dealer Platforms means less training, hiring of RIA experts, ramp up periods and better quality releases at project inception. But Silverlight can’t tick this box just by sharing C# with the rest of .Net; alignment between WPF and Silverlight is paramount for Silverlight to be accessible to accessible to an average .Net / WPF developer. In the past it seems Microsoft has tried to deliberately diverge WPF (or ‘XBAP’ which is WPF running in a browser) and Silverlight. Some Silverlight 3 features, such as Deep Zoom, are not in WPF, and the XAML syntax differs between the two platforms.</p>
<p>Silverlight 4 begins to makes some small but important changes in the right direction. Enhancements such as DependencyObject binding and WPF XAML syntax convergence helps bridge the gap:</p>
<p><code>&lt;Button Content="Launch RFQ"/&gt;</code><br />
<em>Silverlight (all versions)</em></p>
<p><code>&lt;Button&gt;Launch RFQ&lt;/Button&gt;.</code><br />
<em>WPF &amp; Silverlight 4</em></p>
<p>As a distinct subset of WPF, Silverlight will never offer the capabilities of its parent, but it always leaves you wanting more. For example, imagine a client visualisation component representing an orderbook; a WPF solution might employ the SortedDictionary Class to sort depth rows by price. Silverlight however omits this class, forcing you to writing your own efficient implementation which is time intensive and bloats the XAP.</p>
<p>Such analysis is perhaps fastidious; given the availability of skills in ActionScript, Silverlight offers a distinct advantage over other RIA technologies.</p>
<h4>Development environment</h4>
<p>A good IDE assists UI implementation, runs pre-compile checks, links to documentation and examples, profiles, debugs, and helps test the client application. In the past Single Dealer Platform development has had mixed results with WYSIWYG HTML editors or tools like Adobe FlexBuilder – most machine generated code suffers from poor readability, performance or flexibility. Silverlight 4 is paired with Visual Studio 2010, older versions of which are generally received as the best IDE for RIA development.</p>
<p>Visual Studio 2010 includes a major reworking for Silverlight – the design surface is fully interactive, allowing controls to be dragged and dropped into place. The properties window configures controls without you touching the XAML or writing code. Importantly, XAML generated by the design surface is readable and flexible &#8211; controls are easily manipulated by editing the composite controls, and control templates are easily created out of other controls. The generated XAML lends itself to the M-V-VM architecture, and Data Binding between a XAML View and your ViewModel can be completed automatically using the Data Source Configuration wizard or drag-and-drop data binding.</p>
<p>The upgrade sees a good deal of enhancements to the XAML parser – XAML mistakes are more often detected pre-compile rather than run-time, and complete Intellisense is now provided making it faster to lookup UI control properties and classes (although this was a little slow in VS2010 beta).</p>
<p>The debugging capabilities of Visual Studio have long been class leading, but they have improved with the upgrade – debugging of Silverlight applications’ worker threads is simpler and easier, and Microsoft have added a historical debugger called ‘Intellitrace’. Profiling support is enhanced but was not assessed at the time of writing.</p>
<h4>Developing large Enterprise Applications</h4>
<p>Considerable effort is expended in designing Single Dealer Platforms in a modular manner. Modular development allows better collaboration of multiple development groups and helps reduce the scope of end-to-end testing.  If the client application is designed with a ‘plug-in’ architecture, modules can be downloaded on demand. Typical business use cases involve functionality packs such as ‘Fixed Income trading’ or ‘Foreign Exchange Options’ built on top of the underlying client framework.</p>
<p>A major addition in Silverlight 4 is the Managed Extensibility Framework (MEF). Instead of building your own dynamic classloader, and framework for building and testing modules separately, Silverlight 4 solves the problem out-of-the-box. Your Silverlight application does not need any plumbing code; to design a pluggable widget you simply declare what attributes each class imports or exports. Using MEF, you can split a monolithic XAP into multiple XAPs that reduce the general startup time of the application, allowing on demand loading only when a MEF package is required. An added benefit is that third-parties can take your MEF packages and extend them themselves.</p>
<h4>Deployment</h4>
<p>Most Single Dealer Portals now need to target IE6, IE7 and Firefox, and some less regulated end-users are using IE8, Safari or Chrome. Having to target multiple platforms reduces the ability to roll out new features to your client base and platform-specific testing adds a test burden.</p>
<p>Silverlight 4 provides support for IE, Firefox, Safari, Chrome and out-of-browser instances. At present there are few identified platform-specific issues with Silverlight 4. The most significant differences occur with Mac drag-and-drop file handling (e.g. when dragging a Mac desktop icon onto the Silverlight window).</p>
<p>Client onboarding of out-of-browser applications is aided by the Silverlight 4 silent installation tool, and installation of the Silverlight plugin can be invoked by group policy administration or by Windows update. The process of deploying or running a signed Silverlight application running with elevated trust is similar to running a standard application, with no client-side certificate required. Note that AJAX will always offer a distinct advantage with its zero-footprint deployment model; proliferation of the Silverlight plug-in is often cited as an impediment to client onboarding, and the recent succession of Silverlight runtime releases will not help.</p>
<p>Internationalisation is a key requirement for single-dealer platforms owned by the tier 1 banks and Silverlight 4 adds support for right-to-left languages such as Arabic and Hebrew. Other languages such as Bengali, Tamil and Devanagari are now officially supported.</p>
<p>Finally, deployment of Single Dealer Portals onto Smartphones such as the iPhone, Android and Blackberry often arise as business requirements.  Silverlight is now the application development platform for the Windows Phone 7 series, which means no code changes need to be made to get your Silverlight application working on a Windows Phone. Silverlight will power built-in and custom applications, and Visual Studio 2010 now includes an excellent phone development environment, complete with a Windows Phone emulator. Again the new design surface allows you to drag-and-drop controls onto the phone, resizing them and rapidly design compelling UIs.</p>
<p><a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL2V4cHJlc3Mvcy9pbWcvVlNQX0hlbGxvV29ybGQucG5n"><img class="alignnone size-full wp-image-2045" src="http://blog.caplin.com/wp-content/uploads/VSP_HelloWorld.png" alt="" width="500" height="400" /></a><br />
<a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL2V4cHJlc3MvcGhvbmUv"><em>Windows Phone running Silverlight within Visual Studio 2010</em></a></p>
<h4>The Crunch</h4>
<p>Microsoft has delivered a surprisingly complete release, adding some new out-of-browser functionality and filling the gaps in Silverlight 3. Enhancements seem focused at the business application developer, and features like the Managed Extensibility Framework are rather nice for the capital markets. Visual Studio 2010 makes it easier than ever to design a compelling client offering; it even builds things for phones that haven’t been invented yet.</p>
 <img src="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=2028" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.caplin.com/2010/04/19/silverlight-4-is-it-what-banks-want/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Duncan: On The Impossible Bloomberg Makeover</title>
		<link>http://blog.caplin.com/2010/04/07/duncan-on-the-impossible-bloomberg-makeover/</link>
		<comments>http://blog.caplin.com/2010/04/07/duncan-on-the-impossible-bloomberg-makeover/#comments</comments>
		<pubDate>Wed, 07 Apr 2010 13:02:46 +0000</pubDate>
		<dc:creator>Duncan</dc:creator>
				<category><![CDATA[UX]]></category>
		<category><![CDATA[Financial Ajax]]></category>
		<category><![CDATA[financial trading]]></category>
		<category><![CDATA[Investment Banking]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[User Experience]]></category>

		<guid isPermaLink="false">http://blog.caplin.com/?p=1900</guid>
		<description><![CDATA[Check out this great article from Dominique Leca over at UX Magazine: The Impossible Bloomberg Makeover It includes some concepts from IDEO who submitted a redesign proposal back in 2007&#8230; The comments are also interesting and focus on the fact that to an outsider Bloomberg might &#8216;look&#8217; ugly, but to the actual &#8216;Bloomberg...]]></description>
			<content:encoded><![CDATA[<p>Check out this great article from <span><a  0="title="View" 1="author" 2="profile"" href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3V4bWFnLmNvbS9hdXRob3JzL2RvbWluaXF1ZS1sZWNh">Dominique Leca</a> over at UX Magazine:<a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3V4bWFnLmNvbS9kZXNpZ24vdGhlLWltcG9zc2libGUtYmxvb21iZXJnLW1ha2VvdmVy"> The Impossible Bloomberg Makeover</a></span></p>
<p><span><a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3V4bWFnLmNvbS9kZXNpZ24vdGhlLWltcG9zc2libGUtYmxvb21iZXJnLW1ha2VvdmVy"></a><img src="http://uxmag.com/uploads/bloomberg/bloomberg-terminal.jpg" alt="" width="475" height="267" /></span></p>
<p>It includes some concepts from <span><a href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5pZGVvLmNvbS8=" target=\"_blank\">IDEO</a> who submitted a <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5pZGVvLmNvbS93b3JrL2l0ZW0vYmxvb21iZXJnLXRlcm1pbmFsLWNvbmNlcHQv" 0="target="_blank"">redesign proposal</a> back in 2007&#8230;</span></p>
<p><span><img src="http://uxmag.com/uploads/bloomberg/bloombergideobig1.png" alt="" /></span></p>
<p><span>The comments are also interesting and focus on the fact that to an outsider Bloomberg might &#8216;look&#8217; ugly, but to the actual &#8216;Bloomberg Users&#8217; who are focussed on the &#8216;data and information patterns on screen&#8217; they almost don&#8217;t even </span><em>see </em><span>the GUI.</span></p>
<p><span id="more-1900"></span></p>
<blockquote><p><span><span>&#8220;I have heard from traders that they don&#8217;t focus on the screens, but look for patterns within the movement and colours which then draws them to drill into specific stock. Having to relearn a system to discover the new patterns may be prohibitive for some.&#8221;<br />
<strong>Alex Lee</strong> </span></span></p></blockquote>
<p><span>This is interesting from a number of angles, as I think good UI design becomes transparent to users when it doesn&#8217;t interrupt their &#8216;flow state&#8217; (this is also how I feel about really good typography&#8230; you shouldn&#8217;t really be aware of it, as you are focussed on the reading).</span></p>
<p><span>Comments around it being an expert/elite system are also valid&#8230; I have spoken to a lot of people who can&#8217;t get to grips with Adobe Photoshop and find it too &#8216;expert&#8217;. This makes the effort involved in learning the software worthwhile as expert knowledge of it becomes part of your skillset – this is true for any complex system. Most 3D software falls in this &#8216;expert/elite&#8217; system group as it takes months if not years to learn the UI to a level where you can usefully implement the tool and focus on the &#8216;flow of creating&#8217; rather than &#8216;how to use the UI&#8217;.</span></p>
<blockquote><p><span> </span></p>
<p>&#8220;It is a goal-oriented design. Clearly it is not a human centered one.<br />
Just like a violin. You have to spend some time <em>(ed:before)</em> playing a tune.<br />
So actually, it&#8217;s not bad at all.&#8221;</p>
<p>&#8220;But I expect to see a disruptive financial information service which can defeat Bloomberg terminal soon. As you can see, there are many thing<em>(s)</em> you can do much better.&#8221;<br />
<strong>Alf</strong></p></blockquote>
<p><span>I like the comparison of learning an expert UI to learning an instrument &#8211; true we should always endeavour for a user-friendly design but exposing the complexities of an expert system (for use by experts) based around &#8216;Goal-Orientated&#8217; and &#8216;Usage-Centred Design&#8217;, beauty may well be in the eye or the beholder:</span></p>
<p><span><br />
<a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2NvbW1vbnMud2lraW1lZGlhLm9yZy93aWtpL0ZpbGU6QmliZXJfbXlzdGVyaWVuLmpwZw=="><img class="alignnone" style="border: 0px initial initial;" src="http://upload.wikimedia.org/wikipedia/commons/4/43/Biber_mysterien.jpg" alt="violin and Music" width="456" height="420" /></a><br />
</span></p>
<p>Would you be able to pick up the violin and start playing the music in the picture?</p>
<p><span><br />
<a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9GaWxlOkFpcmJ1c19BMzgwX2NvY2twaXQuanBn"><img style="border: 0px initial initial;" src="http://upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Airbus_A380_cockpit.jpg/800px-Airbus_A380_cockpit.jpg" alt="Airbus A380 cockpit" width="480" height="320" /></a><br />
</span></p>
<p>Could you fly this plane without years of training?</p>
<p>An expert system is no excuse for a bad user experience &#8211; but designed around the needs of experts:</p>
<ul>
<li> speed of execution</li>
<li>value focussed on data</li>
<li>minimal interruption of flow</li>
<li>tools to hand when needed &#8230;etc.</li>
</ul>
<p>&#8230;.may make these expert systems more opaque to the novice or someone outside the domain.</p>
<p>The criticisms of the Bloomberg screens coming from some of the UX people&#8217;s comments on this article are naive. The target users of Bloomberg are not UX designers. Before dismissing anything you have to immerse yourself in the domain and understand the needs of the experts and usage patterns within the domain &#8211; otherwise it&#8217;s just a cosmetic debate.</p>
<p>In terms of cosmetics the Bloomberg screens are iconic.  They are immediately identifiable as &#8216;Bloomberg&#8217; &#8211; you can spot a Bloomberg screen across a trading floor because it just &#8216;looks like Bloomberg&#8217;.</p>
<p>Aesthetics? Typography?</p>
<p>Well yes. There may well be areas for improvement but the IDEO concepts &#8211; for me &#8211; lose the &#8216;Bloombergness&#8217; of the existing screens and you&#8217;re not meeting the usage needs of your users. Like Bloomberg, we have also had to take these considerations on board when designing the Caplin Trader UX.</p>
<p>So&#8230; I agree totally: Let&#8217;s shake things up a bit and &#8220;Bring on the disruptive financial information service!&#8221;</p>
<p>But&#8230;therein lies the challenge.  Any UX for a financial trading application has to innovate whilst also meeting the usage needs (and learned experience) of the (expert users) &#8211; traders.</p>
<p><span><br />
</span></p>
<p><span><br />
</span></p>
 <img src="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1900" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.caplin.com/2010/04/07/duncan-on-the-impossible-bloomberg-makeover/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Streamlink for Silverlight for Mobile</title>
		<link>http://blog.caplin.com/2009/08/04/streamlink-for-silverlight-for-mobile/</link>
		<comments>http://blog.caplin.com/2009/08/04/streamlink-for-silverlight-for-mobile/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 16:10:16 +0000</pubDate>
		<dc:creator>Phil Leggetter</dc:creator>
				<category><![CDATA[Mobile]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[Comet]]></category>
		<category><![CDATA[Financial Ajax]]></category>
		<category><![CDATA[Real-time web]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[StreamLink]]></category>
		<category><![CDATA[UX]]></category>
		<category><![CDATA[Windows Mobile]]></category>

		<guid isPermaLink="false">http://blog.caplin.com/?p=331</guid>
		<description><![CDATA[With the recent release of Caplin&#8217;s Streamlink for Silverlight it&#8217;s exciting to find out that Microsoft plan to release a Silverlight for Mobile devices. The goal of Silverlight is to provide a consistent experience across desktop and mobile phones. Developers will be able to easily optimize Silverlight applications for mobile...]]></description>
			<content:encoded><![CDATA[<p>With the recent release of Caplin&#8217;s Streamlink for Silverlight it&#8217;s exciting to find out that Microsoft plan to release a <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3NpbHZlcmxpZ2h0Lm5ldC9sZWFybi9tb2JpbGUuYXNweA==">Silverlight for Mobile devices</a>.</p>
<blockquote cite="http://silverlight.net/learn/mobile.aspx"><p>The goal of Silverlight is to provide a consistent experience across desktop and mobile phones. Developers will be able to easily optimize Silverlight applications for mobile form factors or run existing Silverlight applications on mobile phones.</p></blockquote>
<p>The great thing about this release is that any existing Silverlight applications should work on any mobile device with Silverlight installed. The question about this is that if you design a user interface for a desktop browser how will it fit on a windows mobile browser? Well, Microsoft plan to give developers the ability to &#8220;optimize Silverlight applications for mobile form factors&#8221; which sounds like they will give us a way of dealing with the obvious UI differences between desktop and mobile platforms, as well as the underlying runtime issues.</p>
<p>We&#8217;ve already blogged about what impact <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuY2FwbGluLmNvbS8yMDA5LzA2LzA5L3NpbHZlcmxpZ2h0LWZvci1zaW5nbGUtZGVhbGVyLXBvcnRhbHMv">Silverlight may have on single dealer portals</a>. I&#8217;m really excited to see what developers can do using StreamLink for Silverlight to enable the <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuY2FwbGluLmNvbS8yMDA5LzA0LzIwL3doYXQtaXMtdGhlLXJlYWwtdGltZS13ZWIv">real-time web</a> on a windows mobile device. What opportunities might Streamlink for Silverlight Mobile enable?</p>
<div class="wp-caption alignnone" style="width: 290px"><img title="Microsoft Silverlight" src="http://i16.photobucket.com/albums/b12/al_oasis1/microsoft_silverlight.jpg" alt="Silverlight for Mobile" width="280" height="312" /><p class="wp-caption-text">Silverlight for Mobile</p></div>
<p>Read the <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3NpbHZlcmxpZ2h0Lm5ldC9sZWFybi9tb2JpbGUuYXNweA==">Silverlight for Mobile FAQ</a> for more information.</p>
 <img src="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=331" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.caplin.com/2009/08/04/streamlink-for-silverlight-for-mobile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Silverlight for single dealer portals?</title>
		<link>http://blog.caplin.com/2009/06/09/silverlight-for-single-dealer-portals/</link>
		<comments>http://blog.caplin.com/2009/06/09/silverlight-for-single-dealer-portals/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 10:35:13 +0000</pubDate>
		<dc:creator>Patrick Myles</dc:creator>
				<category><![CDATA[Trading Technology]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[Ajax Testing]]></category>
		<category><![CDATA[Financial Ajax]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Real-time web]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://blog.caplin.com/?p=243</guid>
		<description><![CDATA[Could it be that the time for Silverlight in finance has come? Does Adobe Flex solve any of the complexities of building web applications? Where does Caplin Trader fit in to this landscape? These are all questions that I am hearing (and asking) increasingly at the moment &#8211; so here&#8217;s...]]></description>
			<content:encoded><![CDATA[<p>Could it be that the time for Silverlight in finance has come? Does <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5hZG9iZS5jb20vcHJvZHVjdHMvZmxleC8=">Adobe Flex</a> solve any of the complexities of building web applications? Where does <a  0="title="Caplin" 1="Trader"" href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5jYXBsaW4uY29tL2NhcGxpbnRyYWRlci8=">Caplin Trader</a> fit in to this landscape? These are all questions that I am hearing (and asking) increasingly at the moment &#8211; so here&#8217;s how I see it&#8230;</p>
<p><img class="alignright" title="Silverlight" src="http://i16.photobucket.com/albums/b12/al_oasis1/microsoft_silverlight.jpg" alt="" width="280" height="312" /></p>
<p>There has been a big push from Adobe towards using Flex (and to a lesser extent<a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5hZG9iZS5jb20vcHJvZHVjdHMvbGl2ZWN5Y2xlL2RhdGFzZXJ2aWNlcy8=" 0="target="_blank""> LiveCycle Data Services</a> &#8211; their messaging product) for trading portals and you can certainly build a flashy offering, as can be seen in the recent launch of Morgan Stanley&#8217;s <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5tb3JnYW5zdGFubGV5LmNvbS9tYXRyaXhpbmZvLw==">Matrix</a>.</p>
<p>But questions still remain over the ease of development and deployment of such a large-scale enterprise application, and though the Flex Builder seems to make this easier, digging beneath the surface can make for a frustrating experience, as <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2NvZGVydHJvbi5ibG9nc3BvdC5jb20vMjAwOS8wNS9mbGV4LTMtdmVyc3VzLXNpbHZlcmxpZ2h0LTMtaW4uaHRtbA==">Alex Vandeberg&#8217;s excellent analysis</a> recently described.</p>
<p>Could Silverlight be an answer to this?</p>
<p><span id="more-243"></span></p>
<p><a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5jYXBsaW4uY29tL2NhcGxpbnRyYWRlcg==">Caplin Trader</a> is Caplin&#8217;s toolkit and platform for building trading portals, in production at a number of banks. The client-side framework is built in Ajax (the browser&#8217;s native presentation technology), though we allow and encourage the embedding of content in any RIA techology &#8211; be that HTML, Ajax, Flash/Flex, Silverlight (and even Java Applets if you are still that way inclined!). I believe that this approach encourages building a best-of-breed portal: You use Caplin&#8217;s APIs and the browser&#8217;s native language for the container and most pricing and trading components, but where appropriate (for example rich media, 3D, vector graphics) you have the freedom to seamlessly embed a more suitable technology such as Flex or Silverlight. In addition you can leverage existing web content with minimal effort. The alternative approach of using one of these proprietary plugins for the container makes it very hard to embed anything else within the container.</p>
<p>Caplin Trader is built on top of the <a  0="title="Caplin" 1="Platform"" href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5jYXBsaW4uY29tL2NhcGxpbnBsYXRmb3Jt" 2="target="_blank"">Caplin Platform</a> &#8211; a generic financial client-connectivity, web messaging and trading layer. Caplin have always provided client APIs for a variety of languages (Java, .Net, Ajax, C++ currently) to allow people to either integrate with existing applications or build their own from scratch (usually where Caplin Trader isn&#8217;t suitable or desired).</p>
<p>What is interesting is the growing demand for <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3NpbHZlcmxpZ2h0Lm5ldC8=" 0="target="_blank"">Silverlight</a> as a client-side target for Caplin&#8217;s technology. I know of at least 3 large investment banks that are kicking off projects targetted at Silverlight. Whilst not yet cross-asset single dealer portals on the same scale as Matrix (or most of the Caplin Trader projects), it&#8217;s interesting that they&#8217;ve bitten the bullet despite lingering doubts over adoption rates and install base (&lt;30% as of today at <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5yaWFzdGF0cy5jb20vIw==" 0="target="_blank"">riastats.com</a>), though Microsoft would like you to think <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2dzLm1zZG4uY29tL21pa2Vvcm1vbmQvYXJjaGl2ZS8yMDA5LzAyLzI3L3NpbHZlcmxpZ2h0LWFkb3B0aW9uLWEtZmV3LW51bWJlcnMuYXNweA==" 0="target="_blank"">otherwise</a>!</p>
<p>If it can gain momentum, Silverlight will quickly eclipse (no pun intended) Flex as a developers&#8217; platform of choice, at least in terms of true software engineering tools and developer productivity. Whilst we&#8217;ve done a lot of work to build developer tools and structure our APIs to &#8216;tame&#8217; Ajax and JavaScript, neither Ajax or Flex/ActionScript will catch up with C# any time soon when it comes to more advanced activities such as IDEs with truly integrated build/test/debug/profile tools and refactoring, not to mention the number of existing C# developers that could transition to Silverlight easily.</p>
<p>You can already use the Caplin Platform and Caplin Trader with Silverlight by creating a bridge to our JavaScript <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5mcmVlbGliZXJhdG9yLmNvbS9kb2N1bWVudGF0aW9uL3NsNGIvaW50cm9kdWN0aW9uLmh0bWw=" 0="target="_blank"">StreamLink for Browsers</a> library. We&#8217;ve recently built a prototype native Silverlight library, with an identical API to our existing C#/.Net offering, and we expect to be able to release a full version in July. On top of our Caplin Trader subsystems this could be used as a powerful front-end for those who choose to build single dealer portals with it and it will certainly be interesting to see who jumps first&#8230;</p>
 <img src="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=243" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.caplin.com/2009/06/09/silverlight-for-single-dealer-portals/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Welcome to the Caplin Systems Tech Blog</title>
		<link>http://blog.caplin.com/2009/03/02/welcome-to-the-caplin-systems-technology-blog/</link>
		<comments>http://blog.caplin.com/2009/03/02/welcome-to-the-caplin-systems-technology-blog/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 08:30:06 +0000</pubDate>
		<dc:creator>Phil Leggetter</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Comet]]></category>
		<category><![CDATA[Financial Ajax]]></category>
		<category><![CDATA[Real-time web]]></category>
		<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://blog.caplin.com/?p=69</guid>
		<description><![CDATA[Caplin Systems has been building pioneering real-time web technology for financial markets since 2000. During this time we&#8217;ve come up with a lot of very clever solutions to very difficult problems across a broad range of technologies and problem domains. The purpose of this blog is to give our team...]]></description>
			<content:encoded><![CDATA[<p><a  0="title="Caplin" 1="Systems"" href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5jYXBsaW4uY29t">Caplin Systems</a> has been building pioneering <em>real-time web</em> technology for financial markets since 2000. During this time we&#8217;ve come up with a lot of very clever solutions to very difficult problems across a broad range of technologies and problem domains. The purpose of this blog is to give our team an opportunity to share, gather and discuss problems, solutions and best practices with a wider community.</p>
<p>Since this is a technology blog expect the blog entries to be of a techie nature with a heavy focus on web technologies and particularly <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuY2FwbGluLmNvbS9jYXRlZ29yeS9maW5hbmNpYWwtYWpheC8=">financial ajax</a>. A lot of what we do at Caplin -  in particular <a  0="title="Caplin" 1="Trader"" href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5jYXBsaW4uY29tL2NhcGxpbnRyYWRlcg==">Caplin Trader</a>, our platform for building multi-product financial trading portals -  is related to <a  0="title="Financial" 1="Ajax"" href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuY2FwbGluLmNvbS9jYXRlZ29yeS9maW5hbmNpYWwtYWpheC8=">financial ajax</a>, so expect this category to be quite busy. There will also be plenty of topics on general <a  0="title="Software" 1="Engineering"" href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuY2FwbGluLmNvbS9jYXRlZ29yeS9zb2Z0d2FyZS1lbmdpbmVlcmluZy8=">software engineering</a>, <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuY2FwbGluLmNvbS9jYXRlZ29yeS9jb21ldC8=">comet</a>, software craftsmanship, design patterns, Java, C, etc.</p>
<p>At Caplin we use a variety <a  0="title="Agile"" href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuY2FwbGluLmNvbS9jYXRlZ29yeS9hZ2lsZS8=">agile methodologies</a> to build our products and help us ensure that projects with our clients can meet their needs by delivering value quickly and allowing regular opportunities for change. So expect to see posts on our practices and processes, automated testing frameworks, and the like.</p>
<p>Posts will be from all of Caplin&#8217;s employees with roles including development, testing, business analysis, project management and consultancy. Please give us feedback and comments on this blog so that we can tweak it and tune it to make it an even more useful resource for us and the community.</p>
<p>Happy reading!</p>
<p><a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3RlY2hub3JhdGkuY29tL2ZhdmVzP3N1Yj1hZGRmYXZidG4mYW1wO2FkZD1odHRwOi8vYmxvZy5jYXBsaW4uY29t"><img src="http://static.technorati.com/pix/fave/tech-fav-1.png" alt="Add to Technorati Favorites" /></a><br />
<a  0="rel="me"" href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3RlY2hub3JhdGkuY29tL2NsYWltL3UyYTk1aW50dXE=">Technorati Profile</a></p>
 <img src="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=69" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.caplin.com/2009/03/02/welcome-to-the-caplin-systems-technology-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

