Design considerations for Windows 8 on HD slates

As Jensen Harris of the Windows User Experience team alluded to in his first day session of Metro design in Windows 8, high DPI displays may soon become mainstream, some of which he has personally seen behind closed doors.

To make sure Windows 8 looks great on these displays for the desktop and slates, the system will have native scaling support for Metro-style applications to take advantage of them.

The MSDN documentation “Guidelines for scaling” clarifies that although Windows 8 will automatically scale the user interface elements, layout and images, developers and designers (mostly designers) will still have to put in some work to ensure their applications are pixel perfect even at 208 PPI and beyond.

The first, most obvious and easiest is to use vector graphics in the application. The next best actually involves some automagicness from WinRT that automatically selects the most appropriate graphics resources from a generic file & folder naming convention.

Option #1 - File naming convention:
...\foo.scale-100.jpg
   \foo.scale-140.jpg
   \foo.scale-180.jpg

Option #2 - Folder naming convention:
...\scale-100\foo.jpg
   \scale-140\foo.jpg
   \scale-180\foo.jpg

Obviously some effort is involved to manage and save resources at multiple DPIs, not having to manually declare each one is a nice consideration for WinRT development.

12 insightful thoughts

  1. How I wish WPF had something similar – it can be a real struggle to get pixel-perfect images at multiple DPIs in that framework.

    The Windows Ribbon framework has a similar feature (which includes support for high contrast images – any word on that?), though it’s not automatic.

    If only WinRT could be used to create desktop applications… (it’s still early days, but Metro style applications are not at all appealing for desktop/laptop use)

    1. I love what Microsoft is doing with WinRT, I just wish they made it a framework for all of Windows, not just Metro apps.

      They keep talking about how now C++ developers have access to a modern UI framework…but what if I’m a C++ developer that only works on desktop apps? I’m still stuck with MFC…

  2. I still don’t understand why they don’t just have devs operate at high DPI to begin with. It should be easier to scale down than to maintain separate assets, i would think.

Leave a Reply