SlideShare a Scribd company logo
CLOUD TWIN: NATIVE
EXECUTION OF ANDROID
APPLICATIONS ON THE
WINDOWS PHONE
Presentation type: paper review
Class: CS 519 – Software Evolution for Mobility
Presenter: Sergii Shmarkatiuk
Date: 11/18/2013
PRESENTATION FORMAT


5-8 min for presentation
Motivation
 Proposed solution
 Results
 Main technical challenge addressed in the paper




17-20 min for discussion
Every student provides an answer/comment to presented
discussion question ( <45 sec)
 We will put original ideas on the whiteboard
 Every student picks most appealing/interesting research idea
and explains why it is interesting ( <45 sec)
 We will define the most popular idea for future research
2
based on students’ opinion.

MOTIVATION

One of the challenges of mobile
development is necessity of supporting
mobile application for different platforms

3
MOTIVATION

Platform differences result in higher costs
of mobile application development and
maintenance

4
MOTIVATION
Real challenges (Joorabchi et al.):
Fragmentation across platforms
 Fragmentation within the same platform
 Behavioral consistency across platforms
 Lack of support for automated migration across
platforms


“re-coding against wildly different API sets” increases the cost
and time-to-market within phases of
design, development, testing, and maintenance, which is
definitely a large issue for start-up and smaller companies.
5
PROPOSED SOLUTION
Replicating UI from one platform (Android) to another
platform (Windows Phone) using aspect-oriented
programming and Reflection API.
 Running source application (Android) in the cloud using
platform emulator.
 Capturing UI events generated by target application
(Windows Phone) and sending them to the cloud.
 Receiving UI updates generated by source application
(Android) at target application (Windows Phone) side.


6
RESULTS

Latency of a complete UI update
time between pressing a button and updating text label in response

Min (ms)
281

Avg (ms)
314

Max (ms)
846

7
MAIN TECHNICAL CHALLENGE

1. Analysis of interface's in-memory
representation
2. Extraction of platform-independent
model that can then be used to
generate equivalent interface for
another platform
8
EXAMPLE FROM RELATED WORK
(CONVERTING SWING GUI TO ANDROID UI)
Run the GUI application
 Intercept the application using aspect oriented
programming.
 Extract the components using Reflection API
 Reuse the logic of the application


Translate the components to platform independent
domain specific language (XML-based)
 Create method stubs for the listeners


9
QUESTIONS TO DISCUSS
(~45 SEC FOR AN ANSWER)
Sergii: Do you think it is a good idea to use XMLbased intermediate representation for the UI of
source application?
 Sergii: What do you consider to be an overhead of
maintaining cloud-based emulators?
 Caius: How does their approach scale? A whole
Android emulator is quite heavy weight? While this
is not a problem when you have only 1 user, how
about when you have thousands? Could two or
more sessions run in the same emulator?


10
QUESTIONS TO DISCUSS
(~45 SEC FOR AN ANSWER)
Sergii: How could we get to the point, when we
could "Write once, Run on any Mobile Platform“?
 Michael: This paper is another attempt to solve the
"write once, run anywhere" universal code that has
been the "holy grail" of programming that
developers have been chasing for decades now.
Java is just one of many examples of this. This
approach seems to be significantly different in
substance, but it still suffers from the common
achilles heel of universal solutions, specifically poor
performance.


11
QUESTIONS TO DISCUSS
(~45 SEC FOR AN ANSWER)
Arpit: What kind of information do static and
dynamic analysis of apps may yield to help with
portability?
 Austin: What other platform pairs can this be
extended to (e.g., Android accessing iOS apps)? Is
there any reason that Windows Phone and Android
are easier, and would is needed to make this
happen for other platforms?
 Mihai: …


12
IDEAS FOR BETTER EVALUATION
Sergii: Use 3g/4g instead of wi-fi
 Sergii: Calculate overall number and ratio of UI
elements that cannot be converted to different
platform
 Sergii: Use real applications instead of tutorials
 Arpit: Provide details of how many applications
were able to run successfully on windows phone
using android emulator as source
 Caius: Provide list of tested applications
 Caius, Austin: Test solution in different networks
 Mihai: …


13
FOLLOW-UP RESEARCH IDEAS
Ideas from the paper:
 Increase UI component coverage
 Support additional platforms (iOS) and languages (Objective C)
 Automate API evolution
 Create collaborative mobile applications
Ideas related to general limitations of mobile platforms:
 Security considerations
 Usage of platform-specific hardware (NFC)
 Handling native Open GL code
 Fragmentation across platforms and within the same platform
Other ideas:
 Sergii: improve presented approach to make it useful for addressing
needs of real applications.
 Sergii: reduce number of layers in the solution, make it more robust
and reusable.
 Sergii: separating application into two parts – platform-independent
(that could run in the cloud) and platform-specific part (that could run
on device)

14
FOLLOW-UP RESEARCH IDEAS
Other ideas:
 Austin: compiling certain parts of the codebase into C++ libraries
so that less data has to be sent to the emulator
 Michael: OnLive gaming platform
 Michael: make it work for gestures
 Caius: running more sessions in the same emulator
 Arpit: tool that looks at Android activity and creates a
corresponding XAML form automatically and vice versa
 Mihai: …

15
WHAT RESEARCH IDEA DO YOU FIND THE
MOST INTERESTING TO WORK ON AND
WHY?
Separating
application into
platformindependent and
platform-specific part

Compiling certain
parts of the
codebase into C++
libraries

OnLive gaming
platform

Gestures support

Running more
sessions in the same
emulator

Automatic
conversion to and
from XAML UI
representation

16

More Related Content

What's hot

SusanGerhartResume
SusanGerhartResumeSusanGerhartResume
SusanGerhartResume
Susan Gerhart
 
+Software development methodologies
+Software development methodologies+Software development methodologies
+Software development methodologies
walid sassi
 
Intro to software development
Intro to software developmentIntro to software development
Intro to software development
Hawkman Academy
 
Migrate to microservices
Migrate to microservicesMigrate to microservices
Migrate to microservices
Andrey Trubitsyn
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
Afrasiyab Haider
 
Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for you
Ambientia
 
Unit1
Unit1Unit1
The Role of the Software Architect (short version)
The Role of the Software Architect (short version)The Role of the Software Architect (short version)
The Role of the Software Architect (short version)
Hayim Makabee
 
Icsme 2021-keynote-creating-usable-and-useful-software-tools
Icsme 2021-keynote-creating-usable-and-useful-software-toolsIcsme 2021-keynote-creating-usable-and-useful-software-tools
Icsme 2021-keynote-creating-usable-and-useful-software-tools
Gail Murphy
 
Agile archiecture iltam 2014
Agile archiecture   iltam 2014Agile archiecture   iltam 2014
Agile archiecture iltam 2014
Dani Mannes
 
software development methodologies and their application
software development methodologies and their applicationsoftware development methodologies and their application
software development methodologies and their application
madhusha udayangani
 
DevOps Hand On Workshop
DevOps Hand On WorkshopDevOps Hand On Workshop
DevOps Hand On Workshop
Technix-Pro Systems Consulting Ltd
 
Reducing Technical Debt
Reducing Technical DebtReducing Technical Debt
Reducing Technical Debt
Hayim Makabee
 
Agile
AgileAgile
Agile
ratem
 
Certified professional - DevOps Foundation (CP-DOF) course information
Certified professional - DevOps Foundation (CP-DOF) course informationCertified professional - DevOps Foundation (CP-DOF) course information
Certified professional - DevOps Foundation (CP-DOF) course information
DevOps++ Alliance
 
devops online training in hyderabad
devops online training in hyderabaddevops online training in hyderabad
devops online training in hyderabad
DIGITALSAI1
 
Devops online training ppt
Devops online training pptDevops online training ppt
Devops online training ppt
KhalidQureshi31
 
We're all DevOps [EN]
We're all DevOps [EN]We're all DevOps [EN]
We're all DevOps [EN]
Mikhail Chinkov
 
The benefits of software reuse
The benefits of software reuseThe benefits of software reuse
The benefits of software reuse
Entando
 

What's hot (19)

SusanGerhartResume
SusanGerhartResumeSusanGerhartResume
SusanGerhartResume
 
+Software development methodologies
+Software development methodologies+Software development methodologies
+Software development methodologies
 
Intro to software development
Intro to software developmentIntro to software development
Intro to software development
 
Migrate to microservices
Migrate to microservicesMigrate to microservices
Migrate to microservices
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
 
Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for you
 
Unit1
Unit1Unit1
Unit1
 
The Role of the Software Architect (short version)
The Role of the Software Architect (short version)The Role of the Software Architect (short version)
The Role of the Software Architect (short version)
 
Icsme 2021-keynote-creating-usable-and-useful-software-tools
Icsme 2021-keynote-creating-usable-and-useful-software-toolsIcsme 2021-keynote-creating-usable-and-useful-software-tools
Icsme 2021-keynote-creating-usable-and-useful-software-tools
 
Agile archiecture iltam 2014
Agile archiecture   iltam 2014Agile archiecture   iltam 2014
Agile archiecture iltam 2014
 
software development methodologies and their application
software development methodologies and their applicationsoftware development methodologies and their application
software development methodologies and their application
 
DevOps Hand On Workshop
DevOps Hand On WorkshopDevOps Hand On Workshop
DevOps Hand On Workshop
 
Reducing Technical Debt
Reducing Technical DebtReducing Technical Debt
Reducing Technical Debt
 
Agile
AgileAgile
Agile
 
Certified professional - DevOps Foundation (CP-DOF) course information
Certified professional - DevOps Foundation (CP-DOF) course informationCertified professional - DevOps Foundation (CP-DOF) course information
Certified professional - DevOps Foundation (CP-DOF) course information
 
devops online training in hyderabad
devops online training in hyderabaddevops online training in hyderabad
devops online training in hyderabad
 
Devops online training ppt
Devops online training pptDevops online training ppt
Devops online training ppt
 
We're all DevOps [EN]
We're all DevOps [EN]We're all DevOps [EN]
We're all DevOps [EN]
 
The benefits of software reuse
The benefits of software reuseThe benefits of software reuse
The benefits of software reuse
 

Similar to CS519 - Cloud Twin: Native Execution of Android Applications on the Windows Phone

E017163033
E017163033E017163033
E017163033
IOSR Journals
 
A Review Paper on Cross Platform Mobile Application Development IDE
A Review Paper on Cross Platform Mobile Application Development IDEA Review Paper on Cross Platform Mobile Application Development IDE
A Review Paper on Cross Platform Mobile Application Development IDE
IOSR Journals
 
Where Do Cross-Platform App Frameworks Stand in 2020?
Where Do Cross-Platform App Frameworks Stand in 2020?Where Do Cross-Platform App Frameworks Stand in 2020?
Where Do Cross-Platform App Frameworks Stand in 2020?
Marianne Harness
 
Cross platform app a comparative study
Cross platform app  a comparative studyCross platform app  a comparative study
Cross platform app a comparative study
ijcsit
 
First Steps with Android - An Exciting Introduction
First Steps with Android - An Exciting IntroductionFirst Steps with Android - An Exciting Introduction
First Steps with Android - An Exciting Introduction
Cesar Augusto Nogueira
 
Cross-platform App Development Company
Cross-platform App Development CompanyCross-platform App Development Company
Cross-platform App Development Company
The NineHertz
 
MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...
MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...
MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...
Amit Sheth
 
3701ICT Mobile Application Development.docx
3701ICT Mobile Application Development.docx3701ICT Mobile Application Development.docx
3701ICT Mobile Application Development.docx
sdfghj21
 
IRJET- Cross Platform User Compatible System with Specific Application
IRJET- Cross Platform User Compatible System with Specific ApplicationIRJET- Cross Platform User Compatible System with Specific Application
IRJET- Cross Platform User Compatible System with Specific Application
IRJET Journal
 
[2015/2016] Mobile thinking
[2015/2016] Mobile thinking[2015/2016] Mobile thinking
[2015/2016] Mobile thinking
Ivano Malavolta
 
What is The Best Platform for Mobile App Development.pdf
What is The Best Platform for Mobile App Development.pdfWhat is The Best Platform for Mobile App Development.pdf
What is The Best Platform for Mobile App Development.pdf
SjainVentures2
 
Best Practices for Cross-Platform Native Applications
Best Practices for Cross-Platform Native ApplicationsBest Practices for Cross-Platform Native Applications
Best Practices for Cross-Platform Native Applications
Kevin Whinnery
 
Mobile development with AIR
Mobile development with AIRMobile development with AIR
Mobile development with AIR
Laurent Jayr
 
Newleaks
NewleaksNewleaks
Newleaks
Deepak Mehta
 
Prosciutto Palermo Valley Mobile Sessions - English
Prosciutto Palermo Valley Mobile Sessions - EnglishProsciutto Palermo Valley Mobile Sessions - English
Prosciutto Palermo Valley Mobile Sessions - English
Mario Zorz
 
Androids
AndroidsAndroids
Androids
buankryzz
 
Mobile app
Mobile appMobile app
Mobile app
Attaporn Ninsuwan
 
Mobinius : Mobile Native vs Cross Platform
Mobinius : Mobile Native vs Cross PlatformMobinius : Mobile Native vs Cross Platform
Mobinius : Mobile Native vs Cross Platform
Damodar Puthiya
 
5 Reasons To Select Ionic Apps Development For Your Next Project
5 Reasons To Select Ionic Apps Development For Your Next Project5 Reasons To Select Ionic Apps Development For Your Next Project
5 Reasons To Select Ionic Apps Development For Your Next Project
Claritus Consulting
 
Android + training + philippines
Android + training + philippinesAndroid + training + philippines
Android + training + philippines
diosa06
 

Similar to CS519 - Cloud Twin: Native Execution of Android Applications on the Windows Phone (20)

E017163033
E017163033E017163033
E017163033
 
A Review Paper on Cross Platform Mobile Application Development IDE
A Review Paper on Cross Platform Mobile Application Development IDEA Review Paper on Cross Platform Mobile Application Development IDE
A Review Paper on Cross Platform Mobile Application Development IDE
 
Where Do Cross-Platform App Frameworks Stand in 2020?
Where Do Cross-Platform App Frameworks Stand in 2020?Where Do Cross-Platform App Frameworks Stand in 2020?
Where Do Cross-Platform App Frameworks Stand in 2020?
 
Cross platform app a comparative study
Cross platform app  a comparative studyCross platform app  a comparative study
Cross platform app a comparative study
 
First Steps with Android - An Exciting Introduction
First Steps with Android - An Exciting IntroductionFirst Steps with Android - An Exciting Introduction
First Steps with Android - An Exciting Introduction
 
Cross-platform App Development Company
Cross-platform App Development CompanyCross-platform App Development Company
Cross-platform App Development Company
 
MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...
MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...
MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...
 
3701ICT Mobile Application Development.docx
3701ICT Mobile Application Development.docx3701ICT Mobile Application Development.docx
3701ICT Mobile Application Development.docx
 
IRJET- Cross Platform User Compatible System with Specific Application
IRJET- Cross Platform User Compatible System with Specific ApplicationIRJET- Cross Platform User Compatible System with Specific Application
IRJET- Cross Platform User Compatible System with Specific Application
 
[2015/2016] Mobile thinking
[2015/2016] Mobile thinking[2015/2016] Mobile thinking
[2015/2016] Mobile thinking
 
What is The Best Platform for Mobile App Development.pdf
What is The Best Platform for Mobile App Development.pdfWhat is The Best Platform for Mobile App Development.pdf
What is The Best Platform for Mobile App Development.pdf
 
Best Practices for Cross-Platform Native Applications
Best Practices for Cross-Platform Native ApplicationsBest Practices for Cross-Platform Native Applications
Best Practices for Cross-Platform Native Applications
 
Mobile development with AIR
Mobile development with AIRMobile development with AIR
Mobile development with AIR
 
Newleaks
NewleaksNewleaks
Newleaks
 
Prosciutto Palermo Valley Mobile Sessions - English
Prosciutto Palermo Valley Mobile Sessions - EnglishProsciutto Palermo Valley Mobile Sessions - English
Prosciutto Palermo Valley Mobile Sessions - English
 
Androids
AndroidsAndroids
Androids
 
Mobile app
Mobile appMobile app
Mobile app
 
Mobinius : Mobile Native vs Cross Platform
Mobinius : Mobile Native vs Cross PlatformMobinius : Mobile Native vs Cross Platform
Mobinius : Mobile Native vs Cross Platform
 
5 Reasons To Select Ionic Apps Development For Your Next Project
5 Reasons To Select Ionic Apps Development For Your Next Project5 Reasons To Select Ionic Apps Development For Your Next Project
5 Reasons To Select Ionic Apps Development For Your Next Project
 
Android + training + philippines
Android + training + philippinesAndroid + training + philippines
Android + training + philippines
 

More from Sergii Shmarkatiuk

CS589 paper presentation - What is in unison? A formal specification and refe...
CS589 paper presentation - What is in unison? A formal specification and refe...CS589 paper presentation - What is in unison? A formal specification and refe...
CS589 paper presentation - What is in unison? A formal specification and refe...
Sergii Shmarkatiuk
 
Software version numbering - DSL of change
Software version numbering - DSL of changeSoftware version numbering - DSL of change
Software version numbering - DSL of change
Sergii Shmarkatiuk
 
CS519 - homework project presentation
CS519 - homework project presentationCS519 - homework project presentation
CS519 - homework project presentation
Sergii Shmarkatiuk
 
CS519 - project idea presentation
CS519 - project idea presentationCS519 - project idea presentation
CS519 - project idea presentation
Sergii Shmarkatiuk
 
CS519 - Cloud Types for Eventual Consistency
CS519 - Cloud Types for Eventual ConsistencyCS519 - Cloud Types for Eventual Consistency
CS519 - Cloud Types for Eventual Consistency
Sergii Shmarkatiuk
 
05 - Merge Management
05 - Merge Management05 - Merge Management
05 - Merge Management
Sergii Shmarkatiuk
 
03 - Continuous Integration
03 - Continuous Integration03 - Continuous Integration
03 - Continuous Integration
Sergii Shmarkatiuk
 
02 - Build and Deployment Management
02 - Build and Deployment Management02 - Build and Deployment Management
02 - Build and Deployment Management
Sergii Shmarkatiuk
 
01 - Introduction to Version Control
01 - Introduction to Version Control01 - Introduction to Version Control
01 - Introduction to Version Control
Sergii Shmarkatiuk
 
1.2 introduction to scm - what does version number tell us
1.2   introduction to scm - what does version number tell us1.2   introduction to scm - what does version number tell us
1.2 introduction to scm - what does version number tell us
Sergii Shmarkatiuk
 
1.1 introduction to scm - xp and cm are chicken-and-egg
1.1   introduction to scm - xp and cm are chicken-and-egg1.1   introduction to scm - xp and cm are chicken-and-egg
1.1 introduction to scm - xp and cm are chicken-and-egg
Sergii Shmarkatiuk
 
1.0 about software configuration management trainings
1.0   about software configuration management trainings1.0   about software configuration management trainings
1.0 about software configuration management trainings
Sergii Shmarkatiuk
 
04 - Agile Software Configuration Management
04 - Agile Software Configuration Management04 - Agile Software Configuration Management
04 - Agile Software Configuration Management
Sergii Shmarkatiuk
 
Breath of life
Breath of lifeBreath of life
Breath of life
Sergii Shmarkatiuk
 
Agile software configuration management
Agile software configuration managementAgile software configuration management
Agile software configuration managementSergii Shmarkatiuk
 
управление сборками и развертыванием веб приложений
управление сборками и развертыванием веб приложенийуправление сборками и развертыванием веб приложений
управление сборками и развертыванием веб приложений
Sergii Shmarkatiuk
 
Организуй свой репозиторий
Организуй свой репозиторийОрганизуй свой репозиторий
Организуй свой репозиторийSergii Shmarkatiuk
 
метод организации репозитория исходного кода
метод организации репозитория исходного кодаметод организации репозитория исходного кода
метод организации репозитория исходного кодаSergii Shmarkatiuk
 

More from Sergii Shmarkatiuk (18)

CS589 paper presentation - What is in unison? A formal specification and refe...
CS589 paper presentation - What is in unison? A formal specification and refe...CS589 paper presentation - What is in unison? A formal specification and refe...
CS589 paper presentation - What is in unison? A formal specification and refe...
 
Software version numbering - DSL of change
Software version numbering - DSL of changeSoftware version numbering - DSL of change
Software version numbering - DSL of change
 
CS519 - homework project presentation
CS519 - homework project presentationCS519 - homework project presentation
CS519 - homework project presentation
 
CS519 - project idea presentation
CS519 - project idea presentationCS519 - project idea presentation
CS519 - project idea presentation
 
CS519 - Cloud Types for Eventual Consistency
CS519 - Cloud Types for Eventual ConsistencyCS519 - Cloud Types for Eventual Consistency
CS519 - Cloud Types for Eventual Consistency
 
05 - Merge Management
05 - Merge Management05 - Merge Management
05 - Merge Management
 
03 - Continuous Integration
03 - Continuous Integration03 - Continuous Integration
03 - Continuous Integration
 
02 - Build and Deployment Management
02 - Build and Deployment Management02 - Build and Deployment Management
02 - Build and Deployment Management
 
01 - Introduction to Version Control
01 - Introduction to Version Control01 - Introduction to Version Control
01 - Introduction to Version Control
 
1.2 introduction to scm - what does version number tell us
1.2   introduction to scm - what does version number tell us1.2   introduction to scm - what does version number tell us
1.2 introduction to scm - what does version number tell us
 
1.1 introduction to scm - xp and cm are chicken-and-egg
1.1   introduction to scm - xp and cm are chicken-and-egg1.1   introduction to scm - xp and cm are chicken-and-egg
1.1 introduction to scm - xp and cm are chicken-and-egg
 
1.0 about software configuration management trainings
1.0   about software configuration management trainings1.0   about software configuration management trainings
1.0 about software configuration management trainings
 
04 - Agile Software Configuration Management
04 - Agile Software Configuration Management04 - Agile Software Configuration Management
04 - Agile Software Configuration Management
 
Breath of life
Breath of lifeBreath of life
Breath of life
 
Agile software configuration management
Agile software configuration managementAgile software configuration management
Agile software configuration management
 
управление сборками и развертыванием веб приложений
управление сборками и развертыванием веб приложенийуправление сборками и развертыванием веб приложений
управление сборками и развертыванием веб приложений
 
Организуй свой репозиторий
Организуй свой репозиторийОрганизуй свой репозиторий
Организуй свой репозиторий
 
метод организации репозитория исходного кода
метод организации репозитория исходного кодаметод организации репозитория исходного кода
метод организации репозитория исходного кода
 

Recently uploaded

June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
ScyllaDB
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
Dinusha Kumarasiri
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
Alex Pruden
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
LucaBarbaro3
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3
FREE A4 Cyber Security Awareness  Posters-Social Engineering part 3FREE A4 Cyber Security Awareness  Posters-Social Engineering part 3
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3
Data Hops
 
SAP S/4 HANA sourcing and procurement to Public cloud
SAP S/4 HANA sourcing and procurement to Public cloudSAP S/4 HANA sourcing and procurement to Public cloud
SAP S/4 HANA sourcing and procurement to Public cloud
maazsz111
 

Recently uploaded (20)

June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3
FREE A4 Cyber Security Awareness  Posters-Social Engineering part 3FREE A4 Cyber Security Awareness  Posters-Social Engineering part 3
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3
 
SAP S/4 HANA sourcing and procurement to Public cloud
SAP S/4 HANA sourcing and procurement to Public cloudSAP S/4 HANA sourcing and procurement to Public cloud
SAP S/4 HANA sourcing and procurement to Public cloud
 

CS519 - Cloud Twin: Native Execution of Android Applications on the Windows Phone

  • 1. CLOUD TWIN: NATIVE EXECUTION OF ANDROID APPLICATIONS ON THE WINDOWS PHONE Presentation type: paper review Class: CS 519 – Software Evolution for Mobility Presenter: Sergii Shmarkatiuk Date: 11/18/2013
  • 2. PRESENTATION FORMAT  5-8 min for presentation Motivation  Proposed solution  Results  Main technical challenge addressed in the paper   17-20 min for discussion Every student provides an answer/comment to presented discussion question ( <45 sec)  We will put original ideas on the whiteboard  Every student picks most appealing/interesting research idea and explains why it is interesting ( <45 sec)  We will define the most popular idea for future research 2 based on students’ opinion. 
  • 3. MOTIVATION One of the challenges of mobile development is necessity of supporting mobile application for different platforms 3
  • 4. MOTIVATION Platform differences result in higher costs of mobile application development and maintenance 4
  • 5. MOTIVATION Real challenges (Joorabchi et al.): Fragmentation across platforms  Fragmentation within the same platform  Behavioral consistency across platforms  Lack of support for automated migration across platforms  “re-coding against wildly different API sets” increases the cost and time-to-market within phases of design, development, testing, and maintenance, which is definitely a large issue for start-up and smaller companies. 5
  • 6. PROPOSED SOLUTION Replicating UI from one platform (Android) to another platform (Windows Phone) using aspect-oriented programming and Reflection API.  Running source application (Android) in the cloud using platform emulator.  Capturing UI events generated by target application (Windows Phone) and sending them to the cloud.  Receiving UI updates generated by source application (Android) at target application (Windows Phone) side.  6
  • 7. RESULTS Latency of a complete UI update time between pressing a button and updating text label in response Min (ms) 281 Avg (ms) 314 Max (ms) 846 7
  • 8. MAIN TECHNICAL CHALLENGE 1. Analysis of interface's in-memory representation 2. Extraction of platform-independent model that can then be used to generate equivalent interface for another platform 8
  • 9. EXAMPLE FROM RELATED WORK (CONVERTING SWING GUI TO ANDROID UI) Run the GUI application  Intercept the application using aspect oriented programming.  Extract the components using Reflection API  Reuse the logic of the application  Translate the components to platform independent domain specific language (XML-based)  Create method stubs for the listeners  9
  • 10. QUESTIONS TO DISCUSS (~45 SEC FOR AN ANSWER) Sergii: Do you think it is a good idea to use XMLbased intermediate representation for the UI of source application?  Sergii: What do you consider to be an overhead of maintaining cloud-based emulators?  Caius: How does their approach scale? A whole Android emulator is quite heavy weight? While this is not a problem when you have only 1 user, how about when you have thousands? Could two or more sessions run in the same emulator?  10
  • 11. QUESTIONS TO DISCUSS (~45 SEC FOR AN ANSWER) Sergii: How could we get to the point, when we could "Write once, Run on any Mobile Platform“?  Michael: This paper is another attempt to solve the "write once, run anywhere" universal code that has been the "holy grail" of programming that developers have been chasing for decades now. Java is just one of many examples of this. This approach seems to be significantly different in substance, but it still suffers from the common achilles heel of universal solutions, specifically poor performance.  11
  • 12. QUESTIONS TO DISCUSS (~45 SEC FOR AN ANSWER) Arpit: What kind of information do static and dynamic analysis of apps may yield to help with portability?  Austin: What other platform pairs can this be extended to (e.g., Android accessing iOS apps)? Is there any reason that Windows Phone and Android are easier, and would is needed to make this happen for other platforms?  Mihai: …  12
  • 13. IDEAS FOR BETTER EVALUATION Sergii: Use 3g/4g instead of wi-fi  Sergii: Calculate overall number and ratio of UI elements that cannot be converted to different platform  Sergii: Use real applications instead of tutorials  Arpit: Provide details of how many applications were able to run successfully on windows phone using android emulator as source  Caius: Provide list of tested applications  Caius, Austin: Test solution in different networks  Mihai: …  13
  • 14. FOLLOW-UP RESEARCH IDEAS Ideas from the paper:  Increase UI component coverage  Support additional platforms (iOS) and languages (Objective C)  Automate API evolution  Create collaborative mobile applications Ideas related to general limitations of mobile platforms:  Security considerations  Usage of platform-specific hardware (NFC)  Handling native Open GL code  Fragmentation across platforms and within the same platform Other ideas:  Sergii: improve presented approach to make it useful for addressing needs of real applications.  Sergii: reduce number of layers in the solution, make it more robust and reusable.  Sergii: separating application into two parts – platform-independent (that could run in the cloud) and platform-specific part (that could run on device) 14
  • 15. FOLLOW-UP RESEARCH IDEAS Other ideas:  Austin: compiling certain parts of the codebase into C++ libraries so that less data has to be sent to the emulator  Michael: OnLive gaming platform  Michael: make it work for gestures  Caius: running more sessions in the same emulator  Arpit: tool that looks at Android activity and creates a corresponding XAML form automatically and vice versa  Mihai: … 15
  • 16. WHAT RESEARCH IDEA DO YOU FIND THE MOST INTERESTING TO WORK ON AND WHY? Separating application into platformindependent and platform-specific part Compiling certain parts of the codebase into C++ libraries OnLive gaming platform Gestures support Running more sessions in the same emulator Automatic conversion to and from XAML UI representation 16