Advanced Visualization

Prism 2.0 to support Silverlight

August 31st, 2008 / Tales from a Trading Desk

Finally it sounds like somebody at Microsoft has seen the light, with Prism 2.0 offering Silverlight support. More interesting is the hint that binary compatability between WPF and Silverlight is on the cards -madness if this doesn’t happen. “We’d like to get to the point where views, styles and themes can all be re-used across WPF and Silverlight” - so would we all! “Code that is shared is linked between two projects so that it is automatically compiled into each target” ( Painful!

Silverlight Spy

Silverlight 2.0 RTM? Silverlight vNext

August 28th, 2008 / Tales from a Trading Desk

By my reckoning we are due for Silverlight 2.0 RTM sometime shortly given that beta 2 was released in June. Having played with beta 2 I still think Microsoft has some way to go to catch Adobe. Specifically I think they need to consider the following for vNext:

  • More controls - at a mininum the equivalent controls that are available in Flex 3 e.g accordian
  • Full commanding support
  • Better parity with WPF
    • Triggers
    • Richer data-binding
    • 3D support
    • Bitmap Effects
    • FlowDocument
    • Better rendering control (e.g. WPF SnapsToDevicePixel)
  • A sensible push service in IIS, not this silly polling implementation! Think Lightstream, Liberator…..
  • DataGrid and LINQ select anonymous types in your queries support

Interesting Silverlight reading:

Off-topic stuff:

FlexUnit, Silverlight and other Random Thoughts

August 26th, 2008 / Tales from a Trading Desk

  • FlexUnit is now out in Open Source land. Hopefully Adobe can begin to provide more enterprise development tools. The one downside of FlexUnit is that there appears to be no console mode, which is unfortunate is your running on an enterprise build plant (
  • No surprises in this list of Silverlight RIA applications. It’s unfortunate that the RIA I was instrumental in building last year isn’t in this list (
  • Oslo insights
  • Looks like Steve had to pull the BWM surface video :(, but at least there are a number of other Vectorform Surface video’s still online - Mercedes-Benz etc
  • REST with WCF - way to much REST in my life these days
  • C++0x: Interview with Bjarne Stroustrup
  • With Amazon continuing to add to the cloud, one has to ask if Oslo will provide the Microsoft Cloud?
  • NVISION 2008 has some impressive video’s. CPU’s continue to play to “financial market analyses”
  • Are Panamaps (A Multi-Layered Map) useful in finance?
  • Moth on Make Object ID
  • As blogged elsewhere, Photosynth is Released.
  • Kind of cool to see that Linden is rolling out Mono servers
  • Google mojo?

GaaS: OTOY

August 19th, 2008 / Tales from a Trading Desk

3D rendering in the cloud. City Space is very cool. OTOY + iPhone + real time fiancial data = …

Catching up after vacation

August 19th, 2008 / Tales from a Trading Desk

Returning from vacation is hard - the context switch back to work mode is relatively easy, what I find hard is the early morning starts (5am). There is also the 1000’s of work emails to catch up on coupled with Google Reader items.

  • While I’ve been out the office it appears the Windows 7 blog has come alive. The latest posting on feature teams is worth a read if your into knowing how the Microsoft machine works.
  • HSBC appears to be considering moving from Blackberry to iPhone, not surprising given that everyone appears to want an iPhone these days.
  • David Chappell has written a cloud white paper which is probably worth a ready - although this article is actually more interesting as it references Red Dog and Zurich.
  • With the Olympics in full swing there’s a number of posting around NBC’s Silverlight site: here, here and here.
  • August 2008 MSDN Magazine has a number of interesting articles:
  • Learning Parallel Programming.
  • CUDA U
  • NVIDIA Shows Interactive Ray Tracing on GPUs - real-time ray tracing with adequate performance for fluid motion is the future.
  • Still no sign of a killer financial Microsoft Surface application (
  • .NET Framework 3.5 SP1 got released. Unfortunately the WPF DataGrid didn’t make it into the release, but at least it made it to codeplex. If your moving into WPF, you might find this book interesting.
  • Visual Studio IronPython Integration Deep Dive
  • Glenn Block on Prism, Unity, and MEF
  • Coding the Market thinks Caplin in the answer to SDP. Maybe Mostly should consider Caplin for an OMS?
  • Sounds like Microsoft needs to add a lot more servers to its cloud.
  • New Gigaspaces MonteCarlo application.

Prototyping desktop controls that use the Visual State Manager

August 8th, 2008 / Development in a Blink

John Gossman blogs on the VisualStateManager for desktop WPF which was delivered initially in Silverlight.

DDJ: One Perspective on Silverlight

August 4th, 2008 / Tales from a Trading Desk

Written sometime ago, but only recently published.

Lab49Capital: iPhone Application for Hedge Funds

August 4th, 2008 / newyorkscot

Lab49 has just announced this very cool iPhone / iPod Touch application for the buy-side. The application, called “Lab49 Capital”, is an example of real-time portfolio management solutions we are building for clients. As you will see in the screenshots and screencast on the Lab49 website, it provides real-time alerts, P&L and position updates for a portfolio and allows the user to drill into the portfolio across multiple dimensions such as industry, country, manager and strategy. Using the iPhone’s fantastic graphics capabilities, the application also has some very clever user interface considerations, packing in a lot of information into each of the screens.

Oslo Language, Midori and More

August 3rd, 2008 / Tales from a Trading Desk

  • “Oslo” language is one of the many PDC sessions that will be worth watching.
  • Geva has a curious posting on GigaSpaces and the Economics of Cloud Computing
  • NetMap - a set of .NET Framework 2.0 class libraries that can be used to add network graphs to custom applications.
  • F# CTP
  • More details on Midori (”asynchronous-only architecture that is built for task concurrency and parallel use of local and distributed resources, with a distributed component-based and data-driven application model, and dynamic management of power and other resources”). Midori sounds promising assuming this article is true, and assuming (big) that Microsoft can deliver this side of 2015.
  • This article appears to concur with my that Windows compatability is a real issue, and needs to be broken in the future. “astonishingly ambitious undertaking” is an under statements, especially given the history of what Microsoft has been able to release. Lets hope Midori does materialise sometime soon.
  • WCF Visualizers Tool
  • Bad Locking Patterns - I’m still amazed at the number of people that still use lock(this)

Running WPF Application with Multiple UI Threads

July 29th, 2008
Introduction

It’s a good, time-proven practice to perform long, CPU intensive tasks on some sort of a background thread to improve your UI thread responsiveness. Sometimes though UI-related tasks themselves can be quite expensive. WPF, for examples, forces you to do all UI work on the thread that created the UI. A very flexible WPF measure/layout paradigm for UI rendering also comes with high CPU usage cost. In a very UI intensive application (for example, trading app with about ten windows showing real-time montage and blotter data) simply the cost of generating and laying out visuals can become too high for a single thread to keep up. When your UI thread saturates individual windows may start skip rendering cycles, become slow to response to user input, or even freeze. If your UI thread approaches this kind of saturation you should consider creating dedicated UI threads for some (or all) of your UI-intensive windows. This post is a step by step walk-through of doing just that.

Read the rest of the article…

Lightstreamer on Firefox 3

July 26th, 2008 / Tales from a Trading Desk

Video here, worth a watch

Hands-on Computing

July 17th, 2008 / newyorkscot

Great article, “Hands-on Computing” in Scientific American this month that covers multi-touch computer screens and how this technology, including Microsoft’s Surface and the iPhone, will change the way we interact with computers and data. There is also a supplemental article explaining how multi-touch screens work.

RIA Search Engine Optimisation

July 2nd, 2008 / Tales from a Trading Desk

Adobe move ahead of Microsoft in RIA search.

Flex 4 Wish List

June 27th, 2008 / Tales from a Trading Desk

Flex 4 wish list for 2009

  • Reflection to the level that Java/.NET offer
  • Better support for dynamic modules
  • Versioning

Silverlight 2 Beta 2 TabControl

June 10th, 2008 / Development in a Blink

After asking the oracle of infinite knowledge (Google) for examples on Silverlight Beta TabControl, I came up with nothing.

Attempting to Close the Discoverability Gap I changed my search to WPF TabControl. Starting with this example I came up with this working Silverlight TabControl.

image 

Xaml

  <c:TabControl TabStripPlacement="Left">
   <c:TabItem >
    <c:TabItem.Header>
     <StackPanel Orientation="Horizontal">
      <Ellipse Width="10" Height="10" Fill="Green"/>
      <TextBlock Text="Toolbox" Margin="5"/>
     </StackPanel>
    </c:TabItem.Header>
   </c:TabItem>
   <c:TabItem >
    <c:TabItem.Header>
     <StackPanel Orientation="Horizontal">
      <Ellipse Width="10" Height="10" Fill="DarkGray"/>
      <TextBlock Text="Server" Margin="5"/>
     </StackPanel>
    </c:TabItem.Header>
   </c:TabItem>
   <c:TabItem>
    <c:TabItem.Header>
     <StackPanel Orientation="Horizontal">
      <Ellipse Width="10" Height="10" Fill="DarkGray"/>
      <TextBlock Text="General" Margin="5"/>
     </StackPanel>
    </c:TabItem.Header>
   </c:TabItem>
  </c:TabControl>
 </Grid>

Free: AgDataGrid Suite for Silverlight

June 5th, 2008 / Tales from a Trading Desk

Available Free-of-Charge without any licensing or royalties from DevExpress

VSM Video – Visual State Manager in Silverlight

June 3rd, 2008 / Development in a Blink

HERE.

VSM is currently available as part of Silverlight 2, but we will also support it in the desktop WPF. A preview version of VSM for WPF will be available as a separate download.

Creating Control Skins with Visual State Manager - An Introduction

Close the Discoverability Gap

June 1st, 2008 / Development in a Blink

James Brundage, from the Microsoft PowerShell Team,  posted a 7 part series on WPF & PowerShell. Aimed at PowerShell, WPF and version 2 capabilities; it delivers.

Along the way James creates other PoSH nuggets. Here are 3 from Part 2, that help close the discoverability gap.

The Discoverability Gap is the difficulty in determining what solutions exist for a problem

  • Get-Type
  • Get-MSDNInfo
  • Show-ClassInfo

Put these in Get-WPFControlInfo.ps1, add two switch parameters (gridView, msdnView) and you’re cruising WPF information locally and on the web.

View WPF control details with Out-GridView

gwci label

image

Searching is across Name and Definition

image

Grouping too.

image

View the MSDN Web Page

gwci tooltip -msdn

image

Download Get-WPFControlInfo

 

Quick Update

May 21st, 2008 / Kenny Kerr

I’m doing some traveling over the next few days and will unfortunately be offline for most of that time. I will be back online on Tuesday so if you’ve sent me an email, please don’t expect a response before then.

I’ve also made some small changes to the Window Clippings order handling to make the process run a bit smoother and ensure that you receive your license keys promptly and reliably. This will hopefully reduce the number of times I need to send license keys out manually.

I also made the change from US dollars to Canadian dollars. This won’t really effect anyone as the currencies are mostly hovering around 1=1 but it will reduce processing costs for me as I do my banking in Canadian dollars and the exchange rate provided by the payment processor is quite outrageous.

On a different note I recently submitted my latest column for MSDN Magazine. This one is about writing high performance asynchronous HTTP clients in native C++. Look for it around July. I’m also going to start covering the upcoming C++0x standard in my column. C++0x aims to make it easier to build libraries and in particular template metaprogramming. It allows you to produce even more efficient code while making it easier to write and diagnose compile-time errors related to templates and will thus make it easier to learn for novices. And that’s just the tip of the iceberg. Exciting times!

© 2008 Kenny Kerr

WPF: Application Performance

May 13th, 2008 / Tales from a Trading Desk

It’s always worth reading MSDN articles in full as sometimes there a gem at the end of the article: If you have a choice between binding an IList<(Of )&gt ;) or an IEnumerable to an ItemsControl object, choose the IList<(Of )&gt ;) object. Binding IEnumerable to an ItemsControl forces WPF to create a wrapper IList<(Of )&gt ;) object, which means your performance is impacted by the unnecessary overhead of a second object