How often have you heard someone say "on mobile", or "on desktop"? Or even "mobile-first"? What connotations does that have? What does "mobile" even mean? Even my desktop PC is "mobile" if I'm willing to put the effort in, surely?
When it comes to designing/building (visual) user interfaces, the unique considerations actually being suggested by the terms "mobile" and "desktop" are:
- Viewport size
When we're designing or building any UI, we should start where we're most constrained; if we start by designing for large viewports, chances are we'll run into problems when we try and shrink those down for smaller viewports. Sometimes we may get away with it; sometimes it may not matter, but if we start the right way around, we'll always get away with it, and it will never matter.
If we want to say, offer some functionality that takes advantage of a user's location, the natural thing that most people jump to is
"oh! If they're *on mobile* then..." - but as soon as you do that, you're making an assumption about
device type based on a
capability (in this case, GPS) which any device could theoretically have.
In my opinion (and indeed experience) - no matter how many times people might think they can, we can not assume user intentions (or restrictions, or even viewport size) based on device type. That's one of the big reasons that I think it's important to completely avoid the term "mobile". Terms like "mobile" and "desktop" place importance on the wrong things, as far as I'm concerned. If my viewport is 320px, that doesn't mean I'm on a phone at all. I might have four browser windows side-by-side, or I might have visual difficulties that mean I prefer to have my screen at a super-low resolution so I can see everything easier, etc.
It's difficult for developers (and I assume people providing mock-ups as well, although I've never been one of those people) to not think about the screen that's directly in front of them first - but it's super beneficial to change that mindset! It's so easy to get to a point where you've done a large-viewport mockup, and you go to "shrink it down" and find that it doesn't work anywhere near as well as you originally thought it should, or you find you've laid some data out in an entirely inappropriate format and you now have to develop something in a different way because you didn't plan ahead, or whatever. These are problems you just don't face when you do it properly.
Or even worse, you design something for a large viewport, and hand it over to a developer and just say "you deal with it for smaller viewports" - now we have different people designing the same part of a product for different viewport sizes, which feels...I dunno, wrong? Especially if we have design-minded folk handing off to people (like me!) who have no design skills whatsoever.
Viewports and capabilities are important, device type is not. So maybe we can stop talking like it is? :-)