Introduction to Tizen Mobile & Wearable Profile

Taesoo Jun, Ph.D. @Software Center Samsung Electronics Tizen Overview Tizen...

• Is W3C standard-based • Has strong industry support • Is open source project • Covers multiple profiles for mobile

for TV

Common & Profile-Specific Compliance Rules for printer for wearable • Releasing Profiles • Preparing Profiles for PC • Potential Profiles for camera for IVI

3 Release History

Oct. ‘14 Nov. ‘13 2.3 July ‘13 2.2.1 Multi-profile, May ‘13 2.2 Minor Update New Native Feb. ‘13 2.1 Commercial - App. installation in Framework SD card 2.0 Hybrid Ready w/ - Mobile/ Wearable Add-on SDK profile Web/Native, Enhanced UX Apr. ‘12 Web/Native - OpenCL & WebCL - New native - H/W Menu & Back Framework Enhanced - In app purchase subsystem 1.0 key - Native API Security and - UI Customizer Web-centric - Unified SDK for Web Performance Platform & native - WebKit2 - Highest HTML5 Optimization

- Tizen Device Web - Hybrid Web/Native

API app. - Web UI framework -

Linux kernel kernel Linux kernel 2.6.36 3.0 w/ 3.4 features (e.g., CMA/IOMMU, eMMC 4.5, V4L2) 3.4

4 Tizen Mobile Profile Architecture Overview

• Kernel: Linux kernel + device drivers • Native Subsystem: core functionalities for Tizen platform • Web Framework: web environment above Native subsystem • API • Native API: direct access to core functions in mobile profile • Web API: web-style(i.e., JS, markup) access to W3C standard and device functions

Web Web Applications API

Web Framework Native Native Applications API

Native Subsystem

Kernel

Manufacturer Adaptation Interface

6 Native Subsystems

• Providing platform functions • Expose Native API • Implement core functionalities Native Subsystem Decomposition • Support Web functionalities App FW System Messaging Social Security Access AppLife System SMS Contacts Cycle Mgmt (system- (contacts-svc) Control • Unified management for (app-core) server) (msg-svc) (Smack) App Launch Sensor MMS Calendar Certification (AUL, app- (sensor-fw, (slp-calendar) (cert-svc) • Communication svc) plugin) (msg-service) Package Account Secure Storage • Sensor value retrieval Mgmt Device Mgmt Email (accounts- (secure- (slp-pkgmgr) (deviced) (email-svc) svc) storage) • Launching applications Base & Telephony Context Content Crypto OSS (OpenSSL) Cellular Activity/Gestur synchronizati IPC • Window for apps with E17 (telephony- e Recognition on Graphics & UI (D-Bus) daemon) (context svc) (sync-fw, plugin) Database 2D • Power consumption control Network & (EFL, ) (SQLite) Connectivity Multimedia Location Video Geolocation • Security enforcement with SMACK Util Connection (Gstreamer, (Geoclue, 3D (i18n, …) (ConnMan) plugin) plugin) (OpenGL ES) • Package un/installation and upgrade Audio Geocoding Essentials Bluetooth (Gstreamer, (Geoclue, Window Mgmt (glibc, …) (Bluez) PulseAudio) plugin) (e17)

• And more… HTTP Camera MAP Window system (libsoup, (Gstreamer) (Geoclue, (X11) Web libcurl) plugin) • Flexible architecture with plugins Layout & NFC Audio Policy Route Font Rendering (nfc-manager, (audio-session- (Geoclue, (Fontconfig, (WebKit2/EFL) plugin) manager) plugin) freetype2) • Service extension JS Engine Wi-Fi POI ISF, Voice FW (JavaScriptC (wpa_supplic 3D Audio (Geoclue, (isf, ise, STT, • Hardware abstraction ore) ant) (OpenAL) plugin) TTS, plugin)

7 Web Framework

• W3C standard Web APIs • W3C/HTML5 markup, CSS and JavaScript APIs • Supplementary APIs • De-facto APIs (e.g., Khronos and Mozilla) • Tizen device APIs • Advanced access to the device’s platform capabilities

• UI framework • jQueryMobile-based • Tools support (e.g., widgets, events, effects, animation)

8 Native Applications

• Application written in Native API for Tizen (C language) User interface • Packaged into .tpk with privileges and features EFL APIs for UI

• Full access to device features

• User interface: • Enlightenment Foundation Libraries (EFL) …

• Device features (Tizen defined + OSS) Device features • App framework: application, package, etc. Native APIs • Social: contacts, calendar, etc. Native App • Multimedia: image, video, audio, etc. • Other device-related features

9 Web Applications

• Application written in Web API for Tizen

• Packaged in W3C widget with User interface configuration Tizen Web UI FW for UI • Limited access to device features via Tizen Web Device API

• User interface: • W3C/HTML5, CSS3 … • Tizen Web UI FW Web standard

• Device features (Tizen defined + W3C) W3C/HTML5 • W3C/HTML5 and de-facto Supplementary Web App APIs Device features • Tizen Web Device APIs Tizen Web Device APIs

10 Tizen Wearable Profile Architecture Overview

• Kernel: Linux kernel + device drivers • Native Subsystem: core functionalities for Tizen platform • Web Framework: web environment above Native subsystem • API • Native API: direct access to core functions by restricted developers • Web API: web-style(i.e., JS, markup) access to W3C standard and device functions

Web Applications Web API Web Framework Native API Preloaded Native (internal only) Applications

Native Subsystem

Kernel

Manufacturer Adaptation Interface

12 Architecture Comparison

Mobile Profile Web Applications Web API Web Framework W3C/HTML5 Device APIs Web UI FW Video Touch BT Call CSS3 WebGL LBS NFC Web Runtime Native Applications Worker … Msg … Native API Native Subsystems Application Security Content Social Messaging Web Base & OSS Framework Network & System Graphics & UI Multimedia Connectivity Telephony Location

Kernel Linux Kernel & device drivers

Wearable Profile Web Applications Web API Web Framework W3C/HTML5 Device APIs Web UI FW Video Touch CSS3 WebGL Preloaded Native Web Runtime Native API Worker … (internal only) Applications Native Subsystems Host Conn. Application Web Context Base & OSS Framework Multimedia System Connectivity Graphics & UI

Kernel Linux Kernel & device drivers

13 Wearable Profile Features | Lightweight Components

• Fit for wearable device • Webkit engine: W3C APIs(scalable vector graphics, WebSQL, web message, drag&drop, session history etc.) and Device APIs (account, archive, bookmark, calendar, call, contact, push message, secure element etc.) • EFL: emotion, clipboard, copy & paste, optimized theme for wearable UX, unused elementary resources • X server & Window manager: simplified window policy for wearable UX • Bluetooth: GATT client, user-space HID

14 Native Subsystems

Mobile Profile

Native Subsystem Decomposition

App FW System Messaging Social Security Access AppLife System SMS Contacts Cycle Mgmt (system- (contacts-svc) Control (app-core) server) (msg-svc) (Smack) App Launch Sensor MMS Calendar Certification (AUL, app- (sensor-fw, (slp-calendar) (cert-svc) svc) plugin) (msg-service) Package Account Secure Storage Mgmt Device Mgmt Email (accounts- (secure- (slp-pkgmgr) (deviced) (email-svc) svc) storage) Base & Telephony Context Content Crypto OSS (OpenSSL) Cellular Activity/Gestur synchronizati IPC (telephony- e Recognition on Graphics & UI (D-Bus) daemon) (context svc) (sync-fw, plugin) Database 2D Network & (EFL, cairo) (SQLite) Connectivity Multimedia Location Video Geolocation Util Connection (Gstreamer, (Geoclue, 3D (i18n, …) (ConnMan) plugin) plugin) (OpenGL ES) Audio Geocoding Essentials Bluetooth (Gstreamer, (Geoclue, Window Mgmt (glibc, …) (Bluez) PulseAudio) plugin) (e17)

HTTP Camera MAP Window system (libsoup, (Gstreamer) (Geoclue, (X11) Web libcurl) plugin) Layout & NFC Audio Policy Route Font Rendering (nfc-manager, (audio-session- (Geoclue, (Fontconfig, (WebKit2/EFL) plugin) manager) plugin) freetype2) JS Engine Wi-Fi POI ISF, Voice FW (JavaScriptC (wpa_supplic 3D Audio (Geoclue, (isf, ise, STT, ore) ant) (OpenAL) plugin) TTS, plugin)

15 Native Subsystems

Wearable Profile Native Subsystem Decomposition

App FW System Context Security

AppLife Cycle System Activity/Gesture Access Mgmt (system- Recognition Control (app-core) server) (context svc) (Smack) Sensor Crypto App Launch (sensor-fw, (AUL, app-svc) plugin) (OpenSSL) Package Mgmt Device Mgmt (slp-pkgmgr) (deviced) Web Graphics & UI Layout & Rendering 2D Base & OSS (WebKit2/EFL) (Light EFL) Connectivity JS Engine IPC & Host (JavaScriptCo 3D (D-Bus) Connection re) (OpenGL ES)

Database Bluetooth Window Mgmt (SQLite) (Bluez) Multimedia (e17) HTTP Video Util (libsoup, (Gstreamer, Window system (i18n, …) libcurl) plugin) (Light X11) Host Audio Font Essentials Connection (Gstreamer, (Fontconfig, (glibc, …) (OIC, WMS) PulseAudio) freetype2)

16 Web Framework

Mobile Profile

17 Web Framework

Wearable Profile

Pure JS

18 Application Model

• Companion type • One actual application consisting of host app and wearable app via connectivity • Standalone type • Independent wearable app without host app or device

Host app Wearable app Wearable app

Host manager WMS

Wearable platform (Tizen) Host platform Wearable platform (Tizen, Android) (Tizen)

companion type standalone type

19 Wearable Profile Features | Power Saving

• Bluetooth low energy (BLE) • Sensor hub • Dynamic display rate • Application freezer • Dynamic Voltage & Frequency Scaling (DVFS)

Context manager

control information information information

BlueZ BLE System server User

Kernel BT core Sensor Hub DRM Freezer PM

BLE Sensor hub Display driver DVFS

Dynamic display rate Application freezer DVFS

20 Wearable Profile Features | Enhanced Web Performance

• Downsizing webkit2 • Feature out unused functionalities (e.g., SVG*, WebSQL) • Add multimedia features • Lightweight web widgets and themes • Replace bottleneck point on performance with pure JavaScript • Optimize launching time

Web Applications

Wearable Web UI

Web runtime Tizen device APIs

Webkit2 engine Camera / Video Audio

System Network App FW Media …

21 Upcoming Tizen Platform Tizen 3.0 @ tizen.org

• Until 2.3, source code uploaded to tizen.org only at milestones • Platform development has not been shown to public • No continuity and transparency

• From 3.0, development and contribution are made at tizen.org • For specific purposes(e.g., commercialization), main code tree can be pulled out and built anywhere by anyone

• Moved from in-out to out-in development

23 Development Infrastructure

• Platform development discussion • [email protected] • Bug Tracker • Tracking Tizen bugs, gathering feature requests, and more https://bugs.tizen.org/ • 3.0 features • “Tizen Features” @ JIRA > Projects > Tizen Features https://bugs.tizen.org/jira/browse/PTF • 3.0 APIs discussion • [email protected] • “Tizen APIs” @ JIRA > Projects > Tizen APIs https://bugs.tizen.org/jira/browse/PTAPI • Tizen modules • Git repositories • Development on tizen branch

24 Tizen 3.0 Major Features

• Upgraded core platform and tool-chains • Multi-user • Multiple user supports with privacy protection • 64bit architecture support Different home screen with Multi-user support • ARM and IA support • Performance improvements • Larger memory address space • 3D UI framework • 3D rendering engine for 2D & 3D objects in 3D world 2D/3D objects 2D objects in 3D space in 3D space • Dynamic animation library

25 Closing Summary

• Tizen is W3C standard-based, cross category, strongly industry supported open source software platform under Linux Foundation • Architecture • Mobile profile • Linux Kernel 3.4 • Native subsystems and Web FW • Native and Web application • Wearable profile • Similar architecture to mobile profile • Diet for resource restrict device with wearable application • Customization: power saving, better web performance, lightweight components • Join Tizen 3.0 Development @ tizen.org • Your contributions and suggestions are welcome at [email protected]

27 Thanks !!

Contact: [email protected]