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 - Systemd
Linux kernel Linux 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, cairo) (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]