Viewers: in countries Watching now:
This course surveys the core principles and techniques essential to building web sites for mobile devices. Author Joe Marini introduces the mobile context, sheds light on its unique coding requirements, and discusses interface design techniques that enhance existing sites for mobile viewing. The course shows how to approach designing for mobile form factors such as smaller screens and finger-based interaction, along with how to incorporate CSS3 and HTML5 capabilities, such as geolocation, local storage, and media queries.
Entering data into a mobile device is more challenging than it is on a desktop PC. Mobile device keyboards vary greatly in size and quality, and some mobile devices don't have physical keyboards-- they use a virtual onscreen keyboard instead. Making data entry as easy and ever free as possible is crucial to creating a great usable mobile web experience. Whenever a user has to stop and enter information into a mobile web page, it creates a potential seam in the user experience. This is because entering data into a device requires the user to stop whatever else they're doing and then focus on the task of entering that data.
Having entered large amounts of data can quickly become tedious or error-prone, leading to a decline in the user's quality of experience. Now obviously, people enter data into mobile devices all the time. After all, people send billions of text messages every day, and sending emails for mobile devices has almost become more common than sending them from PCs. However, there is a difference between sending a text message or an email to your friend and having to supply data to a web site. Your friend might easily overlook misspelled words or know what you really mean if you give a slightly wrong number or name of a place.
Websites don't. They need accurate data in order to work and avoid big problems. You don't want your bank to think you meant $2,000 when you really meant $200, for example. In situations like this, it's important to help the user get the correct data into the device every time. One good way to minimize user data-entry errors is to only require the minimum amount of information to get the job done--or if it's a large task, the minimum amount of data to at least make significant progress. A good rule to follow here is that if it's not important to completing the task then don't require the user to enter it.
For example, a banking web site that lets you transfer money between accounts really only needs three pieces of data: the source account, the destination account, and the amount. And each of these items can probably be guessed ahead of time using previous transfer activity. Other data, like the date for the transfer or a memo field, are nice options but not required. The site could simply assume today's date if the user didn't want to enter one. Another good approach is to provide sensible default values that the user is likely to choose, again so that they don't have to start from scratch at a blank field. Consider an example of a site that allows dinner reservations to be made.
Most reservations will probably be between one and four or six people, but usually less than eight or ten. The site could make a sensible choice to default to two, and instead of requiring the user to enter a number via the keyboard, might decide instead to either use a dropdown list or up/down buttons to let the user tap to enter a number instead of having to type one. To make future data entry easier, when the user enters a piece of data that is likely to be needed again the next time they visit the site, your site should remember that data by storing it either in a cookie, or even better, using the HTML5 DOM local storage feature, which we'll look at later in the course.
Another great way to help the user enter data while minimizing typing is to consider using alternate ways of getting data into the device. For example, your site could use the device's onboard sensors like the clock or geolocation to save the user from having to enter data that the device can find out on its own. Or, your site can take advantage of information already in the page, such as phone numbers and addresses, and make them actionable items by wrapping them in links, for example, and in fact some mobile browsers do this automatically for some types of data.
Making intelligent design choices in your pages that help users complete their tasks faster is another way to minimize the user's effort in having to manually input data. One example is to display suggested options for the user based upon what they're likely to choose next. The banking site we talked about earlier might use the fact that I am currently looking at my checking balance to offer me a quick link to a bill-paying feature, whereas if I'm looking at my savings account, the first link might be to transfer money instead.
A site might also save more than one past input value for a field and offer up a few choices for the user in a way that they can be quickly sorted and selected. My banking site might, for example, remember the past three transfer amounts I made and provide quick links for each, instead of making me type in a different value each time. Finally, have your site use what it knows about the user's environment, or other details, to influence how they might want to request or see additional information.
The banking site we've been discussing might modify their search screen to show the user that branch offices are closed if it's after 5 p.m. and then list those results either at the bottom of the page, preferring instead to list ATMs first. Fandango's mobile web site implements several of these guidelines pretty well, so let's take a look at their site. Okay, so here we are on Fandango's homepage and already right here on the homepage, Fandango is minimizing the amount of data I have to enter into device by offering to remember what my location is using the HTML5 Geolocation feature.
So I can either choose to tell Fandango what my location is or decline it, and there is a check box that lets me remember what that preference was. So I can turn that off just for now, say Share location. So now the web site will go out and figure out where I am physically, and it will use that data to show me movies. So now that it figures out where I am, when I click on the MOVIES link, it will use that information to show me what's currently in theaters. And notice that the Fandango web site is not listing the movies in alphabetic order. What it's doing is it's showing me the movies in the order in which they were most recently released, which in most cases is how most users will probably want to see them.
But the Fandango web site goes even further than that. By using information that site already has, which is my physical location and the time of day and what movies are playing in nearby theaters, they can provide a feature called the GoNow tab. So when I click on the GoNow tab watch what happens. The Fandango will web site will actually use my location and the current time to show me which movies are near me that are starting within the next 60 minutes, and you can see here I can sort between Distance and Time. And over here they're ordered, starting from which movie starts soonest to which movie starts latest.
So without using any typing whatsoever, I was able to go from accessing the homepage of the web site to seeing what movies are playing near me, and even seeing what movies are playing near me within the next 60 minutes. That's pretty cool. Following these principles will help your users accomplish their tasks while minimizing the amount of effort they need to spend entering data into your site's pages.
There are currently no FAQs about Mobile Web Design & Development Fundamentals.
Access exercise files from a button right under the course name.
Search within course videos and transcripts, and jump right to the results.
Remove icons showing you already watched videos if you want to start over.
Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.
Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.