Introduction to Tizen and Tizen Mobile Architecture. Seokjae Jeong, Samsung Electronics



Similar documents
Tizen Architecture. Sunil Saxena, Intel Hobum (Vincent) Kwon, Samsung

Introduction to Tizen SDK Alpha. Taiho Choi Samsung Electronics

Tizen Core APIs: A Core Framework Layer To Build In-House Applications. Jin-Woo Jeong

Tizen Web Runtime Update. Ming Jin Samsung Electronics

Getting Started with Tizen SDK : How to develop a Web app. Hong Gyungpyo 洪 競 杓 Samsung Electronics Co., Ltd

Development Techniques for Native/Hybrid Tizen Apps. Presenter Matti Pakarinen

HTML5 Applications Made Easy on Tizen IVI. Brian Jones / Jimmy Huang

Introduction to TIZEN SDK

Tizen Technical Overview 枪 晦 随 鬴 缃 拜 枋 幞 垖 幁 穧 幤

Here to take you beyond Mobile Application development using Android Course details

Multimedia Framework Overview. JongHyuk Choi

Reminders. Lab opens from today. Many students want to use the extra I/O pins on

Development Techniques for Native/Hybrid Tizen Apps. Presented by Kirill Kruchinkin

An Introduction to Android

Introduction to Android

Android (Basic + Advance) Application Development

Leveraging Tizen IVI Platform for Realizing V2X Use Cases

Understanding the Permission and Access Control Model for Tizen Application Sandboxing. Onur Aciicmez & Andrew Blaich, Samsung

Overview of CS 282 & Android

Android Architecture. Alexandra Harrison & Jake Saxton

ITG Software Engineering

Lecture 1 Introduction to Android

INTERMEDIATE ANDROID DEVELOPMENT Course Syllabus

Introduction to Android

Crosswalk: build world class hybrid mobile apps

Tizen Compliance Test (TCT) Hojun Jaygarl (Samsung Electronics), Cathy Shen (Intel)

CS 528 Mobile and Ubiquitous Computing Lecture 2: Android Introduction and Setup. Emmanuel Agu

Bridging the Gap: from a Web App to a Mobile Device App

Android 5.0: Lollipop OS

Open Source Solution for IVI: Tizen IVI. Brett Branch Tizen IVI Product Marketing

ANDROID INTRODUCTION TO ANDROID

Android in Action. Second Edition. Revised Edition of Unlocking Android MANNING. (74 w. long.) W. FRANK ABLESON CHRIS KING ROBI SEN.

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

ANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi

An Introduction to Android Application Development. Serdar Akın, Haluk Tüfekçi

The MeeGo Multimedia Stack. Dr. Stefan Kost Nokia - The MeeGo Multimedia Stack - CELF Embedded Linux Conference Europe

Professional Tizen Application Development

Mentor Embedded IVI Solutions

Harmonizing policy management with Murphy in GENIVI, AGL and TIZEN IVI

COURSE CONTENT. GETTING STARTED Select Android Version Create RUN Configuration Create Your First Android Activity List of basic sample programs

DEVELOPING NFC APPS for BLACKBERRY

Технологии Java. Android: Введение. Кузнецов Андрей Николаевич. Санкт-Петербургский Государственный Политехнический Университет

Application Framework: Apertis Hands-on

Mobile Phones Operating Systems

Mobile Operating Systems Lesson 07 Symbian OS

Module Title: Software Development A: Mobile Application Development

Graduate presentation for CSCI By Janakiram Vantipalli ( Janakiram.vantipalli@colorado.edu )

ANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 1 Android SDK & Development Environment. Marco Picone

Development. SriSeshaa Technologies. Table of Contents

Intel XDK для разработки кросс-платформенных мобильных приложений

Toward Connected Vehicle with AGL

ANDROID OPERATING SYSTEM

Android Application Development. Daniel Switkin Senior Software Engineer, Google Inc.

Android Development. Lecture AD 0 Android SDK & Development Environment. Università degli Studi di Parma. Mobile Application Development

Delivering Pay TV Content throughout the Connected Home Amol Bhagwat

Creating and Using Databases for Android Applications

Android Application Development

ORACLE MOBILE APPLICATION FRAMEWORK DATA SHEET

Extending Tizen Native Framework with Node.js

A Short Introduction to Android

Android on i.mx Applications Processors

HTML5 AUTOMOTIVE 2013 White Paper Series

Enabling Cordova (aka PhoneGap) on Tizen. René Pourtier / Luc Yriarte

Developer's Cookbook. Building Applications with. The Android. the Android SDK. A Addison-Wesley. James Steele Nelson To

Running Android Applications on BlackBerry 10 developer.blackberry.com/android

Specialized Android APP Development Program with Java (SAADPJ) Duration 2 months

HYBRID APPLICATION DEVELOPMENT IN PHONEGAP USING UI TOOLKITS

Example of Standard API

Android Virtualization from Sierraware. Simply Secure

«compl*tc IDIOT'S GUIDE. Android App. Development. by Christopher Froehlich ALPHA. A member of Penguin Group (USA) Inc.

JavaFX Session Agenda

Firefox OS Features Guide

SYST35300 Hybrid Mobile Application Development

Overview. The Android operating system is like a cake consisting of various layers.

Introduction to Oracle Mobile Application Framework Raghu Srinivasan, Director Development Mobile and Cloud Development Tools Oracle

An Introduction to Android. Huang Xuguang Database Lab. Inha University

QML and JavaScript for Native App Development

3. Software Installation. 4. Introduction to Android OS. 5. Using Android OS / Devices. 6. Eclipse debug with Android app. 8. Units of measurement

Table of Contents. Adding Build Targets to the SDK 8 The Android Developer Tools (ADT) Plug-in for Eclipse 9

Android Basics. Xin Yang

DEVELOPING MOBILE APPLICATIONS USING ANDROID

Mobile Operating Systems. Week I

IOTIVITY AND EMBEDDED LINUX SUPPORT. Kishen Maloor Intel Open Source Technology Center

BogDan Vatra and Andy Gryc. Qt on Android: Is it right for you?

GUI/Custom GUI, SIP Stack, Telephony, DB, Sockets, Bluetooth, QT.

ANDROID BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY

HTML5 and Device APIs for Automotive: Is it time to power Infotainment and Car Portal Applications with Web Technologies?

Introduction to Android: Hello, Android! 26 Mar 2010 CMPT166 Dr. Sean Ho Trinity Western University

Programming the Android Platform. Logistics

WEB, HYBRID, NATIVE EXPLAINED CRAIG ISAKSON. June 2013 MOBILE ENGINEERING LEAD / SOFTWARE ENGINEER

ANDROID APPLICATION DEVELOPER RESUME

<Insert Picture Here> Java, the language for the future

Android Operating System:

Tizen: a progressive mobile web platform for the future

Policy and Profile Reference Guide

Transcription:

Introduction to Tizen and Tizen Mobile Architecture Seokjae Jeong, Samsung Electronics

Agenda Tizen Introduction Tizen Architecture Overview Tizen Core Services 2

3 Tizen Introduction

What is Tizen*? (Pronounced Tie Zen) Tizen* combines the communities and the best technologies under one unified environment Strong developer community NEW Broad service provider support 4 Tizen* is a trademark of the Linux Foundation

Key Tizen Highlights Tizen is a cross-architecture, open source software platform Comprehensive standards-based HTML5 implementation Linux Foundation project based on Linux & other open source components Device segments: Smartphones, Tablets, Netbooks, Invehicle infotainment devices, Smart TVs, and more. Tizen Association: an industry consortium consisting Key service providers Device manufacturers and Intel Tizen Association Members Operators OEMs 5

Tizen Release Open Source Release Tizen Alpha, Beta: 12.1.9, 12.2.27 Tizen 1.0 Larkspur: 12.4.30 Tizen Larkspur scope Platform Source Code: Web API, Core Services (Frameworks), Linux Kernel SDK: Web App. Dev. Env. (Host OS: MS-Windows, Ubuntu Linux) Tizen SW Platform Tizen SDK 6

Tizen Developer Conference https://www.tizen.org/conference The first annual Tizen conference Hyatt in SF, CA, May 7-9 th, 2012 Four keynotes Forty seven technical presentations About Tizen Platform and SDK On-line slides along with video or audio streaming Tizen Developer Contest (~Aug. 7, 2012) https://www.tizen.org/blogs/jabancroft/2012/announcing-tizendeveloper-contest-intel Remembrances Tizen reference device distribution by LF. Offsite party at The California Academy of Science. 7

Tizen Roadmap Tizen 1.0 Larkspur (Apr. 30, 2012) Tizen 2.0 Magnolia (End of 2012) Native APIs, more Web APIs, Security Enhancements, etc. 8

Tizen Open Source Information Visit http://www.tizen.org http://developer.tizen.org/sdk http://source.tizen.org/ https://developer.tizen.org/documentation Community Mailing lists: http://www.tizen.org/community/mailing-lists IRC Channel: #tizen Wiki: https://www.tizen.org/community/wiki JIRA: http://bugs.tizen.org 9

10 Tizen Architecture Overview

Tizen SW Architecture (for Mobile) 11

Kernel and Hardware Adaption Features: Linux Kernel Device Drivers Hardware Adaptation Layer Plug-ins OpenGL ES/EGL Graphics Driver DRM based graphics stack Kernel / HW Adaptation Layer HAL (HW Adaptation Layer) Telephony Plug-ins GStreamer Plug-ins Sensor Plug-ins System Plug-ins OpenGL ES/EGL Graphics Driver Kernel2.6.xx SMACK Device Drivers 12

Tizen Core Services (Mobile) Core Services App FW AppLife Cycle Mgmt (app-core) System System (system-server) Messaging SMS (msg-service) PIM Contacts (contacts-serrvice) Security Access Control (Smack) App Launch (AUL, app-service) Sensor (sensor-fw, plugin) MMS (msg-service) Calendar (slp-calendar) Certification (cert-svc) Package Mgmt (slp-pkgmgr) Power Mgmt (libslp-pm) Email (email-service) Account (accounts-svc) Secure Storage (secure-storage) Base IPC (D-Bus) Database (SQLite) Essentials (glibc, ) Web Layout & Rendering (WebKit) JS Engine (JavaScriptCore) Runtime (WRT) Graphics & Input 2D (EFL, cairo) 3D (OpenGL ES/EGL) Window Mgmt (e17) Window System (X11) Font (Fontconfig, freetype2) ISF, Voice FW (isf, ise, STT, TTS, plugin) Telephony Cellular (telephony-daemon) Multimedia Video (Gstreamer, plugin) Audio (GStreamer, PulseAudio) Camera (GStreamer) Audio Policy (audio-session-manager) 3D Audio (OpenAL) Synchronization (sync-fw, plugin) Location Geolocation (Geoclue, plugin) Geocoding (Geoclue, plugin) MAP (Geoclue, plugin) Route (Geoclue, plugin) POI (Geoclue, plugin) Crypto (OpenSSL) Connectivity Connection (ConnMan) Bluetooth (Bluez) HTTP (libsoup,libcurl) NFC (nfc-manager, plugin) Wi-Fi (wpa_supplicant) 13

Tizen Applications Web Application Web is the primary application development environment for Tizen SDK is available for Web App development Commercial grade Sample Apps will be available soon Native Application Available for device implementers through components in Core Service Web application Web API Core Services Native application Runtime Core Tizen Web API Plug-in Web App FW MM Installer Core App Security Core Location PIM Conn Telephony Java Script Core WebKit System Graphics & Input 14

Tizen Web Application Web Application Fundamental W3C/HTML5 Base Device API Device integrated API support jquery Mobile based UI Widgets Access to the platform capabilities Support Features: BT/NFC/System Info./App Management etc. Additional APIs will be added in the future e.g. Accounts, Automotive 15

Tizen Web API Standard HTML5 + Tizen Device API https://developer.tizen.org/documentation Tizen Web APIs and WebApp Development Sakari Poussa, Intel & Taehee Lee, Samsung Web API Device API W3C Miscellaneous Application HTML 5 Web GL NFC CSS3 Network & Comm WebRTC Storage Typed Array Bluetooth Geolocation Web Worker Full Screen API Media Contents Touch Event WebAudio Metatag PIM Battery Status WebSocket JSON System Info File Web Notification URI Scheme File System App Cache Widget Index DB Tizen WebAPIs are not forking W3C APIs! 16

17 Tizen Core Services

Application Framework Provides Launching Application (aul, app-svc) Explicit or implicit information (Combination of Action, URI, and MIME) can be used to determine an app to launch Allowed to launch different type of app (i.e. Web to Native and Native to Web) Application life cycle management and handling system events (app-core) Getting app state change notification or system events through main loop Then, calling registered callbacks for the events Installing/Uninstalling application (package manager) Managing application launched history (librua) Setting an alarm to launch at specific time (alarm-manager) Application Framework An Overview of the Tizen Application Framework Youngjoo Park, Samsung AUL : Application Utility Library RUA : Recently Used Application AUL VCONF App-core RUA Appservice Application DB Launch PAD (AUL Daemon) packagemanager alarmmanager AIL 18

Graphics & Input Consists of: Enlightenment Foundation Libraries Rich Widgets multiple theme supports by Elementary Retained mode canvas by Evas (Scene-graph, OpenGL ES back-end) Compositing Window Manager Window System based on X11 3D (OpenGL ES), Font (freetype2, fontconfig) Input Service (SCIM), Voice FW (STT, TTS), Graphics & Input elementary Overview of Graphics and Input in Tizen Seokjae Jeong, Samsung Tizen Graphics Core The Scenegraph (Evas) Carsten Haitzler, Samsung edje ecore evas Input Svc Voice FW eet eina freetype2 fontconfig cairo OpenGL ES/EGL X Window System 19

Web Provides: Best Web experience with Browser and packaged Web Apps Focusing on functionality(html5), performance (UI Responsiveness, 2D/3D Acceleration, JS Engine), Standard Compliance(W3C) More device feature accessibility through Tizen Device API jquery Mobile based Tizen Web UI FW enables easy Web App development Consists of: WebVeiw (WebKit /EFL): JavaScriptCore, WebCore(HTML5/W3C API implementation), WebKit API Web Runtime: Execution environment for packaged Web Apps Installer Core Runtime Core Web Web Runtime Tizen Web API Plug-in Security Core Tizen Web Runtime Ming Jin, Samsung WebKit & WebKit2 /EFL Ming Jin, Samsung JavaScriptCore WebCore WebView (WebKit) Platform Port (Graphics, Network) WebKit API 20

Multimedia (1/2) Provides: Features: Playback of audio and video contents (local and streaming) Capturing images and recording audio and video 3D Audio Sound (OpenAL) specially for games Scanning & Playback of radio Determining audio policy Extracting and displaying media content information High Quality Video Playback Full HD(1080P) Playback (with HW codec & Render Optimization) Support for various kind of Multimedia Streaming (HTTP, RTP/RTSP) Support for HTML5 Video and embedded playback in Web Browser High Quality & High Speed Camera/Recorder High Quality Image Capture & Video Recording Support for various kind of shooting mode (single,continuous,paronama,etc) 21

Multimedia (2/2) Key Components: GStreamer: Audio, Video, Recording, Streaming, Editing, Etc Audio Session Manager: Sound Policy Management PulseAudio: Software mixing multiple audio streams Multiple-Format Codec: Various support of codec Media Content Service: Content management for media files Audio I/O: Accessing raw audio buffer to manipulate Multimedia Player Recorder Camera Sound Manager Audio IO Radio Metadata Retriever Image Utility GStreamer Plug-in Audio Session Manager FFmpeg Image Codec Media Content Service Codec/Demux PulseAudio ALSA DRM Plug-in File System Connectivity Graphics Drivers 22

Location Provides: Key Components: Hybrid position information (GPS, SPS, WPS) Map Service (Geocode, POI, Route) GeoClue: Deliver location info from various positioning sources GeoClue library: An open source geo-information library GeoClue Providers: Implement the GeoClue library API Currently GPS Manager in GeoClue Providers is provided Location Overview of Tizen Location Young-Ae Kang, Jongman Park, Samsung Hybrid Positioning GPS SPS WPS Plug-in Plug-in Plug-in GeoClue Library GeoClue Providers GPSManager Plug-in Map Service Geocode POI Route Plug-in Map View (Elementary) 23

System Provides: System monitoring and event handling functionalities Key components: System Manager Runs as a daemon process Monitors device and system status and handles events from devices (battery, USB, MMC, charger, earjack, etc) Sensor Manager: Handling sensor events from various sensors Device Manager: Setting/getting device values such as brightness Power Manager: Controls LCD display backlight and application sleep System System Manager Sensor Manager Plug-in Power Manager Device Manager Kernel 24

Connectivity Cellular and Wi-Fi Connection Always-on internet connections based on cellular(e.g.3g) and Wi-Fi. connman manages internet connections Allowing automatic connection for available Wi-Fi access point Managing statistics of data network Bluetooth Tethering Providing three type of tethering : USB, Bluetooth and Wi-Fi NFC Including NFC Manager to handling NFC plug-ins Supporting P2P, Controlling NDEF tag, car emulator Wi-Fi Scanning and connecting Access Points Connecting hidden Access Points Based on Bluez and profiles (OPP, A2DP, RFCOMM, HFP, HDP, etc) Discovering / bonding / exchanging data with remote devices 25

Telephony Overview of Tizen Telephony Jongman Park, Samsung Consists of cellular functionalities for communicating with modem: Managing call/non-call info, packet-related services, network status information, SMS-related services for UMTS and CDMA Managing SIM Application Toolkit services for UMTS. Managing SIM files, phone book, and security Key Components: TAPI is available as a library for client Defining a plug-in architecture for Telephony Server Telephony Event Delivery IPC Security TAPI Telephony Server Plug-in Telephony Adaptation Layer 3GPP (Modem) CDMA (Modem) 26

PIM Provides: Contact, Calendar, Account, and Sync Services Key Components: Account: Manage accounts to share account information on the device Contact/Calendar: Account based, Multiple address/calendar books for an account. Enough features to satisfy mobile contact/calendar app requirements. Supporting vcard 3.0 and vcalendar 1.0 respectively Synchronization (Sync-FW) PIM Contact Calendar Account Contact Manager Address Book Manager vcard Converter Notification Manager Call Log Manager Event Manager To-do Manager Calendar Book Manager vcal Converter Notification Manager Account Manager Token Manager Synchronization Sync-FW Plug-in 27

Messaging Provides: SMS, MMS, Email SMS, WAP and cell broadcast messages MMS protocols: OMA MMS 1.2. Email protocols: SMTP, IMAP, POP3 Key Components Message Client API Message Server Transaction Manager: Manage IPC between message server and library Main Handlers: Handle message sending/receiving/filtering/setting. Storage Handlers: Save on DB Plug-in Manager: Manage SMS and MMS Plug-ins Messaging Transaction Manager Message API Library Main Handlers Plug-in Manager SMS Plug-in MMS Plug-in Storage Handler 28

Security Provides: Certificate management and verification Secure storage for confidential data User space access control management Cryptography and SSL support Mandatory access control support Security model: No root applications/no privilege escalation Sandboxed by SMACK Service daemons will make use of SMACK and enforce access control in server side Manifest based permission policy for Apps Secure Storage Application Process Security Service Daemon Security Server Kernel SMACK Tizen Security Framework Overview Bumjin Im, Samsung & Ryan Ware, Intel OpenSSL 29

Hands-On Lab : Getting Started with the Tizen SDK SDK 30

Development Tool: SDK IDE Competitive editor for HTML, CSS, JavaScript Wizard and various templates: basic, jquery mobile based, Tizen Web UI FW based, and HTML5 boiler plate Debugging support: JavaScript console, log view, inspectors 31

Development Tool: SDK Emulator Various Device Emulation based on open source QEMU H/W Acceleration on Host PC (OpenGL ES, EvasGL, WebGL, Etc) Event Injector for Sensors, Call/SMS, LBS, Etc Emulator IDE Design and Implementation of Tizen Emulator Yeongkyoon Lee, S-Core Emulator Manager Event Injector 32

Development Tool: SDK Web Debugging Remote Inspector (Webkit Inspector) Local Inspector (Firebug) 33

Development Tool: SDK Where to find Documents in SDK Tizen IDE Help Help Contents Find Web Device API & Tutorials and We UI FW Guides on the site 34

Q&A