Book Review and my thoughts on UX (User Centered Design)
I recently completed reading “WPF Control Development Unleashed: Building Advanced User Experiences” and by far this is the only book I have read that explains topics such panel virtualization, advanced scrolling with IScorllInfo/ScrollViewer, attached behaviors etc in good depth. To give an example, can you fathom extending listbox to make animated radar as below?
The essential theme highlighted in the book is that you should always try to extend the already existing control instead of creating a new one from scratch (with quite a few examples showing how to do it). I highly recommend this book – though basic knowledge of WPF/XAML is required.
After reading this book I have been contemplating on the thought why some of the workplaces that I have worked before, never made use of user centered design or invested in customizing controls in house for the users (I am not a valid sample, maybe they do, but not in the areas I have worked), the investment-cost to benefit advantage is great and it also helps increase the productivity for the end-user.
For example the below trading app from ThinkOrSwim may look complicated at first and may require some training for traders (analogous to a pilot/cockpit), but once you get the hang of the UI, you’d appreciate that it can capture all user workflows and still allow user to customize with minimal clicks and ticks all in one main screen.
The below app makes real good use of visual real estate – the tabs, font size, alignment, everything is very well done to cramp as much as info so users do not waste time in switching tabs/screens losing focus whilst searching for dependency data, this is very essential for trading environment, all this is done without compromising on readability.
As you can see such apps do not use Windows Ribbon or other new ready-made third party fancy controls with animation etc. (I am not saying windows ribbon or others are not great, just that it does not always suit perfectly in all user areas such as below).
Lets look at yet another app that makes use of control customization (atleast to some extent), my new favorite twitter client “Metro Twit“
This is again a very well thought app that uses Windows Metro Theme, this is too designed keeping user in mind and the experience is truly beautiful and magical, and as you can see it makes good use of the visual estate for what it does. Do give a try to this client to see why it brings a breath of fresh air even when it looks quite similar to tweetdeck and others.
The unfortunate part is that till this day, I do not see many workplaces with in house designers (using just Expression Blend and likes) designing/optimizing UI for capturing complicated workflows, rather it is always developers who keep adding controls and components as they best think is do-able. At the end it works, but only after a few clicks here and there with few data loads in between wasting time; we may have ultra low latency network connection to capture trades, but unfortunately not much thought is put how much time is wasted on poorly designed heavy UI interfaces.
On a lighter note: I found this picture that helps explain the difference between UI and UX Design