Archive for September, 2008

When WPF was first released I wrote a blog post stating that it would take a little time for it to take off. It has been over two years now and I’ve been proved more right than I expected. I think WPF has great potential and allows some amazing user interfaces to be created. But somehow it just hasn’t taken off.

I expected it to take time because any new platform needs a chance to mature and the associated tooling be created. Even so I expected that by now it would be getting into its stride and starting to overtake WinForms as the client technology of choice. I think there are two reasons why this has not happened.

WPF Tooling
So far this has not reached the level needed to make it easy for average developers to use. Sure, we have Expression Blend and the Visual Studio design time environment but neither is as simple to use as the WinForms design time surface. If you’re not a designer, and most coders never will be, then Blend is really not that easy to use. It’s easy to create bad designs with Blend but you’re going to need to be a skilled designer to make it really sing for you.

So unless your organization has the resources to employ a designer you’re stuck with using the standard out of the box look and feel. That standard appearance will not have your customers or boss into begging for WPF applications.

Now this would not be such as issue if there were some great component suites that you could buy and just drop into your application, along with a selection of great themes. The current component suites for WPF are getting better all the time but still at least 1 or 2 years away from providing the depth and range required.

WPF Applications
Our second roadblock to adoption is that we have no good examples of WPF applications in the wild. Yes there are plenty of cool niche apps but I mean really popular apps that are on everyone’s desktop. Something along the lines of Microsoft Word with a WPF front end. Something that gets the mass market asking for the same sophistication from all the applications they use. This would create a demand side pull on software companies.

Of course, the problem here is that you cannot take several million lines of code inside Office and just stick a WPF front end on. This reminds me of an interview I heard from a developer on the Outlook team. It took a team of three developers two years to create the Outlook 2007 navigation control that you see on the left hand side. So we cannot expect the consumer market to get anything from Microsoft in the immediate future that is going to really fire them up.

Supply Side Push
If a demand side pull is unlikely to bring WPF to the masses then the only alternative is for Microsoft to create a supply side push. I think this is the main reasoning behind the recent announcement that Visual Studio 2010 is to have a new text editor built using WPF. They also stated that Version 11 (Visual Studio 2012?) will have the entire shell rewritten in WPF.

Now you can imagine that a million Visual Studio developers will see the cool and slick WPF environment and decide they want to get in on the act. At this point WPF will be the default choice for developing rich client applications and by then the component vendors will also have some nice offerings.

So my new prediction for WPF uptake is a slow but steady increase over the next four years and a tipping point at around 2012 that sees it become the de facto standard for developing client applications. But if you think differently then let me know in the comments!

If you have a KryptonBreadCrumb instance like the one below then selecting ‘Level 3a’  will cause the drawing to overflow the end of the control.

This has now been fixed by adding an overflow button at the start of the crumb trail which allows access to the entries that cannot be shown. So selecting ‘Level 3a’  now gives the following appearance.

Clicking the button shows the root entries.

If we navigate down another level then the overflow button gives access to not just all the root entries but also the hidden crumbs along the path.

Microsoft have changed tack with the development of Windows 7 by keeping it very low key. No sneak previews and few hints about what will be inside the next release. After all the hype that went with ‘Longhorn’ I guess that’s not surprising. Few of the ’Longhorn’ promises actually shipped in Vista and this really burnt the reputation of Microsoft to deliver on promises.

About the only concreate information we have is that Surface like functionality will be added to the OS and some of the standard apps, such as Paint, will have the Fluent UI (a.k.a Office 2007 style Ribbon).

All that is about to change with the upcoming PDC2008 that starts on the 28th October. If you are lucky enough to be attending the PDC then you will get a 160GB external USB hard drive with lots of goodies. One of those is going to be a pre-beta version of Windows 7. Assuming that the new OS does not actually require 160GB of space I assume there are plenty of other interesting bits of software included.

I hope that the PDC follows the same pattern as recent Microsoft conferences such as MIX where the sessions are recorded and then placed online. If not then I can always reply on the Krypton community to post me some screenshots of user interface innovations in the pipeline.

UPDATE:
You can see some Windows 7 screenshots on the web but I have no idea if they are geniune so you have to be careful what you believe.

There cannot be many developers that have not heard about the new Stackoverflow website that launched into public Beta a couple of weeks ago. For those not familiar with the site I would recommend you spend a couple of minutes looking around. Essentially it’s a question and answer site for programmers but instead of using the traditional ‘forum’ approach they have added a little extra magic.

The magic is making the site addictive by giving people badges and reputation points. It sounds crazy that a community of smart programmers would be energized by getting some badges/points. But it really does seem to work. I know because I find myself becoming drawn to the site several times a day!

The site has been coded by Jeff Atwood, of Coding Horror fame, with support from Joel Spolsky, of Joel on Software fame. With two high profile bloggers behind the site it was guaranteed to generate the one thing that any new community site needs, a decent number of initial visitors. Without a certain minimal level of activity on the site it would have died a long slow death. It will be interesting to watch the site over the next few months and see if it gradually gains traction or if the initial rush fades.

So the next time you need to solve a programming problem and are having a little trouble I recommend you give the site a go. With all those addicts desperate to gain more reputation points you’re bound to get some decent answers within a few minutes. Literally just a few minutes.

Don’t blame me if you become addicted and spend hours pressing refresh in hope of a question appearing that you can answer. I did warn you!

I’ve been asked by a couple of Toolkit users about the stats for its usage. These are certainly not secret so I am happy to reveal them. After 24 hours of Version 3.0 being released these are the raw numbers…

Downloads:  ~4406
Downloaded Bytes: ~112 GB

I’m glad there is a dedicated server behind our website as 112 gigabytes of data is a fair chunk. I can only imagine it would have ground to a halt if hosted on a shared server like so many other sites are. I expect the same number of downloads again but spread over a couple of weeks. A big rush occurs on the first day but it still takes a little time for it to drop off to the steady state.