The most important thing to bear in mind is how much we don’t know about the people using our sites. We don’t know where they are—I don’t mean geographically, as we can use GPS to locate them. I mean whether they’re at home, at work, on the bus, and so on. In essence, we have no idea of the context in which someone is using our site.
The common presumption is that people using mobile are on the move and in a hurry, often using low-bandwidth 3G connections, but that’s not always the case: Mobile is often used at home with a good fast Wi-Fi connection. But even the connection doesn’t tell the whole story; the signal may be poor or the bandwidth reduced because of congestion in the neighborhood. In fact, the 3G (or 4G in many countries) networks might actually provide a much better connection in many cases.
We also presume that mobiles are less powerful than desktops, but even that may not be true for much longer. Twin- or even quad-core phones with fast processors are making their way to the market, and within a year or two, who knows how much power they’ll have. And tablet/laptop hybrids like many Windows 8 devices are now more capable than laptops just a few years old.
There’s also the issue of size. The presumption is that for a large-screen device like a TV, viewers want a richer graphical environment, but a large screen doesn’t equal a powerful processor or a fast connection. Many web-enabled TVs have processors no more powerful than a smartphone, and the connection speed is open to the same vagaries as any other device. And with size comes the question of portability. The more portable the device, the less certain we can be of the context in which it’s being used.
Really, the cardinal rule is this: We cannot make presumptions. And having said that, I’m going to break my own rule.
To avoid repetition in this book, I rely on a few shorthand contexts based on common scenarios. These won’t necessarily be the most common scenarios, but ones that I think are common enough to serve a useful purpose. One example: Mobile users don’t have a super-fast Internet connection. Often mobile users are using their devices from home with a mega-fast fiber-optic connection broadcast over clear Wi-Fi from 2 feet away, but the opposite is often just as true: They’re away from home and relying on a very weak 3G signal (as happens to me too often). Many smartphones are built with scenarios like this in mind; they limit the number of connections that can be made at any time in order to not gobble precious data from the user’s limited tariff.
Likewise, a user with a desktop computer will likely have a direct broadband connection, providing fast data transfer rates. That’s not always true, of course—many people in rural areas have extremely low broadband speeds or still use dial-up—but the first scenario is common enough that I can use it as a shorthand.
I use shorthands like these throughout the book simply to avoid constant clarification and repetition, but I can’t drum home enough the idea that these presumptions can’t, and shouldn’t, be foremost in your mind when building and planning websites or applications.
You have a challenge. You don’t know who your users are, where they are, what they are doing, or which device they are doing it with. You can find out some (although not all) of that information, but their full context is completely unknowable and varies for each individual. The only thing you can reasonably know for certain is that either they want access to what you’re offering or they want to find out it’s not what they want. Either way, they want the answer quickly.
Performance is the only criterion that matters. Whether users are on a smartphone during rush hour and looking for information about the next train home or browsing through a shopping site while curled up on the sofa at home, they have a task that they want to complete as soon as possible, and completing this task using the nearest device will make them feel more efficient (this is known as found time).
Your site needs to be fast—and feel fast—regardless of the device it’s being displayed on. And fast means not only technical performance (which is incredibly important) but also the responsiveness of the interface and how easily users can navigate the site and find what they need to complete the task that brought them to you in the first place.