Create IoT with Open Source Hardware, Tizen and HTML5

Leon Anavi
Leon AnaviSoftware Engineer at Konsulko Group
Create Internet of Things with open source hardware, Tizen and
HTML5
Leon Anavi
@leonanavi
leon@anavi.org
Leon Anavi
●
Software engineer and open
source enthusiast
●
E-mail: leon@anavi.org
Choosing the right hardware for IoT
Tizen
●
Open source Linux-based software platform
●
Project of the Linux foundation
●
Suitable of all device areas: mobile, wearable, embedded,
IVI, IoT, etc.
●
Compatible with ARM and Intel architectures
●
Excellent HTML5 and web apps support
Tizen devices
There's more...
6
A20-OLinuXino-MICRO Radxa Rock MinnowBoard MAX
ODROID-U3 Firefly-RK3288 HummingBoard-i2eX
There's even more...
7
Raspberry Pi 2 Model B
Samsung OSG: Bringing Tizen to a Raspberry PI 2 Near You…
http://blogs.s-osg.org/bringing-tizen-to-a-raspberry-pi-2-near-you/
Tizen 3 profiles
Tizen:Common
Mobile Wearable IVI TV
What's inside Tizen 3?
Linux kernel 3.14 LTS
Smack
RPM Package Manager
GNU C Library
GCC
Crosswalk
OpenSSL
SQLite
PulseAudio
Wayland & Weston
X11
EFL
Tizen architecture
Web applications
Web framework Native framework
Core
Linux kernel and device drivers
Native applications
Tizen security
●
Strong security through application sandboxes and
resource access control
●
Smack isolates items at the kernel ground
●
Cynara manages and checks privileges
Application
Smack
Application (Malware)
Resources
Allow
Deny
Tizen web runtime
●
Crosswalk web runtime for all Tizen 3 profile based on
Tizen:Common
●
Up to date version of Blink and Chromium
●
Up to date JavaScript APIs based on the web
standards
●
Tizen specific JavaScript APIs
●
https://crosswalk-project.org/
Tizen Porting Guidelines
●
Linux kernel
●
Tizen:Common and IVI require Linux kernel 3.14 LTS
●
Building Tizen using GBS or the Yocto Project
●
Platform development tools: Git, Gerrit, JIRA
●
More: https://wiki.tizen.org/wiki/Porting_Guide
Git Build System (GBS)
●
Command line developer tool for Tizen package
development
●
Builds RPM packages
●
Creates images with MIC
●
Usage:
https://source.tizen.org/documentation/reference/git-
build-system/usage
Tizen on Yocto
●
Meta layers for building Tizen with the tools of the
Yocto project and Open Embedded
●
Building Tizen on Yocto for Intel devices:
https://wiki.tizen.org/wiki/Build_Tizen_with_Yocto_Project
●
Building Tizen for Freescale i.MX6 devices:
https://wiki.tizen.org/wiki/HummingBoard#Building_Tizen:Common_wit
h_Yocto
Development Boards
●
Tizen is compatible with ARMv7 and Intel
architectures
●
ARMv8, MIPS (work in progress)
A20-OLinuXino-MICRO Firefly-RK3288 MinnowBoard MAX
Open Source Hardware
●
Hardware design released with the FOSS approach
●
Open source culture for sharing knowledge and
experience
●
Low cost prototyping
●
Examples: Arduino, OLinuXino,
Radxa Rock, MinnowBoard MAX
MinnowBoard MAX
●
64-bit Intel Atom E38XX Series SoC
●
Integrated Intel HD Graphics GPU
●
Manufactured by CircuitCo
●
Open source hardware
●
Mainline Linux Kernel 3.14+ LTS
with GPU support
●
Tizen:Common & Tizen IVI
ODROID-U3
●
Samsung Exynos 4412 Quad ARM SoC (same as in
Samsung Galaxy SIII and RD-PQ)
●
Mali-400 Quad Core Graphics
●
Manufactured by Hardkernel
●
Linux kernel 3.10
●
Tizen:Common & Tizen:IVI
Allwinner Technology
●
A10/A20 ARM SoC with Mali-400 GPU graphics
●
A80 with PowerVR graphics
●
Mainline Das U-Boot for A10/A20
●
Linux-sunxi kernel 3.4 for A10/A20
●
Open source hardware: OLinuXino
Tizen-sunxi
●
Community open-source port of Tizen 2 and
Tizen:Common with Linux-sunxi kernel for devices with
Allwinner A10/A20 SoC: https://github.com/leon-
anavi/tizen-sunxi
●
Supported boards: Olimex A10/A20-OLinuXino
Rockchip
●
RK3188 ARM SoC with Mali-400MP4 GPU
●
RK3288 ARM SoC with Mali-T764 GPU
●
Proprietary bootloader
●
Linux-rockchip kernel
●
Open source hardware: Radxa Rock
Tizen-rockchip
●
Community open-source port of Tizen:Common with
Linux-rockchip kernel for devices with Rockchip
RK3188/RK3288 SoC: https://github.com/leon-
anavi/tizen-rockchip
●
Supported boards: Radxa Rock, Firefly-RK3288
Freescale i.MX6
●
Linux kernel 3.14 & U-Boot
●
Wayland/Weston drivers for Vivante GPU
●
Open source hardware: HummingBoard
●
Tizen on Yocto: https://wiki.tizen.org/wiki/HummingBoard
Tizen SDK
●
Mobile
●
Wearable
●
IVI
●
Tizen-based Samsung Smart TV
https://developer.tizen.org/downloads/tizen-sdk
Why HTML5?
●
Cross platform compatibility and support of multiple
devices
●
New JavaScript APIs and better capabilities
●
Millions of web developers
HTML5 & JavaScript APIs in Tizen
●
Data storage (web storage, IndexDB, WebSQL, Tizen
Filesystem API)
●
Communication (SMS, MMS, email, Bluetooth, NFC, push
notifications, web sockets)
●
Multimedia & WebGL
●
System & Social
●
Sensors (light, pressure, proximity, ultraviolet, magnetic
sensors)
Web Apps on Tizen:Common & Tizen IVI
●
Install web app: pkgcmd -i -t wgt -p <wgt file> -q
●
Show list of installed apps: app_launcher -l
●
Launch web app: app_launcher -s <Application ID>
●
Stop web app: app_launcher -k <Application ID>
●
Uninstall web app: pkgcmd -u -q -n <package>
Challenges
●
GPU driver support for Wayland/Weston
●
Tizen on Yocto
●
More peripheral support
●
New hardware devices
DIY (Do It Yourself) Tizen devices
●
Use existing Tizen profile or create new based on
Tizen:Common
●
Headless or a devices with graphical user interface
●
Devices: tablet, TV, wearable devices, Internet of
Things (IoT), etc.
DIY Tizen tablet
●
Single board computer
●
Touchscreen display
●
External WiFi module
●
Battery
●
Power supply
IoTivity
●
Open source framework for seamless device-to-device
connectivity
●
Linux Foundation collaborative project
●
Sponsored by Open Interconnect Consortium (OIC)
https://www.iotivity.org/documentation/tizen/getting-started
Tizen IoT Showcases
33
Tizen Cookbook
●
30% discount code until 22 July 2015:
HKOSCON
https://www.packtpub.com/application-
development/tizen-cookbook
Join Tizen
●
Tizen https://www.tizen.org/
●
Tizen Wiki https://wiki.tizen.org/
●
Tizen Developer https://developer.tizen.org/
●
Tizen Source Code https://source.tizen.org/
●
JIRA https://bugs.tizen.org/
●
News http://www.tizenexperts.com/
Thank you
1 of 36

Recommended

FOSDEM 2017: Making Your Own Open Source Raspberry Pi HAT by
FOSDEM 2017: Making Your Own Open Source Raspberry Pi HATFOSDEM 2017: Making Your Own Open Source Raspberry Pi HAT
FOSDEM 2017: Making Your Own Open Source Raspberry Pi HATLeon Anavi
2.2K views27 slides
Porting Tizen to open source hardware devices for beginners by
Porting Tizen to open source hardware devices for beginnersPorting Tizen to open source hardware devices for beginners
Porting Tizen to open source hardware devices for beginnersLeon Anavi
5.7K views29 slides
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro... by
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...Samsung Open Source Group
5.8K views28 slides
Bringing Tizen to a Raspberry Pi 2 Near You by
Bringing Tizen to a Raspberry Pi 2 Near YouBringing Tizen to a Raspberry Pi 2 Near You
Bringing Tizen to a Raspberry Pi 2 Near YouSamsung Open Source Group
4.8K views16 slides
Creating new Tizen profiles using the Yocto Project by
Creating new Tizen profiles  using the Yocto ProjectCreating new Tizen profiles  using the Yocto Project
Creating new Tizen profiles using the Yocto ProjectLeon Anavi
4.9K views33 slides
Tizen platform-dev-tds14sh by
Tizen platform-dev-tds14shTizen platform-dev-tds14sh
Tizen platform-dev-tds14shPhil www.rzr.online.fr
2K views25 slides

More Related Content

What's hot

Tizen store-z1-20150228rzr by
Tizen store-z1-20150228rzrTizen store-z1-20150228rzr
Tizen store-z1-20150228rzrPhil www.rzr.online.fr
2.3K views21 slides
Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun... by
Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...
Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...Anne Nicolas
663 views30 slides
IoTivity on Tizen: How to by
IoTivity on Tizen: How toIoTivity on Tizen: How to
IoTivity on Tizen: How toSamsung Open Source Group
10.2K views41 slides
IoTivity: From Devices to the Cloud by
IoTivity: From Devices to the CloudIoTivity: From Devices to the Cloud
IoTivity: From Devices to the CloudSamsung Open Source Group
18.3K views28 slides
Tizen Web App 개발 by
Tizen Web App 개발Tizen Web App 개발
Tizen Web App 개발xcoda
12.2K views19 slides
Opensource 是人生的好朋友 2016-07-21 by
Opensource 是人生的好朋友 2016-07-21Opensource 是人生的好朋友 2016-07-21
Opensource 是人生的好朋友 2016-07-21CQD
1K views41 slides

What's hot(20)

Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun... by Anne Nicolas
Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...
Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...
Anne Nicolas663 views
Tizen Web App 개발 by xcoda
Tizen Web App 개발Tizen Web App 개발
Tizen Web App 개발
xcoda12.2K views
Opensource 是人生的好朋友 2016-07-21 by CQD
Opensource 是人生的好朋友 2016-07-21Opensource 是人生的好朋友 2016-07-21
Opensource 是人生的好朋友 2016-07-21
CQD1K views
GNOME development on Tizen Mobile by Joone Hur
GNOME development on Tizen MobileGNOME development on Tizen Mobile
GNOME development on Tizen Mobile
Joone Hur4K views
Making Open Source Hardware IoT with Raspberry Pi by Leon Anavi
Making Open Source Hardware IoT with Raspberry PiMaking Open Source Hardware IoT with Raspberry Pi
Making Open Source Hardware IoT with Raspberry Pi
Leon Anavi884 views
Introduction to Android (Jeudis du libre) by cbeyls
Introduction to Android (Jeudis du libre)Introduction to Android (Jeudis du libre)
Introduction to Android (Jeudis du libre)
cbeyls2.1K views
Developing FOSDEM Companion by cbeyls
Developing FOSDEM CompanionDeveloping FOSDEM Companion
Developing FOSDEM Companion
cbeyls1.2K views
Fedora on risc-v_tokyo_30_sep_2019_v4 by Wei Fu
Fedora on risc-v_tokyo_30_sep_2019_v4Fedora on risc-v_tokyo_30_sep_2019_v4
Fedora on risc-v_tokyo_30_sep_2019_v4
Wei Fu77 views
Linux on RISC-V (ELC 2020) by Drew Fustini
Linux on RISC-V (ELC 2020)Linux on RISC-V (ELC 2020)
Linux on RISC-V (ELC 2020)
Drew Fustini3K views
Why the yocto project for my io t project elc_edinburgh_2018 by Mender.io
Why the yocto project for my io t project elc_edinburgh_2018Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018
Mender.io283 views
Headless Android (Wearable DevCon 2014) by Ron Munitz
Headless Android (Wearable DevCon 2014)Headless Android (Wearable DevCon 2014)
Headless Android (Wearable DevCon 2014)
Ron Munitz506 views
PHARO IoT: Present and Future by ESUG
PHARO IoT: Present and FuturePHARO IoT: Present and Future
PHARO IoT: Present and Future
ESUG654 views
Introduction to Docker, Meetup at University of Bamberg by Hypriot by Team Hypriot
Introduction to Docker, Meetup at University of Bamberg by HypriotIntroduction to Docker, Meetup at University of Bamberg by Hypriot
Introduction to Docker, Meetup at University of Bamberg by Hypriot
Team Hypriot2.1K views

Similar to Create IoT with Open Source Hardware, Tizen and HTML5

tizen-oshw-tds14sh by
tizen-oshw-tds14shtizen-oshw-tds14sh
tizen-oshw-tds14shPhil www.rzr.online.fr
1.6K views26 slides
How to port Tizen:Common to open source hardware devices? by
How to port Tizen:Common to open source hardware devices? How to port Tizen:Common to open source hardware devices?
How to port Tizen:Common to open source hardware devices? Leon Anavi
2.8K views26 slides
Windows IoT by
Windows IoTWindows IoT
Windows IoTSameer Sapra
323 views20 slides
web-of-twins-20190604rzr by
web-of-twins-20190604rzrweb-of-twins-20190604rzr
web-of-twins-20190604rzrPhil www.rzr.online.fr
1.8K views19 slides
Rapid IoT Prototyping with Tizen on Raspberry Pi by
Rapid IoT Prototyping with Tizen on Raspberry PiRapid IoT Prototyping with Tizen on Raspberry Pi
Rapid IoT Prototyping with Tizen on Raspberry PiLeon Anavi
1.2K views34 slides
Overview of the Intel® Internet of Things Developer Kit by
Overview of the Intel® Internet of Things Developer KitOverview of the Intel® Internet of Things Developer Kit
Overview of the Intel® Internet of Things Developer KitIntel® Software
2K views39 slides

Similar to Create IoT with Open Source Hardware, Tizen and HTML5(20)

How to port Tizen:Common to open source hardware devices? by Leon Anavi
How to port Tizen:Common to open source hardware devices? How to port Tizen:Common to open source hardware devices?
How to port Tizen:Common to open source hardware devices?
Leon Anavi2.8K views
Rapid IoT Prototyping with Tizen on Raspberry Pi by Leon Anavi
Rapid IoT Prototyping with Tizen on Raspberry PiRapid IoT Prototyping with Tizen on Raspberry Pi
Rapid IoT Prototyping with Tizen on Raspberry Pi
Leon Anavi1.2K views
Overview of the Intel® Internet of Things Developer Kit by Intel® Software
Overview of the Intel® Internet of Things Developer KitOverview of the Intel® Internet of Things Developer Kit
Overview of the Intel® Internet of Things Developer Kit
Intel® Software2K views
IoTSummit: Design and architect always disconnected iot system by Marco Dal Pino
IoTSummit: Design and architect always disconnected iot systemIoTSummit: Design and architect always disconnected iot system
IoTSummit: Design and architect always disconnected iot system
Marco Dal Pino92 views
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688... by MediaTek Labs
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...
MediaTek Labs3.8K views
Tizen IVI - Rusty Lynch (Intel) - Korea Linux Forum 2012 by Ryo Jin
Tizen IVI - Rusty Lynch (Intel) - Korea Linux Forum 2012Tizen IVI - Rusty Lynch (Intel) - Korea Linux Forum 2012
Tizen IVI - Rusty Lynch (Intel) - Korea Linux Forum 2012
Ryo Jin1.8K views
Mob324 Windows IoT Core Dave Glover Microsoft Australia by Dave Glover
Mob324 Windows IoT Core Dave Glover Microsoft AustraliaMob324 Windows IoT Core Dave Glover Microsoft Australia
Mob324 Windows IoT Core Dave Glover Microsoft Australia
Dave Glover1K views
Tsunami of Technologies. Are we prepared? by msyukor
Tsunami of Technologies. Are we prepared?Tsunami of Technologies. Are we prepared?
Tsunami of Technologies. Are we prepared?
msyukor132 views
BKK16-500K2 CTO talk - The End to End Story by Linaro
BKK16-500K2 CTO talk - The End to End StoryBKK16-500K2 CTO talk - The End to End Story
BKK16-500K2 CTO talk - The End to End Story
Linaro397 views
Build an azure connected io t device in 45 minutes (or less) by Marco Dal Pino
Build an azure connected io t device in 45 minutes (or less)Build an azure connected io t device in 45 minutes (or less)
Build an azure connected io t device in 45 minutes (or less)
Marco Dal Pino96 views

More from Leon Anavi

Как да убием и последната дискета с Open Source технологии? by
Как да убием и последната дискета с Open Source технологии?Как да убием и последната дискета с Open Source технологии?
Как да убием и последната дискета с Open Source технологии?Leon Anavi
22 views37 slides
Linux обновления с RAUC и Docker by
Linux обновления с RAUC и DockerLinux обновления с RAUC и Docker
Linux обновления с RAUC и DockerLeon Anavi
81 views34 slides
How to Choose a Software Update Mechanism for Embedded Linux Devices by
How to Choose a Software Update Mechanism for Embedded Linux DevicesHow to Choose a Software Update Mechanism for Embedded Linux Devices
How to Choose a Software Update Mechanism for Embedded Linux DevicesLeon Anavi
614 views42 slides
Open Hardware Makers by
Open Hardware MakersOpen Hardware Makers
Open Hardware MakersLeon Anavi
18 views15 slides
Open Source Tools for Making Open Source Hardware by
Open Source Tools for Making Open Source HardwareOpen Source Tools for Making Open Source Hardware
Open Source Tools for Making Open Source HardwareLeon Anavi
50 views23 slides
A/B Linux updates with RAUC and meta-rauc-community: now & in the future by
A/B Linux updates with RAUC and meta-rauc-community: now & in the futureA/B Linux updates with RAUC and meta-rauc-community: now & in the future
A/B Linux updates with RAUC and meta-rauc-community: now & in the futureLeon Anavi
985 views32 slides

More from Leon Anavi(20)

Как да убием и последната дискета с Open Source технологии? by Leon Anavi
Как да убием и последната дискета с Open Source технологии?Как да убием и последната дискета с Open Source технологии?
Как да убием и последната дискета с Open Source технологии?
Leon Anavi22 views
Linux обновления с RAUC и Docker by Leon Anavi
Linux обновления с RAUC и DockerLinux обновления с RAUC и Docker
Linux обновления с RAUC и Docker
Leon Anavi81 views
How to Choose a Software Update Mechanism for Embedded Linux Devices by Leon Anavi
How to Choose a Software Update Mechanism for Embedded Linux DevicesHow to Choose a Software Update Mechanism for Embedded Linux Devices
How to Choose a Software Update Mechanism for Embedded Linux Devices
Leon Anavi614 views
Open Hardware Makers by Leon Anavi
Open Hardware MakersOpen Hardware Makers
Open Hardware Makers
Leon Anavi18 views
Open Source Tools for Making Open Source Hardware by Leon Anavi
Open Source Tools for Making Open Source HardwareOpen Source Tools for Making Open Source Hardware
Open Source Tools for Making Open Source Hardware
Leon Anavi50 views
A/B Linux updates with RAUC and meta-rauc-community: now & in the future by Leon Anavi
A/B Linux updates with RAUC and meta-rauc-community: now & in the futureA/B Linux updates with RAUC and meta-rauc-community: now & in the future
A/B Linux updates with RAUC and meta-rauc-community: now & in the future
Leon Anavi985 views
Surfing on an Interactive Kiosk by Leon Anavi
Surfing on an Interactive KioskSurfing on an Interactive Kiosk
Surfing on an Interactive Kiosk
Leon Anavi179 views
Linux дистрибуции и софтуерни обновления за вградени устройства by Leon Anavi
Linux дистрибуции и софтуерни обновления за вградени устройства Linux дистрибуции и софтуерни обновления за вградени устройства
Linux дистрибуции и софтуерни обновления за вградени устройства
Leon Anavi95 views
Getting started with AGL using a Raspberry Pi by Leon Anavi
Getting started with AGL using a Raspberry PiGetting started with AGL using a Raspberry Pi
Getting started with AGL using a Raspberry Pi
Leon Anavi372 views
Automotive Grade Linux on Raspberry Pi: How Does It Work? by Leon Anavi
Automotive Grade Linux on Raspberry Pi: How Does It Work?Automotive Grade Linux on Raspberry Pi: How Does It Work?
Automotive Grade Linux on Raspberry Pi: How Does It Work?
Leon Anavi445 views
Comparison of Open Source Software Home Automation Tools by Leon Anavi
Comparison of Open Source Software Home Automation ToolsComparison of Open Source Software Home Automation Tools
Comparison of Open Source Software Home Automation Tools
Leon Anavi4.1K views
Практични примери за device tree overlays на Raspberry Pi by Leon Anavi
Практични примери за device tree overlays на Raspberry PiПрактични примери за device tree overlays на Raspberry Pi
Практични примери за device tree overlays на Raspberry Pi
Leon Anavi329 views
The Software Developer’s Guide to Open Source Hardware by Leon Anavi
The Software Developer’s Guide to Open Source HardwareThe Software Developer’s Guide to Open Source Hardware
The Software Developer’s Guide to Open Source Hardware
Leon Anavi199 views
Making Open Source Hardware for Retrogaming on Raspberry Pi by Leon Anavi
Making Open Source Hardware for Retrogaming on Raspberry PiMaking Open Source Hardware for Retrogaming on Raspberry Pi
Making Open Source Hardware for Retrogaming on Raspberry Pi
Leon Anavi211 views
Вграждане на умни гласови асистенти в устройства с Linux by Leon Anavi
Вграждане на умни гласови асистенти в устройства с LinuxВграждане на умни гласови асистенти в устройства с Linux
Вграждане на умни гласови асистенти в устройства с Linux
Leon Anavi420 views
Comparison of Voice Assistant SDKs for Embedded Linux Devices by Leon Anavi
 Comparison of Voice Assistant SDKs for Embedded Linux Devices Comparison of Voice Assistant SDKs for Embedded Linux Devices
Comparison of Voice Assistant SDKs for Embedded Linux Devices
Leon Anavi851 views
Open Source MQTT Brokers by Leon Anavi
Open Source MQTT BrokersOpen Source MQTT Brokers
Open Source MQTT Brokers
Leon Anavi2.1K views
Въведение в RetroPie за Raspberry Pi by Leon Anavi
Въведение в RetroPie за Raspberry PiВъведение в RetroPie за Raspberry Pi
Въведение в RetroPie за Raspberry Pi
Leon Anavi125 views
Free and Open Source Software Tools for Making Open Source Hardware by Leon Anavi
 Free and Open Source Software Tools for Making Open Source Hardware Free and Open Source Software Tools for Making Open Source Hardware
Free and Open Source Software Tools for Making Open Source Hardware
Leon Anavi545 views
Building a Remote Control Robot with Automotive Grade Linux by Leon Anavi
Building a Remote Control Robot with Automotive Grade LinuxBuilding a Remote Control Robot with Automotive Grade Linux
Building a Remote Control Robot with Automotive Grade Linux
Leon Anavi1.3K views

Recently uploaded

DRBD Deep Dive - Philipp Reisner - LINBIT by
DRBD Deep Dive - Philipp Reisner - LINBITDRBD Deep Dive - Philipp Reisner - LINBIT
DRBD Deep Dive - Philipp Reisner - LINBITShapeBlue
110 views21 slides
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPool by
Extending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPoolExtending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPool
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPoolShapeBlue
56 views10 slides
Kyo - Functional Scala 2023.pdf by
Kyo - Functional Scala 2023.pdfKyo - Functional Scala 2023.pdf
Kyo - Functional Scala 2023.pdfFlavio W. Brasil
443 views92 slides
Business Analyst Series 2023 - Week 4 Session 7 by
Business Analyst Series 2023 -  Week 4 Session 7Business Analyst Series 2023 -  Week 4 Session 7
Business Analyst Series 2023 - Week 4 Session 7DianaGray10
110 views31 slides
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ... by
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...ShapeBlue
52 views10 slides
Network Source of Truth and Infrastructure as Code revisited by
Network Source of Truth and Infrastructure as Code revisitedNetwork Source of Truth and Infrastructure as Code revisited
Network Source of Truth and Infrastructure as Code revisitedNetwork Automation Forum
49 views45 slides

Recently uploaded(20)

DRBD Deep Dive - Philipp Reisner - LINBIT by ShapeBlue
DRBD Deep Dive - Philipp Reisner - LINBITDRBD Deep Dive - Philipp Reisner - LINBIT
DRBD Deep Dive - Philipp Reisner - LINBIT
ShapeBlue110 views
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPool by ShapeBlue
Extending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPoolExtending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPool
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPool
ShapeBlue56 views
Business Analyst Series 2023 - Week 4 Session 7 by DianaGray10
Business Analyst Series 2023 -  Week 4 Session 7Business Analyst Series 2023 -  Week 4 Session 7
Business Analyst Series 2023 - Week 4 Session 7
DianaGray10110 views
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ... by ShapeBlue
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
ShapeBlue52 views
Why and How CloudStack at weSystems - Stephan Bienek - weSystems by ShapeBlue
Why and How CloudStack at weSystems - Stephan Bienek - weSystemsWhy and How CloudStack at weSystems - Stephan Bienek - weSystems
Why and How CloudStack at weSystems - Stephan Bienek - weSystems
ShapeBlue172 views
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... by James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson142 views
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ... by ShapeBlue
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
ShapeBlue48 views
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R... by ShapeBlue
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
ShapeBlue105 views
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue by ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
ShapeBlue191 views
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti... by ShapeBlue
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
ShapeBlue69 views
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T by ShapeBlue
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&TCloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
ShapeBlue81 views
Future of AR - Facebook Presentation by Rob McCarty
Future of AR - Facebook PresentationFuture of AR - Facebook Presentation
Future of AR - Facebook Presentation
Rob McCarty54 views
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda... by ShapeBlue
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
ShapeBlue93 views
"Surviving highload with Node.js", Andrii Shumada by Fwdays
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada
Fwdays49 views
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online by ShapeBlue
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineKVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online
ShapeBlue154 views
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue by ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlueMigrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
ShapeBlue147 views

Create IoT with Open Source Hardware, Tizen and HTML5

  • 1. Create Internet of Things with open source hardware, Tizen and HTML5 Leon Anavi @leonanavi leon@anavi.org
  • 2. Leon Anavi ● Software engineer and open source enthusiast ● E-mail: leon@anavi.org
  • 3. Choosing the right hardware for IoT
  • 4. Tizen ● Open source Linux-based software platform ● Project of the Linux foundation ● Suitable of all device areas: mobile, wearable, embedded, IVI, IoT, etc. ● Compatible with ARM and Intel architectures ● Excellent HTML5 and web apps support
  • 6. There's more... 6 A20-OLinuXino-MICRO Radxa Rock MinnowBoard MAX ODROID-U3 Firefly-RK3288 HummingBoard-i2eX
  • 7. There's even more... 7 Raspberry Pi 2 Model B Samsung OSG: Bringing Tizen to a Raspberry PI 2 Near You… http://blogs.s-osg.org/bringing-tizen-to-a-raspberry-pi-2-near-you/
  • 9. What's inside Tizen 3? Linux kernel 3.14 LTS Smack RPM Package Manager GNU C Library GCC Crosswalk OpenSSL SQLite PulseAudio Wayland & Weston X11 EFL
  • 10. Tizen architecture Web applications Web framework Native framework Core Linux kernel and device drivers Native applications
  • 11. Tizen security ● Strong security through application sandboxes and resource access control ● Smack isolates items at the kernel ground ● Cynara manages and checks privileges Application Smack Application (Malware) Resources Allow Deny
  • 12. Tizen web runtime ● Crosswalk web runtime for all Tizen 3 profile based on Tizen:Common ● Up to date version of Blink and Chromium ● Up to date JavaScript APIs based on the web standards ● Tizen specific JavaScript APIs ● https://crosswalk-project.org/
  • 13. Tizen Porting Guidelines ● Linux kernel ● Tizen:Common and IVI require Linux kernel 3.14 LTS ● Building Tizen using GBS or the Yocto Project ● Platform development tools: Git, Gerrit, JIRA ● More: https://wiki.tizen.org/wiki/Porting_Guide
  • 14. Git Build System (GBS) ● Command line developer tool for Tizen package development ● Builds RPM packages ● Creates images with MIC ● Usage: https://source.tizen.org/documentation/reference/git- build-system/usage
  • 15. Tizen on Yocto ● Meta layers for building Tizen with the tools of the Yocto project and Open Embedded ● Building Tizen on Yocto for Intel devices: https://wiki.tizen.org/wiki/Build_Tizen_with_Yocto_Project ● Building Tizen for Freescale i.MX6 devices: https://wiki.tizen.org/wiki/HummingBoard#Building_Tizen:Common_wit h_Yocto
  • 16. Development Boards ● Tizen is compatible with ARMv7 and Intel architectures ● ARMv8, MIPS (work in progress) A20-OLinuXino-MICRO Firefly-RK3288 MinnowBoard MAX
  • 17. Open Source Hardware ● Hardware design released with the FOSS approach ● Open source culture for sharing knowledge and experience ● Low cost prototyping ● Examples: Arduino, OLinuXino, Radxa Rock, MinnowBoard MAX
  • 18. MinnowBoard MAX ● 64-bit Intel Atom E38XX Series SoC ● Integrated Intel HD Graphics GPU ● Manufactured by CircuitCo ● Open source hardware ● Mainline Linux Kernel 3.14+ LTS with GPU support ● Tizen:Common & Tizen IVI
  • 19. ODROID-U3 ● Samsung Exynos 4412 Quad ARM SoC (same as in Samsung Galaxy SIII and RD-PQ) ● Mali-400 Quad Core Graphics ● Manufactured by Hardkernel ● Linux kernel 3.10 ● Tizen:Common & Tizen:IVI
  • 20. Allwinner Technology ● A10/A20 ARM SoC with Mali-400 GPU graphics ● A80 with PowerVR graphics ● Mainline Das U-Boot for A10/A20 ● Linux-sunxi kernel 3.4 for A10/A20 ● Open source hardware: OLinuXino
  • 21. Tizen-sunxi ● Community open-source port of Tizen 2 and Tizen:Common with Linux-sunxi kernel for devices with Allwinner A10/A20 SoC: https://github.com/leon- anavi/tizen-sunxi ● Supported boards: Olimex A10/A20-OLinuXino
  • 22. Rockchip ● RK3188 ARM SoC with Mali-400MP4 GPU ● RK3288 ARM SoC with Mali-T764 GPU ● Proprietary bootloader ● Linux-rockchip kernel ● Open source hardware: Radxa Rock
  • 23. Tizen-rockchip ● Community open-source port of Tizen:Common with Linux-rockchip kernel for devices with Rockchip RK3188/RK3288 SoC: https://github.com/leon- anavi/tizen-rockchip ● Supported boards: Radxa Rock, Firefly-RK3288
  • 24. Freescale i.MX6 ● Linux kernel 3.14 & U-Boot ● Wayland/Weston drivers for Vivante GPU ● Open source hardware: HummingBoard ● Tizen on Yocto: https://wiki.tizen.org/wiki/HummingBoard
  • 25. Tizen SDK ● Mobile ● Wearable ● IVI ● Tizen-based Samsung Smart TV https://developer.tizen.org/downloads/tizen-sdk
  • 26. Why HTML5? ● Cross platform compatibility and support of multiple devices ● New JavaScript APIs and better capabilities ● Millions of web developers
  • 27. HTML5 & JavaScript APIs in Tizen ● Data storage (web storage, IndexDB, WebSQL, Tizen Filesystem API) ● Communication (SMS, MMS, email, Bluetooth, NFC, push notifications, web sockets) ● Multimedia & WebGL ● System & Social ● Sensors (light, pressure, proximity, ultraviolet, magnetic sensors)
  • 28. Web Apps on Tizen:Common & Tizen IVI ● Install web app: pkgcmd -i -t wgt -p <wgt file> -q ● Show list of installed apps: app_launcher -l ● Launch web app: app_launcher -s <Application ID> ● Stop web app: app_launcher -k <Application ID> ● Uninstall web app: pkgcmd -u -q -n <package>
  • 29. Challenges ● GPU driver support for Wayland/Weston ● Tizen on Yocto ● More peripheral support ● New hardware devices
  • 30. DIY (Do It Yourself) Tizen devices ● Use existing Tizen profile or create new based on Tizen:Common ● Headless or a devices with graphical user interface ● Devices: tablet, TV, wearable devices, Internet of Things (IoT), etc.
  • 31. DIY Tizen tablet ● Single board computer ● Touchscreen display ● External WiFi module ● Battery ● Power supply
  • 32. IoTivity ● Open source framework for seamless device-to-device connectivity ● Linux Foundation collaborative project ● Sponsored by Open Interconnect Consortium (OIC) https://www.iotivity.org/documentation/tizen/getting-started
  • 34. Tizen Cookbook ● 30% discount code until 22 July 2015: HKOSCON https://www.packtpub.com/application- development/tizen-cookbook
  • 35. Join Tizen ● Tizen https://www.tizen.org/ ● Tizen Wiki https://wiki.tizen.org/ ● Tizen Developer https://developer.tizen.org/ ● Tizen Source Code https://source.tizen.org/ ● JIRA https://bugs.tizen.org/ ● News http://www.tizenexperts.com/

Editor's Notes

  1. Now that we discussed about service applications, let us look at how service applications can share their functionality with other applications. Also, we will look at how other applications will make use of the functionality exposed by service applications. One of the popular features available in most modern mobile operating systems is the ability to use the functionality offered by other applications in the system to complete a task. For example, take a common task like sending email. If every application had to write its own code for handling emails, it would be very inefficient and leads to duplication of effort. Instead, if an email application can “share” its sending functionality and make it available to other applications in the platform, then other applications can make use of only this function without having to duplicate the effort. AppControl API helps Tizen native applications to export selected functions to be used by other applications. There are two ways to use the functionality provided by other applications. Explicitly launching the other applications’ functionality by using the application ID and the operation we want to perform Implicitly launching the other applications’ functionality by specifying the operation, URI or MIME type and letting the user choose which application will complete the action. Let us explore these launch types and API further.
  2. Now that we discussed about service applications, let us look at how service applications can share their functionality with other applications. Also, we will look at how other applications will make use of the functionality exposed by service applications. One of the popular features available in most modern mobile operating systems is the ability to use the functionality offered by other applications in the system to complete a task. For example, take a common task like sending email. If every application had to write its own code for handling emails, it would be very inefficient and leads to duplication of effort. Instead, if an email application can “share” its sending functionality and make it available to other applications in the platform, then other applications can make use of only this function without having to duplicate the effort. AppControl API helps Tizen native applications to export selected functions to be used by other applications. There are two ways to use the functionality provided by other applications. Explicitly launching the other applications’ functionality by using the application ID and the operation we want to perform Implicitly launching the other applications’ functionality by specifying the operation, URI or MIME type and letting the user choose which application will complete the action. Let us explore these launch types and API further.
  3. Now that we discussed about service applications, let us look at how service applications can share their functionality with other applications. Also, we will look at how other applications will make use of the functionality exposed by service applications. One of the popular features available in most modern mobile operating systems is the ability to use the functionality offered by other applications in the system to complete a task. For example, take a common task like sending email. If every application had to write its own code for handling emails, it would be very inefficient and leads to duplication of effort. Instead, if an email application can “share” its sending functionality and make it available to other applications in the platform, then other applications can make use of only this function without having to duplicate the effort. AppControl API helps Tizen native applications to export selected functions to be used by other applications. There are two ways to use the functionality provided by other applications. Explicitly launching the other applications’ functionality by using the application ID and the operation we want to perform Implicitly launching the other applications’ functionality by specifying the operation, URI or MIME type and letting the user choose which application will complete the action. Let us explore these launch types and API further.
  4. Now that we discussed about service applications, let us look at how service applications can share their functionality with other applications. Also, we will look at how other applications will make use of the functionality exposed by service applications. One of the popular features available in most modern mobile operating systems is the ability to use the functionality offered by other applications in the system to complete a task. For example, take a common task like sending email. If every application had to write its own code for handling emails, it would be very inefficient and leads to duplication of effort. Instead, if an email application can “share” its sending functionality and make it available to other applications in the platform, then other applications can make use of only this function without having to duplicate the effort. AppControl API helps Tizen native applications to export selected functions to be used by other applications. There are two ways to use the functionality provided by other applications. Explicitly launching the other applications’ functionality by using the application ID and the operation we want to perform Implicitly launching the other applications’ functionality by specifying the operation, URI or MIME type and letting the user choose which application will complete the action. Let us explore these launch types and API further.
  5. Now that we discussed about service applications, let us look at how service applications can share their functionality with other applications. Also, we will look at how other applications will make use of the functionality exposed by service applications. One of the popular features available in most modern mobile operating systems is the ability to use the functionality offered by other applications in the system to complete a task. For example, take a common task like sending email. If every application had to write its own code for handling emails, it would be very inefficient and leads to duplication of effort. Instead, if an email application can “share” its sending functionality and make it available to other applications in the platform, then other applications can make use of only this function without having to duplicate the effort. AppControl API helps Tizen native applications to export selected functions to be used by other applications. There are two ways to use the functionality provided by other applications. Explicitly launching the other applications’ functionality by using the application ID and the operation we want to perform Implicitly launching the other applications’ functionality by specifying the operation, URI or MIME type and letting the user choose which application will complete the action. Let us explore these launch types and API further.
  6. Now that we discussed about service applications, let us look at how service applications can share their functionality with other applications. Also, we will look at how other applications will make use of the functionality exposed by service applications. One of the popular features available in most modern mobile operating systems is the ability to use the functionality offered by other applications in the system to complete a task. For example, take a common task like sending email. If every application had to write its own code for handling emails, it would be very inefficient and leads to duplication of effort. Instead, if an email application can “share” its sending functionality and make it available to other applications in the platform, then other applications can make use of only this function without having to duplicate the effort. AppControl API helps Tizen native applications to export selected functions to be used by other applications. There are two ways to use the functionality provided by other applications. Explicitly launching the other applications’ functionality by using the application ID and the operation we want to perform Implicitly launching the other applications’ functionality by specifying the operation, URI or MIME type and letting the user choose which application will complete the action. Let us explore these launch types and API further.
  7. Now that we discussed about service applications, let us look at how service applications can share their functionality with other applications. Also, we will look at how other applications will make use of the functionality exposed by service applications. One of the popular features available in most modern mobile operating systems is the ability to use the functionality offered by other applications in the system to complete a task. For example, take a common task like sending email. If every application had to write its own code for handling emails, it would be very inefficient and leads to duplication of effort. Instead, if an email application can “share” its sending functionality and make it available to other applications in the platform, then other applications can make use of only this function without having to duplicate the effort. AppControl API helps Tizen native applications to export selected functions to be used by other applications. There are two ways to use the functionality provided by other applications. Explicitly launching the other applications’ functionality by using the application ID and the operation we want to perform Implicitly launching the other applications’ functionality by specifying the operation, URI or MIME type and letting the user choose which application will complete the action. Let us explore these launch types and API further.
  8. Now that we discussed about service applications, let us look at how service applications can share their functionality with other applications. Also, we will look at how other applications will make use of the functionality exposed by service applications. One of the popular features available in most modern mobile operating systems is the ability to use the functionality offered by other applications in the system to complete a task. For example, take a common task like sending email. If every application had to write its own code for handling emails, it would be very inefficient and leads to duplication of effort. Instead, if an email application can “share” its sending functionality and make it available to other applications in the platform, then other applications can make use of only this function without having to duplicate the effort. AppControl API helps Tizen native applications to export selected functions to be used by other applications. There are two ways to use the functionality provided by other applications. Explicitly launching the other applications’ functionality by using the application ID and the operation we want to perform Implicitly launching the other applications’ functionality by specifying the operation, URI or MIME type and letting the user choose which application will complete the action. Let us explore these launch types and API further.
  9. Now that we discussed about service applications, let us look at how service applications can share their functionality with other applications. Also, we will look at how other applications will make use of the functionality exposed by service applications. One of the popular features available in most modern mobile operating systems is the ability to use the functionality offered by other applications in the system to complete a task. For example, take a common task like sending email. If every application had to write its own code for handling emails, it would be very inefficient and leads to duplication of effort. Instead, if an email application can “share” its sending functionality and make it available to other applications in the platform, then other applications can make use of only this function without having to duplicate the effort. AppControl API helps Tizen native applications to export selected functions to be used by other applications. There are two ways to use the functionality provided by other applications. Explicitly launching the other applications’ functionality by using the application ID and the operation we want to perform Implicitly launching the other applications’ functionality by specifying the operation, URI or MIME type and letting the user choose which application will complete the action. Let us explore these launch types and API further.
  10. Now that we discussed about service applications, let us look at how service applications can share their functionality with other applications. Also, we will look at how other applications will make use of the functionality exposed by service applications. One of the popular features available in most modern mobile operating systems is the ability to use the functionality offered by other applications in the system to complete a task. For example, take a common task like sending email. If every application had to write its own code for handling emails, it would be very inefficient and leads to duplication of effort. Instead, if an email application can “share” its sending functionality and make it available to other applications in the platform, then other applications can make use of only this function without having to duplicate the effort. AppControl API helps Tizen native applications to export selected functions to be used by other applications. There are two ways to use the functionality provided by other applications. Explicitly launching the other applications’ functionality by using the application ID and the operation we want to perform Implicitly launching the other applications’ functionality by specifying the operation, URI or MIME type and letting the user choose which application will complete the action. Let us explore these launch types and API further.
  11. Now that we discussed about service applications, let us look at how service applications can share their functionality with other applications. Also, we will look at how other applications will make use of the functionality exposed by service applications. One of the popular features available in most modern mobile operating systems is the ability to use the functionality offered by other applications in the system to complete a task. For example, take a common task like sending email. If every application had to write its own code for handling emails, it would be very inefficient and leads to duplication of effort. Instead, if an email application can “share” its sending functionality and make it available to other applications in the platform, then other applications can make use of only this function without having to duplicate the effort. AppControl API helps Tizen native applications to export selected functions to be used by other applications. There are two ways to use the functionality provided by other applications. Explicitly launching the other applications’ functionality by using the application ID and the operation we want to perform Implicitly launching the other applications’ functionality by specifying the operation, URI or MIME type and letting the user choose which application will complete the action. Let us explore these launch types and API further.
  12. Now that we discussed about service applications, let us look at how service applications can share their functionality with other applications. Also, we will look at how other applications will make use of the functionality exposed by service applications. One of the popular features available in most modern mobile operating systems is the ability to use the functionality offered by other applications in the system to complete a task. For example, take a common task like sending email. If every application had to write its own code for handling emails, it would be very inefficient and leads to duplication of effort. Instead, if an email application can “share” its sending functionality and make it available to other applications in the platform, then other applications can make use of only this function without having to duplicate the effort. AppControl API helps Tizen native applications to export selected functions to be used by other applications. There are two ways to use the functionality provided by other applications. Explicitly launching the other applications’ functionality by using the application ID and the operation we want to perform Implicitly launching the other applications’ functionality by specifying the operation, URI or MIME type and letting the user choose which application will complete the action. Let us explore these launch types and API further.
  13. Now that we discussed about service applications, let us look at how service applications can share their functionality with other applications. Also, we will look at how other applications will make use of the functionality exposed by service applications. One of the popular features available in most modern mobile operating systems is the ability to use the functionality offered by other applications in the system to complete a task. For example, take a common task like sending email. If every application had to write its own code for handling emails, it would be very inefficient and leads to duplication of effort. Instead, if an email application can “share” its sending functionality and make it available to other applications in the platform, then other applications can make use of only this function without having to duplicate the effort. AppControl API helps Tizen native applications to export selected functions to be used by other applications. There are two ways to use the functionality provided by other applications. Explicitly launching the other applications’ functionality by using the application ID and the operation we want to perform Implicitly launching the other applications’ functionality by specifying the operation, URI or MIME type and letting the user choose which application will complete the action. Let us explore these launch types and API further.
  14. Now that we discussed about service applications, let us look at how service applications can share their functionality with other applications. Also, we will look at how other applications will make use of the functionality exposed by service applications. One of the popular features available in most modern mobile operating systems is the ability to use the functionality offered by other applications in the system to complete a task. For example, take a common task like sending email. If every application had to write its own code for handling emails, it would be very inefficient and leads to duplication of effort. Instead, if an email application can “share” its sending functionality and make it available to other applications in the platform, then other applications can make use of only this function without having to duplicate the effort. AppControl API helps Tizen native applications to export selected functions to be used by other applications. There are two ways to use the functionality provided by other applications. Explicitly launching the other applications’ functionality by using the application ID and the operation we want to perform Implicitly launching the other applications’ functionality by specifying the operation, URI or MIME type and letting the user choose which application will complete the action. Let us explore these launch types and API further.
  15. Now that we discussed about service applications, let us look at how service applications can share their functionality with other applications. Also, we will look at how other applications will make use of the functionality exposed by service applications. One of the popular features available in most modern mobile operating systems is the ability to use the functionality offered by other applications in the system to complete a task. For example, take a common task like sending email. If every application had to write its own code for handling emails, it would be very inefficient and leads to duplication of effort. Instead, if an email application can “share” its sending functionality and make it available to other applications in the platform, then other applications can make use of only this function without having to duplicate the effort. AppControl API helps Tizen native applications to export selected functions to be used by other applications. There are two ways to use the functionality provided by other applications. Explicitly launching the other applications’ functionality by using the application ID and the operation we want to perform Implicitly launching the other applications’ functionality by specifying the operation, URI or MIME type and letting the user choose which application will complete the action. Let us explore these launch types and API further.
  16. Now that we discussed about service applications, let us look at how service applications can share their functionality with other applications. Also, we will look at how other applications will make use of the functionality exposed by service applications. One of the popular features available in most modern mobile operating systems is the ability to use the functionality offered by other applications in the system to complete a task. For example, take a common task like sending email. If every application had to write its own code for handling emails, it would be very inefficient and leads to duplication of effort. Instead, if an email application can “share” its sending functionality and make it available to other applications in the platform, then other applications can make use of only this function without having to duplicate the effort. AppControl API helps Tizen native applications to export selected functions to be used by other applications. There are two ways to use the functionality provided by other applications. Explicitly launching the other applications’ functionality by using the application ID and the operation we want to perform Implicitly launching the other applications’ functionality by specifying the operation, URI or MIME type and letting the user choose which application will complete the action. Let us explore these launch types and API further.
  17. Now that we discussed about service applications, let us look at how service applications can share their functionality with other applications. Also, we will look at how other applications will make use of the functionality exposed by service applications. One of the popular features available in most modern mobile operating systems is the ability to use the functionality offered by other applications in the system to complete a task. For example, take a common task like sending email. If every application had to write its own code for handling emails, it would be very inefficient and leads to duplication of effort. Instead, if an email application can “share” its sending functionality and make it available to other applications in the platform, then other applications can make use of only this function without having to duplicate the effort. AppControl API helps Tizen native applications to export selected functions to be used by other applications. There are two ways to use the functionality provided by other applications. Explicitly launching the other applications’ functionality by using the application ID and the operation we want to perform Implicitly launching the other applications’ functionality by specifying the operation, URI or MIME type and letting the user choose which application will complete the action. Let us explore these launch types and API further.
  18. Now that we discussed about service applications, let us look at how service applications can share their functionality with other applications. Also, we will look at how other applications will make use of the functionality exposed by service applications. One of the popular features available in most modern mobile operating systems is the ability to use the functionality offered by other applications in the system to complete a task. For example, take a common task like sending email. If every application had to write its own code for handling emails, it would be very inefficient and leads to duplication of effort. Instead, if an email application can “share” its sending functionality and make it available to other applications in the platform, then other applications can make use of only this function without having to duplicate the effort. AppControl API helps Tizen native applications to export selected functions to be used by other applications. There are two ways to use the functionality provided by other applications. Explicitly launching the other applications’ functionality by using the application ID and the operation we want to perform Implicitly launching the other applications’ functionality by specifying the operation, URI or MIME type and letting the user choose which application will complete the action. Let us explore these launch types and API further.
  19. Now that we discussed about service applications, let us look at how service applications can share their functionality with other applications. Also, we will look at how other applications will make use of the functionality exposed by service applications. One of the popular features available in most modern mobile operating systems is the ability to use the functionality offered by other applications in the system to complete a task. For example, take a common task like sending email. If every application had to write its own code for handling emails, it would be very inefficient and leads to duplication of effort. Instead, if an email application can “share” its sending functionality and make it available to other applications in the platform, then other applications can make use of only this function without having to duplicate the effort. AppControl API helps Tizen native applications to export selected functions to be used by other applications. There are two ways to use the functionality provided by other applications. Explicitly launching the other applications’ functionality by using the application ID and the operation we want to perform Implicitly launching the other applications’ functionality by specifying the operation, URI or MIME type and letting the user choose which application will complete the action. Let us explore these launch types and API further.
  20. Now that we discussed about service applications, let us look at how service applications can share their functionality with other applications. Also, we will look at how other applications will make use of the functionality exposed by service applications. One of the popular features available in most modern mobile operating systems is the ability to use the functionality offered by other applications in the system to complete a task. For example, take a common task like sending email. If every application had to write its own code for handling emails, it would be very inefficient and leads to duplication of effort. Instead, if an email application can “share” its sending functionality and make it available to other applications in the platform, then other applications can make use of only this function without having to duplicate the effort. AppControl API helps Tizen native applications to export selected functions to be used by other applications. There are two ways to use the functionality provided by other applications. Explicitly launching the other applications’ functionality by using the application ID and the operation we want to perform Implicitly launching the other applications’ functionality by specifying the operation, URI or MIME type and letting the user choose which application will complete the action. Let us explore these launch types and API further.
  21. Now that we discussed about service applications, let us look at how service applications can share their functionality with other applications. Also, we will look at how other applications will make use of the functionality exposed by service applications. One of the popular features available in most modern mobile operating systems is the ability to use the functionality offered by other applications in the system to complete a task. For example, take a common task like sending email. If every application had to write its own code for handling emails, it would be very inefficient and leads to duplication of effort. Instead, if an email application can “share” its sending functionality and make it available to other applications in the platform, then other applications can make use of only this function without having to duplicate the effort. AppControl API helps Tizen native applications to export selected functions to be used by other applications. There are two ways to use the functionality provided by other applications. Explicitly launching the other applications’ functionality by using the application ID and the operation we want to perform Implicitly launching the other applications’ functionality by specifying the operation, URI or MIME type and letting the user choose which application will complete the action. Let us explore these launch types and API further.
  22. Now that we discussed about service applications, let us look at how service applications can share their functionality with other applications. Also, we will look at how other applications will make use of the functionality exposed by service applications. One of the popular features available in most modern mobile operating systems is the ability to use the functionality offered by other applications in the system to complete a task. For example, take a common task like sending email. If every application had to write its own code for handling emails, it would be very inefficient and leads to duplication of effort. Instead, if an email application can “share” its sending functionality and make it available to other applications in the platform, then other applications can make use of only this function without having to duplicate the effort. AppControl API helps Tizen native applications to export selected functions to be used by other applications. There are two ways to use the functionality provided by other applications. Explicitly launching the other applications’ functionality by using the application ID and the operation we want to perform Implicitly launching the other applications’ functionality by specifying the operation, URI or MIME type and letting the user choose which application will complete the action. Let us explore these launch types and API further.
  23. Now that we discussed about service applications, let us look at how service applications can share their functionality with other applications. Also, we will look at how other applications will make use of the functionality exposed by service applications. One of the popular features available in most modern mobile operating systems is the ability to use the functionality offered by other applications in the system to complete a task. For example, take a common task like sending email. If every application had to write its own code for handling emails, it would be very inefficient and leads to duplication of effort. Instead, if an email application can “share” its sending functionality and make it available to other applications in the platform, then other applications can make use of only this function without having to duplicate the effort. AppControl API helps Tizen native applications to export selected functions to be used by other applications. There are two ways to use the functionality provided by other applications. Explicitly launching the other applications’ functionality by using the application ID and the operation we want to perform Implicitly launching the other applications’ functionality by specifying the operation, URI or MIME type and letting the user choose which application will complete the action. Let us explore these launch types and API further.
  24. Now that we discussed about service applications, let us look at how service applications can share their functionality with other applications. Also, we will look at how other applications will make use of the functionality exposed by service applications. One of the popular features available in most modern mobile operating systems is the ability to use the functionality offered by other applications in the system to complete a task. For example, take a common task like sending email. If every application had to write its own code for handling emails, it would be very inefficient and leads to duplication of effort. Instead, if an email application can “share” its sending functionality and make it available to other applications in the platform, then other applications can make use of only this function without having to duplicate the effort. AppControl API helps Tizen native applications to export selected functions to be used by other applications. There are two ways to use the functionality provided by other applications. Explicitly launching the other applications’ functionality by using the application ID and the operation we want to perform Implicitly launching the other applications’ functionality by specifying the operation, URI or MIME type and letting the user choose which application will complete the action. Let us explore these launch types and API further.
  25. Now that we discussed about service applications, let us look at how service applications can share their functionality with other applications. Also, we will look at how other applications will make use of the functionality exposed by service applications. One of the popular features available in most modern mobile operating systems is the ability to use the functionality offered by other applications in the system to complete a task. For example, take a common task like sending email. If every application had to write its own code for handling emails, it would be very inefficient and leads to duplication of effort. Instead, if an email application can “share” its sending functionality and make it available to other applications in the platform, then other applications can make use of only this function without having to duplicate the effort. AppControl API helps Tizen native applications to export selected functions to be used by other applications. There are two ways to use the functionality provided by other applications. Explicitly launching the other applications’ functionality by using the application ID and the operation we want to perform Implicitly launching the other applications’ functionality by specifying the operation, URI or MIME type and letting the user choose which application will complete the action. Let us explore these launch types and API further.
  26. Now that we discussed about service applications, let us look at how service applications can share their functionality with other applications. Also, we will look at how other applications will make use of the functionality exposed by service applications. One of the popular features available in most modern mobile operating systems is the ability to use the functionality offered by other applications in the system to complete a task. For example, take a common task like sending email. If every application had to write its own code for handling emails, it would be very inefficient and leads to duplication of effort. Instead, if an email application can “share” its sending functionality and make it available to other applications in the platform, then other applications can make use of only this function without having to duplicate the effort. AppControl API helps Tizen native applications to export selected functions to be used by other applications. There are two ways to use the functionality provided by other applications. Explicitly launching the other applications’ functionality by using the application ID and the operation we want to perform Implicitly launching the other applications’ functionality by specifying the operation, URI or MIME type and letting the user choose which application will complete the action. Let us explore these launch types and API further.
  27. Now that we discussed about service applications, let us look at how service applications can share their functionality with other applications. Also, we will look at how other applications will make use of the functionality exposed by service applications. One of the popular features available in most modern mobile operating systems is the ability to use the functionality offered by other applications in the system to complete a task. For example, take a common task like sending email. If every application had to write its own code for handling emails, it would be very inefficient and leads to duplication of effort. Instead, if an email application can “share” its sending functionality and make it available to other applications in the platform, then other applications can make use of only this function without having to duplicate the effort. AppControl API helps Tizen native applications to export selected functions to be used by other applications. There are two ways to use the functionality provided by other applications. Explicitly launching the other applications’ functionality by using the application ID and the operation we want to perform Implicitly launching the other applications’ functionality by specifying the operation, URI or MIME type and letting the user choose which application will complete the action. Let us explore these launch types and API further.
  28. Now that we discussed about service applications, let us look at how service applications can share their functionality with other applications. Also, we will look at how other applications will make use of the functionality exposed by service applications. One of the popular features available in most modern mobile operating systems is the ability to use the functionality offered by other applications in the system to complete a task. For example, take a common task like sending email. If every application had to write its own code for handling emails, it would be very inefficient and leads to duplication of effort. Instead, if an email application can “share” its sending functionality and make it available to other applications in the platform, then other applications can make use of only this function without having to duplicate the effort. AppControl API helps Tizen native applications to export selected functions to be used by other applications. There are two ways to use the functionality provided by other applications. Explicitly launching the other applications’ functionality by using the application ID and the operation we want to perform Implicitly launching the other applications’ functionality by specifying the operation, URI or MIME type and letting the user choose which application will complete the action. Let us explore these launch types and API further.
  29. And that concludes the webinar on the Tizen Application Framework API and lifecycle. We have so far covered the basics of Tizen native mobile applications, the application lifecycle, UI and service applications. We also discussed about how one application can launch another application using AppControl API. The amount of API in the application framework is quite extensive to fit into one webinar. I hope this session would have given you enough information to help you get started with writing applications for Tizen Mobile devices. Thank you for your participation and hope to see you in another Tizen webinar.