SlideShare une entreprise Scribd logo
1  sur  31
What We Learned From
Porting 50+ Cloud Apps
to Tizen
Dima Malenko, Vlad Pavlov,
rollApp Inc.
2
Tizen is an open source, standards-based software platform…
From tizen.org
3
• Access to the Internet
• Ability to do office productivity tasks
What are the “must have” features for a computing
platform?
4
What is the most popular office productivity solution in the
world?
over 1,000,000,000 users
5
What is the second most popular office productivity
solution in the world?
over 100,000,000 users
6
How long will it take to port these
apps to new platform like Tizen?
7
We made
more than 50 popular desktop
apps
available on Tizen
in about 3 months
rollApp: cloud
applications
platform
9
• Supports Linux, Windows and Java desktop apps
• Works on
• Chrome, Safari, Firefox
• iOS, Android, Tizen
• Integrates with Dropbox, Google Drive, Box
rollApp: cloud applications platform
10
Work With Any App From Any Device With Just a Browser
have the same
look-and-feel
as if they were
installed locally
convert
applications to
online SaaS
on the fly
upload existing
Win, Linux,
Mac, Andorid,
iOS, etc.
applicatios
discover
and use
applications
through a
browser
Software
Vendors
rollApp
Servers
End Users
Applications
IBM Estimates: 50B Connected Devices by 2020,
“You Can Put a Chip in Nearly Anything”
rollApp’s goal is to enable all existing software
on all existing and future browser-equipped devices
11
rollApp Today
• Palo Alto (CA) based startup
• R&D in Ukraine
• Relatively small team (less than 30 people), includes some of the
best experts on the planet
• Bjarne Straustrup (the author of C++) and Bob Iannucci (former CTO
from NOKIA) are members of our Advisory Board
• Backed by prominent international venture investors
• Publicly available beta version of the technology
• attracted tremendous interest (over 100-fold traffic growth during the
year, over 5 mln users last month)
12
Apps Adapted For Touch Input
13
Do Precise Work With Touch Screen
14
Smart Window Management: Modals
15
Smart Window Management: Documents
Making it all
work together
17
Basic options for building apps
• Native C++ app
• Great for performance and access to low-level platform features
• Heavy-duty development, zero portability
• Native Web JavaScript app
• Good balance of access to low-level features and speed of development
• Portability is still questionable
• “Hosted” JavaScript app
• Great portability and speed of development
• Tricky access to low-level features
18
Good news: standards are on your side
19
Good news: standards are on your side,
but they are not panacea
5.1.6 Browser Context Names
… a new browsing context is being requested,
and what happens depends on the user agent's
configuration and/or abilities.
More at http://www.w3.org/TR/html5/browsers.html
20
Lesson: Web app ≠ JavaScript Mobile app
Web app Mobile app
Connectivity issues
Browser is the app.
Your app is just a content
Have to be handled by
the app
Sleep mode
Hardware buttons
App UI/UX Hey, it’s the Web!
Do what you want!
Have to conform to
platform UI guidelines
Access to 3rd-party web
services
Well developed and
natural
Can be cumbersome
and “not native”
21
“Cross-platformity” in rollApp
Features need to work in a way
“natural” for a target platform
Features need to work in a way
“natural” for an application and
its main use cases
22
30,000 feet overview
Application
Downloadable
client
Platform
wrapper
23
Platform-specific vs. cross-platform
Platform Wrapper
• Installable component
available from the store
• Helps handling low-level
platform specific functions
• Helps conforming to UX
guidelines
Downloadable Client
• Does all the user-app
interaction heavy lifting
• Adapts application UX to
target platform
• Supports “in-browser”
operation for all supported
platforms
24
Platform Wrapper Architecture
URL: file://…
URL: https://rollapp.com/…
Access to low-level
APIs via wrapper
TIZEN
Main interaction
with the app
Platform-specific interaction
• hardware buttons
• sleep status
Tizen-specific feature
implementations
25
What’s most popular mobile web browser engine of present
day?
26
Lesson: No one platform is a good approximation of
another platform
• Fonts/image rendering
• Scaling issues
• Handling of retina screen
• Keyboard activation
• Window is resized, when keyboard is open
• .focus() does not activate keyboard from ontouchstart() handler
• Performance
• canvas.getPixelData()
27
Lesson: Configuration Management is important
Platform under active development
+
Your app under active development
=
28
At times bugs can be related to very basic features
29
Lesson: Hosted apps and app store aren’t exactly friends
• Publishing of v.1 can be painful
• Hosted components updated instantaneously, but verification of
resubmitted apps can take weeks
• Having components on different deployment paths can add
complexity
• Managing many apps on the app store can be a hassle
30
Summary
• rollApp is a universal cloud platform making any application
available on any device
• JavaScript has become first class citizen for mobile apps
development, but some difficulties remain
• Turning Web app into high-quality JavaScript mobile app is no
easy ride
• Do not rely on cross-platform toolset; develop and test on the
specific platform
• Good engineering practice always helps
www.rollApp.com
@rollApp

Contenu connexe

Tendances

Getting Started Developing Universal Windows Platform (UWP) Apps
Getting Started Developing Universal Windows Platform (UWP) AppsGetting Started Developing Universal Windows Platform (UWP) Apps
Getting Started Developing Universal Windows Platform (UWP) AppsJaliya Udagedara
 
Developing Windows Phone 8 apps using PhoneGap
Developing Windows Phone 8 apps using PhoneGapDeveloping Windows Phone 8 apps using PhoneGap
Developing Windows Phone 8 apps using PhoneGapAmar Mesic
 
Kevin Whinnery: Best Practices for Cross-Platform Mobile Development
Kevin Whinnery: Best Practices for Cross-Platform Mobile DevelopmentKevin Whinnery: Best Practices for Cross-Platform Mobile Development
Kevin Whinnery: Best Practices for Cross-Platform Mobile DevelopmentAxway Appcelerator
 
Building Cross-Platform Mobile Apps with PhoneGap and Sencha Touch
Building Cross-Platform Mobile Apps with PhoneGap and Sencha TouchBuilding Cross-Platform Mobile Apps with PhoneGap and Sencha Touch
Building Cross-Platform Mobile Apps with PhoneGap and Sencha TouchAxel Buerkle
 
What's new in Blend for Visual Studio 2015
What's new in Blend for Visual Studio 2015What's new in Blend for Visual Studio 2015
What's new in Blend for Visual Studio 2015Fons Sonnemans
 
Hybrid Mobile Development with Apache Cordova,AngularJs and ionic
Hybrid Mobile Development with Apache Cordova,AngularJs and ionicHybrid Mobile Development with Apache Cordova,AngularJs and ionic
Hybrid Mobile Development with Apache Cordova,AngularJs and ionicErmias Bayu
 
Mobile Development: HTML5 Vs. Native
Mobile Development: HTML5 Vs. NativeMobile Development: HTML5 Vs. Native
Mobile Development: HTML5 Vs. NativeSynerzip
 
SenchaCon 2016: Ext JS App Modernization Showcase - Richard Milone
SenchaCon 2016: Ext JS App Modernization Showcase - Richard MiloneSenchaCon 2016: Ext JS App Modernization Showcase - Richard Milone
SenchaCon 2016: Ext JS App Modernization Showcase - Richard MiloneSencha
 
Building Mobile Apps With Xamarin and Visual Studio App Center
Building Mobile Apps With Xamarin and Visual Studio App CenterBuilding Mobile Apps With Xamarin and Visual Studio App Center
Building Mobile Apps With Xamarin and Visual Studio App CenterSharePoint Saturday New Jersey
 
Mobile Cross Platform Automation in-practice and on a Large Scale
Mobile Cross Platform Automation in-practice and on a Large ScaleMobile Cross Platform Automation in-practice and on a Large Scale
Mobile Cross Platform Automation in-practice and on a Large ScaleSathish Gogineni
 
Open Web Apps - State of the Browser 2014
Open Web Apps - State of the Browser 2014Open Web Apps - State of the Browser 2014
Open Web Apps - State of the Browser 2014Christian Heilmann
 
Flutter or PWA Which Is Best For Application Development
Flutter or PWA Which Is Best For Application DevelopmentFlutter or PWA Which Is Best For Application Development
Flutter or PWA Which Is Best For Application DevelopmentMobiloitte
 
Cross platform Xamarin Apps With MVVM
Cross platform Xamarin Apps With MVVMCross platform Xamarin Apps With MVVM
Cross platform Xamarin Apps With MVVMJim Bennett
 
Lync integration with metro app
Lync integration with metro appLync integration with metro app
Lync integration with metro appAshish Agrawal
 
Hybrid Mobile App Development - Xamarin
Hybrid Mobile App Development - XamarinHybrid Mobile App Development - Xamarin
Hybrid Mobile App Development - XamarinDeepu S Nath
 
Jacky Wang - KKBOX Apple Watch App
Jacky Wang - KKBOX Apple Watch App Jacky Wang - KKBOX Apple Watch App
Jacky Wang - KKBOX Apple Watch App Jacky Wang
 

Tendances (20)

Getting Started Developing Universal Windows Platform (UWP) Apps
Getting Started Developing Universal Windows Platform (UWP) AppsGetting Started Developing Universal Windows Platform (UWP) Apps
Getting Started Developing Universal Windows Platform (UWP) Apps
 
Developing Windows Phone 8 apps using PhoneGap
Developing Windows Phone 8 apps using PhoneGapDeveloping Windows Phone 8 apps using PhoneGap
Developing Windows Phone 8 apps using PhoneGap
 
Kevin Whinnery: Best Practices for Cross-Platform Mobile Development
Kevin Whinnery: Best Practices for Cross-Platform Mobile DevelopmentKevin Whinnery: Best Practices for Cross-Platform Mobile Development
Kevin Whinnery: Best Practices for Cross-Platform Mobile Development
 
Building Cross-Platform Mobile Apps with PhoneGap and Sencha Touch
Building Cross-Platform Mobile Apps with PhoneGap and Sencha TouchBuilding Cross-Platform Mobile Apps with PhoneGap and Sencha Touch
Building Cross-Platform Mobile Apps with PhoneGap and Sencha Touch
 
What's new in Blend for Visual Studio 2015
What's new in Blend for Visual Studio 2015What's new in Blend for Visual Studio 2015
What's new in Blend for Visual Studio 2015
 
Hybrid Mobile Development with Apache Cordova,AngularJs and ionic
Hybrid Mobile Development with Apache Cordova,AngularJs and ionicHybrid Mobile Development with Apache Cordova,AngularJs and ionic
Hybrid Mobile Development with Apache Cordova,AngularJs and ionic
 
Mobile Development: HTML5 Vs. Native
Mobile Development: HTML5 Vs. NativeMobile Development: HTML5 Vs. Native
Mobile Development: HTML5 Vs. Native
 
SenchaCon 2016: Ext JS App Modernization Showcase - Richard Milone
SenchaCon 2016: Ext JS App Modernization Showcase - Richard MiloneSenchaCon 2016: Ext JS App Modernization Showcase - Richard Milone
SenchaCon 2016: Ext JS App Modernization Showcase - Richard Milone
 
Building Mobile Apps With Xamarin and Visual Studio App Center
Building Mobile Apps With Xamarin and Visual Studio App CenterBuilding Mobile Apps With Xamarin and Visual Studio App Center
Building Mobile Apps With Xamarin and Visual Studio App Center
 
App Studio: Hands-On
App Studio: Hands-OnApp Studio: Hands-On
App Studio: Hands-On
 
Mobile Cross Platform Automation in-practice and on a Large Scale
Mobile Cross Platform Automation in-practice and on a Large ScaleMobile Cross Platform Automation in-practice and on a Large Scale
Mobile Cross Platform Automation in-practice and on a Large Scale
 
Foss con2011
Foss con2011Foss con2011
Foss con2011
 
Open Web Apps - State of the Browser 2014
Open Web Apps - State of the Browser 2014Open Web Apps - State of the Browser 2014
Open Web Apps - State of the Browser 2014
 
Flutter or PWA Which Is Best For Application Development
Flutter or PWA Which Is Best For Application DevelopmentFlutter or PWA Which Is Best For Application Development
Flutter or PWA Which Is Best For Application Development
 
Cross platform Xamarin Apps With MVVM
Cross platform Xamarin Apps With MVVMCross platform Xamarin Apps With MVVM
Cross platform Xamarin Apps With MVVM
 
Selenium presentation
Selenium presentationSelenium presentation
Selenium presentation
 
Lync integration with metro app
Lync integration with metro appLync integration with metro app
Lync integration with metro app
 
Hybrid Mobile App Development - Xamarin
Hybrid Mobile App Development - XamarinHybrid Mobile App Development - Xamarin
Hybrid Mobile App Development - Xamarin
 
.NET (r)evolution
.NET (r)evolution.NET (r)evolution
.NET (r)evolution
 
Jacky Wang - KKBOX Apple Watch App
Jacky Wang - KKBOX Apple Watch App Jacky Wang - KKBOX Apple Watch App
Jacky Wang - KKBOX Apple Watch App
 

Similaire à Cloud Apps Ported to Tizen in 3 Months

Platform guidance for Microsoft .NET Technology
Platform guidance for Microsoft .NET TechnologyPlatform guidance for Microsoft .NET Technology
Platform guidance for Microsoft .NET TechnologyLohith Goudagere Nagaraj
 
Build 12-Factor apps with Docker
Build 12-Factor apps with DockerBuild 12-Factor apps with Docker
Build 12-Factor apps with DockerJohn Zaccone
 
Mobile App Development and Xamarin as a Complete Mobile Solution
Mobile App Development and Xamarin as a Complete Mobile SolutionMobile App Development and Xamarin as a Complete Mobile Solution
Mobile App Development and Xamarin as a Complete Mobile SolutionMukteswar Patnaik
 
Cross Platform Mobile Application Development
Cross Platform Mobile Application DevelopmentCross Platform Mobile Application Development
Cross Platform Mobile Application DevelopmentSenchu Thomas
 
Introducing ibm-lotus-notes-and-domino-85-slideshow-1231267606343259-1
Introducing ibm-lotus-notes-and-domino-85-slideshow-1231267606343259-1Introducing ibm-lotus-notes-and-domino-85-slideshow-1231267606343259-1
Introducing ibm-lotus-notes-and-domino-85-slideshow-1231267606343259-1Mehdi Loutfi
 
Windows 8 DevUnleashed - Session 1
Windows 8 DevUnleashed - Session 1Windows 8 DevUnleashed - Session 1
Windows 8 DevUnleashed - Session 1drudolph11
 
Which Cross-Platform App Development Framework Is Right for You
Which Cross-Platform App Development Framework Is Right for YouWhich Cross-Platform App Development Framework Is Right for You
Which Cross-Platform App Development Framework Is Right for YouInexture Solutions
 
Forge - DevCon 2016: Implementing Rich Applications in the Browser
Forge - DevCon 2016: Implementing Rich Applications in the BrowserForge - DevCon 2016: Implementing Rich Applications in the Browser
Forge - DevCon 2016: Implementing Rich Applications in the BrowserAutodesk
 
Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Nuxeo
 
ADVANCED PROGRAMMING TECHNOLOGIES NOWADAYS - Copy.pptx
ADVANCED PROGRAMMING TECHNOLOGIES NOWADAYS - Copy.pptxADVANCED PROGRAMMING TECHNOLOGIES NOWADAYS - Copy.pptx
ADVANCED PROGRAMMING TECHNOLOGIES NOWADAYS - Copy.pptxRickyLoberiano
 
Navigating the Mobile maze
Navigating the Mobile mazeNavigating the Mobile maze
Navigating the Mobile mazePraveen Bohra
 
Mobility today & what's next. Application ecosystems.
Mobility today & what's next.Application ecosystems.Mobility today & what's next.Application ecosystems.
Mobility today & what's next. Application ecosystems.Petru Jucovschi
 
Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018
Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018
Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018UX Antwerp Meetup
 
Pelegri Desarrollando en una nueva era de software
Pelegri   Desarrollando en una nueva era de software Pelegri   Desarrollando en una nueva era de software
Pelegri Desarrollando en una nueva era de software Eduardo Pelegri-Llopart
 
Jfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the CloudJfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the CloudLauren Hayward Schaefer
 
Xamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar PatnaikXamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar PatnaikMukteswar Patnaik
 
.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los AngelesVMware Tanzu
 

Similaire à Cloud Apps Ported to Tizen in 3 Months (20)

Platform guidance for Microsoft .NET Technology
Platform guidance for Microsoft .NET TechnologyPlatform guidance for Microsoft .NET Technology
Platform guidance for Microsoft .NET Technology
 
Build 12-Factor apps with Docker
Build 12-Factor apps with DockerBuild 12-Factor apps with Docker
Build 12-Factor apps with Docker
 
Mobile App Development and Xamarin as a Complete Mobile Solution
Mobile App Development and Xamarin as a Complete Mobile SolutionMobile App Development and Xamarin as a Complete Mobile Solution
Mobile App Development and Xamarin as a Complete Mobile Solution
 
Cross Platform Mobile Application Development
Cross Platform Mobile Application DevelopmentCross Platform Mobile Application Development
Cross Platform Mobile Application Development
 
Dmdh workshop #6
Dmdh workshop #6Dmdh workshop #6
Dmdh workshop #6
 
Introducing ibm-lotus-notes-and-domino-85-slideshow-1231267606343259-1
Introducing ibm-lotus-notes-and-domino-85-slideshow-1231267606343259-1Introducing ibm-lotus-notes-and-domino-85-slideshow-1231267606343259-1
Introducing ibm-lotus-notes-and-domino-85-slideshow-1231267606343259-1
 
Windows 8 DevUnleashed - Session 1
Windows 8 DevUnleashed - Session 1Windows 8 DevUnleashed - Session 1
Windows 8 DevUnleashed - Session 1
 
Which Cross-Platform App Development Framework Is Right for You
Which Cross-Platform App Development Framework Is Right for YouWhich Cross-Platform App Development Framework Is Right for You
Which Cross-Platform App Development Framework Is Right for You
 
Forge - DevCon 2016: Implementing Rich Applications in the Browser
Forge - DevCon 2016: Implementing Rich Applications in the BrowserForge - DevCon 2016: Implementing Rich Applications in the Browser
Forge - DevCon 2016: Implementing Rich Applications in the Browser
 
Android - Anroid Pproject
Android - Anroid PprojectAndroid - Anroid Pproject
Android - Anroid Pproject
 
Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011
 
ADVANCED PROGRAMMING TECHNOLOGIES NOWADAYS - Copy.pptx
ADVANCED PROGRAMMING TECHNOLOGIES NOWADAYS - Copy.pptxADVANCED PROGRAMMING TECHNOLOGIES NOWADAYS - Copy.pptx
ADVANCED PROGRAMMING TECHNOLOGIES NOWADAYS - Copy.pptx
 
Navigating the Mobile maze
Navigating the Mobile mazeNavigating the Mobile maze
Navigating the Mobile maze
 
Mobility today & what's next. Application ecosystems.
Mobility today & what's next.Application ecosystems.Mobility today & what's next.Application ecosystems.
Mobility today & what's next. Application ecosystems.
 
Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018
Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018
Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018
 
Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to xamarin
 
Pelegri Desarrollando en una nueva era de software
Pelegri   Desarrollando en una nueva era de software Pelegri   Desarrollando en una nueva era de software
Pelegri Desarrollando en una nueva era de software
 
Jfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the CloudJfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the Cloud
 
Xamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar PatnaikXamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar Patnaik
 
.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles
 

Plus de Dima Malenko

Where are the new technologies coming from?
Where are the new technologies coming from?Where are the new technologies coming from?
Where are the new technologies coming from?Dima Malenko
 
Nation: technological and/or successful
Nation: technological and/or successfulNation: technological and/or successful
Nation: technological and/or successfulDima Malenko
 
3x3+3 #6 New and old platforms
3x3+3 #6 New and old platforms3x3+3 #6 New and old platforms
3x3+3 #6 New and old platformsDima Malenko
 
Future of the Apps: what startups need to know
Future of the Apps: what startups need to knowFuture of the Apps: what startups need to know
Future of the Apps: what startups need to knowDima Malenko
 
Crises in startups
Crises in startupsCrises in startups
Crises in startupsDima Malenko
 
Magic Triangle: Product, Market, Users
Magic Triangle: Product, Market, UsersMagic Triangle: Product, Market, Users
Magic Triangle: Product, Market, UsersDima Malenko
 
Scaling and Distributing
Scaling and DistributingScaling and Distributing
Scaling and DistributingDima Malenko
 
Evolution of software projects
Evolution of software projectsEvolution of software projects
Evolution of software projectsDima Malenko
 
Tornado - different Web programming
Tornado - different Web programmingTornado - different Web programming
Tornado - different Web programmingDima Malenko
 
Как команду соберете, так она и поплывет
Как команду соберете, так она и поплыветКак команду соберете, так она и поплывет
Как команду соберете, так она и поплыветDima Malenko
 
Cultural test by... a door at a mall
Cultural test by... a door at a mallCultural test by... a door at a mall
Cultural test by... a door at a mallDima Malenko
 

Plus de Dima Malenko (14)

Where are the new technologies coming from?
Where are the new technologies coming from?Where are the new technologies coming from?
Where are the new technologies coming from?
 
Nation: technological and/or successful
Nation: technological and/or successfulNation: technological and/or successful
Nation: technological and/or successful
 
3x3+3 #6 New and old platforms
3x3+3 #6 New and old platforms3x3+3 #6 New and old platforms
3x3+3 #6 New and old platforms
 
Future of the Apps: what startups need to know
Future of the Apps: what startups need to knowFuture of the Apps: what startups need to know
Future of the Apps: what startups need to know
 
Crises in startups
Crises in startupsCrises in startups
Crises in startups
 
Magic Triangle: Product, Market, Users
Magic Triangle: Product, Market, UsersMagic Triangle: Product, Market, Users
Magic Triangle: Product, Market, Users
 
Scaling and Distributing
Scaling and DistributingScaling and Distributing
Scaling and Distributing
 
Evolution of software projects
Evolution of software projectsEvolution of software projects
Evolution of software projects
 
Browsers
BrowsersBrowsers
Browsers
 
Tornado - different Web programming
Tornado - different Web programmingTornado - different Web programming
Tornado - different Web programming
 
Как команду соберете, так она и поплывет
Как команду соберете, так она и поплыветКак команду соберете, так она и поплывет
Как команду соберете, так она и поплывет
 
Part Time Agile
Part Time AgilePart Time Agile
Part Time Agile
 
Cultural test by... a door at a mall
Cultural test by... a door at a mallCultural test by... a door at a mall
Cultural test by... a door at a mall
 
Just Do It
Just Do ItJust Do It
Just Do It
 

Dernier

Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 

Dernier (20)

Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 

Cloud Apps Ported to Tizen in 3 Months

  • 1. What We Learned From Porting 50+ Cloud Apps to Tizen Dima Malenko, Vlad Pavlov, rollApp Inc.
  • 2. 2 Tizen is an open source, standards-based software platform… From tizen.org
  • 3. 3 • Access to the Internet • Ability to do office productivity tasks What are the “must have” features for a computing platform?
  • 4. 4 What is the most popular office productivity solution in the world? over 1,000,000,000 users
  • 5. 5 What is the second most popular office productivity solution in the world? over 100,000,000 users
  • 6. 6 How long will it take to port these apps to new platform like Tizen?
  • 7. 7 We made more than 50 popular desktop apps available on Tizen in about 3 months
  • 9. 9 • Supports Linux, Windows and Java desktop apps • Works on • Chrome, Safari, Firefox • iOS, Android, Tizen • Integrates with Dropbox, Google Drive, Box rollApp: cloud applications platform
  • 10. 10 Work With Any App From Any Device With Just a Browser have the same look-and-feel as if they were installed locally convert applications to online SaaS on the fly upload existing Win, Linux, Mac, Andorid, iOS, etc. applicatios discover and use applications through a browser Software Vendors rollApp Servers End Users Applications IBM Estimates: 50B Connected Devices by 2020, “You Can Put a Chip in Nearly Anything” rollApp’s goal is to enable all existing software on all existing and future browser-equipped devices
  • 11. 11 rollApp Today • Palo Alto (CA) based startup • R&D in Ukraine • Relatively small team (less than 30 people), includes some of the best experts on the planet • Bjarne Straustrup (the author of C++) and Bob Iannucci (former CTO from NOKIA) are members of our Advisory Board • Backed by prominent international venture investors • Publicly available beta version of the technology • attracted tremendous interest (over 100-fold traffic growth during the year, over 5 mln users last month)
  • 12. 12 Apps Adapted For Touch Input
  • 13. 13 Do Precise Work With Touch Screen
  • 16. Making it all work together
  • 17. 17 Basic options for building apps • Native C++ app • Great for performance and access to low-level platform features • Heavy-duty development, zero portability • Native Web JavaScript app • Good balance of access to low-level features and speed of development • Portability is still questionable • “Hosted” JavaScript app • Great portability and speed of development • Tricky access to low-level features
  • 18. 18 Good news: standards are on your side
  • 19. 19 Good news: standards are on your side, but they are not panacea 5.1.6 Browser Context Names … a new browsing context is being requested, and what happens depends on the user agent's configuration and/or abilities. More at http://www.w3.org/TR/html5/browsers.html
  • 20. 20 Lesson: Web app ≠ JavaScript Mobile app Web app Mobile app Connectivity issues Browser is the app. Your app is just a content Have to be handled by the app Sleep mode Hardware buttons App UI/UX Hey, it’s the Web! Do what you want! Have to conform to platform UI guidelines Access to 3rd-party web services Well developed and natural Can be cumbersome and “not native”
  • 21. 21 “Cross-platformity” in rollApp Features need to work in a way “natural” for a target platform Features need to work in a way “natural” for an application and its main use cases
  • 23. 23 Platform-specific vs. cross-platform Platform Wrapper • Installable component available from the store • Helps handling low-level platform specific functions • Helps conforming to UX guidelines Downloadable Client • Does all the user-app interaction heavy lifting • Adapts application UX to target platform • Supports “in-browser” operation for all supported platforms
  • 24. 24 Platform Wrapper Architecture URL: file://… URL: https://rollapp.com/… Access to low-level APIs via wrapper TIZEN Main interaction with the app Platform-specific interaction • hardware buttons • sleep status Tizen-specific feature implementations
  • 25. 25 What’s most popular mobile web browser engine of present day?
  • 26. 26 Lesson: No one platform is a good approximation of another platform • Fonts/image rendering • Scaling issues • Handling of retina screen • Keyboard activation • Window is resized, when keyboard is open • .focus() does not activate keyboard from ontouchstart() handler • Performance • canvas.getPixelData()
  • 27. 27 Lesson: Configuration Management is important Platform under active development + Your app under active development =
  • 28. 28 At times bugs can be related to very basic features
  • 29. 29 Lesson: Hosted apps and app store aren’t exactly friends • Publishing of v.1 can be painful • Hosted components updated instantaneously, but verification of resubmitted apps can take weeks • Having components on different deployment paths can add complexity • Managing many apps on the app store can be a hassle
  • 30. 30 Summary • rollApp is a universal cloud platform making any application available on any device • JavaScript has become first class citizen for mobile apps development, but some difficulties remain • Turning Web app into high-quality JavaScript mobile app is no easy ride • Do not rely on cross-platform toolset; develop and test on the specific platform • Good engineering practice always helps