Ready to watch this entire course?
Become a member and get unlimited access to the entire skills library of over 4,900 courses, including more Developer and personalized recommendations.Start Your Free Trial Now
- View Offline
- Implementing well-defined web standards
- Working with Modernizr and Mobile Boilerplate
- Building a first mobile web page
- Understanding content adaptation strategies
- Designing forms for mobile
- Detecting client capabilities with script
- Using server-side detection with PHP and ASP.NET
- Working with mobile browser capabilities
- Viewing and testing the mobile site on device emulators
Skill Level Beginner
Before we begin learning the fundamentals of developing a mobile web site, it's important to first understand what it is that makes the mobile web different from other forms of web development. I refer to this as the mobile context, and it's very important to have a firm grasp of this concept in order to make your mobile web sites easy to use and productive for the user. Ask many web developers today what's different about mobile, and they're likely to say something like, "Well, the screen is smaller." But there's a lot more to consider than the screen size. Most important to remember is that mobile is a usage scenario, not a form factor.
Just the very state of being mobile changes the way that users access and consume information from the web. Remember, mobile web users are very often busy with an activity that is an adjunct of accessing your site. For example, I may be at a restaurant and want to transfer money between bank accounts, or I may be at a sporting event and want to check scores from other teams around the league. My main focus is not necessarily on your site, and making information easy and quick to consume is the primary concern.
In addition to the user's state of mind, their physical environment can also be unpredictable, which can dramatically affect the user's ability to focus on and understand your site's content. The ambient lighting may be dark in indoors or bright in outdoors. They may be in a private setting or surrounded by people in a crowded train. All of these conditions have a profound effect on how users access your site. Mobile web users have also come to expect sites to adapt to their particular surroundings. They want sites to consider things like the time of day or where they are.
For example, a user that's accessing a movie-related web site would probably expect theaters that are closer to them to be listed first, and would not want to see ticket purchase links for times that have already gone by that day. Of course, the physical screen size of mobile devices matters when you're designing mobile pages, but even those have changed dramatically just in the past several years. Consider, up until a few years ago the largest smartphone devices were perhaps 3 to 4 inches across diagonally, but then other mobile device were introduced.
Today, common mobile devices include the Kindle, the Galaxy tab, and the iPad, all with varying screen sizes and capabilities. So if anything should convince you that designing and developing for mobile is about more than just screen size, this should. Now the physical aspects of mobile devices are also very important to consider when creating mobile sites, but even then, it's more than just about the screen size. The main physical differences between mobile and desktop devices are pretty straightforward. On desktops you have nice large keyboards, along with really accurate pointing devices, like mice or pens or trackpads.
There is also usually a separate decent-sized monitor for viewing, and these days more than one monitor is increasingly common. These are complemented by high-capacity storage device, like a hard drive, along with powerful CPUs and GPUs. Mobile device, on the other hand, often have limited physical keyboards or virtual onscreen keyboards. There's no mouse or trackpad. You typically use your finger, or on older phones, a stylus. The screen is much smaller and can easily rotate from portrait to landscape mode.
The CPU and GPU are usually much less capable than a desktop, and the storage space is typically in order of magnitude smaller than a desktop. These physical differences lead directly to experience differences in how each device is used. Desktops are typically used from fixed locations. Even laptops are usually used from a stationary position. They're good for long open-ended browsing sessions, during which the user is often comfortable and focused, which allows the user to easily multitask among a variety of windows and applications.
Mobile devices, by contrast, are often used in on-the-go situations in unpredictable environments. They lend themselves well to situations in which the user wants to be able to quickly access a small piece of information that they need to know right then and there. Rather than multitask among lots of windows, the mobile user is much more likely to be focused on discrete individual tasks. These experience differences have a profound impact on how a mobile web site is perceived by users, especially when you consider that today's phones know more about the world around them than ever before.
Things like the clock and geolocation are fairly standard among smartphones today, and some newer mobile browsers have introduced access to the accelerometer and camera. Now not all of these features may be available to you today, but within a couple of years, the majority of them almost certainly will be, enabling a new class of web sites the world hasn't seen before. So, how do you design your mobile site to take these kinds of things into consideration? This task is made somewhat easier when you force yourself to answer a series of basic questions before you even write a single line of markup or script. Let's take a look.
To begin with, ask yourself who it is that's using your site? What is the typical profile of someone who visits your site? Are they of a certain age group, work in a particular industry? You get the idea. Understanding the main personas of your users will help you shape the features you make available. Next, what is it that visitors to your site are doing when they get there? What are the most likely actions that they are trying to complete? Consider, for example, an airline site. Now on a desktop version, airline sites provide all kinds of features: checking in, planning vacations, reviewing your Frequent Flyer account, researching travel destinations, et cetera.
But a mobile user to that same site probably isn't looking to plan a vacation. The most likely things they want to do are probably to see if their fight's on schedule and perhaps check in. Therefore, those two things have to be very obvious and easy to use on the mobile version of the site. Beyond the 'who' and 'what' questions, you might want to consider where your mobile site is being accessed from? In many common scenarios, the user's location can provide a valuable piece of input to your site. A bank's mobile site might automatically tell the user where a few nearby ATMs are on the ATM search page, for example, saving the user from having to explicitly search for one.
With more and more phones becoming location aware, providing this kind of feature can increase your site's stickiness among your customers. A close relative to 'where' is 'when?' When is your site being accessed? Can the user's experience be enhanced by your site's understanding of the date or time of day? For example, consider the mobile banking site. If the user tries to search for branch and it happens to be closed, the site might automatically suggest a nearby ATM instead. Or if the site provides a link that dials a company's phone number, it might disable the link if it's after business hours, or show the user some other number to dial.
The next question to consider is why? Why is the user coming to your site? Do they typically need a quick answer to a question, or are they looking for deeper information? Visitors to a new site, for example, might decide between reading short, concise summaries of new stories or longer, more in-depth versions depending on their current mood and setting. Giving the user the ability to customize the way they consume information provides flexibility that maximizes the user's satisfaction among differing circumstances. Finally, consider how the user is accessing your site.
Are they using a modern, highly capable device? If so, maybe you can provide streaming audio or video to them. If not, maybe plain text will have to do. If the device supports client-side storage, your site might be able to reduce network traffic by caching content locally on the device. By detecting the capabilities of the user's device, your site can customize the richness of the experience it provides. As you can see, there are plenty of things you need to consider when building a mobile web site beyond just screen size. By following the process I've outlined here and asking some very basic questions and really placing yourself in your users' shoes, you greatly reduce the amount of time and effort spent in understanding what your mobile site needs to do.
Follow these steps before you write any markup or script and you will save yourself a lot of trouble later.