Web vs Native:
It Ain't Over 'Til It's Over

Michael Mahemoff, State of the Browser II

@mahemoff #lwsbrowser


People are asking questions ..

People are making statements ..

People are taking photos ..

Meanwhile in 2011

Get Off My Lawn


Login for API?

No Signup?

Where the Web Excels ...


"24 – The number of web site visits the average smartphone user makes per day"


API Technology

Everyone Needs Web Presence


Developer Experience

  • Learning the basics. Friendly parsers FTW!
  • Improving. Thousands of tutorials FTW!
  • Setting Up. Open FTW!
  • Making a working app. HTML+CSS+JS FTW!
  • Deploying, Updating. No gatekeeper FTW!
  • Stealing Reusing. GitHub FTW.

But there are challenges

Challenge: User Interfaces

Desktop User Interfaces


Mobile User Interfaces

User Interface

Long-Term Threat level: Low

Challenge: Offline

Native is Offline By Default

  • App Cache
  • Local Storage
  • Web SQL Database
  • Indexed DB
  • FileSystem
  • Developer Experience
  • Compatibility

Drowning in Choice?


Long-Term Threat level: Medium

Challenge: Device Integration

  • Single-Sign On
  • Sharing/Intents
  • Contacts
  • Camera
  • ...

Web Intents




Long-Term Threat level: Medium

Challenge: Background Processing

  • Notifications
  • Geo-fencing
  • Syncing content

Background Pages

Background Processing

Long-Term Threat level: High

Other Challenges

  • Monetisation
  • Competing Standards

Challenge Accepted

Concrete Advice for Developers

Guide through decisions

Tools and Libraries for Progressive Enhancement

Browsers vary. Deal with it.

Even less friction

  • Mobile browsers: Single-sign on
  • In-app payments → In-browser payments
  • Background processing and notifications, without installation

Embrace Open Standards

With new devices, the web's openness means it should be the platform for defining common APIs.

Embrace Open Standards

  • Talk to your friendly developer relations.
  • File bugs, document challenges.


  • Make login easy. Remember cookies.
  • Unique URLs to support sharing.
  • Restore state when web app starts.

Betting against open standards: A risky proposition

Michael Mahemoff | http://mahemoff.com