36
SD1230 Unit 9 Mobile Applications

SD1230 Unit 9 Mobile Applications. Course Objectives During this unit, we will cover the following course objectives: – Identify the characteristics of

Embed Size (px)

Citation preview

Page 1: SD1230 Unit 9 Mobile Applications. Course Objectives During this unit, we will cover the following course objectives: – Identify the characteristics of

SD1230

Unit 9Mobile Applications

Page 2: SD1230 Unit 9 Mobile Applications. Course Objectives During this unit, we will cover the following course objectives: – Identify the characteristics of

Course Objectives

• During this unit, we will cover the following course objectives:– Identify the characteristics of mobile applications.– Describe the differences and similarities of mobile

Web and mobile applications.– Describe the process used to build, test, and

distribute a mobile application.

Page 3: SD1230 Unit 9 Mobile Applications. Course Objectives During this unit, we will cover the following course objectives: – Identify the characteristics of

Learning Outcomes

• Completing this unit should help enable you to:– Describe the role of an emulator.– Identify the characteristics of mobile applications.– Describe the tools available for each of the three

major mobile development platforms.– Create a simple mobile app.– Given a website or application, identify

characteristics that affect its usability on a mobile device.

Page 4: SD1230 Unit 9 Mobile Applications. Course Objectives During this unit, we will cover the following course objectives: – Identify the characteristics of

Mobile Web App vs. Native App

Mobile Web app• Better cross-device and

cross-platform support• More difficult to monetize• You have control• Consumers expect it to “just

work”

Native app• Device fragmentation• Need to build or port for

each platform• Product short-term revenue

for developers and operators

• Operators or platform makers have control

Page 5: SD1230 Unit 9 Mobile Applications. Course Objectives During this unit, we will cover the following course objectives: – Identify the characteristics of

When to Make a Native Application

• You want to charge for it• Games• Historically required for location-aware apps, but

now many popular browsers are location-aware• Using the camera• Using accelerometers• Accessing the file system• Offline users

Page 6: SD1230 Unit 9 Mobile Applications. Course Objectives During this unit, we will cover the following course objectives: – Identify the characteristics of

When to Make a Mobile Web Application

Whenever a native app is not required

PhoneGap• Native app that exposes many device features

to a Web app• Can be distributed and sold in device

marketplaces

Page 7: SD1230 Unit 9 Mobile Applications. Course Objectives During this unit, we will cover the following course objectives: – Identify the characteristics of

Adapting to Multiple Devices

Detect Adapt Deliver

Page 8: SD1230 Unit 9 Mobile Applications. Course Objectives During this unit, we will cover the following course objectives: – Identify the characteristics of

Strategies for Multiserving

1. You can do nothing and wait for the mobile industry to become fully homogenized.

2. You can try to use a progressive enhancement technique to provide fallback experiences to a number of devices.

3. You can target only a handful of devices that support the standards you wish to support, knowing full well that this means making your mobile experience less accessible to your intended market.

4. You can adapt the experience based on the class of the requesting device, making many assumptions about its capabilities.

5. Provide an experience specific to each requesting device.

Page 9: SD1230 Unit 9 Mobile Applications. Course Objectives During this unit, we will cover the following course objectives: – Identify the characteristics of

Serving Multiple Contexts is Redundant and Expensive

Page 10: SD1230 Unit 9 Mobile Applications. Course Objectives During this unit, we will cover the following course objectives: – Identify the characteristics of

Multiserving from a Central Data Source

Page 11: SD1230 Unit 9 Mobile Applications. Course Objectives During this unit, we will cover the following course objectives: – Identify the characteristics of

Strategy #1: Do Nothing

• Mobile Web Initiative (MWI)• One Web – the browser is the multiserver

– It assumes that your content for multiple contexts will be the same, when it usually isn’t.

– It assumes that cost per kilobyte to the user is minimal or nonexistent. In other words, it assumes that the user is willing to pay for content not designed for his or her context.

– It assumes that a persistent and high-speed data network will always be available.

– It assumes that mobile browsers are smart and will support the same standards consistently, which isn’t the case, at least today.

– It assumes that a technology-based principle should come before the needs of the user.

Page 12: SD1230 Unit 9 Mobile Applications. Course Objectives During this unit, we will cover the following course objectives: – Identify the characteristics of

One-Web Approach with Media Queries

• Add a line of code that points to a CSS file• Requires Web browser that supports CSS3

<link media="screen and (device-width: 320px)" rel="stylesheet“ href="320styles.css" type="text/css" />

Page 13: SD1230 Unit 9 Mobile Applications. Course Objectives During this unit, we will cover the following course objectives: – Identify the characteristics of

Strategy #2: Progressive Enhancement

Page 14: SD1230 Unit 9 Mobile Applications. Course Objectives During this unit, we will cover the following course objectives: – Identify the characteristics of

Implementing Progressive Enhancement

• XHTML<link media="screen" rel="stylesheet"

href="desktop.css" type="text/css" /><link media="handheld" rel="stylesheet"

href="mobile.css" type="text/css" />• Within CSS

@media handheld {* { font-family: sans-serif }}

Page 15: SD1230 Unit 9 Mobile Applications. Course Objectives During this unit, we will cover the following course objectives: – Identify the characteristics of

Implementing Progressive Enhancement

• Class C and D<link media="handheld" rel="stylesheet" href="class-

c.css" type="text/css" />• Class B

<link media="screen" rel="stylesheet" href="class-b.css" type="text/css" />

• Class A<link media="only screen and (max-device-width:

480px)" rel="stylesheet“ href="class-a.css" type="text/css" />

Page 16: SD1230 Unit 9 Mobile Applications. Course Objectives During this unit, we will cover the following course objectives: – Identify the characteristics of

Strategy #3: Device Targeting

• Use the HTTP headers information to detect the device and browser– User-Agent string

• Requires a device database on the server• Mobile Browser Detection scripts

Page 17: SD1230 Unit 9 Mobile Applications. Course Objectives During this unit, we will cover the following course objectives: – Identify the characteristics of

Strategy #4: Full Adaptation

• Most expensive option to develop or maintain• Detect device browser• Dynamically render device-optimized content• Typically required for “on-deck” applications• Can be used for “off-deck” Web applications

Page 18: SD1230 Unit 9 Mobile Applications. Course Objectives During this unit, we will cover the following course objectives: – Identify the characteristics of

Reasons to Use Full Adaptation• You want to deliver the best possible experience to a number of Class

B or lower devices, where other strategies don’t cut it.• You want to support users outside of the United States, where higher-

end devices constitute the majority.• You want to do anything highly transactional, like billing or payments

for content or services, for Class B or lower devices.• You want to do SMS campaigns that terminate with a mobile website.• You have a media-rich experience, such as images, video, or audio, and

need it to render properly on several devices.• You want to support several nonphone mobile devices, like GPS units,

e-book readers, portable gaming consoles, and so on.• You want to support a number of different devices and contexts, either

now or in the future.

Page 19: SD1230 Unit 9 Mobile Applications. Course Objectives During this unit, we will cover the following course objectives: – Identify the characteristics of

Device Databases

• Wireless Universal Resource File (WURFL)– Open-source database of device profiles– WALL and WNG

• Adaptation libraries based on WURFL

• dotMobi’s Device Atlas– Test suite– Web interface to the database– Standards-based API

• Volantis– Content adaptation vendor

Page 20: SD1230 Unit 9 Mobile Applications. Course Objectives During this unit, we will cover the following course objectives: – Identify the characteristics of

Yahoo Blueprint

Page 21: SD1230 Unit 9 Mobile Applications. Course Objectives During this unit, we will cover the following course objectives: – Identify the characteristics of

Netbiscuits Web Service

Page 22: SD1230 Unit 9 Mobile Applications. Course Objectives During this unit, we will cover the following course objectives: – Identify the characteristics of

Mobile-Aware Web Service

Page 23: SD1230 Unit 9 Mobile Applications. Course Objectives During this unit, we will cover the following course objectives: – Identify the characteristics of

.mobi Domain

• ICANN-approved top-level domain for mobile devices

• Alternative to device detection, subdomains, or directors

Page 24: SD1230 Unit 9 Mobile Applications. Course Objectives During this unit, we will cover the following course objectives: – Identify the characteristics of

Device Plan

• Deciding what to support:– View server logs to see which devices are

accessing your site.– Use demographics to determine which devices are

used by your site’s target audience.– Target the most profitable devices first.

• Create a test plan.

Page 25: SD1230 Unit 9 Mobile Applications. Course Objectives During this unit, we will cover the following course objectives: – Identify the characteristics of

Devices by Market Segment

Page 26: SD1230 Unit 9 Mobile Applications. Course Objectives During this unit, we will cover the following course objectives: – Identify the characteristics of

Device PlanNumber Score System

Support through progressive enhancement

Page 27: SD1230 Unit 9 Mobile Applications. Course Objectives During this unit, we will cover the following course objectives: – Identify the characteristics of

Device PlanActual Dollar Amounts

Page 28: SD1230 Unit 9 Mobile Applications. Course Objectives During this unit, we will cover the following course objectives: – Identify the characteristics of

Device Testing

• Test on physical devices– Often cost-prohibitive– Sometimes required

Accelerometer

Page 29: SD1230 Unit 9 Mobile Applications. Course Objectives During this unit, we will cover the following course objectives: – Identify the characteristics of

Device Testing

• Other ways to get access to a physical device– Operator store– Mobile Monday device libraries

Page 30: SD1230 Unit 9 Mobile Applications. Course Objectives During this unit, we will cover the following course objectives: – Identify the characteristics of

Estimating Testing Effort

• Device testing takes 2 to 4 times development effort

Page 31: SD1230 Unit 9 Mobile Applications. Course Objectives During this unit, we will cover the following course objectives: – Identify the characteristics of

Sprint-like Testing

• Test the primary devices, then release• Test secondary devices after release

Page 32: SD1230 Unit 9 Mobile Applications. Course Objectives During this unit, we will cover the following course objectives: – Identify the characteristics of

Test Plan

• Functional tests– Based on feature list

• Context tests– How does the user experience render on the device?– Does it load quickly and correctly?– Can you use the physical features of the device as intended?– Does it terminate correctly?– What happens when the device loses connection?– Does the application work when hopping from cell tower to

cell tower?

Page 33: SD1230 Unit 9 Mobile Applications. Course Objectives During this unit, we will cover the following course objectives: – Identify the characteristics of

Test Portal

Page 34: SD1230 Unit 9 Mobile Applications. Course Objectives During this unit, we will cover the following course objectives: – Identify the characteristics of

Desktop Testing

• Frames• Opera Small Screen view• WebKit browser• Simulators and emulators

Page 35: SD1230 Unit 9 Mobile Applications. Course Objectives During this unit, we will cover the following course objectives: – Identify the characteristics of

dotMobi emulator

Page 36: SD1230 Unit 9 Mobile Applications. Course Objectives During this unit, we will cover the following course objectives: – Identify the characteristics of

Summary

• In this unit, we covered the following topics:– Mobile Web app vs. native app– Native app creation– Multiple device support– Device plans– Testing