Always Bet on JS:

The Convergence of Operating System and Browser

Nick Desaulniers

Clarification

The Browser and OS are distinct pieces of software, but going forward will be less distinct to users than to developers.


Not replacing the kernel, but the window manager to provide the desktop environment.

Some History

  1. January 2009 - Palm webOS Launched
  2. July 2009 - Google Chrome/Chromium OS Announced
  3. November 2009 - Chromium OS Source Code Published
  4. July 2010 - Joli OS First Release
  5. February 2011 - HP Acquires Palm
  6. June 2011 - First Chromebook Ships
  7. August 2011 - webOS Development Halted
  8. April 2012 - Samsung Tizen First Release
  9. July 2012 - Firefox OS Created
  10. February 2013 - webOS Licensed To Palm
  11. July 2013 - Firefox OS Devices Begin Shipping To Consumers

Honorable Mentions






Chrome OS




Portability

The ultimate benefit of the web is portability.


"But native apps have better access to hardware!"

Enyo, PhoneGap/Cordova


Doesn't this feel backwards?

Lock into our tool set and we'll give you cross platform.


There is no "Developer Program" for the web.



System Applications Working Group

Most APIs are in the Stable draft (Last Call) of W3C standardization process.

Q1 - Q2 2014 Candidate Recommendation then Recommendation.


  • Browser API
  • Bluetooth API
  • Calendar API
  • Network Interface API
  • Media Storage API
  • Secure Elements API
  • Device Capabilities API
  • System Settings API
  • Idle API


    • Execution Model

    • Security Model

    • Alarm API

    • Contacts API

    • Messaging API

    • Telephony API

    • Raw Sockets API

    • Bluetooth API


      WebApp Runtime

      Performance

      "But JavaScript doesn't have the performance of native!"


      1. You're app sucks (premature optimization)!
      2. While you were bike-shedding about what language is the ultimate for everything from kernel development to application development, we made...
      3. Banana Bread Triple Demo
      4. Epic Unreal Engine 3 Citadel Demo

      But there's no shared memory between threads or inline assembly, so you won't be writing a kernel in JavaScript any time soon.

      Mobile Today

      Android is King

      But...

      Samsung


      What happens when the best selling Android handset manufacturer abandons Android for Tizen?

      80% of Smartphones

      1-1.6 Billion smartphones in use worldwide (est)

      7.1 Billion people on Earth (est)

      * 80% market share

      =

      11-18% of people on Earth use an Android device (est)


      That leaves A LOT of room for growth

      Platforms without mmap

      In order for a JIT compiler to work, it must be able to ask the operating system for executable virtual memory.  If the required system call is not available to user land, then generated code may not be executed.
      More on JITs

      HTML5 Battle Plan

      What can HTML5 do to take over the world?
      1. More Device APIs
      2. Consistent Performance Improvements
      3. Rocking Developer Tools (Demo)
      4. Partnering with Carriers and Handset Manufacturers
      5. Target Growing Markets
      6. ... (What should be added to the list?)

      Questions?

      Thanks!

      Nick Desaulniers
      @LostOracle
      nickdesaulniers.github.io (blog)

      Made with Slides.com