The most common resolution for a full-format Windows 10 device is 1366x768. That’s the same as a 720P phone (like the Lumia 640) in landscape orientation. Only 27% of PCs run at Full HD or better (source).

If you think you should avoid targeting Windows 10 Mobile with your app because it’s too annoying to develop for small resolutions, you’re cutting off a massive (73%!) cohort of Windows 10 desktop as collateral damage.

And that’s if you’re lucky enough to have users run your app run full screen! Think about your own usage patterns: do you run every Store app maximized?

It’s instructive to look back to 2007 to 2010, where mobile browser use skyrocketed. Mobile browsers were saddled with special templates that tucked away all the navigation links under a giant hamburger menu in the corner, confusing countless visitors — still true for many sites today. It wasn’t until web designers considered mobile as their primary target platform that sites began looking and feeling “correct” on both mobile and desktop.

The XAML layout engine is closely related to HTML/CSS, so some of the learnings from mobile web design can be applied literally to app design. The XAML Designer in Visual Studio even tries to nudge you in the right direction by always defaulting to a mobile layout.

So what does this mean in practical terms?

Avoid using Margin or Padding to absolutely position your UI elements. Instead use them only to add margin outside an element, or, ahem, padding inside an element.

Avoid using Grid Rows and Columns. This might be tough to swallow, but think of them as the equivalent of <table>-based layouts in HTML. (We use Grids a lot for our apps, but now they’re filled with neat things like StackPanels and VariableSizedWrapGrids instead of Rows and Columns.)

Let XAML flow and resize your elements whenever possible. If you need to align elements, align parent Grids. Trim your elements from values and members that are not necessary, which is much easier when working in code view.

About code view: spend more time in the XAML code view and less time in Design view. Use the handy editor keyboard shortcuts like Ctrl+M, Ctrl+M to quickly collapse parts of your XAML for better visibility (Ctrl+M, Ctrl+L to expand).

If you think your app is just too complex/precious/misunderstood to be simplified to such a degree, consider your users. Wouldn’t they appreciate something easier to use? Do they need to be exposed to all that complexity every time they open your app? You might end up with a better app in the process.

Take a hint from where web design has gone and make your app’s UI mobile-first — it doesn’t just benefit mobile users.

Tell me no lies

An app rejection notice for an issue on a Lumia 930. Details redacted to protect the guilty.

If you say your app supports mobile, the reviewers are going to test it on mobile, and reject it if there’s a problem. This shouldn’t come as a surprise. They might even test it on devices you’ve never even heard of, like the aforementioned Acer Iconia W700. This exciting device debuted with Windows 8 in 2012, and can be upgraded to Windows 10 in order to serve out the rest of its life torturing unsuspecting UWP apps at the hands of the Store certification department.

Rejections of this sort have caught more than a few developers off guard, because you have to manually disable your UWP app for mobile. By default, submitted UWP apps will be available on mobile devices unless you specifically disable it on the submission screen: