What is WinFX anyway?

I've been having a discussion with some of my colleagues regarding how good a job we've done (and are doing) at explaining what WinFX actually contains.

In the interests of keeping everyone on the same page, I'm talking about a description of WinFX like this:

WinFX is the .NET Framework 2.0 with the addition of four specific new technologies: Windows Presentation Foundation, Windows Communication Foundation, Windows Workflow Foundation, and Infocard (codename).

The part I'm concerned about is the part in bold ie that WinFX is the .NET Framework...with additional pieces.

Do you think that the bulk of developers realise this? It's really easy for us, who live with this stuff every day, to forget that most people have real lives to live and so might have missed the fact that WinFX is an evolution of the .NET Framework, so all of the good stuff you associate with .NET accrues to WinFX.

It may be a non-issue but I wanted to see if anyone had experience of this being a problem...or whether it's just me.

Feel free to email me or leave a comment if you have a view.

Comments (13)
  1. why not WinFX= .NET 3.0?

    from your definition .NET 2.0 is .NET 1.0 with some new namespaces

  2. Ian Moulster says:

    The additional pieces (WCF, WPF, WF, InfoCard) add considerably to the power of .NET and allow a whole new type of application to be built. So .NET 3.0 probably wouldn’t do it justice.

    Although it may have appeared that I underplayed the significance of these extra "pieces" in the post above, that wasn’t my intention. WinFX is a *whole* lot more than the .NET Framework, but my point was that it is built on top of the framework and everything you associate with that – managed code, CLR, multiple languages, etc – are inherent in WinFX as a result.

    So my concern is that people may not understand that, and if so we should be more explicit about it.

  3. Johan Sundström says:

    I know what WinFX is but I disagree slightly on the fact that ‘WinFX is the .NET Framework 2.0 with the addition of four specific new technologies’. I consider Windows Forms to be part of the .NET framework but IMHO WPF is a complete replacement of (among other things) Windows Forms. Even if WinFX build upon the CLR 2.0 it replaces and obsoletes APIs and technologies that is installed as part of .NET Framework 2.0.

  4. I also feel like it’s the version 3.0 of framework. If it’s a feature of Windows, why not counting it up? Instead of naming it ".NET 2.0 plus", ".NET 3.0 plus" and so on…

  5. Ian Moulster says:

    Johan – you can build Window Forms apps using WinFX. In fact, for many people it’s important to be able to do so as they have a big investment in Windows Forms. The two technologies are designed to work together, for example you can bring up a WPF window from your Windows Forms app, and place Windows Forms controls alongside WPF controls on a WPF window.


    So WinFX is indeed the .NET Framework 2.0 + the "foundation" products and infocard.

  6. Ian Moulster says:

    Konstantin – the choice of name a branding issue, and not one that I feel qualified to say too much about. However I am concerned that if by changing the name we run the risk of confusing people.

    I’m sure our branding folks had good reasons for choosing the WinFX name, but we need to make sure it’s clear that WinFX is built upon the .NET Framework.

  7. cs says:

    I was confused for a long time up until about a month or two ago. Other devs I asked were also unsure exactly what WinFX was.

  8. Juval Lowy says:

    The Is-A relationship is mostly accurate, but I prefer a hierarchical view:



    Juval Lowy

  9. Trev says:

    Isn’t this just about marketing? I noticed that the ".net" moniker was stripped from VS2005. So, the .net framework (.net fx) now becomes Windows Framework (winfx) – is that right? Reminds me of the old MTS / COM+ days. No-one knows what .net means any more, just the same way no-one knew what ActiveX meant.

  10. Ian Moulster says:

    Thanks everyone for the comments. A couple of follow ups:

    Juval – that diagram you’ve linked to is a case in point: It suggests that WinFX is separate to the .NET Framework which is wrong. I don’t blame the people who created the diagram – I think we haven’t been as clear as we could be about this stuff.

    Trev – yes, you’re right, it’s marketing. And therefore should we care? I think we should if it means that people think that WinFX isn’t managed code, or is a different way of doing what .NET does. We need to be clear that WinFX = .NET.

    Thanks again all, this is really useful input.

  11. Thomas Lee says:

    With the change of name to .NET 3, I wonder if Ian could revisit this blog posting and perhaps get it updated with the latest terminology. I think the naming of WinFX was a tad confusing in the first place – was it .NET or not? So the clarity resulting from the name change is useful.

    However, speaking personally, I found the WinFX story a bit more compelling than ".NET 3.0". That WINFX was all new was clearer from the name, but maybe I’m just still trying to get used to the latest name and contents changes. I find it particularly confusing in that .NET 3 is actually part new and part .NET 2.0. The constant changing of names and contents is also to be regretted.


  12. Ian Moulster says:

    Thanks for the comments Thomas. The original post was made while we were discussing the name internally and I wanted to get a feel for the extent of people’s confusion and feed that back. And the replies to this post did help to express the level of confusion that existed.

    I think the .NET 3.0 name is a great result, and addressess the concerns I expressed in the original post.

    With regard to your point that .NET 3.0 is "part new and part .NET 2.0": Well, .NET 2.0 is of course largely .NET 1.1 with additions and extensions. I think this goes to the nub of the issue – WinFX was always simply an evolution of the .NET framework. And in the past, that has warranted a new version number, not a new name.

    And finally, these technologies are of course still in beta and this is the right time to finalize names, even if the ideal situation would have been to have selected the .NET 3.0 name from the outset. Of course, originally WinFX was only going to be for Vista, which no doubt had an impact on the name choice.

    Happy to discuss further Thomas, however to reiterate: I think this is the right decision and we’re now set to move forwards with clarity.

  13. Bill says:

    Well, I’m really impressed by Ian’s observation:

    >>It’s really easy for us, who live with this stuff every day, to forget that most people have real lives to live <<

    Microsoft, and now Sun, keep ramping up the number and breadth of development packages which play together and don’t – – it is quite dizzying to a developer who needs to support a number of platforms – or choose a platform.

    I wonder if the "real" marketing ploy is for a vendor to make so many packages which require so much investment to figure out, that a developer would stick with whatever we invest so much time getting familiar with. [ending on a preposition, geezsh :-)].  

    If that’s not the case, then much more time needs to be spent funneling in developers with varied familiarity — that is, if I need to look away from Microsoft for a year, I could really use great documentation to find my way back.  I agree that this sounds like COM/DCOM/ActX, etc. IUnknown++

    – bill

Comments are closed.

Skip to main content