SlideShare a Scribd company logo
1 of 16
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

+Software development methodologies
+Software development methodologies+Software development methodologies
+Software development methodologieswalid sassi
 
Intro to software development
Intro to software developmentIntro to software development
Intro to software developmentHawkman Academy
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycleAfrasiyab 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 youAmbientia
 
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-toolsGail Murphy
 
Agile archiecture iltam 2014
Agile archiecture   iltam 2014Agile archiecture   iltam 2014
Agile archiecture iltam 2014Dani Mannes
 
software development methodologies and their application
software development methodologies and their applicationsoftware development methodologies and their application
software development methodologies and their applicationmadhusha udayangani
 
Reducing Technical Debt
Reducing Technical DebtReducing Technical Debt
Reducing Technical DebtHayim Makabee
 
Agile
AgileAgile
Agileratem
 
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 informationDevOps++ Alliance
 
devops online training in hyderabad
devops online training in hyderabaddevops online training in hyderabad
devops online training in hyderabadDIGITALSAI1
 
Devops online training ppt
Devops online training pptDevops online training ppt
Devops online training pptKhalidQureshi31
 
The benefits of software reuse
The benefits of software reuseThe benefits of software reuse
The benefits of software reuseEntando
 

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

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 IDEIOSR 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 studyijcsit
 
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 IntroductionCesar Augusto Nogueira
 
Cross-platform App Development Company
Cross-platform App Development CompanyCross-platform App Development Company
Cross-platform App Development CompanyThe 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.docxsdfghj21
 
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 ApplicationIRJET Journal
 
[2015/2016] Mobile thinking
[2015/2016] Mobile thinking[2015/2016] Mobile thinking
[2015/2016] Mobile thinkingIvano 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.pdfSjainVentures2
 
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 ApplicationsKevin Whinnery
 
Mobile development with AIR
Mobile development with AIRMobile development with AIR
Mobile development with AIRLaurent Jayr
 
Prosciutto Palermo Valley Mobile Sessions - English
Prosciutto Palermo Valley Mobile Sessions - EnglishProsciutto Palermo Valley Mobile Sessions - English
Prosciutto Palermo Valley Mobile Sessions - EnglishMario Zorz
 
Mobinius : Mobile Native vs Cross Platform
Mobinius : Mobile Native vs Cross PlatformMobinius : Mobile Native vs Cross Platform
Mobinius : Mobile Native vs Cross PlatformDamodar 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 ProjectClaritus Consulting
 
Android + training + philippines
Android + training + philippinesAndroid + training + philippines
Android + training + philippinesdiosa06
 

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 changeSergii Shmarkatiuk
 
CS519 - homework project presentation
CS519 - homework project presentationCS519 - homework project presentation
CS519 - homework project presentationSergii Shmarkatiuk
 
CS519 - project idea presentation
CS519 - project idea presentationCS519 - project idea presentation
CS519 - project idea presentationSergii Shmarkatiuk
 
CS519 - Cloud Types for Eventual Consistency
CS519 - Cloud Types for Eventual ConsistencyCS519 - Cloud Types for Eventual Consistency
CS519 - Cloud Types for Eventual ConsistencySergii Shmarkatiuk
 
02 - Build and Deployment Management
02 - Build and Deployment Management02 - Build and Deployment Management
02 - Build and Deployment ManagementSergii Shmarkatiuk
 
01 - Introduction to Version Control
01 - Introduction to Version Control01 - Introduction to Version Control
01 - Introduction to Version ControlSergii 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 usSergii 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-eggSergii 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 trainingsSergii Shmarkatiuk
 
04 - Agile Software Configuration Management
04 - Agile Software Configuration Management04 - Agile Software Configuration Management
04 - Agile Software Configuration ManagementSergii 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

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 

Recently uploaded (20)

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

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