SlideShare ist ein Scribd-Unternehmen logo
1 von 56
Downloaden Sie, um offline zu lesen
Tizen – Universal Device Platform
이원석 수석 / 박정혁 선임 , 삼성전자
Table of Contents
• What is Tizen ?
• Introducing Tizen web framework
• HTML5 features on Tizen

• Upcoming cutting-edge HTML5 features
• Tizen Web Device APIs
• Tizen SDK Demo

2
What is Tizen ?
• Tizen is an open source, standards-based software platform
•
•

smartphones, tablets, netbooks, in-vehicle infotainment devices, TVs, and more.
www.tizen.org

• Tizen provides a robust and flexible environment for
application development, based on HTML5
•

HTML5: the preferred development environment for apps/services for the future
robust capabilities and cross platform flexibility

• The Tizen project resides within the Linux Foundation
•

3

The Linux Foundation: non-profit technology consortium chartered to foster the
growth of Linux.
Why Tizen ?
• Market Growth
Millions of Units

1200
1000
800
775.79

600

677.18
561.42

400
200

458.01
362.45
270.93

169.73

17.61

2010

0

114.58

235.69

69.08

2011

2012

2013

2014

Smart Phones

318.32

2015

Media Tablets

Worldwide Smartphone and Media Tablet Shipments, 2010-2015
*Source: Gartner, Inc.,, Emerging Technology Analysis: Mobile Business Intelligence, 13 July 2011

4
Why Tizen?
• Mobile OS 주도권 경쟁이 타 분야로 확산

5
Introducing
Tizen Web Framework
Tizen Architecture
• Tizen is a Linux-based platform providing both Web and native
APIs

7
Tizen Web APIs
Tizen Web APIs
Device API

W3C

Miscellaneous

Application

HTML5

Web GL

Bluetooth

CSS3

Web Worker

Typed Array

Calendar

Geolocation

WebAudio

Full Screen API

Contact

Touch Event

WebSocket

JSON

Messaging

File

Widget

URI Scheme

…

8

…

…
HTML5TEST.COM Score of Tizen

9
HTML5 features on Tizen
HTML5 Feature Set
Specifications

Description

DOM, Forms and
Styles

HTML5 Forms, Selectors API, Media Queries, CSS Transforms, CSS
Animations, CSS Transitions, CSS Color, CSS Background and Borders,
CSS Flexible Box Layout, CSS Text, CSS Basic User Interface, CSS Fonts,
WOFF File Format 1.0, DOM

Support fundamental Web document structure and styles

Device

Touch Events, Device Orientation, Battery Status API, Vibration API,
Browser Online State, Screen Orientation API, Network Information API

Support device capabilities such as sensors, network
connectivity information, etc.

Graphics

Canvas 2D, SVG

Support Canvas graphic and SVG

Media

Video/Audio Element, getUserMedia, Web Audio API, HTML Media
Capture

Support Video and Audio capabilities in HTML

Communication

Web Socket API, XMLHttpRequest Level2, Session History, Server-Sent
Events, Web messaging

Support fetching remote resource, communication
between client and server, remote event dispatch, etc.

Storage

Web Storage, File API, File API: Writer, File API: Directories and System,
Application caches, Indexed DB, Web SQL Database

Support device storage capabilities

11
HTML5 Feature Set
Specifications

Description

Security

Cross-Origin Resource Sharing, iframe sandboxing, Content Security
Policy

Support secure mechanism for origin protection and
content isolation

UI

Clipboard API and Events, Drag and Drop

Support rich user experience

Performance and
Optimization

Web Workers, Page Visibility, Animation Timing Control, Navigation
Timing

Support parallel execution, performance optimization
methods

Location

Geolocation API

Support location watch capabilities

12
Upcoming cutting-edge
HTML5 features
Upcoming HTML5 Features
• Media
•

Media Source Extensions, Encrypted Media Extensions, WebRTC

• Device APIs
•

Ambient Light Events, Proximity Events

• Security
•

Web Cryptography

• Storage
•

14

Quota Management API
Tizen Web Device APIs
Why Tizen Web Device APIs?
• Limitations of standard specifications
•
•

Most of them are still working drafts
No full support for the Tizen characteristic features

• Tizen Web device APIs
•
•

16

Device APIs give the characteristic features of the Tizen platform
Device APIs have been updated agilely
Tizen Web Device APIs Design
• Follows W3C specification API style
•
•
•

Numerical constants avoided but string enumerations used
Most methods are asynchronous
Success and error callback, and constructors used

• Based on standard technologies
•
•

Tizen Web device API specifications are written in WebIDL
Implementation follows the fundamental rule of ECMAScript 5.1 and
W3C WebIDL recommendation (for example, type conversion)

• Defined tizen namespace
•
•

17

All Tizen device APIs exist in the tizen namespace
tizen is the global object to which all Tizen device APIs are bound
Tizen Web Device APIs Design
• Defined tizen namespace
typeof window.tizen // returns object
var notification = new tizen.StatusNotification(“SIMPLE”, “Hello Tizen !”);

tizen.notification.post(notification);

18
Tizen Web Device API Modules
Tizen common
Tizen

Content
Content
Download

Application

Communication

Alarm

Bluetooth

Application

Messaging

Data Control

Network Bearer Selection

Package

NFC
Push

Social

System

Bookmark

Power

Calendar

System Information

Call History

System Setting

Contact

Time

Data Synchronization

Web Setting

Secure Element

Input/Output
File System
Message Port

User interface
Notification

19
Tizen Common

Tizen APIs (1/2)

Tizen

• Tizen
•

Provides Tizen’s common functionalities
•

•

20

Contains object interfaces that are commonly used throughout the other modules

The tizen object is the topmost object providing the foundations for
accessing Tizen device features
Tizen Common

Tizen APIs (2/2)

Tizen

• Tizen’s common object interfaces
•

Generic asynchronous callback handling
•
•

•

Generic error and exception handling
•
•

•

Tizen APIs throw a WebAPIException object and returns a WebAPIError object
through error callbacks
These follow the style and types of error of DOM4 specification.

Filters and sort modes
•
•

21

Success callback for methods that do not require a return value
Error callback for methods that require an error as input parameter

Filters are used to limit query results and compose complex queries
Generally, filters are used with the find() method in Calendar, Call
History, Contact, Content, and Messaging modules
Application

Application APIs (1/2)

Alarm
Application
Data Control
Package

• Alarm
•

Schedules an application to be launched at a specific time

• Application
•
•

Manages current application
Manages other applications
•

•

Launches other applications
•

22

Retrieves information of applications
Application Control
Application

Application APIs (2/2)

Alarm
Application
Data Control
Package

• Package
•
•
•

23

Retrieves information of installed packages
Checks the updates of the installed package list
Installs or uninstalls packages

Package is a piece of
applications that the
system can install
and uninstall, such as
wgt or tpk
Communication

Communication APIs (1/2)

Bluetooth
Messaging
Network Bearer Selection
NFC
Push

• Bluetooth
•
•
•

Manages Bluetooth devices
Discovers nearby devices, and bonds or pairs with found devices
Connects to devices to exchange data with them

• NFC
•
•
•

Manages NFC devices
Detects NFC tag and peer
Exchanges NDEF data

• Messaging
•
•
24

Secure Element

Sends or receives SMS, MMS, or email messages
Retrieves the message storage
Communication

Communication APIs (2/2)

Bluetooth
Messaging
Network Bearer Selection
NFC
Push

• Secure Element
•

Provides functionality to communicate with applications in several
secure elements, such as UICC/SIM, embedded Secure Element, or
Secure SD card

• Push
•

25

Secure Element

Receives push notifications from the Tizen push server
Content

Content APIs (1/2)

Content
Download

• Content
•
•
•
•
•

26

Discovers and manages images, video, music, and other files
Scans content or directory metadata in the device and updates the
content database
Retrieves content from content database using filters
Browses content by getting a list of content directories
Views and edits content item details
Content

Content APIs (2/2)
• Download
•
•

Downloads files from a specific URL
Enables applications to manage download operation details
•
•
•
•

27

Sets the stored location of a downloaded file
Sets the network type: cellular, Wi-Fi, or default
Get operation status: current received size and events
Gets the file MIME type

Content
Download
Input / Output

Input/Output APIs

File System

Message Port

• Filesystem
•

Accesses the file system virtual root locations
•

•

Manages file storage
•
•

•
•

Documents, downloads, images, music, videos, ringtones, wgt-package, wgt-private, and
wgt-private-tmp
Internal and external
Mounted, removed, or unmountable

Accesses files and directories
Creates, reads, edits or deletes files and directories

• Message Port
•

28

Communicates with other applications: IPC based on application ID
Social
Bookmark

Social APIs (1/3)

Calendar
Call History
Contact
Data Synchronization

• Contact
•

Manages contacts in device address books
•

•

Manages persons
•

•

Including adding, searching, updating, and deleting
Person is the aggregation of one or more contacts that are the information of the same
person

Supports vCard 3.0

Contact repository

Persons

Address book #0 [phone]

Address book #1 [Facebook]

29

Address book #2 [Google]
Social

Social APIs (2/3)

Bookmark
Calendar
Call History
Contact
Data Synchronization

• Calendar
•

Manages events and tasks
•
•

•
•

Including adding, searching, updating, and deleting
Each event or task has a series of attributes, such as purpose, starting time, and duration

Monitors the changes in events and tasks
Supports iCalendar v2.0, based on RFC 5545

• Call History
•
•
•
30

Browses the call history of a device
Removes call history entries
Monitors changes
Social

Social APIs (3/3)

Bookmark
Calendar
Call History
Contact
Data Synchronization

• Data Synchronization
•

Synchronizes device data to the server using the OMA DS 1.2 protocol
•

•

Manages the OMS DS profile slots
•
•

31

Contact data or calendar data
Tizen platform sets a limitation on the number of supported profiles
Adds, updates and removes profiles
System

System APIs (1/2)

Power
System Information
System Setting

Time

• Time
•

Provides TZDate type that is an extended type of ECMAScript date
•

•

It contains the time zone information as well as time information

Provides utility functions for managing system time and duration
•
•

Methods for getting local time or time zone
Methods for calculating time duration

• System Information
•

Enables access various properties of the system
•

•

32

Bluetooth, NFC, Wi-Fi, Front/back Camera, Flash, GPS, Sensors, Platform and API
version, USB host/accessory

Monitors the change of system information
System

System APIs (2/2)

Power
System Information
System Setting
Time

• System Setting
•

Sets or gets the system setting values
•
•
•
•

HOME_SCREEN: Home screen background image
LOCK_SCREEN: Lock screen background image
INCOMING_CALL: incoming call ringtone
NOTIFICATION_EMAIL: email notification alert tone

• Power
•

Manages the power state for the screen resource
•
•

•

33

Sets or gets the state of the screen: off, dim, normal, or bright
Monitors the changes in the state of the screen

Sets the CPU not to sleep
User Interface
Notification

User Interface APIs
• Notification
•

Posts UI notifications about application events
ONGOING
notification

PROGRESS
notification

SIMPLE
notification

34
Tizen SDK Demo
Tizen Developer Site
• https://developer.tizen.org

36
Tizen Developer Summit
• The Ritz-Carlton Seoul
• Seoul, Korea
• November 11 - 12, 2013

37
Thanks for your attention!
Appendix.
Tizen Web Application
Configuration for Web Applications
• config.xml file
•
•

Defined in the W3C Packaging and XML Configuration specification
Tizen namespace is defined for describing Tizen specific features

• Properties related with device APIs
Element

tizen:application

Describes the application
ID and package ID.

tizen:app-control

Defines the application
control that this application
provides.

<tizen:app-control>
<tizen:src name="controller.html" />
<tizen:operation
name="http://tizen.org/appcontrol/operation/view" />
</tizen:app-control>

tizen:privilege

41

Description

Example

Describes the privilege
that this application needs.

<tizen:privilege
name="http://tizen.org/privilege/appmanager.kill" />

<tizen:application id="UJedH64lXL.Test"
package="UJedH64lXL" required_version="2.1" />
Application Signing
• Applications must be signed with 2 signatures:
•

Author signature
•
•

•

Distributer signature
•
•

42

Determines the integrity of an application package as intended by the developer
Confirms that all applications that are signed with the same author certificate are
trustworthy
Generated by an application publisher
Determines the privilege level of the application.
Privilege Levels
• Privileges are categorized into 3 levels
•
•
•

public: open to all Tizen application developers
partner: for partners registered on the Tizen store
platform: for managing the Tizen platform
API
privilege
level

Nonprivileged

public

partner

platform

public

O

O

X

X

partner

O

O

O

X

platform

O

O

O

O

Application
distributor
certification

43
Privileges
• Some APIs require privileges for using them from an
application
•

•

Privilege level: application needs to have higher privilege level than the required
one to use the API
Privilege: needs to be described in config.xml

Required privileges are
described in API
specification documents

44
APIs with partner or public privileges
Privilege

45

kill / getAppCert

Network Bearer Selection
Secure Element
System Information

ALL
ALL
imei, msisdn, msin

Package
Platform

Methods

Application
Data Control
Partner

Module

install / uninstall
setVisible

Bluetooth
Bookmark

ALL

ALL
Application Control (AppControl)
Application Control
• Application control enables launching other applications based
on the functionalities needed
•

For example: Contacts app uses the Gallery app to select an image file
Launching Gallery app
through the application control

Reply with the path
of the selected file

47
Application Control

Request launch with the
ApplicationControl
instance

Tizen
application

AppControl
registry
Resolve app ID to
launch from given
app control

operation :
‘http://tizen.org/appcontrol/operation
/view’
url : ‘http://example.com’
mime : ‘text/html’

AppControl
manager
Caller applicationgets the
Caller application gets
the response data
response data

48

Launch the selected application
and pass the
ApplicationControl instance

key : values
key : values
…

Reply the result

Base
application
Example: Requesting Application
• Requesting AppControl:
var appControl = new tizen.ApplicationControl(
'http://tizen.org/appcontrol/operation/pick', null, 'image/*', null);
tizen.application.launchAppControl(appControl, null,
function() { console.log("Launching AppControl succeeded"); },
function(e) { console.log("Launching AppControl failed"); },
{
onsuccess : function(data) {
console.log("AppControl returned success");
data.forEach(function(v, i) {
console.log("["+i+"] key : "+v.key);
v.value.forEach(function(vv, vi) {
console.log("---- value#"+vi+“ : "+vv);
});
onsuccess function is invoked when the
});
base application returns the result data
},
onfailure : function() { console.log("AppControl returned failure"); }
}
... ConsoleMessage ... :Launching AppControl succeed
Printed log
... ConsoleMessage ... :AppControl returned success
);
... ConsoleMessage ... :[0] key : http://tizen.org/appcontrol/data/selected
... ConsoleMessage ... :---- value#0 : /opt/usr/media/Images/image2.jpg

49

Launch

Reply
Providing AppControl in Your Application (1/2)
• Edit AppControl in the IDE:

Tizen tab

<tizen:app-control>
<tizen:src name="control.html" />
<tizen:operation
name="http://tizen.org/appcontrol/operation/view" />
<tizen:mime name="image/*" />
</tizen:app-control>

50
Providing AppControl in Your Application (2/2)
• Handle passed ApplicationControl instance and reply the result
RequestedApplicationControl
instance has the received
AppControl, the caller’s appID and
functions for reply

function initAppControl()
{
var currentApp = tizen.application.getCurrentApplication();
var reqedAppControl = currentApp.getRequestedAppControl();
var appControl = reqedAppControl.appControl;

ApplicationControl
instance has the same value
with the AppControl instance
sent from caller application

Replying the result, if any

console.log("operation:" + appControl.operation +
" / uri:" + appControl.uri + " / mime:" + appControl.mime);
// Do something
reqedAppControl.replyResult( [
tizen.ApplicationControlData('key0', ['value0_0']),
tizen.ApplicationControlData('key1', ['value1_0'])
] );
}
window.addEventListener('load', initAppControl, false);

51
Application Control Model
Description

Example

Operation

• Defines the action to be performed by
the application control
• Mandatory item for application control
• IRI style

http://tizen.org/appcontrol/operation/view
http://tizen.org/appcontrol/operation/pick
http://tizen.org/appcontrol/operation/call

URI

• Data on which the action is performed

http, tel, mailto …

MIME

• Specific URI type
• If MIME is not set and URI has a file
scheme, the MIME is automatically
determined by local file

audio/*, video/* …

Application
control data

Used for
resolution

• Key-value pairs providing additional
information for the service request
• Dataset

* AppControl Manager resolves the application whose operation, URI, and MIME type match the
requested ApplicationControl instance exactly
52
Base AppControls
Base application

Operation

URI

MIME

Internet (Browser)

http://tizen.org/appcontrol/operation/view

http

-

MusicPlayer

http://tizen.org/appcontrol/operation/view

-

audio/*

VideoPlayer

http://tizen.org/appcontrol/operation/view

-

video/*

Phone

http://tizen.org/appcontrol/operation/dial

tel

-

Call

http://tizen.org/appcontrol/operation/call

tel

-

Camera

http://tizen.org/appcontrol/operation/create_content

-

image/jpeg, video/3gpp

FileManager

http://tizen.org/appcontrol/operation/pick

-

*/*, image/*, audio/*,
video/*

Email

http://tizen.org/appcontrol/operation/compose

mailto

-

ImageViewer

http://tizen.org/appcontrol/operation/view

-

image/*

…

* The base AppControls are provided by the system default applications
53
Example: Requesting Application
Operation

var appControl = new tizen.ApplicationControl(
URI
"http://tizen.org/appcontrol/operation/view",
"file:///opt/usr/media/Images/image1.jpg",
null,
MIME is null, but would be determined to be
null);
image/jpeg based on the URI value

tizen.application.launchAppControl(appControl,
null,
function() {
console.log("launch appControl succeed");
},
function(e) {
console.log("launching appControl failed : " +
e.message);
}
);

Launch

ImageViewer

54
Providing AppControl in Your Application
• 3rd party application can provide a new AppControl by
describing a new AppControl in the config.xml file
The path of HTML file launched initially when
<tizen:app-control>
this AppControl is requested
<tizen:src name="[PAGE]" />
<tizen:operation name="[OPERATION]" />
<tizen: uri name="[URI_SCHEME]" />
<tizen:mime name="[MIME_TYPE]" />
</tizen:app-control>

55
Attribute Filter - Flags
string caseonly sensitive

SQL ‘WHERE’
expression

Description

EXACTLY

X

O

ATTR = 'VALUE'

Match exactly with the specified value

FULLSTRING

O

X

ATTR LIKE 'VALUE'

Match with the whole string but case-insensitive

CONTAINS

O

X

ATTR LIKE '%VALUE%'

Contain the specified string and case-insensitive

STARTSWITH

O

X

ATTR LIKE 'VALUE%'

Start with the specified string and case-insensitive

ENDSWITH

O

X

ATTR LIKE '%VALUE'

End with the specified string and case-insensitive

EXISTS*

-

-

IS NOT NULL or ATTR <> ''

Have any value not null nor empty string

* If the EXISTS flag is set, the matchValue is not necessary and can be ignored

56

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

CNIT 125 Ch 8. Security Operations
CNIT 125 Ch 8. Security OperationsCNIT 125 Ch 8. Security Operations
CNIT 125 Ch 8. Security Operations
 
CNIT 121: 12 Investigating Windows Systems (Part 3)
CNIT 121: 12 Investigating Windows Systems (Part 3)CNIT 121: 12 Investigating Windows Systems (Part 3)
CNIT 121: 12 Investigating Windows Systems (Part 3)
 
CNIT 125 Ch 4. Security Engineering (Part 1)
CNIT 125 Ch 4. Security Engineering (Part 1)CNIT 125 Ch 4. Security Engineering (Part 1)
CNIT 125 Ch 4. Security Engineering (Part 1)
 
CNIT 121: 4 Getting the Investigation Started on the Right Foot & 5 Initial D...
CNIT 121: 4 Getting the Investigation Started on the Right Foot & 5 Initial D...CNIT 121: 4 Getting the Investigation Started on the Right Foot & 5 Initial D...
CNIT 121: 4 Getting the Investigation Started on the Right Foot & 5 Initial D...
 
CNIT 152 12. Investigating Windows Systems (Part 3)
CNIT 152 12. Investigating Windows Systems (Part 3)CNIT 152 12. Investigating Windows Systems (Part 3)
CNIT 152 12. Investigating Windows Systems (Part 3)
 
CNIT 123 8: Desktop and Server OS Vulnerabilities
CNIT 123 8: Desktop and Server OS VulnerabilitiesCNIT 123 8: Desktop and Server OS Vulnerabilities
CNIT 123 8: Desktop and Server OS Vulnerabilities
 
CNIT 152 11 Analysis Methodology
CNIT 152 11 Analysis MethodologyCNIT 152 11 Analysis Methodology
CNIT 152 11 Analysis Methodology
 
Ch 8: Desktop and Server OS Vulnerabilites
Ch 8: Desktop and Server OS VulnerabilitesCh 8: Desktop and Server OS Vulnerabilites
Ch 8: Desktop and Server OS Vulnerabilites
 
Ch 6: Attacking Authentication
Ch 6: Attacking AuthenticationCh 6: Attacking Authentication
Ch 6: Attacking Authentication
 
Going outside the application
Going outside the applicationGoing outside the application
Going outside the application
 
CNIT 152: 10 Enterprise Services
CNIT 152: 10 Enterprise ServicesCNIT 152: 10 Enterprise Services
CNIT 152: 10 Enterprise Services
 
Ch 10: Attacking Back-End Components
Ch 10: Attacking Back-End ComponentsCh 10: Attacking Back-End Components
Ch 10: Attacking Back-End Components
 
CNIT 152: 9 Network Evidence
CNIT 152: 9 Network Evidence CNIT 152: 9 Network Evidence
CNIT 152: 9 Network Evidence
 
CNIT 121: 2 IR Management Handbook
CNIT 121: 2 IR Management HandbookCNIT 121: 2 IR Management Handbook
CNIT 121: 2 IR Management Handbook
 
CNIT 123 12: Cryptography
CNIT 123 12: CryptographyCNIT 123 12: Cryptography
CNIT 123 12: Cryptography
 
CNIT 152: 1 Real-World Incidents
CNIT 152: 1 Real-World IncidentsCNIT 152: 1 Real-World Incidents
CNIT 152: 1 Real-World Incidents
 
CNIT 125 Ch 4. Security Engineering (Part 2)
CNIT 125 Ch 4. Security Engineering (Part 2)CNIT 125 Ch 4. Security Engineering (Part 2)
CNIT 125 Ch 4. Security Engineering (Part 2)
 
CNIT 152: 3 Pre-Incident Preparation
CNIT 152: 3 Pre-Incident PreparationCNIT 152: 3 Pre-Incident Preparation
CNIT 152: 3 Pre-Incident Preparation
 
CNIT 141 13. TLS
CNIT 141 13. TLSCNIT 141 13. TLS
CNIT 141 13. TLS
 
Integrating Black Duck into Your Environment with Hub APIs
Integrating Black Duck into Your Environment with Hub APIsIntegrating Black Duck into Your Environment with Hub APIs
Integrating Black Duck into Your Environment with Hub APIs
 

Ähnlich wie 122 naver-deview2013-tizen-universal-device-platform-r20131014

Developing Tizen OS Based Solutions (IDF13) - Chris Norman
Developing Tizen OS Based Solutions (IDF13) - Chris NormanDeveloping Tizen OS Based Solutions (IDF13) - Chris Norman
Developing Tizen OS Based Solutions (IDF13) - Chris Norman
Ryo Jin
 
Application Virtualization overview - BayCUG
Application Virtualization overview - BayCUGApplication Virtualization overview - BayCUG
Application Virtualization overview - BayCUG
Denis Gundarev
 
Thick Application Penetration Testing - A Crash Course
Thick Application Penetration Testing - A Crash CourseThick Application Penetration Testing - A Crash Course
Thick Application Penetration Testing - A Crash Course
NetSPI
 
gkkCloudtechnologyassociate(cta)day 1
gkkCloudtechnologyassociate(cta)day 1gkkCloudtechnologyassociate(cta)day 1
gkkCloudtechnologyassociate(cta)day 1
Anne Starr
 
Securing the Internet of Things - Hank Chavers
Securing the Internet of Things - Hank ChaversSecuring the Internet of Things - Hank Chavers
Securing the Internet of Things - Hank Chavers
WithTheBest
 

Ähnlich wie 122 naver-deview2013-tizen-universal-device-platform-r20131014 (20)

Developing Tizen OS Based Solutions (IDF13) - Chris Norman
Developing Tizen OS Based Solutions (IDF13) - Chris NormanDeveloping Tizen OS Based Solutions (IDF13) - Chris Norman
Developing Tizen OS Based Solutions (IDF13) - Chris Norman
 
Tizen introduction & architecture
Tizen introduction & architectureTizen introduction & architecture
Tizen introduction & architecture
 
Introduction to the Tizen SDK 2.0.0 Alpha - Taiho Choi (Samsung) - Korea Lin...
Introduction to the Tizen SDK 2.0.0 Alpha - Taiho Choi  (Samsung) - Korea Lin...Introduction to the Tizen SDK 2.0.0 Alpha - Taiho Choi  (Samsung) - Korea Lin...
Introduction to the Tizen SDK 2.0.0 Alpha - Taiho Choi (Samsung) - Korea Lin...
 
Application Virtualization overview - BayCUG
Application Virtualization overview - BayCUGApplication Virtualization overview - BayCUG
Application Virtualization overview - BayCUG
 
Tizen Operating System
Tizen Operating SystemTizen Operating System
Tizen Operating System
 
Zenoss presentation (nur nabilah hassan)
Zenoss presentation (nur nabilah hassan)Zenoss presentation (nur nabilah hassan)
Zenoss presentation (nur nabilah hassan)
 
DockerCon EU 2015: Monitoring Docker
DockerCon EU 2015: Monitoring DockerDockerCon EU 2015: Monitoring Docker
DockerCon EU 2015: Monitoring Docker
 
ThroughTheLookingGlass_EffectiveObservability.pptx
ThroughTheLookingGlass_EffectiveObservability.pptxThroughTheLookingGlass_EffectiveObservability.pptx
ThroughTheLookingGlass_EffectiveObservability.pptx
 
Zephyr: Creating a Best-of-Breed, Secure RTOS for IoT
Zephyr: Creating a Best-of-Breed, Secure RTOS for IoTZephyr: Creating a Best-of-Breed, Secure RTOS for IoT
Zephyr: Creating a Best-of-Breed, Secure RTOS for IoT
 
Flink Forward Berlin 2018: Yonatan Most & Avihai Berkovitz - "Anomaly Detecti...
Flink Forward Berlin 2018: Yonatan Most & Avihai Berkovitz - "Anomaly Detecti...Flink Forward Berlin 2018: Yonatan Most & Avihai Berkovitz - "Anomaly Detecti...
Flink Forward Berlin 2018: Yonatan Most & Avihai Berkovitz - "Anomaly Detecti...
 
Application Streaming is dead. A smart way to choose an alternative
Application Streaming is dead. A smart way to choose an alternativeApplication Streaming is dead. A smart way to choose an alternative
Application Streaming is dead. A smart way to choose an alternative
 
Thick Application Penetration Testing - A Crash Course
Thick Application Penetration Testing - A Crash CourseThick Application Penetration Testing - A Crash Course
Thick Application Penetration Testing - A Crash Course
 
Introduction to FIWARE Open Ecosystem
Introduction to FIWARE Open EcosystemIntroduction to FIWARE Open Ecosystem
Introduction to FIWARE Open Ecosystem
 
Zephyr Introduction - Nordic Webinar - Sept. 24.pdf
Zephyr Introduction - Nordic Webinar - Sept. 24.pdfZephyr Introduction - Nordic Webinar - Sept. 24.pdf
Zephyr Introduction - Nordic Webinar - Sept. 24.pdf
 
No need to leave Connections. Bring your Domino applications into the Activit...
No need to leave Connections. Bring your Domino applications into the Activit...No need to leave Connections. Bring your Domino applications into the Activit...
No need to leave Connections. Bring your Domino applications into the Activit...
 
Hacking Tizen: The OS of everything - Whitepaper
Hacking Tizen: The OS of everything - WhitepaperHacking Tizen: The OS of everything - Whitepaper
Hacking Tizen: The OS of everything - Whitepaper
 
StarlingX - A Platform for the Distributed Edge | Ildiko Vancsa
StarlingX - A Platform for the Distributed Edge | Ildiko VancsaStarlingX - A Platform for the Distributed Edge | Ildiko Vancsa
StarlingX - A Platform for the Distributed Edge | Ildiko Vancsa
 
gkkCloudtechnologyassociate(cta)day 1
gkkCloudtechnologyassociate(cta)day 1gkkCloudtechnologyassociate(cta)day 1
gkkCloudtechnologyassociate(cta)day 1
 
Securing the Internet of Things - Hank Chavers
Securing the Internet of Things - Hank ChaversSecuring the Internet of Things - Hank Chavers
Securing the Internet of Things - Hank Chavers
 
Going Beyond the Device Heart Beat
Going Beyond the Device Heart BeatGoing Beyond the Device Heart Beat
Going Beyond the Device Heart Beat
 

Mehr von NAVER D2

Mehr von NAVER D2 (20)

[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다
 
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
 
[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기
 
[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발
 
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
 
[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A
 
[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기
 
[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning
 
[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications
 
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load BalancingOld version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
 
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
 
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
 
[224]네이버 검색과 개인화
[224]네이버 검색과 개인화[224]네이버 검색과 개인화
[224]네이버 검색과 개인화
 
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
 
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
 
[213] Fashion Visual Search
[213] Fashion Visual Search[213] Fashion Visual Search
[213] Fashion Visual Search
 
[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화
 
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
 
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
 
[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Kürzlich hochgeladen (20)

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 

122 naver-deview2013-tizen-universal-device-platform-r20131014

  • 1. Tizen – Universal Device Platform 이원석 수석 / 박정혁 선임 , 삼성전자
  • 2. Table of Contents • What is Tizen ? • Introducing Tizen web framework • HTML5 features on Tizen • Upcoming cutting-edge HTML5 features • Tizen Web Device APIs • Tizen SDK Demo 2
  • 3. What is Tizen ? • Tizen is an open source, standards-based software platform • • smartphones, tablets, netbooks, in-vehicle infotainment devices, TVs, and more. www.tizen.org • Tizen provides a robust and flexible environment for application development, based on HTML5 • HTML5: the preferred development environment for apps/services for the future robust capabilities and cross platform flexibility • The Tizen project resides within the Linux Foundation • 3 The Linux Foundation: non-profit technology consortium chartered to foster the growth of Linux.
  • 4. Why Tizen ? • Market Growth Millions of Units 1200 1000 800 775.79 600 677.18 561.42 400 200 458.01 362.45 270.93 169.73 17.61 2010 0 114.58 235.69 69.08 2011 2012 2013 2014 Smart Phones 318.32 2015 Media Tablets Worldwide Smartphone and Media Tablet Shipments, 2010-2015 *Source: Gartner, Inc.,, Emerging Technology Analysis: Mobile Business Intelligence, 13 July 2011 4
  • 5. Why Tizen? • Mobile OS 주도권 경쟁이 타 분야로 확산 5
  • 7. Tizen Architecture • Tizen is a Linux-based platform providing both Web and native APIs 7
  • 8. Tizen Web APIs Tizen Web APIs Device API W3C Miscellaneous Application HTML5 Web GL Bluetooth CSS3 Web Worker Typed Array Calendar Geolocation WebAudio Full Screen API Contact Touch Event WebSocket JSON Messaging File Widget URI Scheme … 8 … …
  • 11. HTML5 Feature Set Specifications Description DOM, Forms and Styles HTML5 Forms, Selectors API, Media Queries, CSS Transforms, CSS Animations, CSS Transitions, CSS Color, CSS Background and Borders, CSS Flexible Box Layout, CSS Text, CSS Basic User Interface, CSS Fonts, WOFF File Format 1.0, DOM Support fundamental Web document structure and styles Device Touch Events, Device Orientation, Battery Status API, Vibration API, Browser Online State, Screen Orientation API, Network Information API Support device capabilities such as sensors, network connectivity information, etc. Graphics Canvas 2D, SVG Support Canvas graphic and SVG Media Video/Audio Element, getUserMedia, Web Audio API, HTML Media Capture Support Video and Audio capabilities in HTML Communication Web Socket API, XMLHttpRequest Level2, Session History, Server-Sent Events, Web messaging Support fetching remote resource, communication between client and server, remote event dispatch, etc. Storage Web Storage, File API, File API: Writer, File API: Directories and System, Application caches, Indexed DB, Web SQL Database Support device storage capabilities 11
  • 12. HTML5 Feature Set Specifications Description Security Cross-Origin Resource Sharing, iframe sandboxing, Content Security Policy Support secure mechanism for origin protection and content isolation UI Clipboard API and Events, Drag and Drop Support rich user experience Performance and Optimization Web Workers, Page Visibility, Animation Timing Control, Navigation Timing Support parallel execution, performance optimization methods Location Geolocation API Support location watch capabilities 12
  • 14. Upcoming HTML5 Features • Media • Media Source Extensions, Encrypted Media Extensions, WebRTC • Device APIs • Ambient Light Events, Proximity Events • Security • Web Cryptography • Storage • 14 Quota Management API
  • 16. Why Tizen Web Device APIs? • Limitations of standard specifications • • Most of them are still working drafts No full support for the Tizen characteristic features • Tizen Web device APIs • • 16 Device APIs give the characteristic features of the Tizen platform Device APIs have been updated agilely
  • 17. Tizen Web Device APIs Design • Follows W3C specification API style • • • Numerical constants avoided but string enumerations used Most methods are asynchronous Success and error callback, and constructors used • Based on standard technologies • • Tizen Web device API specifications are written in WebIDL Implementation follows the fundamental rule of ECMAScript 5.1 and W3C WebIDL recommendation (for example, type conversion) • Defined tizen namespace • • 17 All Tizen device APIs exist in the tizen namespace tizen is the global object to which all Tizen device APIs are bound
  • 18. Tizen Web Device APIs Design • Defined tizen namespace typeof window.tizen // returns object var notification = new tizen.StatusNotification(“SIMPLE”, “Hello Tizen !”); tizen.notification.post(notification); 18
  • 19. Tizen Web Device API Modules Tizen common Tizen Content Content Download Application Communication Alarm Bluetooth Application Messaging Data Control Network Bearer Selection Package NFC Push Social System Bookmark Power Calendar System Information Call History System Setting Contact Time Data Synchronization Web Setting Secure Element Input/Output File System Message Port User interface Notification 19
  • 20. Tizen Common Tizen APIs (1/2) Tizen • Tizen • Provides Tizen’s common functionalities • • 20 Contains object interfaces that are commonly used throughout the other modules The tizen object is the topmost object providing the foundations for accessing Tizen device features
  • 21. Tizen Common Tizen APIs (2/2) Tizen • Tizen’s common object interfaces • Generic asynchronous callback handling • • • Generic error and exception handling • • • Tizen APIs throw a WebAPIException object and returns a WebAPIError object through error callbacks These follow the style and types of error of DOM4 specification. Filters and sort modes • • 21 Success callback for methods that do not require a return value Error callback for methods that require an error as input parameter Filters are used to limit query results and compose complex queries Generally, filters are used with the find() method in Calendar, Call History, Contact, Content, and Messaging modules
  • 22. Application Application APIs (1/2) Alarm Application Data Control Package • Alarm • Schedules an application to be launched at a specific time • Application • • Manages current application Manages other applications • • Launches other applications • 22 Retrieves information of applications Application Control
  • 23. Application Application APIs (2/2) Alarm Application Data Control Package • Package • • • 23 Retrieves information of installed packages Checks the updates of the installed package list Installs or uninstalls packages Package is a piece of applications that the system can install and uninstall, such as wgt or tpk
  • 24. Communication Communication APIs (1/2) Bluetooth Messaging Network Bearer Selection NFC Push • Bluetooth • • • Manages Bluetooth devices Discovers nearby devices, and bonds or pairs with found devices Connects to devices to exchange data with them • NFC • • • Manages NFC devices Detects NFC tag and peer Exchanges NDEF data • Messaging • • 24 Secure Element Sends or receives SMS, MMS, or email messages Retrieves the message storage
  • 25. Communication Communication APIs (2/2) Bluetooth Messaging Network Bearer Selection NFC Push • Secure Element • Provides functionality to communicate with applications in several secure elements, such as UICC/SIM, embedded Secure Element, or Secure SD card • Push • 25 Secure Element Receives push notifications from the Tizen push server
  • 26. Content Content APIs (1/2) Content Download • Content • • • • • 26 Discovers and manages images, video, music, and other files Scans content or directory metadata in the device and updates the content database Retrieves content from content database using filters Browses content by getting a list of content directories Views and edits content item details
  • 27. Content Content APIs (2/2) • Download • • Downloads files from a specific URL Enables applications to manage download operation details • • • • 27 Sets the stored location of a downloaded file Sets the network type: cellular, Wi-Fi, or default Get operation status: current received size and events Gets the file MIME type Content Download
  • 28. Input / Output Input/Output APIs File System Message Port • Filesystem • Accesses the file system virtual root locations • • Manages file storage • • • • Documents, downloads, images, music, videos, ringtones, wgt-package, wgt-private, and wgt-private-tmp Internal and external Mounted, removed, or unmountable Accesses files and directories Creates, reads, edits or deletes files and directories • Message Port • 28 Communicates with other applications: IPC based on application ID
  • 29. Social Bookmark Social APIs (1/3) Calendar Call History Contact Data Synchronization • Contact • Manages contacts in device address books • • Manages persons • • Including adding, searching, updating, and deleting Person is the aggregation of one or more contacts that are the information of the same person Supports vCard 3.0 Contact repository Persons Address book #0 [phone] Address book #1 [Facebook] 29 Address book #2 [Google]
  • 30. Social Social APIs (2/3) Bookmark Calendar Call History Contact Data Synchronization • Calendar • Manages events and tasks • • • • Including adding, searching, updating, and deleting Each event or task has a series of attributes, such as purpose, starting time, and duration Monitors the changes in events and tasks Supports iCalendar v2.0, based on RFC 5545 • Call History • • • 30 Browses the call history of a device Removes call history entries Monitors changes
  • 31. Social Social APIs (3/3) Bookmark Calendar Call History Contact Data Synchronization • Data Synchronization • Synchronizes device data to the server using the OMA DS 1.2 protocol • • Manages the OMS DS profile slots • • 31 Contact data or calendar data Tizen platform sets a limitation on the number of supported profiles Adds, updates and removes profiles
  • 32. System System APIs (1/2) Power System Information System Setting Time • Time • Provides TZDate type that is an extended type of ECMAScript date • • It contains the time zone information as well as time information Provides utility functions for managing system time and duration • • Methods for getting local time or time zone Methods for calculating time duration • System Information • Enables access various properties of the system • • 32 Bluetooth, NFC, Wi-Fi, Front/back Camera, Flash, GPS, Sensors, Platform and API version, USB host/accessory Monitors the change of system information
  • 33. System System APIs (2/2) Power System Information System Setting Time • System Setting • Sets or gets the system setting values • • • • HOME_SCREEN: Home screen background image LOCK_SCREEN: Lock screen background image INCOMING_CALL: incoming call ringtone NOTIFICATION_EMAIL: email notification alert tone • Power • Manages the power state for the screen resource • • • 33 Sets or gets the state of the screen: off, dim, normal, or bright Monitors the changes in the state of the screen Sets the CPU not to sleep
  • 34. User Interface Notification User Interface APIs • Notification • Posts UI notifications about application events ONGOING notification PROGRESS notification SIMPLE notification 34
  • 36. Tizen Developer Site • https://developer.tizen.org 36
  • 37. Tizen Developer Summit • The Ritz-Carlton Seoul • Seoul, Korea • November 11 - 12, 2013 37
  • 38. Thanks for your attention!
  • 41. Configuration for Web Applications • config.xml file • • Defined in the W3C Packaging and XML Configuration specification Tizen namespace is defined for describing Tizen specific features • Properties related with device APIs Element tizen:application Describes the application ID and package ID. tizen:app-control Defines the application control that this application provides. <tizen:app-control> <tizen:src name="controller.html" /> <tizen:operation name="http://tizen.org/appcontrol/operation/view" /> </tizen:app-control> tizen:privilege 41 Description Example Describes the privilege that this application needs. <tizen:privilege name="http://tizen.org/privilege/appmanager.kill" /> <tizen:application id="UJedH64lXL.Test" package="UJedH64lXL" required_version="2.1" />
  • 42. Application Signing • Applications must be signed with 2 signatures: • Author signature • • • Distributer signature • • 42 Determines the integrity of an application package as intended by the developer Confirms that all applications that are signed with the same author certificate are trustworthy Generated by an application publisher Determines the privilege level of the application.
  • 43. Privilege Levels • Privileges are categorized into 3 levels • • • public: open to all Tizen application developers partner: for partners registered on the Tizen store platform: for managing the Tizen platform API privilege level Nonprivileged public partner platform public O O X X partner O O O X platform O O O O Application distributor certification 43
  • 44. Privileges • Some APIs require privileges for using them from an application • • Privilege level: application needs to have higher privilege level than the required one to use the API Privilege: needs to be described in config.xml Required privileges are described in API specification documents 44
  • 45. APIs with partner or public privileges Privilege 45 kill / getAppCert Network Bearer Selection Secure Element System Information ALL ALL imei, msisdn, msin Package Platform Methods Application Data Control Partner Module install / uninstall setVisible Bluetooth Bookmark ALL ALL
  • 47. Application Control • Application control enables launching other applications based on the functionalities needed • For example: Contacts app uses the Gallery app to select an image file Launching Gallery app through the application control Reply with the path of the selected file 47
  • 48. Application Control Request launch with the ApplicationControl instance Tizen application AppControl registry Resolve app ID to launch from given app control operation : ‘http://tizen.org/appcontrol/operation /view’ url : ‘http://example.com’ mime : ‘text/html’ AppControl manager Caller applicationgets the Caller application gets the response data response data 48 Launch the selected application and pass the ApplicationControl instance key : values key : values … Reply the result Base application
  • 49. Example: Requesting Application • Requesting AppControl: var appControl = new tizen.ApplicationControl( 'http://tizen.org/appcontrol/operation/pick', null, 'image/*', null); tizen.application.launchAppControl(appControl, null, function() { console.log("Launching AppControl succeeded"); }, function(e) { console.log("Launching AppControl failed"); }, { onsuccess : function(data) { console.log("AppControl returned success"); data.forEach(function(v, i) { console.log("["+i+"] key : "+v.key); v.value.forEach(function(vv, vi) { console.log("---- value#"+vi+“ : "+vv); }); onsuccess function is invoked when the }); base application returns the result data }, onfailure : function() { console.log("AppControl returned failure"); } } ... ConsoleMessage ... :Launching AppControl succeed Printed log ... ConsoleMessage ... :AppControl returned success ); ... ConsoleMessage ... :[0] key : http://tizen.org/appcontrol/data/selected ... ConsoleMessage ... :---- value#0 : /opt/usr/media/Images/image2.jpg 49 Launch Reply
  • 50. Providing AppControl in Your Application (1/2) • Edit AppControl in the IDE: Tizen tab <tizen:app-control> <tizen:src name="control.html" /> <tizen:operation name="http://tizen.org/appcontrol/operation/view" /> <tizen:mime name="image/*" /> </tizen:app-control> 50
  • 51. Providing AppControl in Your Application (2/2) • Handle passed ApplicationControl instance and reply the result RequestedApplicationControl instance has the received AppControl, the caller’s appID and functions for reply function initAppControl() { var currentApp = tizen.application.getCurrentApplication(); var reqedAppControl = currentApp.getRequestedAppControl(); var appControl = reqedAppControl.appControl; ApplicationControl instance has the same value with the AppControl instance sent from caller application Replying the result, if any console.log("operation:" + appControl.operation + " / uri:" + appControl.uri + " / mime:" + appControl.mime); // Do something reqedAppControl.replyResult( [ tizen.ApplicationControlData('key0', ['value0_0']), tizen.ApplicationControlData('key1', ['value1_0']) ] ); } window.addEventListener('load', initAppControl, false); 51
  • 52. Application Control Model Description Example Operation • Defines the action to be performed by the application control • Mandatory item for application control • IRI style http://tizen.org/appcontrol/operation/view http://tizen.org/appcontrol/operation/pick http://tizen.org/appcontrol/operation/call URI • Data on which the action is performed http, tel, mailto … MIME • Specific URI type • If MIME is not set and URI has a file scheme, the MIME is automatically determined by local file audio/*, video/* … Application control data Used for resolution • Key-value pairs providing additional information for the service request • Dataset * AppControl Manager resolves the application whose operation, URI, and MIME type match the requested ApplicationControl instance exactly 52
  • 53. Base AppControls Base application Operation URI MIME Internet (Browser) http://tizen.org/appcontrol/operation/view http - MusicPlayer http://tizen.org/appcontrol/operation/view - audio/* VideoPlayer http://tizen.org/appcontrol/operation/view - video/* Phone http://tizen.org/appcontrol/operation/dial tel - Call http://tizen.org/appcontrol/operation/call tel - Camera http://tizen.org/appcontrol/operation/create_content - image/jpeg, video/3gpp FileManager http://tizen.org/appcontrol/operation/pick - */*, image/*, audio/*, video/* Email http://tizen.org/appcontrol/operation/compose mailto - ImageViewer http://tizen.org/appcontrol/operation/view - image/* … * The base AppControls are provided by the system default applications 53
  • 54. Example: Requesting Application Operation var appControl = new tizen.ApplicationControl( URI "http://tizen.org/appcontrol/operation/view", "file:///opt/usr/media/Images/image1.jpg", null, MIME is null, but would be determined to be null); image/jpeg based on the URI value tizen.application.launchAppControl(appControl, null, function() { console.log("launch appControl succeed"); }, function(e) { console.log("launching appControl failed : " + e.message); } ); Launch ImageViewer 54
  • 55. Providing AppControl in Your Application • 3rd party application can provide a new AppControl by describing a new AppControl in the config.xml file The path of HTML file launched initially when <tizen:app-control> this AppControl is requested <tizen:src name="[PAGE]" /> <tizen:operation name="[OPERATION]" /> <tizen: uri name="[URI_SCHEME]" /> <tizen:mime name="[MIME_TYPE]" /> </tizen:app-control> 55
  • 56. Attribute Filter - Flags string caseonly sensitive SQL ‘WHERE’ expression Description EXACTLY X O ATTR = 'VALUE' Match exactly with the specified value FULLSTRING O X ATTR LIKE 'VALUE' Match with the whole string but case-insensitive CONTAINS O X ATTR LIKE '%VALUE%' Contain the specified string and case-insensitive STARTSWITH O X ATTR LIKE 'VALUE%' Start with the specified string and case-insensitive ENDSWITH O X ATTR LIKE '%VALUE' End with the specified string and case-insensitive EXISTS* - - IS NOT NULL or ATTR <> '' Have any value not null nor empty string * If the EXISTS flag is set, the matchValue is not necessary and can be ignored 56