SlideShare a Scribd company logo
The Art of
Tizen UI Theme
Technology
in Various Profiles
Daniel Juyung Seo
Samsung Electronics
July 23, 2014
Who Am I
 Daniel Juyung Seo
- a.k.a SeoZ
- Senior Engineer at Samsung Electronics
- juyung.seo@samsung.com
- @seojuyung
 Tizen Core UIFW EFL Developer
 Enlightenment/EFL Open Source Committer
What is this talk about?
 Making frameworks and applications scalable in UI perspective.
 Enlightenment Foundation Libraries
 Slide: http://seoz.com/OSCON2014
Audience Introductions
 What is your expertise?
- Application Development
- Platform Development
- Design
- Marketing
Introduction
 Linux-based Open Source Platform
- A standard based open and flexible platform
- Linux Foundation Project
- Built from the ground up to address the needs of all stakeholders
- Developed by a community of developers, under open source governance, and is open to
all members who wish to participate.
- Comes in multiple profiles to serve different industry requirements.
 The OS of Everything
 Mobile, IVI, Wearable, TV, Camera, PC, …
Various Tizen Profiles
 NX300, NX300M, and etc.  Gear 2, Gear 2 Neo
Tizen Based Products – Camera and Smart Watch
 Test Devices
RD-PQ, RD-210
 2.2.1 SDK
 1.0.0 beta2 Wearable SDK
Tizen – Mobile/Wearable/TV
 2.3 Alpha SDK
- Mobile + Wearable Profiles
Scalability is Important
 Supporting different
resolutions, screen sizes, devices, and profiles.
Tizen Core
UI Framework
Applications
Web Framework
Core Framework
Kernel
Native Framework
Linux Kernel & Device Drivers
W3C/HTML5 Device API WRT Social/Content Locations Etc.
Web Applications Native Applications Core Applications
App FW Graphics & UI Multimedia Web Messaging Location
Security System Base Connectivity Telephony PIM
Tizen Architecture
 Native Applications : C++
 Web Applications : HTML5 + CSS + JavaScript + jQuery
 Core Applications : C or C++
Platforms  Areas Mobile Gear 2 NX300
Native O X X
Web O O X
Core O O O
Tizen Application Development Model
 But wait, they have something in common
 The Core Framework!
 Core API + EFL
 Many applications are written in EFL on the NX300 and Gear 2.
The Core Framework
 EFL not ELF
EFL may not be an ELF... but it's as pretty as one. :)
NO! YES!
Does anyone know about EFL?
 Toolkit
A set of libraries that provide a wide range of functionality
http://www.enlightenment.org/
 Enlightenment Foundation Libraries
- Created to support E17 development
- Targeted at embedded since day 1
- Always focused on staying lean while providing fanciness
- The heart of the graphics component of Tizen
What is EFL?
Core Framework and EFL
Applications
Web Framework
Core Framework
Kernel
Native Framework
Linux Kernel & Device Drivers
W3C/HTML5 Device API WRT Social/Content Locations Etc.
Web Applications Native Applications Applications
App FW Graphics & UI Multimedia Web Messaging Location
Security System Base Connectivity Telephony PIM
 Performance
 Small memory footprint
 GUI, Logic separation
 Themeable
 Animations
 H/W acceleration
 Various back-end engine
 Flexible
 Scalable
Why is EFL used on Tizen?
EFL(Edje + Elm)
Bindings
Elementary
EthumbEdbusEezeEioEfreet Emotion
Ecore
Embryo
Eet
Eina
Edje
Evas
EFL Block Diagram
 A complex graphical design and layout library.
 A graphical user interface without writing a line of C code.
 Creates visual layouts from compiled EDC script
- EDC is completely separate from application code
- Can be changed at or during runtime
 Layouts include
- Images, Colors
- Animations, Behaviors
 Supports relative and absolute positioning.
Edje
 Separation of layout and logic
- a graphical part : GUI Layout binary (edj)
- a functionality : Executable logic binary (C)
 Utility
- edje_cc : compile edc to edj
- edje_decc : de-compile edj to edc
.edc
.edj
.c
executable
edje_cc compile
running
runload
Edje
< Compile Time >
< Run Time >
 EDC Script
collections { // list of groups.
group { // the list of parts and programs that compose a given edje object.
images { } // list each image file that will be used in the edc.
parts {
part { // the most basic design elements of the group.
// (ie. RECT, TEXT, IMAGE, SWALLOW, TEXTBLOCK, GROUP, BOX, TABLE, EXTERNAL)
}
}
programs {
program { // manipulates the different interface elements and serve as a bridge between
// the application and interface.
}
}
}
}
Edje
 Widget Set
 75 widgets
- Non-Containers - Bg, Button, Check, Entry, Label, List, Icon, Win, …
- Containers - Box, Conformant, Grid, Layout, Panes, Scroller, Table, …
 Fast, Finger friendly, Scalable, Themeable, …
Elementary
< Bubble >
< Button >
< Calendar >
< Check >
< Toggle >
< Clock >
< Ctxpopup >
< Radio > < Frame >
< DaySelector >
< Slider >
< FlipSelector >
< FileSelector > < Genlist >
< Gengrid >
< Spinner >
< Map >
< Panes >
< Progressbar >
Elementary
 Elementary also uses edje for its layout
group { name: "elm/button/base/default";
images.image: "button_normal.png" COMP;
images.image: "button_clicked.png" COMP;
parts {
part { name: "base"; mouse_events: 0;
type: IMAGE
description { state: "default" 0.0;
image.normal: "button_normal.png";
rel1.relative: 0.0 0.0;
rel2.relative: 1.0 1.0;
image.border: 4 4 3 5;
image.middle: SOLID;
}
description { state: "clicked" 0.0;
inherit: "default" 0.0;
image.normal: "button_clicked.png";
image.border: 5 5 4 6;
}
...
programs {
program {
signal: "mouse,down,1"; source: "event";
action: STATE_SET "clicked" 0.0;
target: "base";
}
...
Elementary
 Relative Positioning (1)
Part A
rel1
(x=0.0 y=0.0)
rel2
(x=1.0 y=0.3)
Part B
rel1
(x=0.0 y=0.3)
rel2
(x=1.0 y=1.0)
How to achieve Scalability? - Part 1
 Relative Positioning (2)
Bigger
Scree/n
/
Higher
Resolution
(y=0.1)
(y=0.9)
How to achieve Scalability? - Part 1
 Relative Positioning (2)
Bigger
Scree/n
/
Higher
Resolution
(y=0.1)
(y=0.9)
How to achieve Scalability? - Part 1
Fix
Header
 Scale Factor
Higher Resolution
How to achieve Scalability? - Part 2
 Scale Factor
Higher Resolution + Scale Up
Higher Resolution
How to achieve Scalability? - Part 2
 Using container widgets
- Box, Conformant, Grid, Layout, Panes, Scroller, Table, …
 Ex) Conformant → Naviframe → List
How to achieve Scalability? - Part 3
 Border
< Original Background Image >
< Expand With Border >
< Expand Without Border >
How to achieve Scalability? - Part 4
 Finger Size
How to achieve Scalability? - Part 5
 Elementary Configuration
- Configurations
Scale, finger size, engine, scroll, focus, profile, …
- You can change the configuration based on your
own needs.
- Profile: a set of the configurations
default, standard, mobile, tv, wearable, …
There are more!
Demo
 Elementary Test
 Terminology
Demo
 Enventor
 Eflete
 Elm theme viewer
EFL Tools for a better Scalability
 Install Platform SDK  EFL Application Template
EFL Applications on Tizen SDK
 Tizen supports various profiles over a lot of device categories.
 EFL makes you write scalable GUI applications over various profiles with a good
performance and small memory foot prints.
 It's open. You can start it now.
Summary
Questions?
Visit Samsung Booth for Tizen SDK Demo
ONE installer Develop App on IDE Run on Emulators
 Visit Samsung Booth and check Tizen SDK Demo at OSCON 2014!
 Tizen SDK for multiple profiles
More Information
 Daniel Juyung Seo <juyung.seo@samsung.com>
- @seojuyung
- https://www.facebook.com/seojuyung
 https://tizen.org
 http://enlightenment.org
Thank you

More Related Content

Similar to The Art of Tizen UI Theme Technology in Various Profiles (OSCON 2014) (20)

PPT
Android Anatomy
Bhavya Siddappa
 
PDF
Learn .NET Core - Introduction
Eng Teong Cheah
 
PPTX
Session i
DrUjwala1
 
PPTX
Android Technology
Amar Shah
 
PDF
Dot NET Core Interview Questions PDF By ScholarHat
Scholarhat
 
PDF
Sirius Role Playing Game - Build diagram, table and tree editors in 20 minutes
Cédric Brun
 
PPTX
Seminar on android app development
AbhishekKumar4779
 
PPTX
Android
Darshini Parikh
 
PDF
#SiriusCon 2015: Sirius Roadmap
Obeo
 
PDF
Sirius : origins, present, future
Cédric Brun
 
PPTX
Game Studio
MarinaOpera
 
PDF
Os Tibbittstutorial
oscon2007
 
ODP
Plug yourself in and your app will never be the same (2 hour edition)
Mikkel Flindt Heisterberg
 
ODP
Plug yourself in and your app will never be the same (2 hr editon)
Mikkel Flindt Heisterberg
 
PDF
Dot net interview_questions
9292929292
 
PDF
International Journal of Engineering Research and Development
IJERD Editor
 
PDF
Android : Architecture & Components
Akash Bisariya
 
PDF
Build beautiful native apps in record time with flutter
RobertLe30
 
PPTX
Android task manager project presentation
Akhilesh Jaiswal
 
ODP
Plug yourself in and your app will never be the same (1 hr edition)
Mikkel Flindt Heisterberg
 
Android Anatomy
Bhavya Siddappa
 
Learn .NET Core - Introduction
Eng Teong Cheah
 
Session i
DrUjwala1
 
Android Technology
Amar Shah
 
Dot NET Core Interview Questions PDF By ScholarHat
Scholarhat
 
Sirius Role Playing Game - Build diagram, table and tree editors in 20 minutes
Cédric Brun
 
Seminar on android app development
AbhishekKumar4779
 
#SiriusCon 2015: Sirius Roadmap
Obeo
 
Sirius : origins, present, future
Cédric Brun
 
Game Studio
MarinaOpera
 
Os Tibbittstutorial
oscon2007
 
Plug yourself in and your app will never be the same (2 hour edition)
Mikkel Flindt Heisterberg
 
Plug yourself in and your app will never be the same (2 hr editon)
Mikkel Flindt Heisterberg
 
Dot net interview_questions
9292929292
 
International Journal of Engineering Research and Development
IJERD Editor
 
Android : Architecture & Components
Akash Bisariya
 
Build beautiful native apps in record time with flutter
RobertLe30
 
Android task manager project presentation
Akhilesh Jaiswal
 
Plug yourself in and your app will never be the same (1 hr edition)
Mikkel Flindt Heisterberg
 

More from Daniel Juyung Seo (20)

PDF
오픈 소스와 코드 리뷰
Daniel Juyung Seo
 
PDF
[위드이노베이션 토크콘서트] 위드이노베이션, 삼성과 구글의 개발 문화
Daniel Juyung Seo
 
PDF
[GDG DevFest Seoul 2016] 오픈 소스를 통해 개발 근육 강화하기
Daniel Juyung Seo
 
PDF
[아주대] 오픈 소스와 글로벌 경쟁력
Daniel Juyung Seo
 
PDF
[OSS 개발자 포럼] 오픈소스를 활용한 개발자 자기 개발
Daniel Juyung Seo
 
PDF
[KRnet2016] Contributing to Enlightenment Foundation Libraries
Daniel Juyung Seo
 
PDF
[2016 아주대강의] 보안과소프트웨어엔지니어
Daniel Juyung Seo
 
PDF
[Ajou Greative 콘서트] 글로벌 sw엔지니어로 성장하기
Daniel Juyung Seo
 
PPTX
[SOSCON 2015] 제 3회 EFL 한국 커뮤니티 세미나 - 16살 된 EFL은 어떻게 관리하고 배포ᄒ...
Daniel Juyung Seo
 
PDF
[OSS개발자포럼, 국민대 여름캠프] 개발자로 멋지게 살아보자 - 구글 서주영 (주석 포함)
Daniel Juyung Seo
 
PDF
Introduction of EFL Korea Community (at 2014 Developer Day)
Daniel Juyung Seo
 
PDF
EFL을 이용한 타이젠 애플리케이션 개발 - Korea Community Day 2014
Daniel Juyung Seo
 
PDF
Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)
Daniel Juyung Seo
 
PDF
제 2회 한국 EFL 세미나 - 5. Elm Theme Viewer (서주영)
Daniel Juyung Seo
 
PDF
오픈소스, 빡! 끝! - 제7회 삼성소프트웨어멤버십 기술전
Daniel Juyung Seo
 
PDF
Tizen 핵심 툴킷 EFL로 빠르고 가벼운 앱 개발하기 - SOSCON 2014 삼성오픈소스컨퍼런스
Daniel Juyung Seo
 
PDF
오픈소스와 영어 (KOR) - OSS 개발자 포럼
Daniel Juyung Seo
 
PDF
Enlightenment Open Source Contribution (KOR) - 실전! Enlightenment 오픈소스 컨트리뷰션
Daniel Juyung Seo
 
PDF
EFL 오픈소스 활용 사례 2014
Daniel Juyung Seo
 
PPTX
Open Platform Tizen and Web, 오픈 플랫폼 타이젠과 웹
Daniel Juyung Seo
 
오픈 소스와 코드 리뷰
Daniel Juyung Seo
 
[위드이노베이션 토크콘서트] 위드이노베이션, 삼성과 구글의 개발 문화
Daniel Juyung Seo
 
[GDG DevFest Seoul 2016] 오픈 소스를 통해 개발 근육 강화하기
Daniel Juyung Seo
 
[아주대] 오픈 소스와 글로벌 경쟁력
Daniel Juyung Seo
 
[OSS 개발자 포럼] 오픈소스를 활용한 개발자 자기 개발
Daniel Juyung Seo
 
[KRnet2016] Contributing to Enlightenment Foundation Libraries
Daniel Juyung Seo
 
[2016 아주대강의] 보안과소프트웨어엔지니어
Daniel Juyung Seo
 
[Ajou Greative 콘서트] 글로벌 sw엔지니어로 성장하기
Daniel Juyung Seo
 
[SOSCON 2015] 제 3회 EFL 한국 커뮤니티 세미나 - 16살 된 EFL은 어떻게 관리하고 배포ᄒ...
Daniel Juyung Seo
 
[OSS개발자포럼, 국민대 여름캠프] 개발자로 멋지게 살아보자 - 구글 서주영 (주석 포함)
Daniel Juyung Seo
 
Introduction of EFL Korea Community (at 2014 Developer Day)
Daniel Juyung Seo
 
EFL을 이용한 타이젠 애플리케이션 개발 - Korea Community Day 2014
Daniel Juyung Seo
 
Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)
Daniel Juyung Seo
 
제 2회 한국 EFL 세미나 - 5. Elm Theme Viewer (서주영)
Daniel Juyung Seo
 
오픈소스, 빡! 끝! - 제7회 삼성소프트웨어멤버십 기술전
Daniel Juyung Seo
 
Tizen 핵심 툴킷 EFL로 빠르고 가벼운 앱 개발하기 - SOSCON 2014 삼성오픈소스컨퍼런스
Daniel Juyung Seo
 
오픈소스와 영어 (KOR) - OSS 개발자 포럼
Daniel Juyung Seo
 
Enlightenment Open Source Contribution (KOR) - 실전! Enlightenment 오픈소스 컨트리뷰션
Daniel Juyung Seo
 
EFL 오픈소스 활용 사례 2014
Daniel Juyung Seo
 
Open Platform Tizen and Web, 오픈 플랫폼 타이젠과 웹
Daniel Juyung Seo
 
Ad

Recently uploaded (20)

PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
PPTX
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
PDF
Generative AI vs Predictive AI-The Ultimate Comparison Guide
Lily Clark
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PPTX
AI Code Generation Risks (Ramkumar Dilli, CIO, Myridius)
Priyanka Aash
 
PDF
Per Axbom: The spectacular lies of maps
Nexer Digital
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
PDF
RAT Builders - How to Catch Them All [DeepSec 2024]
malmoeb
 
PDF
Build with AI and GDG Cloud Bydgoszcz- ADK .pdf
jaroslawgajewski1
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PPTX
Agentic AI in Healthcare Driving the Next Wave of Digital Transformation
danielle hunter
 
PDF
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PDF
introduction to computer hardware and sofeware
chauhanshraddha2007
 
PDF
TrustArc Webinar - Navigating Data Privacy in LATAM: Laws, Trends, and Compli...
TrustArc
 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
PDF
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
Generative AI vs Predictive AI-The Ultimate Comparison Guide
Lily Clark
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
AI Code Generation Risks (Ramkumar Dilli, CIO, Myridius)
Priyanka Aash
 
Per Axbom: The spectacular lies of maps
Nexer Digital
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
RAT Builders - How to Catch Them All [DeepSec 2024]
malmoeb
 
Build with AI and GDG Cloud Bydgoszcz- ADK .pdf
jaroslawgajewski1
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
Agentic AI in Healthcare Driving the Next Wave of Digital Transformation
danielle hunter
 
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
introduction to computer hardware and sofeware
chauhanshraddha2007
 
TrustArc Webinar - Navigating Data Privacy in LATAM: Laws, Trends, and Compli...
TrustArc
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
Ad

The Art of Tizen UI Theme Technology in Various Profiles (OSCON 2014)

  • 1. The Art of Tizen UI Theme Technology in Various Profiles Daniel Juyung Seo Samsung Electronics July 23, 2014
  • 2. Who Am I  Daniel Juyung Seo - a.k.a SeoZ - Senior Engineer at Samsung Electronics - [email protected] - @seojuyung  Tizen Core UIFW EFL Developer  Enlightenment/EFL Open Source Committer
  • 3. What is this talk about?  Making frameworks and applications scalable in UI perspective.  Enlightenment Foundation Libraries  Slide: http://seoz.com/OSCON2014
  • 4. Audience Introductions  What is your expertise? - Application Development - Platform Development - Design - Marketing
  • 6.  Linux-based Open Source Platform - A standard based open and flexible platform - Linux Foundation Project - Built from the ground up to address the needs of all stakeholders - Developed by a community of developers, under open source governance, and is open to all members who wish to participate. - Comes in multiple profiles to serve different industry requirements.
  • 7.  The OS of Everything  Mobile, IVI, Wearable, TV, Camera, PC, … Various Tizen Profiles
  • 8.  NX300, NX300M, and etc.  Gear 2, Gear 2 Neo Tizen Based Products – Camera and Smart Watch
  • 9.  Test Devices RD-PQ, RD-210  2.2.1 SDK  1.0.0 beta2 Wearable SDK Tizen – Mobile/Wearable/TV  2.3 Alpha SDK - Mobile + Wearable Profiles
  • 10. Scalability is Important  Supporting different resolutions, screen sizes, devices, and profiles.
  • 12. Applications Web Framework Core Framework Kernel Native Framework Linux Kernel & Device Drivers W3C/HTML5 Device API WRT Social/Content Locations Etc. Web Applications Native Applications Core Applications App FW Graphics & UI Multimedia Web Messaging Location Security System Base Connectivity Telephony PIM Tizen Architecture
  • 13.  Native Applications : C++  Web Applications : HTML5 + CSS + JavaScript + jQuery  Core Applications : C or C++ Platforms Areas Mobile Gear 2 NX300 Native O X X Web O O X Core O O O Tizen Application Development Model
  • 14.  But wait, they have something in common  The Core Framework!  Core API + EFL  Many applications are written in EFL on the NX300 and Gear 2. The Core Framework
  • 15.  EFL not ELF EFL may not be an ELF... but it's as pretty as one. :) NO! YES! Does anyone know about EFL?
  • 16.  Toolkit A set of libraries that provide a wide range of functionality http://www.enlightenment.org/  Enlightenment Foundation Libraries - Created to support E17 development - Targeted at embedded since day 1 - Always focused on staying lean while providing fanciness - The heart of the graphics component of Tizen What is EFL?
  • 17. Core Framework and EFL Applications Web Framework Core Framework Kernel Native Framework Linux Kernel & Device Drivers W3C/HTML5 Device API WRT Social/Content Locations Etc. Web Applications Native Applications Applications App FW Graphics & UI Multimedia Web Messaging Location Security System Base Connectivity Telephony PIM
  • 18.  Performance  Small memory footprint  GUI, Logic separation  Themeable  Animations  H/W acceleration  Various back-end engine  Flexible  Scalable Why is EFL used on Tizen?
  • 21.  A complex graphical design and layout library.  A graphical user interface without writing a line of C code.  Creates visual layouts from compiled EDC script - EDC is completely separate from application code - Can be changed at or during runtime  Layouts include - Images, Colors - Animations, Behaviors  Supports relative and absolute positioning. Edje
  • 22.  Separation of layout and logic - a graphical part : GUI Layout binary (edj) - a functionality : Executable logic binary (C)  Utility - edje_cc : compile edc to edj - edje_decc : de-compile edj to edc .edc .edj .c executable edje_cc compile running runload Edje < Compile Time > < Run Time >
  • 23.  EDC Script collections { // list of groups. group { // the list of parts and programs that compose a given edje object. images { } // list each image file that will be used in the edc. parts { part { // the most basic design elements of the group. // (ie. RECT, TEXT, IMAGE, SWALLOW, TEXTBLOCK, GROUP, BOX, TABLE, EXTERNAL) } } programs { program { // manipulates the different interface elements and serve as a bridge between // the application and interface. } } } } Edje
  • 24.  Widget Set  75 widgets - Non-Containers - Bg, Button, Check, Entry, Label, List, Icon, Win, … - Containers - Box, Conformant, Grid, Layout, Panes, Scroller, Table, …  Fast, Finger friendly, Scalable, Themeable, … Elementary
  • 25. < Bubble > < Button > < Calendar > < Check > < Toggle > < Clock > < Ctxpopup > < Radio > < Frame > < DaySelector > < Slider > < FlipSelector > < FileSelector > < Genlist > < Gengrid > < Spinner > < Map > < Panes > < Progressbar > Elementary
  • 26.  Elementary also uses edje for its layout group { name: "elm/button/base/default"; images.image: "button_normal.png" COMP; images.image: "button_clicked.png" COMP; parts { part { name: "base"; mouse_events: 0; type: IMAGE description { state: "default" 0.0; image.normal: "button_normal.png"; rel1.relative: 0.0 0.0; rel2.relative: 1.0 1.0; image.border: 4 4 3 5; image.middle: SOLID; } description { state: "clicked" 0.0; inherit: "default" 0.0; image.normal: "button_clicked.png"; image.border: 5 5 4 6; } ... programs { program { signal: "mouse,down,1"; source: "event"; action: STATE_SET "clicked" 0.0; target: "base"; } ... Elementary
  • 27.  Relative Positioning (1) Part A rel1 (x=0.0 y=0.0) rel2 (x=1.0 y=0.3) Part B rel1 (x=0.0 y=0.3) rel2 (x=1.0 y=1.0) How to achieve Scalability? - Part 1
  • 28.  Relative Positioning (2) Bigger Scree/n / Higher Resolution (y=0.1) (y=0.9) How to achieve Scalability? - Part 1
  • 29.  Relative Positioning (2) Bigger Scree/n / Higher Resolution (y=0.1) (y=0.9) How to achieve Scalability? - Part 1 Fix Header
  • 30.  Scale Factor Higher Resolution How to achieve Scalability? - Part 2
  • 31.  Scale Factor Higher Resolution + Scale Up Higher Resolution How to achieve Scalability? - Part 2
  • 32.  Using container widgets - Box, Conformant, Grid, Layout, Panes, Scroller, Table, …  Ex) Conformant → Naviframe → List How to achieve Scalability? - Part 3
  • 33.  Border < Original Background Image > < Expand With Border > < Expand Without Border > How to achieve Scalability? - Part 4
  • 34.  Finger Size How to achieve Scalability? - Part 5
  • 35.  Elementary Configuration - Configurations Scale, finger size, engine, scroll, focus, profile, … - You can change the configuration based on your own needs. - Profile: a set of the configurations default, standard, mobile, tv, wearable, … There are more!
  • 36. Demo
  • 37.  Elementary Test  Terminology Demo
  • 38.  Enventor  Eflete  Elm theme viewer EFL Tools for a better Scalability
  • 39.  Install Platform SDK  EFL Application Template EFL Applications on Tizen SDK
  • 40.  Tizen supports various profiles over a lot of device categories.  EFL makes you write scalable GUI applications over various profiles with a good performance and small memory foot prints.  It's open. You can start it now. Summary
  • 42. Visit Samsung Booth for Tizen SDK Demo ONE installer Develop App on IDE Run on Emulators  Visit Samsung Booth and check Tizen SDK Demo at OSCON 2014!  Tizen SDK for multiple profiles
  • 43. More Information  Daniel Juyung Seo <[email protected]> - @seojuyung - https://www.facebook.com/seojuyung  https://tizen.org  http://enlightenment.org