When It All Goes Really Wrong

As we’ve seen, Windows can use DPI Virtualization to correct applications that are DPI-unaware, and applications that choose to can opt out of the scaling features and perform their own. But so far we’ve really only seen applications that are slightly out of sync with the developer’s goal. Now it’s time to show some applications that are well and truly broken on High DPI systems.

There are more than this small selection, but the examples I have are all from Adobe. Adobe tends to write its own user interface, which it then can make cross platform. Unlike most applications that use at least some standard Windows tools like Windows Presentation Foundation (WPF) or Windows Forms, almost the entire UI is created by Adobe. As you can imagine, the results are not pretty at 3200x1800 and 200% scaling. First up – the Adobe downloader.

Adobe really wants you to know you are using their product. Even something as simple as an application to download Adobe Reader has its own custom UI. The text box is generally fine, but it's a bit difficult to read. Next is a commonly used application, Adobe Reader XI

Here the file menu is usable, but all of the shortcut icons are tiny. The Tools, Sign, and Comment panels are so small as to be practically unusable. It’s not pretty, and applications like this are a big reason why High DPI Windows systems get knocked during reviews. And our final call out of Adobe’s applications – Photoshop Elements

This application is the worst example of usability on a High DPI system that I’ve seen. Adobe has even replaced the file menu with a custom UI, meaning every single element of this application doesn’t scale at all.

The biggest travesty of Adobe applications not scaling is that their intended market is often media professionals, who are frequently early adopters of things like 4k displays and ultra-high resolution laptops. Hopefully they are working hard on a solution to these issues, but that will also mean anyone using Adobe’s products will likely be forced to update to the latest version – a potentially expensive proposition.

It may seem unfair to specifically call out Adobe, so be aware that there are other applications that also struggle. Remote Desktop sessions can be an issue, with the RDP session rendering at the DPI level of the server, but the resolution of the client. Luckily this has been addressed in the latest versions, but doing RDP sessions or RemoteApp connections to older versions of Windows Server may still be an issue. There are games that likewise have their own launchers that are fully custom and have no scaling (StarCraft II comes to mind), so they end up looking very small on a High DPI system.

Where It All Falls Apart Windows 8.1 DPI Changes
Comments Locked

114 Comments

View All Comments

  • pixelstuff - Tuesday, April 15, 2014 - link

    Not to mention, apparently Adobe has created a HiDPI interface for OSX. So it's not exactly like they are having to reinvent the wheel on Windows.
  • jamyryals - Tuesday, April 15, 2014 - link

    Most developers are doing what was scoped for a project. DPI scaling was not very important for many years. It was difficult to assign resources to a problem when it was an issue that few encountered. Believe it or not, but most decisions in development are based on priority and not laziness. Go ahead and keep shaking your fist at them though, you'll show 'em!
  • eddman - Tuesday, April 15, 2014 - link

    Are you one of such developers, because I don't see how anyone can defend such practices.

    There are these things called guidelines. You don't need to have project "scopes" or resources to follow them. If a developer doesn't care to follow such basic things, then he/she doesn't deserve any respect.
  • npaladin2000 - Tuesday, April 15, 2014 - link

    When your project manager says "don't bother programming for DPI scaling, we don't have the time, and we have to meet this deadline in order to get paid on time" then you skip the frigging DPI scaling. Get it?
  • eddman - Tuesday, April 15, 2014 - link

    They would actually demand it?! Is it really that hard to code a DPI-aware program? I have a hard time believing the latter.

    If it is easy and yet they still ignore, then it is even worse than I thought.
  • inighthawki - Wednesday, April 16, 2014 - link

    Again, I see you don't work in the software industry. Every feature takes time. If that time is not in the current milestone budget, it gets cut. So yes, it happens, and your project manager absolutely can demand you not work on it.
  • Alexey291 - Wednesday, April 16, 2014 - link

    Sometimes I wonder if any of the people here have ever worked in ANY industry let alone as developers.

    Every project in the damn world has a set of priorities and you don't "just decide" to throw something in unless you're told to.
  • Gigaplex - Wednesday, April 16, 2014 - link

    Yes, it really is that hard to code DPI-awareness into a Win32 application. The API is horrendous.
  • UsernameAlreadyExists - Wednesday, April 16, 2014 - link

    Thus, since around 2007 (2006-2008?) writing Windows applications with WPF has been possible..

    "Windows Store apps require far less work from the developer in order to achieve this scaling. The app doesn’t have to be DPI aware, because by default all applications automatically are. Instead, things such as XAML layouts and SVG graphics allow the apps to be rescaled completely by the operating system."

    XAML, since 2008 or so has allowed the programs to be rescaled completely by the operating system. Might have been nice to mention this in the article.
  • Klimax - Thursday, April 17, 2014 - link

    If it is hard for you and like, then don't do UI yourself and use bloody framework or toolkit.

    Anyway:
    http://msdn.microsoft.com/en-us/library/windows/de...
    Tutorial:
    http://msdn.microsoft.com/en-us/library/windows/de...

    And I am sure similar docs were there for all those years...

Log in

Don't have an account? Sign up now