When I started learning programming with the .NET framework, I started by using WinForms as a UI technology. It uses “classic” menus just like this office 2000:
A few years later Office 2007 was released, the ribbon was born:
And even some years later Office 2010 was released, which also added new features like the stage:
A few days ago Office 15 preview was released and they added more fancy new stuff:
That’s huge progress IMO, but why don’t they enable the developers to build UI’s like them? When I have a look at .NET, there’s still no way to build a ribbon. Even with WPF, which is highly extensible, there are no premade controls. So the community has started several projects to create all those “features”. I know, today Microsoft has released a ribbon for WinForms and WPF, but that’s still not part of any core framework (not even the 4.5 one). But this is not limited to .NET as far as I know? Today there are still no APIs for unmanaged applications to create those ribbon UI’s?!
In Germany they are offering free UX training to make sure everything fits their style! http://j.mp/NZGgH9
Why doesn’t Microsoft give the cool stuff to us developers? Do they want their applications to be unique?
6
They have released a UI framework that supports ribbons — it’s just supported in MFC instead of .NET.
There’s probably room for quite a bit of debate as to why they did things that way, but it is what they did anyway.
It looks like Metro-style apps will be supported much more universally — not only C++, but also C#, VB, and Javascript are supported, if I’m not mistaken.
1
They do release some of these things.
Here’s the Ribbon, usable in a .NET application.
And here’s Metro, which you can program against using WPF/XAML or HTML/JavaScript.
Unfortunately,
Metro style app development in Visual Studio is supported only on Windows 8 Release Preview. Windows 7 is not supported.
3
Historically, Microsoft has always provided developers with tools to create standard Windows applications (MFC, WinForms, WPF).
The problem here is that Office is being developed by a different group than the one that provides developer tools & frameworks. This means that when the Office group creates something like the Ribbon or Backstage, the Developer Tools group needs to play catch-up to create a reusable control to provide the functionality.
I also believe there was in-fighting between the two groups that caused such a long delay in the Ribbon being available. My guess is that the Office group wanted to keep the Ribbon unique to the Office applications and the Developer Tools group wanted to make it available for everyone to use.