wpf ribbon

Jan 22, 2010 at 6:29 PM

There appear to be a few different iterations of the WPF Ribbon control floating around within Microsoft.  What's comfusing is that the internal folks are playing with much newer iterations of the control while the rest of us have to wait.

Here's one example of a new variant of the control being used by Microsoft employees:


The version of the ribbon control referenced above appears to be much closer to the Office 2010 variant.

Microsoft has also published the source code to the control as a result of work being published by Microsoft employees in the manner shown above.

This makes things very confusing for outsiders and it also makes us feel like we're being held back when following official channels.

I have another message on here regarding the lack of build instructions for the designer parts of WPF Toolkit.  Other messages have been responded to but there's silence on this one.  A simple "looking into it" would be nice.

I don't mean to rant here, just that time is ticking and Microsoft products seem to be progressing quite nicely while development tools for the rest of us appear to be held back or are not given critical build instructions.  Notice also that anyone using the above download will not have to sign up for the WPF Ribbon control while getting a newer version than what is published through more official channels.

I realise there's a lot going on within the company, but we did start off nicely with all of the WPF related development releases put forward by Microsoft.  Now releases seem to be lagging somewhat.

Jan 23, 2010 at 1:37 AM

First, I want to say thanks for taking the time to give us feedback, and point out the inconsistency. We strive to find a balance between releasing code that is of high quality in terms of design, features, and free of bugs, doing so in a timely fashion, and still allowing us to gather feedback from the community to make improvements. Releasing the code we develop is an important step in the process, but one of many, and some of the steps, especially when viewed from the outside, can appear to take a long time.

In this particular case, the sample shouldn't have included a version of the ribbon control, and I've taken steps to correct the situation. Our goal in having official releases is certainly not to hold people back, but to release quality controls that meet customer needs. I hope that helps clarify a little the situation, and if not definitely let us know!



Jan 23, 2010 at 4:15 PM

I was afraid this might be the outcome ... having a newer version of the WPF Ribbon pulled.  When examining the post above, it was obvious that it represented a newer generation of code and seemed to be an attempt to incorporate 2010 look and feel characteristics.  The quality of the above version of the control was ahead of what is currently available.

In other words, we're now a bit further back having this release pulled.  I appreciate the error that was made with the inclusion of the control given the requirement to sign up for access however this release did show that newer developments are in the works at Microsoft though there's no clarity on why this sort of thing is being held back.  It's obviously not a quality concern issue given that those signing up for access to the WPF Ribbon have already acknowledged their acceptance of the fact that it is not a production grade solution.

The two mistakes made in this instance are as follows:

(1) The value of the sign up process was diminished as a result of creating an alternate channel for getting access to important Microsoft developments

(2) Microsoft creates the appearance of an unfair advantage by not releasing interim builds used internally that are clearly of a higher grade than what is being made generally available.

On point (2) I'm inclined to think that this is more a manifistation of organizational and administrative issues than any sort of intent.  Companies big and small make mistakes regularly.  When they are made, the best action is an equitable fix.

The equitable fix here would be to release the current version of the control without a signup process.  The cat is already out of the bag.

Jan 25, 2010 at 2:11 AM

Hi Noemata,

The sample was actually taken down because the samples page only requires accepting the MS-Pl license and not the Office Fluent UI license -- certainly a mistake we needed to correct.  The Ribbon dll that the sample included was the exact same dll that has been publicly available for over a year; any changes to the look and feel would have been in the sample itself. 

Our team has been working full-time for over a year on the release of WPF 4.0 and unfortunately Ribbon development has been on hold.  As frustrating as it is, there are no new Ribbon developments available internally or externally.  We are very much looking forward to changing that!

Hope that helps,


Jan 25, 2010 at 1:48 PM

Hi Alexis,

I disagree on the assertion made about the WPF Ribbon control that was pulled from the sample mentioned above based on a simple examination of the facts.  The version number in the pulled sample is whereas the version number on the official release is 3.5.31016.1.  When running reflector on the newer variant of the control one can clearly see significant code changes.  As previously stated, Microsoft has also leaked the source code to the official release of the WPF Ribbon control through other postings made by Microsoft employees (also recently pulled).  Examining that code shows that the published version of the WPF Ribbon control that has been pulled contained significant updates from the original.

The internal date stamp on the pulled version of the WPF Ribbon is much newer and its file size is about 100 kbytes larger (mostly code changes).  Perhaps this is the version of control you think should be out instead of what is presently available?

Maybe intended updates have not been issued? Shit happens! I suggest you take a closer look at the details.



Jan 25, 2010 at 2:27 PM

There's one more point that should not be lost here.  The pulled version of the WPF Ribbon sample is now out.  Irrespective of attempts to retract this error, any persons that have downloaded this sample are now legally entitled to assume that what they have obtained falls under the MS-PI license.  The download made available was from an official Microsoft source after all.

I'm pretty sure the statement made by Patrick Danino is not subject to correction by simply pulling the sample.  The correction that needs to be made now is to level the playing field for those that went through the sign up process.

The WPF Ribbon released via the MSDN code gallery falls under the MS-PI license.  There's no taking that back.  Microsoft can opt to re-release under newer terms, but the version WPF Ribbon control with a file size of 451KB and a date stamp of 11/5/2008 is not subject to retractions.


Jan 26, 2010 at 5:01 AM

We have the beginnings of a butterfly effect in the works here.  The small, seemingly inconsequential ripple event started here:


It was here that Microsoft published the WPF Ribbon and a corresponding usage sample under the MS-PL license.

The ripple grew a bit larger when Patrick Danino stated that the WPF Ribbon and sample published at the above address had been pulled with the qualifiers that this posting was not in keeping with Microsoft quality concerns, not in line with needed community feedback and not consistent with the official release of the WPF Ribbon.  Is this a display of retroactive prejudice?

The one ripple then sets off a few more when Alexis Roosa clarified that the WPF Ribbon published at the above address was actually taken down because the sample only required acceptance of the MS-PL license, not the Office Fluent UI license.  Thus the remarks made by Patrick Danino become questionable and perhaps disingenuous.  Unfortunately, the qualifiers made by Alexis Roosa were also factually incorrect since he had stated that the WPF Ribbon published at this address was the same version as the one published under the Office Fluent UI license, which was not the case.

At no point was there any recognition given to the fact that posting the WPF Ribbon under an MS-PL license is not subject to an arbitrary repeal and not something that can merely be undone without consequence.  Why?  Because of this:

Let’s say that one day SHMACME Corp. invents this really cool widget called a Sibbon Bar, incorporates it into various products, releases a bunch of marketing spiel about the stellar invention, and issues a fancy license for the technology (the very stringent “Off Ice Fluent UI license”, because the big boss likes Hockey).  SHMACME Corp. also makes several prominent statements about how critical this Sibbon Bar thingy is to the business, future plans, and the great value it brings to its products, implying that it might be worth a billion dollars.

Then on the following day SHMACME Corp. posts the Sibbon Bar widget on one of its official web sites with something it calls an NS-PL license.  This license happens to be quite permissive and generous to adopters.  SMACME Corp. immediately (one minute later) sees this and goes woohoo, since it can now incorporate the Sibbon Bar into its product without concern for stringent licensing issues, costs, and patents now that the strict Off Ice Fluent UI license no longer applies because it has been replaced by the very liberal NS-PL license.  Best of all, SMACME doesn’t have to worry about massive law suits coming from SHMACME.  On the same day SMACME Corp. releases a product featuring a shiny new Sibbon Bar, immediately followed by a deluge of product orders worth a billion dollars.

The day after that SHMACME Corp. retracts the post it made on the previous day stating that it was all a big mistake.  Shortly thereafter (one minute later) SHMACME Corp. sues SMACME Corp. for one billion dollars because it so egregiously violated its Off Ice Fluent UI licensing terms which strictly forbids the type of use SMACME made of the Sibbon Bar.

As the corresponding TV commercial implies … even a kid can see the fault in this scenario.  If this was actually possible, corporations would start making these mistakes intentionally as a means of creating revenue.

SHMACME Corp. will have to eat it, as do all other companies when such mistakes are made.  The Off Ice Fluent UI license was effectively replaced by the more liberal NS-PL license issued the following day.  The NS-PL License is not subject to arbitrary repeal.  Such a prospect is simply ludicrous.  Ask any kid.

There are a number of other interesting things to consider when a .Net assembly is released with the MS-PL license.  Since .Net assemblies are easily reverted to source code form, does that mean that a .Net assembly released in binary under the MS-PL license implicitly includes an MS-PL source code license?  I am inclined to think that would be the case since MS-PL includes no provision for disassembly or reverse assembly.  Just think about the implications to IP.

This suggests that one has to include specific qualifiers for elements of a project published with an MS-PL license; otherwise everything that is part of the project is subject to its terms when those components are from the same source/publisher.  There are clearly common sense exceptions, third party components being one example.

Caveat emptor.  What’s stated here is merely supposition.


Jan 26, 2010 at 8:13 AM

Good grief noemata, just shut up already. You're talking rubbish.

Jan 26, 2010 at 11:59 AM

You got that right.  Its all rubbish.  Once in awhile someone has to point it out.