Free Dundas ASP.NET and Windows Forms Charting Components


Microsoft purchased Dundas last year. They have now provided the charting components free (hope gauges are in the pipeline), all re-named and re-branded, but I have used their former name, because they are known industry wide as components of an exceptionally high standard. These charting components are used in all manner of business applications, including accuracy and mission critical applications monitoring activity in nuclear power stations.

MSChart

You can download the components from here. Make sure you read all the links, especially on deployment; If you build an application using the controls, your setup and deployment should add MSChart.exe installer as a pre-requisite.

It must be said that the install experience is fragmented, and  one has to add the charting component manually in the Visual Studio toolbox by browsing to the System.Windows.Forms.DataVisualisation dll, even after installing the toolbox creator.

I would also highly recommend ensuring you download and run the Visual Studio samples, because it is a very rich resource for samples, features and demonstrations, and the best way to acclimatise oneself with the new library.

Yahoo ditch WPF messenger client


In this announcement, Yahoo have nailed the lid in the Windows Presentation Foundation coffin firmly shut, and returned to native Win32 development for their Messenger Client.

I am rather disappointed about this, because I can see the huge potential of WPF, like my favourite Zurich Airport WPF demo from a couple of years back. Any business will always review the popularity of certain products, and I’m sure the download figures for the WPF messenger must be abysmal. It will inevitably take some time before the reasons why Yahoo took this decision start to percolate, but lack of popularity must be a key aspect.

What is great about programs like Skype and Windows Live Messenger (formally MSN Messenger), is that they are so simple to use, and very responsive. The average end user of said applications is always in a hurry to either send a message, or respond to one, so-much-so that really fancy graphics end up being a hindrance, especially if they are used to something quick, which WPF has not always been. For me it is a case of “just give me a text box and the ability to send my message”. It is as simple as that.

As a developer, you need to be really judicious about when to elect WPF for an application, because what you think is pretty, may actually get in the way of usability, which is the key mistake Yahoo have made. They got to too fancy with the WPF UX and forgot about simplicity.

If I was tasked with building a Messenger client (assuming the design time experience had been improved to that of windows forms at least), I would build an exact copy of the previous UI, and gradually add the features that make WPF stand out when compared with Win32. This would result in an application that appears to an end as a succession of the previous, and not having to learn something new again, to achieve the same result i.e. send and receive messages.

Microsoft have also been erroneous, principally by not eating their own dogfood. It is so important for companies to “practice what they preach”, but they too have stuck with Win32 for Windows Live Messenger, is it a surprise that everyone else has as well?

Report Builder 2.0 Released


Microsoft SQL Server 2008 Reporting Services Report Builder 2.0 (bit of a mouthful isn’t it?) has now been released and is available for download here.

Overview

Microsoft SQL Server 2008 Reporting Services Report Builder 2.0 delivers an intuitive, Office-like report authoring environment enabling business and power users to leverage their experience with Microsoft Office 2007 products. Microsoft SQL Server 2008 Reporting Services Report Builder 2.0 supports the full capabilities of SQL Server 2008 Reporting Services including:

  • Flexible report layout capabilities of SQL Server 2008 Report Definition Language
  • Data Visualizations including charts and gauges
  • Richly formatted textboxes
  • Export to Microsoft Office Word format

Features specific to Report Builder 2.0 are focused on simplifying the process of creating and editing reports and queries and include the following:

  • Easy to use wizards for creating table, matrix and chart data regions
  • Support for directly opening and editing reports stored on the report server
  • Support for using server resources such as shared data sources
  • Query designers for multiple data sources including a Microsoft SQL Server-specific query designer

ReportBuilder

Note; The title says SQL 2008 and is misleading, as you can use this to target SQL 2000, 2005 and a whole host of other databases like Oracle and Microsoft Access.

The Death of Windows Forms – Part 2


In a previous post, I was deliberating about whether to elect windows forms or WPF for an application I was writing. In the end I chose to use the products from Component Factory. The proprietor of said company (Philip Wright) has recently elected to construct a disquisition into WPF adoption. I have chosen to go a little further into reasons Philip states as problematical.

WPF Tooling

I agree whole-heartedly with Phil, it is immediately perspicacious upon opening up the Visual Studio 2008 toolbox, that the controls available are like “Old Mother Hubbard going to the cupboard and finding that it was bare”. Tim Sneath, a Group Program Manager for WPF has a comprehensive listing into the latest improvements in the WPF space, and you can see that controls are still the last thing being considered, as performance and graphics have been the priority.

The best example of WPF tooling is WPF/E, better known as Silverlight. The first release candidate is now available but why is this significant? The significance lies in the fact that Silverlight is a cut down version of WPF, and it is only now that it is beginning to reach completion. If a cut down 4MB version of something that is currently about 80MB (WPF assemblies) is only just nearing completion, you can safely assume that it will be some time before “completion” is reached for the far larger WPF libraries. That is the prime indicator of the work still left with WPF.

I must however disagree a bit with Phil on a minute point. Resource Dictionaries make it a breeze to skin or template all the controls in your application, so as more and more controls become available, then it is very easy to affect your complete applications look with literally a “switch”. The issue with WPF, is new types of controls. At present most vendors are recreating controls already available in windows forms, and augmenting them with WPF. Until the WPF toolbox reaches parity with Windows forms and new types of controls start to be created with WPF that are unachievable in windows forms, then WPF will be seen as playing catch-up.

WPF Applications

This is such an important point. I have lengthy but related posts here and here. Microsoft have always been in the Operating System and Server business, and relied on third parties to produce the eye-candy. The lack of applications is directly linked to why Vista (A WFP bedrock) has been received so poorly. As I’ve said in the links above, the same 100% of applications I used on XP, are the same 100% I use on Vista.

Probably the most widely talked about WPF application is the Lawson Mango application. It is important that my following remarks are not misconstrued so I must clarify that I would love to have worked on such an application.

The prime evocation to take from this application is that it is beyond beauty, and present applications do not compare one iota. This is a huge application, with the form count being around 10 000. It is very clear then that this was

  1. A money no object commission
  2. Technology and not business need driven (or mostly technology and a bit of business need)

For the average business application, resolving business need is the prime requirement. I am developing a Scheduling and BI application for a company, and the quite frankly, they couldn’t care less whether it was Windows Forms or WPF. Their prime requirements are

  1. Can you bring this project in under budget?
  2. Does it solve the business requirement?

One of the key factors that determines a software projects failure or success, is going over budget, and or not solving the business requirement. WPF is positioned disadvantageously here, because it is really very expensive at present to develop applications with the technology. If you get an accountant to do your requirements gathering and costing for a new or existing application, you will be shocked at how much more it costs to develop a WPF application, for no return on investment.

Another key factor in launching a business application is how easy it is to learn. An application that looks like Office 2007, will be far easier to train staff to use because the user interface is familiar hence intuitive. When you take the Lawson Mango application, and look at a company with 500 people and consider the ongoing training costs, then your budget for training goes into the many thousands, where with an Office user interface, that will be significantly reduced. Some might say this is boring, and you will always be stuck in the past, but to run a business you always have to look at the skills your current workforce have, and the return on investment that a specific technology will give you. It is for these reasons, that your typical business will prefer the Office 2007 UI in windows forms, to the Lawson Mango.

Supply Side Push

WPF will only gain popularity and mainstream recognition when Microsoft themselves release a WPF product. Obviously Windows 7 should contain more WPF applications and that will be a key factor in WPF adoption. What they need is a new Media Player done in WPF, or an application that is ubiquitously used in the operating system written “top down” in WPF. They also need to create managed wrappers available for both Windows Forms and WPF for the OS, unlike Vista at present.

Windows forms has already proven that it can create a good 60% to 80% of what is achievable in WPF, but as anyone that has ever developed a project of a decent size will tell you, writing software is very expensive, and unless WPF can start to negate the expense associated with it, for reasons aforementioned, it will continue to have a tardigrade uptake.