SlideShare a Scribd company logo
Survey, Comparison & Evaluation
of Cross Platform Mobile
Application Development Tools
Soumya Kanti Datta
Research Engineer
EURECOM, France
Email: dattas@eurecom.fr
9th International Wireless Communication &
Mobile Computing Conference (IWCMC 2013)
Contents
• Introduction
• De elopers’ Pro le
• Cross platform tools
• General Architecture of the tools
• Performance evaluation
• Contribution
• Conclusion
02-Jul-13 2Soumya Kanti Datta
Introduction – Mobile Platforms
02-Jul-13 3Soumya Kanti Datta
Developers’ Problem
02-Jul-13 Soumya Kanti Datta 4
Choice of
SDK
User
experience
Stability of
framework
Cost of
development
Time to
market
Ease of
updating
Native v/s Cross Platform Approach
Decision Criterion Native Approach Cross Platform Approach
Quality of UX Excellent Not as good as native apps
Quality of apps High Medium to low
Potential users Limited to a particular
mobile platform
Large - as it reaches to
users of different platforms
App development cost High Medium to low
Time-to-market High Short
02-Jul-13 Soumya Kanti Datta 5
Requirements
•Support to Android and iOS is essential
•Additional: Windows 7 mobile
Multiple mobile OS support
•Visually attractive to get more usersRich user interface
•Ne essary as s art de i es pro ote al ays o e ted odelBack end communication
•Optimal usage of memory and CPUMemory & CPU usage
•Optimized development processPower Consumption
•Access to camera, sensors, GPS etcAccessing built-in features
•Attracts maximum developersOpen source
02-Jul-13 Soumya Kanti Datta 6
General Architecture of Cross Platform
Tools
02-Jul-13 Soumya Kanti Datta 7
Performance Evaluation
•Representative of mobile machine-to-machine applications.
•It receives data from various sensors via a device gateway.
•The data is processed on-the-fly and the UI of the applications are
updated.
Test Android
app
•The UI presents buttons, each of which has request type.
•When clicked on a button the application queries free web services
over AJAX, REST and SOAP technologies.
•Parse and display the different formats of responses: Text, XML,
JSON.
Features
•Archos tablet running Android Ice Cream Sandwich
•Eclipse IDE Indigo Classic, Web development Plug-ins
• Android ADT 16
Test
environment
02-Jul-13 Soumya Kanti Datta 8
User Interfaces of the Developed Apps
02-Jul-13 Soumya Kanti Datta 9
Only PhoneGap PhoneGap +
Sencha Touch 2.0
PhoneGap +
JQuery Mobile
Titanium
Appcelerator
Memory Usage
• Proportional set size (PSS): PSS is the amount
of memory shared with other processes,
account in a way that the amount is divided
evenly between the processes that share it.
• Unique set size (USS): USS is the set of pages
that are unique to a process. This is the
amount of memory that would be freed if the
application gets terminated.
02-Jul-13 Soumya Kanti Datta 10
Memory Usage Results
Developed app PSS (kb) USS (kb)
PhoneGap only 12091 6036
PhoneGap + Jquery Mobile 14730 9424
PhoneGap + Sencha Touch 2.0 24526 20164
Titanium 17500 8676
02-Jul-13 Soumya Kanti Datta 11
• PhoneGap: no components for betterment of UI.
• PhoneGap + X: memory usage increases with the
addition of Jquery Mobile or Sencha Touch.
• Titanium: highest memory usage as it has full SDK.
CPU Usage
Two approaches
CPU snapshot taken
at each state of the
Activity life cycle.
Read a 'top' result
every second during
the whole life cycle
of the apps.
02-Jul-13 Soumya Kanti Datta 12
CPU Usage Results
Developed App CPU usage from snapshot
approach
CPU usage from 'top'
command approach
PhoneGap + HTML + CSS
tools
81.92771% Max: 10%
Min: 0%
Average: 2%
PhoneGap + JQuery +
HTML
80.26316% Max: 42
Min: 0%
Average: 10%
PhoneGap + Sencha Touch
2.0
44.0% Max: 32%
Min: 0%
Average: 8%
02-Jul-13 Soumya Kanti Datta 13
Interpretation of CPU Results
•Values are obtained when the apps are doing much computation.
•Thus obtained values are high.
•These values may vary a lot from a millisecond to other as they are
snapshot of very short time interval.
Snapshot
approach
•Min value is always zero. This is due to the fact that once the app
fetches the requested page and shows it, the app does not use any
CPU waiting for the next system input.
•The average value is computed using the total elapsed time.
Top command
approach
•The first app utilizes very less CPU as there is no additional
component for sophisticated user experience.
•When Sencha Touch or JQuery Mobile is used along with PhoneGap,
the CPU usage is more but the user experience is significantly better.
Comparison
among the apps
02-Jul-13 Soumya Kanti Datta 14
Power Consumption
• The values are obtained using Power Tutor
– Popular Android app
– Provides power consumption per app and per
interface (e.g. Wi-Fi, 3G, GPS, display etc.)
02-Jul-13 Soumya Kanti Datta 15
Power Consumption Results
Developed app Power consumption values (mW)
PhoneGap + HTML + CSS tools 107
PhoneGap + JQuery + HTML 168
PhoneGap + Sencha Touch 2.0 120
02-Jul-13 Soumya Kanti Datta 16
Choice
• PhoneGap alone has limited memory, CPU and
power requirements.
– But the developed UI is not much sophisticated.
• PhoneGap with Sencha Touch works
significantly well in this case with moderate
CPU and power consumption.
02-Jul-13 Soumya Kanti Datta 17
Contributions
• This paper presents several criteria beyond
portability concerns to choose an appropriate
cross platform tool for development.
• We have developed Android apps with several
cross platform tools and measured the CPU
usage, memory usage & power consumption.
02-Jul-13 Soumya Kanti Datta 18
Conclusion
• Survey of cross platform tools
• Discussion on general requirements and
architecture
• Development of test applications
• Evaluation of such tools based on
– Memory & CPU
– Power consumption
• PhoneGap with Sencha Touch 2.0 is
recommended
02-Jul-13 Soumya Kanti Datta 19
02-Jul-13 Soumya Kanti Datta 20

More Related Content

Viewers also liked

Making the most out of corporate social responsibility
Making the most out of  corporate social responsibilityMaking the most out of  corporate social responsibility
Making the most out of corporate social responsibilityAneesh Suresh
 
Comparison statisticalsignificancetestir
Comparison statisticalsignificancetestirComparison statisticalsignificancetestir
Comparison statisticalsignificancetestir
Claudia Ribeiro
 
A Comparison of Evaluation Methods in Coevolution 20070921
A Comparison of Evaluation Methods in Coevolution 20070921A Comparison of Evaluation Methods in Coevolution 20070921
A Comparison of Evaluation Methods in Coevolution 20070921
Ting-Shuo Yo
 
Agile methodologies in_project_management
Agile methodologies in_project_managementAgile methodologies in_project_management
Agile methodologies in_project_management
Pravin Asar
 
RESULT BASED M&E in FFA-revised
RESULT BASED M&E in FFA-revisedRESULT BASED M&E in FFA-revised
RESULT BASED M&E in FFA-revisedStephen Musimba
 
iOS & Android Application Development - Pee Dee User Group Meeting
iOS & Android Application Development - Pee Dee User Group MeetingiOS & Android Application Development - Pee Dee User Group Meeting
iOS & Android Application Development - Pee Dee User Group MeetingJim Tochterman
 
Web App or Native App
Web App or Native AppWeb App or Native App
Web App or Native AppYu Wei Shang
 
Debunking Common Myths of Mobile Application Development
Debunking Common Myths of Mobile Application DevelopmentDebunking Common Myths of Mobile Application Development
Debunking Common Myths of Mobile Application Development
Antenna Software
 
Considerations when building mobile app. Presented by Microstrategy
Considerations when building mobile app. Presented by MicrostrategyConsiderations when building mobile app. Presented by Microstrategy
Considerations when building mobile app. Presented by Microstrategyitnewsafrica
 
Cross platform mobile development with Corona
Cross platform mobile development with CoronaCross platform mobile development with Corona
Cross platform mobile development with Corona
KMS Technology
 
Native vs hybrid approach Mobile App Development
Native vs hybrid approach Mobile App DevelopmentNative vs hybrid approach Mobile App Development
Native vs hybrid approach Mobile App Development
Senthil Kumar Kaliathan
 
Mobile application development
Mobile application developmentMobile application development
Mobile application development
Eric Cattoir
 
CSR, Sustainable Business and Strategy
CSR, Sustainable Business and StrategyCSR, Sustainable Business and Strategy
CSR, Sustainable Business and Strategy
Innovation Forum Publishing
 
Step by step guide to sustainability planning
Step by step guide to sustainability planningStep by step guide to sustainability planning
Step by step guide to sustainability planning
Kenny Nguyen
 

Viewers also liked (16)

Making the most out of corporate social responsibility
Making the most out of  corporate social responsibilityMaking the most out of  corporate social responsibility
Making the most out of corporate social responsibility
 
Comparison statisticalsignificancetestir
Comparison statisticalsignificancetestirComparison statisticalsignificancetestir
Comparison statisticalsignificancetestir
 
A Comparison of Evaluation Methods in Coevolution 20070921
A Comparison of Evaluation Methods in Coevolution 20070921A Comparison of Evaluation Methods in Coevolution 20070921
A Comparison of Evaluation Methods in Coevolution 20070921
 
Comparison and evaluation of alternative designs
Comparison and evaluation of alternative designsComparison and evaluation of alternative designs
Comparison and evaluation of alternative designs
 
Agile methodologies in_project_management
Agile methodologies in_project_managementAgile methodologies in_project_management
Agile methodologies in_project_management
 
RESULT BASED M&E in FFA-revised
RESULT BASED M&E in FFA-revisedRESULT BASED M&E in FFA-revised
RESULT BASED M&E in FFA-revised
 
iOS & Android Application Development - Pee Dee User Group Meeting
iOS & Android Application Development - Pee Dee User Group MeetingiOS & Android Application Development - Pee Dee User Group Meeting
iOS & Android Application Development - Pee Dee User Group Meeting
 
Web App or Native App
Web App or Native AppWeb App or Native App
Web App or Native App
 
Debunking Common Myths of Mobile Application Development
Debunking Common Myths of Mobile Application DevelopmentDebunking Common Myths of Mobile Application Development
Debunking Common Myths of Mobile Application Development
 
History of Mobile Development
History of Mobile DevelopmentHistory of Mobile Development
History of Mobile Development
 
Considerations when building mobile app. Presented by Microstrategy
Considerations when building mobile app. Presented by MicrostrategyConsiderations when building mobile app. Presented by Microstrategy
Considerations when building mobile app. Presented by Microstrategy
 
Cross platform mobile development with Corona
Cross platform mobile development with CoronaCross platform mobile development with Corona
Cross platform mobile development with Corona
 
Native vs hybrid approach Mobile App Development
Native vs hybrid approach Mobile App DevelopmentNative vs hybrid approach Mobile App Development
Native vs hybrid approach Mobile App Development
 
Mobile application development
Mobile application developmentMobile application development
Mobile application development
 
CSR, Sustainable Business and Strategy
CSR, Sustainable Business and StrategyCSR, Sustainable Business and Strategy
CSR, Sustainable Business and Strategy
 
Step by step guide to sustainability planning
Step by step guide to sustainability planningStep by step guide to sustainability planning
Step by step guide to sustainability planning
 

Similar to Survey, comparison & evaluation of cross platform mobile application development tools

[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
NITHIN S.S
 
HIT3328 - Chapter01 - Platforms and Devices
HIT3328 - Chapter01 - Platforms and DevicesHIT3328 - Chapter01 - Platforms and Devices
HIT3328 - Chapter01 - Platforms and DevicesYhal Htet Aung
 
Machine Learning on mobile devices
Machine Learning on mobile devicesMachine Learning on mobile devices
Machine Learning on mobile devices
Sergey Burkov
 
IRJET- Displaying Smart Phone Data in the Desktop using Firebase
IRJET- Displaying Smart Phone Data in the Desktop using FirebaseIRJET- Displaying Smart Phone Data in the Desktop using Firebase
IRJET- Displaying Smart Phone Data in the Desktop using Firebase
IRJET Journal
 
Doug Sillars on App Optimization
Doug Sillars on App OptimizationDoug Sillars on App Optimization
Doug Sillars on App Optimization
wipjam
 
Performance testing – mobile apps session1
Performance testing – mobile apps   session1Performance testing – mobile apps   session1
Performance testing – mobile apps session1
Jyothirmayee Pola
 
Performance testing – mobile apps session1
Performance testing – mobile apps   session1Performance testing – mobile apps   session1
Performance testing – mobile apps session1
Jyothirmayee Pola
 
SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - And...
SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - And...SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - And...
SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - And...
Sencha
 
DeviceWebAPI and other standardization status of OMA CD WG
DeviceWebAPI and other standardization status of OMA CD WGDeviceWebAPI and other standardization status of OMA CD WG
DeviceWebAPI and other standardization status of OMA CD WG
Device WebAPI Consortium
 
Full-Stack Observability for IoT Event Stream Data Processing at Penske
Full-Stack Observability for IoT Event Stream Data Processing at PenskeFull-Stack Observability for IoT Event Stream Data Processing at Penske
Full-Stack Observability for IoT Event Stream Data Processing at Penske
VMware Tanzu
 
How to define an effective mobile development strategy
How to define an effective mobile development strategyHow to define an effective mobile development strategy
How to define an effective mobile development strategy
Mrinal Singh
 
Smarter Apps for Smarter phones - see me at bit.ly/1ezHj0c
Smarter Apps for Smarter phones - see me at bit.ly/1ezHj0cSmarter Apps for Smarter phones - see me at bit.ly/1ezHj0c
Smarter Apps for Smarter phones - see me at bit.ly/1ezHj0c
Jeffrey Gardner CMgr FCMI IEng MIET
 
Wireless Wednesdays: Part 1
Wireless Wednesdays: Part 1Wireless Wednesdays: Part 1
Wireless Wednesdays: Part 1
Teamstudio
 
Intro - Forum Nokia & Mobile User Experience
Intro - Forum Nokia & Mobile User ExperienceIntro - Forum Nokia & Mobile User Experience
Intro - Forum Nokia & Mobile User Experience
Andreas Jakl
 
Innovate 2013 session 1243 mobile testing.v3
Innovate 2013   session 1243 mobile testing.v3Innovate 2013   session 1243 mobile testing.v3
Innovate 2013 session 1243 mobile testing.v3
Leigh Williamson
 
How to Create a User-Centered ”Digital Ecosystem” Across Devices
How to Create a User-Centered ”Digital Ecosystem” Across DevicesHow to Create a User-Centered ”Digital Ecosystem” Across Devices
How to Create a User-Centered ”Digital Ecosystem” Across Devices
Søren Engelbrecht
 
IRJET- Techhubb
IRJET-  	  TechhubbIRJET-  	  Techhubb
IRJET- Techhubb
IRJET Journal
 
Latest proposal project info zakat
Latest proposal project info zakatLatest proposal project info zakat
Latest proposal project info zakat
Ummi Zakiah
 
Four Best Practices for Modern Performance Testing
Four Best Practices for Modern Performance TestingFour Best Practices for Modern Performance Testing
Four Best Practices for Modern Performance Testing
SOASTA
 

Similar to Survey, comparison & evaluation of cross platform mobile application development tools (20)

[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
 
HIT3328 - Chapter01 - Platforms and Devices
HIT3328 - Chapter01 - Platforms and DevicesHIT3328 - Chapter01 - Platforms and Devices
HIT3328 - Chapter01 - Platforms and Devices
 
Machine Learning on mobile devices
Machine Learning on mobile devicesMachine Learning on mobile devices
Machine Learning on mobile devices
 
IRJET- Displaying Smart Phone Data in the Desktop using Firebase
IRJET- Displaying Smart Phone Data in the Desktop using FirebaseIRJET- Displaying Smart Phone Data in the Desktop using Firebase
IRJET- Displaying Smart Phone Data in the Desktop using Firebase
 
Doug Sillars on App Optimization
Doug Sillars on App OptimizationDoug Sillars on App Optimization
Doug Sillars on App Optimization
 
Performance testing – mobile apps session1
Performance testing – mobile apps   session1Performance testing – mobile apps   session1
Performance testing – mobile apps session1
 
Performance testing – mobile apps session1
Performance testing – mobile apps   session1Performance testing – mobile apps   session1
Performance testing – mobile apps session1
 
SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - And...
SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - And...SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - And...
SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - And...
 
DeviceWebAPI and other standardization status of OMA CD WG
DeviceWebAPI and other standardization status of OMA CD WGDeviceWebAPI and other standardization status of OMA CD WG
DeviceWebAPI and other standardization status of OMA CD WG
 
Full-Stack Observability for IoT Event Stream Data Processing at Penske
Full-Stack Observability for IoT Event Stream Data Processing at PenskeFull-Stack Observability for IoT Event Stream Data Processing at Penske
Full-Stack Observability for IoT Event Stream Data Processing at Penske
 
How to define an effective mobile development strategy
How to define an effective mobile development strategyHow to define an effective mobile development strategy
How to define an effective mobile development strategy
 
Smarter Apps for Smarter phones - see me at bit.ly/1ezHj0c
Smarter Apps for Smarter phones - see me at bit.ly/1ezHj0cSmarter Apps for Smarter phones - see me at bit.ly/1ezHj0c
Smarter Apps for Smarter phones - see me at bit.ly/1ezHj0c
 
Wireless Wednesdays: Part 1
Wireless Wednesdays: Part 1Wireless Wednesdays: Part 1
Wireless Wednesdays: Part 1
 
Intro - Forum Nokia & Mobile User Experience
Intro - Forum Nokia & Mobile User ExperienceIntro - Forum Nokia & Mobile User Experience
Intro - Forum Nokia & Mobile User Experience
 
Innovate 2013 session 1243 mobile testing.v3
Innovate 2013   session 1243 mobile testing.v3Innovate 2013   session 1243 mobile testing.v3
Innovate 2013 session 1243 mobile testing.v3
 
How to Create a User-Centered ”Digital Ecosystem” Across Devices
How to Create a User-Centered ”Digital Ecosystem” Across DevicesHow to Create a User-Centered ”Digital Ecosystem” Across Devices
How to Create a User-Centered ”Digital Ecosystem” Across Devices
 
IRJET- Techhubb
IRJET-  	  TechhubbIRJET-  	  Techhubb
IRJET- Techhubb
 
Latest proposal project info zakat
Latest proposal project info zakatLatest proposal project info zakat
Latest proposal project info zakat
 
Sdpd 1
Sdpd 1Sdpd 1
Sdpd 1
 
Four Best Practices for Modern Performance Testing
Four Best Practices for Modern Performance TestingFour Best Practices for Modern Performance Testing
Four Best Practices for Modern Performance Testing
 

More from Soumya Kanti Datta

WoT framework and use cases
WoT framework and use casesWoT framework and use cases
WoT framework and use cases
Soumya Kanti Datta
 
Minimizing energy expenditure in smart devices
Minimizing energy expenditure in smart devicesMinimizing energy expenditure in smart devices
Minimizing energy expenditure in smart devices
Soumya Kanti Datta
 
Android power management, current and future trends
Android power management, current and future trendsAndroid power management, current and future trends
Android power management, current and future trends
Soumya Kanti Datta
 
Personalized power saving profiles generation analyzing smart device usage pa...
Personalized power saving profiles generation analyzing smart device usage pa...Personalized power saving profiles generation analyzing smart device usage pa...
Personalized power saving profiles generation analyzing smart device usage pa...
Soumya Kanti Datta
 
An IoT gateway centric architecture to provide novel m2m services
An IoT gateway centric architecture to provide novel m2m servicesAn IoT gateway centric architecture to provide novel m2m services
An IoT gateway centric architecture to provide novel m2m services
Soumya Kanti Datta
 
Self adaptive battery and context aware mobile application development
Self adaptive battery and context aware mobile application developmentSelf adaptive battery and context aware mobile application development
Self adaptive battery and context aware mobile application development
Soumya Kanti Datta
 
Connect and control things
Connect and control thingsConnect and control things
Connect and control things
Soumya Kanti Datta
 
Smart M2M gateway based architecture for m2m device and endpoint management
Smart M2M gateway based architecture for m2m device and endpoint managementSmart M2M gateway based architecture for m2m device and endpoint management
Smart M2M gateway based architecture for m2m device and endpoint management
Soumya Kanti Datta
 
Usage patterns based security attacks for smart devices
Usage patterns based security attacks for smart devicesUsage patterns based security attacks for smart devices
Usage patterns based security attacks for smart devices
Soumya Kanti Datta
 
M2M communications and internet of things for smart cities
M2M communications and internet of things for smart citiesM2M communications and internet of things for smart cities
M2M communications and internet of things for smart cities
Soumya Kanti Datta
 
A lightweight framework for efficient m2m device management in onem2m archite...
A lightweight framework for efficient m2m device management in onem2m archite...A lightweight framework for efficient m2m device management in onem2m archite...
A lightweight framework for efficient m2m device management in onem2m archite...
Soumya Kanti Datta
 

More from Soumya Kanti Datta (11)

WoT framework and use cases
WoT framework and use casesWoT framework and use cases
WoT framework and use cases
 
Minimizing energy expenditure in smart devices
Minimizing energy expenditure in smart devicesMinimizing energy expenditure in smart devices
Minimizing energy expenditure in smart devices
 
Android power management, current and future trends
Android power management, current and future trendsAndroid power management, current and future trends
Android power management, current and future trends
 
Personalized power saving profiles generation analyzing smart device usage pa...
Personalized power saving profiles generation analyzing smart device usage pa...Personalized power saving profiles generation analyzing smart device usage pa...
Personalized power saving profiles generation analyzing smart device usage pa...
 
An IoT gateway centric architecture to provide novel m2m services
An IoT gateway centric architecture to provide novel m2m servicesAn IoT gateway centric architecture to provide novel m2m services
An IoT gateway centric architecture to provide novel m2m services
 
Self adaptive battery and context aware mobile application development
Self adaptive battery and context aware mobile application developmentSelf adaptive battery and context aware mobile application development
Self adaptive battery and context aware mobile application development
 
Connect and control things
Connect and control thingsConnect and control things
Connect and control things
 
Smart M2M gateway based architecture for m2m device and endpoint management
Smart M2M gateway based architecture for m2m device and endpoint managementSmart M2M gateway based architecture for m2m device and endpoint management
Smart M2M gateway based architecture for m2m device and endpoint management
 
Usage patterns based security attacks for smart devices
Usage patterns based security attacks for smart devicesUsage patterns based security attacks for smart devices
Usage patterns based security attacks for smart devices
 
M2M communications and internet of things for smart cities
M2M communications and internet of things for smart citiesM2M communications and internet of things for smart cities
M2M communications and internet of things for smart cities
 
A lightweight framework for efficient m2m device management in onem2m archite...
A lightweight framework for efficient m2m device management in onem2m archite...A lightweight framework for efficient m2m device management in onem2m archite...
A lightweight framework for efficient m2m device management in onem2m archite...
 

Survey, comparison & evaluation of cross platform mobile application development tools

  • 1. Survey, Comparison & Evaluation of Cross Platform Mobile Application Development Tools Soumya Kanti Datta Research Engineer EURECOM, France Email: dattas@eurecom.fr 9th International Wireless Communication & Mobile Computing Conference (IWCMC 2013)
  • 2. Contents • Introduction • De elopers’ Pro le • Cross platform tools • General Architecture of the tools • Performance evaluation • Contribution • Conclusion 02-Jul-13 2Soumya Kanti Datta
  • 3. Introduction – Mobile Platforms 02-Jul-13 3Soumya Kanti Datta
  • 4. Developers’ Problem 02-Jul-13 Soumya Kanti Datta 4 Choice of SDK User experience Stability of framework Cost of development Time to market Ease of updating
  • 5. Native v/s Cross Platform Approach Decision Criterion Native Approach Cross Platform Approach Quality of UX Excellent Not as good as native apps Quality of apps High Medium to low Potential users Limited to a particular mobile platform Large - as it reaches to users of different platforms App development cost High Medium to low Time-to-market High Short 02-Jul-13 Soumya Kanti Datta 5
  • 6. Requirements •Support to Android and iOS is essential •Additional: Windows 7 mobile Multiple mobile OS support •Visually attractive to get more usersRich user interface •Ne essary as s art de i es pro ote al ays o e ted odelBack end communication •Optimal usage of memory and CPUMemory & CPU usage •Optimized development processPower Consumption •Access to camera, sensors, GPS etcAccessing built-in features •Attracts maximum developersOpen source 02-Jul-13 Soumya Kanti Datta 6
  • 7. General Architecture of Cross Platform Tools 02-Jul-13 Soumya Kanti Datta 7
  • 8. Performance Evaluation •Representative of mobile machine-to-machine applications. •It receives data from various sensors via a device gateway. •The data is processed on-the-fly and the UI of the applications are updated. Test Android app •The UI presents buttons, each of which has request type. •When clicked on a button the application queries free web services over AJAX, REST and SOAP technologies. •Parse and display the different formats of responses: Text, XML, JSON. Features •Archos tablet running Android Ice Cream Sandwich •Eclipse IDE Indigo Classic, Web development Plug-ins • Android ADT 16 Test environment 02-Jul-13 Soumya Kanti Datta 8
  • 9. User Interfaces of the Developed Apps 02-Jul-13 Soumya Kanti Datta 9 Only PhoneGap PhoneGap + Sencha Touch 2.0 PhoneGap + JQuery Mobile Titanium Appcelerator
  • 10. Memory Usage • Proportional set size (PSS): PSS is the amount of memory shared with other processes, account in a way that the amount is divided evenly between the processes that share it. • Unique set size (USS): USS is the set of pages that are unique to a process. This is the amount of memory that would be freed if the application gets terminated. 02-Jul-13 Soumya Kanti Datta 10
  • 11. Memory Usage Results Developed app PSS (kb) USS (kb) PhoneGap only 12091 6036 PhoneGap + Jquery Mobile 14730 9424 PhoneGap + Sencha Touch 2.0 24526 20164 Titanium 17500 8676 02-Jul-13 Soumya Kanti Datta 11 • PhoneGap: no components for betterment of UI. • PhoneGap + X: memory usage increases with the addition of Jquery Mobile or Sencha Touch. • Titanium: highest memory usage as it has full SDK.
  • 12. CPU Usage Two approaches CPU snapshot taken at each state of the Activity life cycle. Read a 'top' result every second during the whole life cycle of the apps. 02-Jul-13 Soumya Kanti Datta 12
  • 13. CPU Usage Results Developed App CPU usage from snapshot approach CPU usage from 'top' command approach PhoneGap + HTML + CSS tools 81.92771% Max: 10% Min: 0% Average: 2% PhoneGap + JQuery + HTML 80.26316% Max: 42 Min: 0% Average: 10% PhoneGap + Sencha Touch 2.0 44.0% Max: 32% Min: 0% Average: 8% 02-Jul-13 Soumya Kanti Datta 13
  • 14. Interpretation of CPU Results •Values are obtained when the apps are doing much computation. •Thus obtained values are high. •These values may vary a lot from a millisecond to other as they are snapshot of very short time interval. Snapshot approach •Min value is always zero. This is due to the fact that once the app fetches the requested page and shows it, the app does not use any CPU waiting for the next system input. •The average value is computed using the total elapsed time. Top command approach •The first app utilizes very less CPU as there is no additional component for sophisticated user experience. •When Sencha Touch or JQuery Mobile is used along with PhoneGap, the CPU usage is more but the user experience is significantly better. Comparison among the apps 02-Jul-13 Soumya Kanti Datta 14
  • 15. Power Consumption • The values are obtained using Power Tutor – Popular Android app – Provides power consumption per app and per interface (e.g. Wi-Fi, 3G, GPS, display etc.) 02-Jul-13 Soumya Kanti Datta 15
  • 16. Power Consumption Results Developed app Power consumption values (mW) PhoneGap + HTML + CSS tools 107 PhoneGap + JQuery + HTML 168 PhoneGap + Sencha Touch 2.0 120 02-Jul-13 Soumya Kanti Datta 16
  • 17. Choice • PhoneGap alone has limited memory, CPU and power requirements. – But the developed UI is not much sophisticated. • PhoneGap with Sencha Touch works significantly well in this case with moderate CPU and power consumption. 02-Jul-13 Soumya Kanti Datta 17
  • 18. Contributions • This paper presents several criteria beyond portability concerns to choose an appropriate cross platform tool for development. • We have developed Android apps with several cross platform tools and measured the CPU usage, memory usage & power consumption. 02-Jul-13 Soumya Kanti Datta 18
  • 19. Conclusion • Survey of cross platform tools • Discussion on general requirements and architecture • Development of test applications • Evaluation of such tools based on – Memory & CPU – Power consumption • PhoneGap with Sencha Touch 2.0 is recommended 02-Jul-13 Soumya Kanti Datta 19