Skip to content
msrichmond edited this page Jun 3, 2013 · 16 revisions

An objective of the project is to provide a consistent HTML5 implementation across multiple OS's and distribution models.

           | Linux  | Android  | Windows  |  Mac 

---------------|--------|----------|----------|--------- Embedded | 2013 | 2013 | 2013 | Managed | 2013 | | | N/A Bootstrapped | N/A | | |

Which Linux? We're going to use Tizen PC as our default Linux distribution. But others should work equally well.

When we say "Windows", we mean Windows 7 and Windows 8 Desktop environments. Windows 8 "Modern" does not provide access to APIs needed to run applications that are not using its built-in runtime.

The easiest Android versions to support are the later ones. But we are going to try to get the Cameo Embedded Runtime to work on Gingerbread. We know that the lack of HW acceleration will make things like WebGL useless, but we do think we can improve on the built-in Android web view on Gingerbread.

The latest Mac OS will generally be targeted.

A bootstrapped runtime for Linux generally is not practical because of the dependencies the runtime has on knowing which Linux is targeted.

A managed runtime would have to be bundled with new Mac systems, that's not a practical possibility.

Generally, the project's priorities are from upper left to lower right. So, you can expect the first implementation of Embedded and Managed models to be on Linux, then Embedded on Android and Windows.

Features by OS and Model View

Topics related to Tizen should be moved into the Tizen project area, are not generally relevant to Cameo contributors/users.

W = Windows platform adaptation

L = Linux (aka Tizen PC) platform adaptation

T = Tizen Mobile adaptation

I = IVI platform adaptation

A = Android platform adaptation

(*) Some items may be implemented on the given platform by Chrome, but need verification and might require a few adaptations, like hooking up UI.

Q2 (2013)

The overall goal of the quarter is to get the project started and do a proof-of-concept of Bracket running on top of the runtime, so that both Adobe and Intel tool teams can start getting involved.

  • Process related:

    • Initial project infrastructure setup
      • GitHub repository, internal initially, later public
      • Web site + Wiki
      • Issue tracker + review support, GitHub initially, JIRA possible later
      • EWS + Style bots
      • Waterfall based on buildbot
      • Writing coding style checker based on Chromium and WebKit scripts
    • Rebasing/upstreaming strategy clearly defined and implemented
    • Defining committer / reviewer and other project policies, licenses.
    • Define responsibilities and detailed roadmap for the quarter.
    • Define default user agent string
  • System API:

    • [WL] Initial implementation of Runtime and Security Model (sysapps current draft)
    • [WL] Initial File Systems API covering Tizen and Bracket use-cases.
  • HTML5 API:

    • [WL] Web Notifications (W3C)
    • [WL] Implement out-of-the-box combo boxes and context menus
    • [WL] HTML5 Audio/Video*
    • [WL] Geolocation*
  • General

    • Initial research into Wayland/Chromium integration
    • Initial non-stable WebView for embedding content (Bracket use-case)
    • Proof-of-concept of Bracket working with the runtime
    • Tizen Multimedia negotiation with Samsung (Evaluate GStreamer/ffmpeg, a.o. for Tizen 3.0), adapt roadmap

Q3 (2013)

The overall goal of this quarter is going public and supporting Tizen as well as maturing the current implementations.

  • Process related:

    • Publically opening up the project and announcing it
    • Tizen roadmap must be completed
    • Detailed analysis of web facing features on all platforms, comparison with Chrome
    • Get QA team on board to create/review test suites and produce summaries
    • Get QA to review and make updates about performance
    • Setup performance bots to have something similar as https://perf.webkit.org
  • Launcher support for Windows and GNOME (Tizen PC)

  • System API:

    • [WL] Beta quality of runtime and Security Model (sysapps)
    • [WL] Pickers (calendar, color, date, etc), reuse from Chrome
    • [T] Initial work on Runtime and Security Model
    • [I] Initial work on Runtime and Security Model
    • [WLTI] Alarm API (sysapps)
    • [T] Contacts API
    • [T] Telephony API (sysapps current draft)
    • [T] Messaging API (sysapps current draft)
    • [I] Contacts API
    • [I] Telephony API (sysapps current draft)
    • [I] Messaging API (sysapps current draft)
    • [WL] Installation and updating of managed apps
  • HTML5 API:

    • [WLT] Device Motion and Orientation on platforms with hardware
    • [T] Geolocation
    • [I] Geolocation
    • [T] Window Orientation
    • [T] Web Notifications API (W3C)
    • [I] Web Notifications API (W3C)
    • [T] Implement out-of-the-box combo boxes and context menus
    • [T] Add @viewport support
    • [I] Implement out-of-the-box combo boxes and context menus
    • [I] Add @viewport support
    • [WL] WebGL
    • [WL] Web Audio
    • [WL] Native Client
    • [T] Virtual keyboard
    • [I] Virtual keyboard
  • General:

    • Beta quality for WebView
    • Research mobile features, gestures, touch, viewport on Tizen
    • Research EFL integration of the WebView API
    • Initial extension API, allowing Bracket to integrate with current running browser.
    • Research how IVI resource management (Murphy) can be integrated.
    • Initial OpenGL memory optimizations (directly composited background images)
    • [W] Research auto-update mechanism for the whole runtime (e.g. Omaha)
    • Implement Web Inspector support

Q4 (2013)

The overall goal of this quarter is to finalize the Windows release and to extend the system APIs support.

  • Release quality for WebView (Brackets should be able to run on top)

  • First public release for Windows

  • Non-managed installations (with versioned runtime, or downloadable/updatable runtime).

  • Mobile interactions (gestures, etc.)

  • [W] Beta release of the auto-update mechanism for the whole runtime

  • System API:

    • [WL] Release quality of Runtime and Security Model, with working packaging and installation
    • [T] Beta quality of Runtime and Security Model (sysapps)
    • [I] Beta quality of Runtime and Security Model (sysapps)
    • [WLT] Idle API (sysapps)
    • [T] Pickers (calendar, color, date, etc) integrate with Tizen
    • [T] Calendar API (sysapps)
    • [I] Pickers (calendar, color, date, etc) integrate with Tizen
    • [I] Calendar API (sysapps)
    • [WLTI] Bluetooth API (sysapps)
    • [WLTI] Device Capabilities API (sysapps)
    • [WLTI] System Settings API (sysapps)
  • HTML5 API

    • [WLT] Spell Checking
    • [WL] Media Capture and Streams
    • [WL] WebRTC
    • [T] WebGL
    • [T] HTML5 Audio/Video
    • [T] Native Client
    • [I] WebGL
    • [I] HTML5 Audio/Video
    • [I] Native Client
  • Generic:

    • Documentation
    • Performance work to reach targets

Q1 (2014)

The overall goal of this quarter is to release the Windows support and the Tizen 3.0 PC.

  • Tizen 3.0 PC profile Production Quality

  • Wayland/Chromium integration, Beta Quality

  • [W] Final release of the auto-update mechanism for the whole runtime

  • System API:

    • [T] Release quality of Runtime and Security Model (sysapps)
    • [I] Release quality of Runtime and Security Model (sysapps)
    • Download API on Tizen
    • Content API on Tizen
    • NFC API on Tizen
  • HTML5 API:

    • [T] Web Audio
    • [I] Web Audio
    • Native Client mobile features (touch etc)
    • [WLTI] Fullscreen support

Q2 (2014)

The overall goal of this quarter is to release the Tizen 3.0 Mobile and IVI support.

  • Tizen 3.0 Mobile and IVI Production Quality
    • Wayland/Chromium integration, Release Quality
  • Evaluate Firefox OS API’s
    • Evaluate enabling Adobe WebKit API’s
    • Initial Android port (Priority 2)

Future

  • Canvas 2D improvements/performance optimizations
  • Web Activities (former Web Intents)
  • Mobile touch and drag support
  • Some kind of orientation lock

Roadmap for System Application and related work

Responsible for coordination: Kenneth, Anssi and Sakari

FPWD = First Public Working Draft LC = Last Call CR = Candidate Recommendation RT = Runtime Roadmap, Initial implementation

Phase 1:

Runtime and Security Model (sysapps) FPWD Q1, RT Q2, LC & CR Q3-Q6 Web Notifications (W3C) WD http://www.w3.org/TR/notifications/, RT Q3, LC March 2013 File Systems* RT Q2

Alarm API (sysapps) FPWD Q2, RT Q3,LC Q3-Q6, CR Q7-Q8 Contacts API on Tizen (sysapps) FPWD Q2, RT Q3, LC & CR Q7-Q8 Telephony API on Tizen (sysapps) FPWD Q2, RT Q3, LC & CR Q7-Q8 Messaging API on Tizen (sysapps) FPWD Q2, RT Q3, LC CR Q7-Q8

Phase 2:

Idle API (sysapps) FPWD Q3 - Q6, RT Q4, LC & CR Q7-Q8 Calendar API (sysapps) FPWD Q3-Q6,RT Q4, LC & CR Q7-Q8 Bluetooth API (sysapps) FPWD Q3-Q6, RT Q4, LC & CR Q7-Q8 Device Capabilities API (sysapps) FPWD Q3-Q6, RT Q4, LC & CR Q7-Q8 System Settings API (sysapps) FPWD Q3-Q6, RT Q4, LC & CR Q7-Q8

Phase 3:

Download on Tizen RT Q5 Content on Tizen RT Q5 NFC on Tizen RT Q5

(*) This API will be used to access local files for native web apps which needs it (e.g. Brackets). There is no real draft or work in that direction so we should create something.

Introduction

Clone this wiki locally