MLJ9 Mobile Learning: What Every Developer Needs to Know

24
MLJ9 Mobile Learning: What Every Developer Needs to Know Jason Haag, ADL Kris Rockwell, Hybrid Learning Systems

Transcript of MLJ9 Mobile Learning: What Every Developer Needs to Know

Page 1: MLJ9 Mobile Learning: What Every Developer Needs to Know

MLJ9 Mobile Learning:

What Every Developer Needs to Know

Jason Haag, ADL

Kris Rockwell, Hybrid Learning Systems

Page 2: MLJ9 Mobile Learning: What Every Developer Needs to Know

What Every Developer Needs to Know What Every Developer Needs to Know

Jason Haag, Advanced Distributed Learning Kris Rockwell, Hybrid Learning Systems

HOSTED BY:

Page 3: MLJ9 Mobile Learning: What Every Developer Needs to Know

  Applications (Apps)   Application Programming Interface (API)   Cascading Style Sheets (CSS)   Extensible Markup Language (XML)   Hyper Text Markup Language (HTML)   Integrated Development Environment (IDE)   Operating System (OS)   Software Development Kit (SDK)   System on a Chip (SoC)   World Wide Web Consortium (W3C)

2

Page 4: MLJ9 Mobile Learning: What Every Developer Needs to Know

Windows Phone 7

Apple iPhone

Symbian

iOS

Android OS

Web OS

Objective C

Transcode

AT&T

Verizon MeeGo

BlackBerry

Nokia

Samsung

HTC

XHTML Java ME

Accelerometer

GSM

3G

API

4G

GPS

JavaScript

Wi-Fi

CDMA

SMS

3GPP

GPRS

Java

Motorola

Bada

Page 5: MLJ9 Mobile Learning: What Every Developer Needs to Know

 A mobile device has the following features: ◦  It’s portable. ◦  It’s personal. ◦  It’s with you almost all the time. ◦  It’s easy and fast to use. ◦  It has some kind of network connection.

Page 6: MLJ9 Mobile Learning: What Every Developer Needs to Know

  Basic Mobile Phones ◦  Call and SMS support

  Low-end Mobile Devices ◦  No touch support, poor web/browser support, limited memory, and may include basic

camera and/or music player

  Mid-end Mobile Devices ◦  Medium-sized screen, basic HTML-browser support, sometimes 3G, a decent camera, a

music player, games, and application support

  High-end Mobile Devices ◦  Usually non-multitouch, but have advanced features (accelerometer, high MP camera,

and Bluetooth) and good web support)

  Smartphones ◦  SoC, full browser / HTML support, Wi-Fi, 3G/4G, music player, GPS, video capable,

Bluetooth, touch support, accelerometer, 3D video acceleration, etc.

  Non-phone Devices ◦  Wi-Fi support, browser, other features, etc. iPod, e-Book readers, etc.

Page 7: MLJ9 Mobile Learning: What Every Developer Needs to Know
Page 8: MLJ9 Mobile Learning: What Every Developer Needs to Know
Page 9: MLJ9 Mobile Learning: What Every Developer Needs to Know

  Device features ◦ Device dimensions, display, resolution, aspect ratio

  Accessibility & Usability ◦  Input methods, navigation, browsing

  Connectivity & Bandwidth ◦ Wi-Fi, 2G/3G/4G, image compression, transcoding,

offline caching   Performance ◦ Memory, disk space, SoC

  Additional Capabilities ◦  Audio, video, camera, compass, GPS,

accelerometer, gyroscope, sensors, etc.

Page 10: MLJ9 Mobile Learning: What Every Developer Needs to Know
Page 11: MLJ9 Mobile Learning: What Every Developer Needs to Know
Page 12: MLJ9 Mobile Learning: What Every Developer Needs to Know

Devices sold from 2007, we can separate most of them into four basic groups:

  Low-end devices: 128×160 or 128×128 pixels

  Mid-end devices (group #1): 176×220 or 176×208 pixels

  Mid-end devices (group #2) and high-end devices: 240×320 pixels

  Touch-enabled high-end devices and smartphones: 240×480, 320×480(HVGA), 360×480, 480×800, 480×854, or 640×960 pixels

Note: Today, the most widely available screen resolution is 240×320 pixels (QVGA). Touch devices typically have a higher resolution than devices with a keyboard because no space needs to be reserved for the keypad.

DPI / PPI Calculator: http://members.ping.de/~sven/dpi.html

Page 13: MLJ9 Mobile Learning: What Every Developer Needs to Know

Landscape Portrait Square

Page 14: MLJ9 Mobile Learning: What Every Developer Needs to Know

Mobile content must be aware of this and offer a good experience in both orientations.

Page 15: MLJ9 Mobile Learning: What Every Developer Needs to Know

A device may support only one input method or many of them. Possibilities include:

  Numeric keypad   Alphanumeric keypad (ABC

or QWERTY)   Virtual keypad on screen   Touch   Multitouch   External keypad (wireless or

not)   Handwriting recognition   Voice recognition

Page 16: MLJ9 Mobile Learning: What Every Developer Needs to Know

Every mobile browser uses one or many of these modes of navigation:

  Focus navigation   Cursor navigation   Touch navigation   Multi-touch navigation

Page 17: MLJ9 Mobile Learning: What Every Developer Needs to Know

  Different approaches to multipage browsing (i.e., opening more than one web page at the same time). Different browsers take different approaches:

  Only one page support   Multiple windows   Windows stacks   Tab navigation

Page 18: MLJ9 Mobile Learning: What Every Developer Needs to Know

http://validator.w3.org/mobile/ http://ready.mobi

Page 19: MLJ9 Mobile Learning: What Every Developer Needs to Know

◦  Image Compression: Files must be optimized for quicker load times

◦  Trancoding ◦  Proxy that intercepts web content and reformats and compresses ◦  Sometimes cause problems and degrades content / break device detection ◦  Alleviated by adding the Cache-Control: no-transform header to all your HTTP

responses ◦  Caching

  lowers download times and costs   <meta http-equiv="Cache-Control" content="max-age=300"/>

◦  HTML5   Persistent Local Storage   Similar to cookie concept, but not auto transmitted back to the server   The data remains local as keyed name/value pairs to be stored

within the browser   Limited to 5MB   Offline Caching (Manifest)

Page 20: MLJ9 Mobile Learning: What Every Developer Needs to Know

  Battery life   Memory and

storage   Processor ◦  SoC – System on a

Chip

Page 21: MLJ9 Mobile Learning: What Every Developer Needs to Know
Page 22: MLJ9 Mobile Learning: What Every Developer Needs to Know

 An emulator is not always consistent with the actual device

  Limited support for Flash player ◦  Windows Mobile & Android 2.2 only

  Poor / inconsistent support for pop up windows and framesets

  Limited video support ◦  Varying formats supported

Page 23: MLJ9 Mobile Learning: What Every Developer Needs to Know
Page 24: MLJ9 Mobile Learning: What Every Developer Needs to Know