BlarfMarfle BlarfMarfle

Niner since 2009


  • A Quick Look At "Windows 8"

    I think we need to wait for the BUILD conference. Let's all just calm down a little- they aren't really talking about this stuff in detail yet, and they want to present this radical new future for the platform in an organized way. We can't assume anything concrete about Windows 8 beyond what they've said.

  • WPF Design Surface Improvements in Visual Studio 2010

    I have been using various Microsoft technologies for client application development for many years. Sorry about the length of this post in advance.

    The #1 problem Microsoft has when it comes to Windows right now is a total lack of clarity and direction when it comes to UX, and adding new languages and UI frameworks into the mix is only going to make the problem worse. No two application teams (nor the language teams, natch) have common UX guidelines- at least, not that is discernible from the outside. Windows Live apps use completely different controls and UX methodologies than Visual Studio, or Office, or first party accessories like Paint. There are almost no common controls, and those that are used in common are often not implemented the same way. See: toolbars vs. Ribbon; the search control in Explorer vs. IE; the Hardware and Sound control panel vs. Devices and Printers control panel; MFC legacy apps vs. WinForms apps vs. WPF apps vs. one-offs like Media Center; the tab control in IE vs. Excel worksheets; the tree view control in Explorer vs. the Favorites tree control in IE.... the list goes on and on.

    Do you know what the best looking app on my installation of Windows 7 is? blu, the twitter client from Beatiful WPF application with slick opening and closing animations, a neat scrolling behavior, and 100% custom UI. Right on, WPF team, you made a framework that smart guys like those at can create awesome experiences. But wait- no other app on Windows 7 looks or works like this one. NONE. There is not a single native WPF-app on the default installation of Win7, in fact. No other app on Windows uses blu's impressive window flip to access a properties and settings area.

    So now the WPF team has been slaving away, seemingly oblivious to the impact that WPF is going to have on the overall UX of Windows as a platform. The Office team is undoubtedly completely unconcerned with whatever the Visual Studio team is doing with the WPF designer, because the Office team always does its own thing and writes its own controls, and once WPF is mature (maybe in time for Office 2013?) they will start to think about using it. The Shell team is also totally unconcerned with WPF, or indeed .NET altogether, since they write their stuff in C++ and, again, create their own custom controls. Windows Live Messenger does a bang-up job of breaking Windows 7's new taskbar metaphor by putting a "running app" icon in the taskbar for a windowless application- clicking this taskbar button opens another window! Way to lead by example.

    This haggling over the default settings of WPF controls in Visual Studio is missing the big picture entirely: Microsoft should have worked out the "Microsoft Way" for these controls to work ahead of time, and the WPF team's job should be to make the defaults adhere to those guidelines. Visual Studio should guide third party app developers towards creating experiences that look and work like the rest of Windows. Sure, the UI framework should allow custom controls and original ideas for UX, but these should be exceptions rather than the rule.

    UX needs to take precendence over UI development at Microsoft. There needs to be some sort of "UX Czar" that creates a set of guidelines that other teams at Microsoft are forced to follow. Development of new UI frameworks MUST be subordinate to Microsoft's overall UX strategy, and release dates for new versions of Visual Studio and other tools must fall in sync with major client releases. If WPF is the way of the future, then Microsoft should dogfood its own tech and write Windows apps in it, and they shouldn't start releasing toolsets for it until they have worked out the "Microsoft Way" for WPF apps on Windows. Former walled gardens like Office are going to have to get into conformity with the rest of Windows, too.

    Visual Studio 2010 is going to come out AFTER Windows 7 RTMs? Will it include the common controls that Microsoft uses to build Explorer, like the search control, the treeview, the weird new datagrid thingy that is used to display files and folders? How about the forward/backward control that is implemented differently in both Explorer and IE? What is the "Microsoft Way" for creating compelling UI that fits into the overall UX of Windows as a platform?