Mobile Applications History

Mobile Application Design and Development [./]
Spring 2010 — INFO 152 (CCN 42504)

Erik Wilde, UC Berkeley School of Information
2010-01-25

Creative Commons License [http://creativecommons.org/licenses/by/3.0/]

This work is licensed under a CC
Attribution 3.0 Unported License
[http://creativecommons.org/licenses/by/3.0/]

Contents Erik Wilde: Mobile Applications History

Contents

Erik Wilde: Mobile Applications History

(2) Abstract

The design and development of mobile applications has already gone through a number of stages of development, and the current landscape very likely will change substantially into yet unknown directions. Looking back at the short but surprisingly varied History of Mobile Applications not only is a good exercise in better understanding different approaches, but it is also interesting to look at why certain approaches may have failed or succeeded. Often, the deciding factors are not just technical, but economical and social issues play an important role as well.



Offline Mobile

Outline (Offline Mobile)

  1. Offline Mobile [6]
  2. Parallel Universes [6]
    1. i-mode [1]
    2. Wireless Application Protocol (WAP) [4]
      1. WAP 1.x [2]
      2. WAP 2.x [1]
  3. Runtime Environments [5]
    1. Java [3]
    2. Flash [1]
Offline Mobile Erik Wilde: Mobile Applications History

(4) Personal Digital Assistant (PDA)



Offline Mobile Erik Wilde: Mobile Applications History

(5) PDAs

psion-series3c.jpg

Offline Mobile Erik Wilde: Mobile Applications History

(6) The Last Psion

psion-series5mx.jpg

Offline Mobile Erik Wilde: Mobile Applications History

(7) The First Netbook (1999)

psion-netbook.jpg

Offline Mobile Erik Wilde: Mobile Applications History

(8) PDA/Phone Merger

palm-pilot.jpg

Offline Mobile Erik Wilde: Mobile Applications History

(9) Smartphone Sales Q2 2009

smartphone-os-q2-2009.png

Parallel Universes

Outline (Parallel Universes)

  1. Offline Mobile [6]
  2. Parallel Universes [6]
    1. i-mode [1]
    2. Wireless Application Protocol (WAP) [4]
      1. WAP 1.x [2]
      2. WAP 2.x [1]
  3. Runtime Environments [5]
    1. Java [3]
    2. Flash [1]
Parallel Universes Erik Wilde: Mobile Applications History

(11) Walled Gardens



i-mode

i-mode Erik Wilde: Mobile Applications History

(13) Access and Services

i-mode.png
  • Mix of access and content technologies
  • Developed and deployed by one mobile carrier (DoCoMo [http://en.wikipedia.org/wiki/NTT_DoCoMo])
  • Launched in 1999 as a tightly controlled walled garden
    • content and services are hosted in centralized data centers
    • the business model was predefined by the environment
  • Successful not only for market but also for social reasons
    • talking on the phone in the public is frowned on in Japan
    • data-oriented services (chatting, messaging) are important in Japan
  • i-mode never caught on outside of Japan
    • 2006: i-mode 46.8 million customers in Japan; 5 million in the rest of the world
    • no other mobile operator was able to establish a working market


Wireless Application Protocol (WAP)

Outline (Wireless Application Protocol (WAP))

  1. Offline Mobile [6]
  2. Parallel Universes [6]
    1. i-mode [1]
    2. Wireless Application Protocol (WAP) [4]
      1. WAP 1.x [2]
      2. WAP 2.x [1]
  3. Runtime Environments [5]
    1. Java [3]
    2. Flash [1]
Wireless Application Protocol (WAP) Erik Wilde: Mobile Applications History

(15) The Internet in your Pocket

  • WAP is just a set of access technologies
    • no content landscape/environment as in i-mode [i-mode (1)]
    • WAP started with zero content and high hopes for adoption
  • WAP had some very questionable approaches to security
    • WAP 1.x [WAP 1.x (1)] did not allow end-to-end encryption
    • providers always can listen in by running WAP gateways
    • security-sensitive providers refused to deploy any WAP services
  • WAP 2.x [WAP 2.x (1)] cleaned up WAP 1.x [WAP 1.x (1)] but came too late
    • mostly a set of profiles for existing Internet technologies
    • WAP 1.x [WAP 1.x (1)]'s design flaws tarnished the WAP brand name


WAP 1.x

WAP 1.x Erik Wilde: Mobile Applications History

(17) Rebuild Everything

  • New specifications for almost any Web standard
    • WML (extended subset of HTML)
    • WMLScript (incompatible with JavaScript)
    • WBXML (binary encoding of XML)
    • WBMP (derived from PNG but incompatible)
    • transport protocols (WCMP, WDP, WTP)
  • Secure connections were not end-to-end but through a WAP gateway
  • Some banks set up their own WAP gateways
    • technically a working solution (trusted WAP gateway)
    • terrible for consumers because of WAP configuration issues


WAP 1.x Erik Wilde: Mobile Applications History

(18) WAP 1.x Protocol Stack

wap1-layer-diagram.gif

WAP 2.x

WAP 2.x Erik Wilde: Mobile Applications History

(20) Reuse Existing Standards

  • WAP 2.x completely replaced the entire WAP 1.x Protocol Stack [WAP 1.x Protocol Stack (1)]
  • Failure in Europe and the USA, successful in Japan
  • WML is replaced by a profile of XHTML
    • much easier the develop than WML content (tool support)
  • WAP gateways now are regular HTTP gateways
    • end-to-end transfer with open and popular protocols
    • no more security issues for encrypted connections
    • gateways can add information to requests (phone numbers, location, …)


Runtime Environments

Outline (Runtime Environments)

  1. Offline Mobile [6]
  2. Parallel Universes [6]
    1. i-mode [1]
    2. Wireless Application Protocol (WAP) [4]
      1. WAP 1.x [2]
      2. WAP 2.x [1]
  3. Runtime Environments [5]
    1. Java [3]
    2. Flash [1]
Runtime Environments Erik Wilde: Mobile Applications History

(22) Content vs. Applications



Java

Java Erik Wilde: Mobile Applications History

(24) Write Once, Run Anywhere

Duke Waving
  • Java is a runtime environment supported on many operating systems
  • Strictly speaking, Java is three different things
    1. an object-oriented programming language
    2. an extensive set of class libraries as supporting environment
    3. the Java Virtual Machine (JVM) [http://en.wikipedia.org/wiki/Java_Virtual_Machine] for executing Java Bytecode [http://en.wikipedia.org/wiki/Java_bytecode]
  • Complete Java installations (Java SE [http://java.sun.com/javase/]) are very heavyweight
    • the runtime support for programs is rich and complex
    • Java has it roots in enterprise IT and not in lightweight Web
  • Java Applets [http://en.wikipedia.org/wiki/Java_applet] are a special kind of Java app
    • running inside a browser (can be started from the Web)
    • running inside a sandbox (security model for limiting OS access)


Java Erik Wilde: Mobile Applications History

(25) Java Micro Edition (Java ME)

  • Java ME (formerly J2ME) is a smaller version of the full Java SE
    • different devices implement different profiles of Java ME functionality
    • MIDP [http://en.wikipedia.org/wiki/Mobile_Information_Device_Profile] defines a set of standardized profiles
    • many mobile devices implement some MIDP version plus some additional JSR [http://en.wikipedia.org/wiki/Java_Community_Process]s
  • Installing J2ME applications often is a cumbersome process
    • installation somewhere outside of the usual Web access
    • procedures vary widely between different phone models
  • Running J2ME applications can be a frustrating process
    • device makers are using different J2ME implementations
    • feature support and implementation quality vary widely


Java Erik Wilde: Mobile Applications History

(26) JavaFX

  • Shedding the Java Micro Edition (Java ME) [Java Micro Edition (Java ME) (1)] brand
  • More Web standards for developing content
    • CSS as a way to specify the layout of content
    • scripting [http://en.wikipedia.org/wiki/JavaFX_Script] as a faster way for application development
  • Success and support currently unclear


Flash

Flash Erik Wilde: Mobile Applications History

(28) Multimedia on the Web

  • Robust scripting for desktop browsers
    • good strategy for deploying Flash as a browser add-on
    • gets harder with the growing variety of browsers (iPhone)
  • Started as an animation platform for content developers
    • includes many of the functionality now developed in HTML5
  • Many accessibility issues on Flash-oriented sites
    • navigation can be completely inaccessible
    • content can be hidden from search engines
    • content is less fluid than even the simplest HTML/CSS


2010-01-25 Mobile Application Design and Development [./]
Spring 2010 — INFO 152 (CCN 42504)