Article: Why Cross-platform Literacy Matters

An excerpt from, by Christian Cantrell

Users increasingly expect application experiences that take full advantage of their chosen platforms. That means developers and designers have to be as familiar with the devices they target as their users.

This article explains why cross-platform literacy matters, and describes several techniques to make switching between platforms as easy as possible.

Harnessing Platform Capabilities

When applications are created by designers and developers who aren’t intimately familiar with their target platforms, it tends to show. I’ve spent most of my career working with cross-platform technologies, and one of the most important things I’ve learned is that details matter.

End users might choose their platforms based on things like social trends, financial considerations, and ecosystem investment, but they often come to love the little shortcuts, conveniences, and idiosyncrasies that make up that platform’s overall experience.

An application doesn’t have to take full advantage of every platform capability—especially early on; but since it’s safe to assume your competition will eventually provide the best and most native-feeling user experience possible, your standards should be equally high.

Cross-platform Fluency Matters

Designing and developing for multiple platforms is tricky. It’s logistically difficult since it usually requires varying skill sets, and it’s expensive since it sometimes requires investment in multiple sets of hardware.

Additionally, designers and developers are every bit as passionate about their chosen platforms as their end users—frequently even more so—which can introduce both biases and blind spots into their work. But I believe that the best user experiences come from designers and developers who are completely fluent in the platforms for which they build, and that being fluent in a platform means going beyond just testing: it means spending time using that platform for real-world tasks, and genuinely learning to appreciate it despite personal preferences.

This article describes several ways in which you can make working with multiple desktop and mobile platforms on a regular basis much easier and much more efficient. While it’s true that becoming intimately familiar with all the relevant platforms out there is a significant investment, it’s also true that the easier you make it, the more likely you will be to maintain that experience over time—and most importantly, the more you’ll learn to think like your users.

The Bad News First

Remaining digitally ambidextrous is not easy (or cheap), and in fact has proven to be a constant struggle for me over the years. That’s the bad news. But the good news is that several factors have made moving back and forth between devices and operating systems easier than ever:

  • Advances in emulation technology.

  • Extremely affordable cloud services.

  • Increasingly capable and popular web-based applications.

  • And finally, the continued popularity of both iOS and Android—as well as the resurgence of Macs—requiring many software vendors to support multiple platforms in order to reach all their customers.

Even Microsoft is embracing multiple platforms with tools like OneNote. (Microsoft OneNote)

To maintain technological fluency, it’s essential to spend time with the various devices and operating systems. Not only should you use them for testing, but it’s also important that you be familiar with the likely applications, tasks, and workflows of your end users.

The rest of this article describes several ways you can organize and configure your digital life to this end. The aim is to incorporate as many different platforms, workflows, and design languages as possible into your applications. If you succeed, all your customers will be well served, regardless of their platform.


The first requirement for engaging with multiple platforms is either the hardware to run them, or software solutions that provide effective emulation. The following section describes several approaches to making both mobile and desktop platforms as accessible as your budget allows.

The Computer

Let’s get this out of the way from the outset: the first thing you need is a Mac. There are plenty of options for accessing Windows (which I’ll cover in more detail below), but unless you want to build a Hackintosh, there’s really no way around buying an iMac, Mac mini, or a MacBook. Fortunately, as a developer or a designer, there’s a very good chance you already own at least one Mac, and if not, Apple has plenty of affordable low-end (but still very capable) Macs available.

Fortunately, accessing a Windows environment is much cheaper and easier. The simplest solution is to use a cloud service like Amazon WorkSpaces, Microsoft Azure RemoteApp, or VMware Horizon Air. But since performance is a critical component of a platform’s overall experience, I’ve never been a big fan of the latency typically seen with remote desktop environments. Therefore, I would recommend running Windows as natively as possible.

It’s been about a decade since Steve Jobs announced Apple’s plans to migrate from PowerPC processors to Intel’s x86 architecture, and not only have Macs gotten significantly faster, but running both OS X and Windows has also gotten much easier. The simplest way to have access to both operating systems is to install Windows on your Mac under emulation using tools like Parallels, VMWare’s Fusion, or the freely available VirtualBox. In general, I’ve found that these tools have gotten easier to use, faster, and much more capable over the years.

Running Windows on a Mac with Parallels.

For a more native experience, there’s always Boot Camp, which enables you to install Windows—along with a set of Windows drivers for Apple hardware—directly on a separate partition of your Mac’s hard drive. The advantage of Boot Camp is you typically get excellent performance, since Windows has access to all your Mac’s resources (in fact, there was a time when MacBooks were considered by many to be the best Windows laptops). However, the disadvantage is that you have to reboot into Windows, which makes rapidly testing or experimenting across environments much more time consuming.

My personal preference is to use two separate computers. In my opinion, Apple makes the best laptops, and I think the best Windows experiences are on desktop configurations. Therefore, I use a MacBook Pro for OS X, and a custom-built PC for Windows.

Mobile Devices

Mobile is where things really start getting tricky. I’ve learned the hard way that the established system of manufacturers, retailers, carriers, and service providers is not optimized for customers who want to own and operate multiple devices simultaneously. But with a little work (and a few good tips) it is possible.

My personal rule is to always buy my phones outright and never sign contracts or accept subsidies. Although it’s very tempting to have to come up with less cash upfront, having the flexibility to swap phones or upgrade whenever you want (selling old phones to offset the cost) is critical to having access to the most recent and popular iOS and Android experiences.

But the problem with having two phones is getting them both working at the same time. The easiest thing to do is to have a single phone plan that you use with one phone, and only use the second phone when Wi-Fi is available (which is almost everywhere now). If you want to make a more permanent switch, all you have to do is transfer the SIM card. Though somewhat inconvenient, it’s better than paying for two separate phone plans and trying to manage multiple phone numbers.

If you want both phones active on mobile networks at the same time, I would recommend some type of shared family plan. For example, I have an AT&T plan which allows me to share voice (which I seldom use) and data (which I use a lot) across as many devices as I want. Though I have to pay an additional $15 each month per device, it’s much cheaper than having entirely separate mobile phone plans.

The biggest problem with having multiple phones active at the same time is having multiple phone numbers. The best way around this problem that I’ve found is to use Google Voice (a technology that appears to be one of the underpinnings of Project Fi). Google Voice enables you to have a single phone number which forwards to as many different phone numbers as you want. Additionally, you can use Hangouts on iOS and Android (and in the browser) for texting and instant messaging. However, if you want to use native messaging services like Apple’s Messages app, then you’re probably better off just swapping SIM cards occasionally.

Google Voice allows you to have one phone number associated with multiple phones.

Continue reading this article on SitePoint!

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.