I am working on a new project which is focused on a desktop application for users. I am looking to find out more information, answers, best practices when it comes to handling sizing and scaling with a desktop application.

Currently the standalone desktop application opens to the default 1024x768 size which is also its minimum size without scrollbars showing up. We have set that as the default size for the first time users access the application. Once it has been accessed the user has the ability to grab the corners and scale it to the size they are most comfortable with or click the maximize button to display fullscreen. Since I currently use a monitor that has a pixel count of 2560x1440 I find the application to look odd when maximized to its full size.

So my question is would there be any reason for me to limit the maximum size the application scales up to besides the fact that it will help the visual UI/Design look better? For example no larger then 1920x1080 or is allowing the user to control the scaling as they please the standard delivery for desktop applications?

5 Answers 5


Use the available space as well as possible, and never limit the size unless there is a very good reason to.

Specifically, the primary content area of your application should scale to contain more content the larger the screen gets. This use case is also one of Microsoft's major drivers for the Ribbon interface; the Ribbon scales well so that it can take advantage of more horizontal room to display more controls, but also scales to very little room. Take an office application and slowly stretch it wider one time to see how this works.

You can also use the horizontal space to allow optional information, such as sidebars and tool windows.

Since we don't know what kind of application you are designing we cannot easily give specific UX suggestions. But every main windows development environment provides for various methods to attach controls so that they stretch, resize, and float in various ways as the application window changes.

Designing an application to look good and work well over a wide range of resolutions is not easy; MSDN has an article about writing high-DPI Win32 applications.


If you're lucky enough to have a 2560x1440 screen and your desktop app looks odd even though you are already assigning the extra space to the controls that can make use of it, and there is no added value in making the presentation/input areas that big, then consider introducing an extra pane in those extreme situations.

The content of this extra panel depends on your application of course, and should aim to improve the experience for the user rather than add clutter. For example it may include:

  • a contextual help area / documentation
  • list of recently used files
  • history of (recent) actions
  • interactive undo/redo pane
  • favourites
  • directory listing
  • output panel
  • property panel
  • a preview area

You should also include information on a shortcut or alternative method of showing or hiding this extra pane so that irrespective of whether the main window is maximized or not, the user can see how to control this pane via another route than just making the window bigger or smaller.

The extra pane may be within the main window (perhaps using a splitter), or it may appear neatly abutted to one side of the window as an actual secondary window. Splitters are nice in that they allow easy resize.

Ensure that if the user changes the splitter size or hides this extra pane, then that state should be remembered between maximizes and between sessions.

But remember - this is catering only for those people who have huge screens - do not compromise behaviour for others in order to cater for the minority.


Users will expect the application to grow to fit the current screen when they hit the Maximize button. Changing this behaviour will break their expectations.

If your controls don't need more than 1920x1080 (using your figures) then you could expand the status area (if there is one) to use the remaining space. If you have any tree views or list boxes then these will also look OK if expanded to fill the available space.


Recently, I have successfully implemented a Responsive Layout on a Desktop App. I was facing same problem like you.

  • My layout consisted of 320px wide columns.
  • Some areas stretched over two, some over more columns. Depending on its porpose.
  • Some areas collapsed to less columns on small screensizes. And I restricted the "working area" on 6 colums. So it wouldnt stretch over all the screen estate and get unreadable.
  • Using this technique the window can maximized even on dualscreen and you still have control over the layout.
  • Vertical isnt that hard, but for reason of small screens (800*600) I put top navigation and bottom buttons into sticky header/footer areas. Thus they will never be hidden in scrollable areas.

When you cater to a wide target audience who have big 4k monitors as well as small 11' inch Macbook pro, then you need to consider a lot of things.

  1. Don't think of increasing the minimum size though you see in the google search that people have stopped using smaller screen monitors. Don't assume. Check your Analytics. See what your users are using. There can be some people who are working on small machines.
  2. I think that max size should not be restricted. It won't give expected result to the user if he tries to maximize his window.
  3. If the app size is bigger than the minimum size then after first launch make it of an ideal size where full application is seen properly. If the user uses small screen allow him grab the corner and make it to min size. Users with big size screens will anyway maximize it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.