mlj9 mobile learning: what every developer needs to know
TRANSCRIPT
MLJ9 Mobile Learning:
What Every Developer Needs to Know
Jason Haag, ADL
Kris Rockwell, Hybrid Learning Systems
What Every Developer Needs to Know What Every Developer Needs to Know
Jason Haag, Advanced Distributed Learning Kris Rockwell, Hybrid Learning Systems
HOSTED BY:
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
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
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.
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.
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.
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
Landscape Portrait Square
Mobile content must be aware of this and offer a good experience in both orientations.
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
Every mobile browser uses one or many of these modes of navigation:
Focus navigation Cursor navigation Touch navigation Multi-touch navigation
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
http://validator.w3.org/mobile/ http://ready.mobi
◦ 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)
Battery life Memory and
storage Processor ◦ SoC – System on a
Chip
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