SlideShare a Scribd company logo
S C I E N C E P A S S I O N T E C H N O L O G Y
www.tugraz.at
Portability of
Mobile Applications
Mattias Rauter, BSc
Graz, 26. September 2023
2
Portability of Mobile Applications
Table of Content
1. Motivation
2. Challenges in Porting Mobile Applications
3. Porting Automatically
4. Porting Manually
5. Porting Manually vs. Automatically
6. Results & Conclusion
7. References
Mattias Rauter, BSc
Graz, 26. September 2023
3
Motivation
Mattias Rauter, BSc
Graz, 26. September 2023
4
Motivation
Mobile Computing Market
2007: iPhone launch
2008: Android 1.0
2008: Apple’s App Store & Google’s Play Store
almost 5 million apps in 2022 [1-2]
255 billion app installs (all stores) [3]
2010: Windows Phone 7
Blackberry OS, Samsung, Symbian OS...
2019: iOS & Android - 98.8% market share [4]
Mattias Rauter, BSc
Graz, 26. September 2023
5
Motivation
Mattias Rauter, BSc
Graz, 26. September 2023
6
Motivation
(Almost) every mobile application has to be available
on Android & iOS
Market Share (2023) [4]
Android 70,79%
iOS 28,44%
App Store turnover almost 2x compared to Play Store
[5]
Mattias Rauter, BSc
Graz, 26. September 2023
7
Challenges in Porting
Mobile Applications
Mattias Rauter, BSc
Graz, 26. September 2023
8
Challenges in Porting Mobile Applications
Fundamental Different Approaches and Goals
Android
Linux based
different hardware manufacturers
as open as possible
iOS
MacOS (OS X) based (BSD UNIX kernel)
hard- and software from Apple
very restrictive user-centred UI/UX focus
Mattias Rauter, BSc
Graz, 26. September 2023
9
Challenges in Porting Mobile Applications
Access Rights for Apps
Android
’all-or-nothing’ approach
for a long time standard in Android
installed apps had all requested permissions
no restriction handling
iOS
’ask if needed’ approach
ask for every single permission separately
handle restrictions
Mattias Rauter, BSc
Graz, 26. September 2023
10
Challenges in Porting Mobile Applications
Background Tasks
Android
apps can be ’active’ in the background
iOS
very limited task-based background-activities
Mattias Rauter, BSc
Graz, 26. September 2023
11
Challenges in Porting Mobile Applications
UI/UX Guidlines
Android
Material Design
iOS
Human Interface Guidlines
Mattias Rauter, BSc
Graz, 26. September 2023
12
Challenges in Porting Mobile Applications
’Back’ Actions in Android
Mattias Rauter, BSc
Graz, 26. September 2023
13
Challenges in Porting Mobile Applications
’Back’ Actions in iOS
Mattias Rauter, BSc
Graz, 26. September 2023
14
Porting Automatically
Mattias Rauter, BSc
Graz, 26. September 2023
15
Porting Automatically
Fully Automatically Porting
not possible at the moment
but supporting tools and techniques available
Mattias Rauter, BSc
Graz, 26. September 2023
16
Porting Automatically
Kotlin/Native [6]
Kotlin preferred language for Android since 2019
compile code in binaries (instead of JVM-bytecode)
can be used in iOS apps
business logic vs. user interface
hard to debug/maintain
Mattias Rauter, BSc
Graz, 26. September 2023
17
Porting Automatically
’Kotlift’ - Valentin Slawicek [7]
translate Kotlin code into Swift
only subset of features supported
Kotlin v1.0.1 (current: v1.8.21)
Swift v2.2 (current: v5.8)
discontinued by developer
not suitable for productive use-cases
Mattias Rauter, BSc
Graz, 26. September 2023
18
Porting Automatically
’Porty’ - Xiaochao Fan and Kenny Wong [8]
semi-automatically UI and event-handler porting
XML-based layouts
no business logic
adapted LYCIA parses Android layout
J2ObjC translates the Java code to Objective-C code
no Kotlin or Swift support
Mattias Rauter, BSc
Graz, 26. September 2023
19
Porting Manually
Mattias Rauter, BSc
Graz, 26. September 2023
20
Porting Manually
Definition
’Reprogramming of existing app for another platform’
Analysis of the current state
Requirement engineering
Implementation
Mattias Rauter, BSc
Graz, 26. September 2023
21
Porting Manually
Schoolstart Screening App Project [9]
Federal Ministry of Education, Science and Research
of Austria
Standardisation of the school start process
University of Vienna
Karl-Franzens-University of Graz
Technical University of Graz
child-friendly and intuitive design
iPad version needed, not yet started
hard deadline: September 2019
Decision: ’Porting Manually’
Mattias Rauter, BSc
Graz, 26. September 2023
22
Porting Manually
Phase 1: Analysis of the Current State
Meetings with project team
Study Documentation
Read API specifications
Inspect current Android app
Mattias Rauter, BSc
Graz, 26. September 2023
23
Porting Manually
Phase 2: Requirements Engineering
Scrum
Create ’User Stories’
Coordinate with Android Team
Projectplan - define Roadmap
Mattias Rauter, BSc
Graz, 26. September 2023
24
Porting Manually
Roadmap
Mattias Rauter, BSc
Graz, 26. September 2023
25
Porting Manually
Phase 3: Implementation
Implementing User Stories
Deadline was met
Tests in September 2019 on iPads in schools
Mattias Rauter, BSc
Graz, 26. September 2023
26
Porting Manually vs. Automatically
Porting Manually Porting Automatically
The newest state-of-the-
art frameworks
Limitations regarding the
used source
Accurate estimations of
necessary tasks
Very hard to estimate the
effort needed
iOS-platform specific
functions/patterns
The ’Android-platform-
way’ is used
UI/UX guidelines for iOS-
platform
Android-platform guideli-
nes are transferred
No dependencies on
third-party tools
Dependent on third-party
tools
Mattias Rauter, BSc
Graz, 26. September 2023
27
Results & Conclusion
Mattias Rauter, BSc
Graz, 26. September 2023
28
Results & Conclusion
Comparison: Enter ID Screen
Mattias Rauter, BSc
Graz, 26. September 2023
29
Results & Conclusion
Comparison: Intro Screen
Mattias Rauter, BSc
Graz, 26. September 2023
30
Results & Conclusion
Comparison: Logout Screen
Mattias Rauter, BSc
Graz, 26. September 2023
31
Results & Conclusion
Conclusion
Porting is very complex
Fundamental differences of operating systems
Fully automatically porting not yet possible
Android and iOS become more similar
AI or better cross-platform approaches might help in
the future
Manually porting is still the only way for high quality
results
Mattias Rauter, BSc
Graz, 26. September 2023
32
Thank You
for your attention!
Mattias Rauter, BSc
Graz, 26. September 2023
33
References
[1] L Ceci. Google Play Store: number of apps 2023
— Statista. url:
https://www.statista.com/statistics/266210/number-of-
available-applications-in-the-google-play-store/
(visited on 03/19/2023)
[2] David Curry. App Store Data (2023) - Business of
Apps. url:
https://www.businessofapps.com/data/app-stores/
(visited on 03/19/2023)
[3] L Ceci. Annual number of mobile app downloads
worldwide 2022 — Statista. url:
https://www.statista.com/statistics/271644/worldwide-
free-and-paid-mobile-app-store-downloads/ (visited
on 03/19/2023)
Mattias Rauter, BSc
Graz, 26. September 2023
34
References
[4] Global mobile OS market share 2022 — Statista.
url: https : / / www .
statista.com/statistics/272698/global-market-share-
held-by- mobile-operating-systems-since-2009/
(visited on 05/21/2023)
[5] L Rabe. Apps
- Umsatz nach App Store weltweit 2021 — Statista. url:
https://de.statista.com/statistik/daten/studie/802760/umfrage
des-umsatzes-mit-apps-nach-app-store-weltweit/
(visited on 03/19/2023)
[6] Kotlin Native — Kotlin Documentation. url:
https://kotlinlang.org/ docs/native-overview.html
(visited on 07/17/2020)
Mattias Rauter, BSc
Graz, 26. September 2023
35
References
[7] studoverse/Kotlift: Kotlift is the first
source-to-source language transpiler from Kotlin to
Swift. url: https://github.com/studoverse/Kotlift (visited
on 05/31/2023)
[8] Xiaochao Fan and Kenny Wong. “Migrating user
interfaces in native mobile applications: Android to
iOS.” In: Proceedings - International Conference on
Mobile Software Engineering and Systems,
MOBILESoft 2016 (2016), pp. 210–213. doi:
10.1145/2897073.2897101
[9] Paul Krassnig. “School Start Screening Tool.” 2021
Mattias Rauter, BSc
Graz, 26. September 2023

More Related Content

Similar to Portability of Mobile Applications

125 green iot
125 green iot125 green iot
125 green iot
JIGAR MAKHIJA
 
Autonomous Vehicle and Augmented Reality Usage
Autonomous Vehicle and Augmented Reality UsageAutonomous Vehicle and Augmented Reality Usage
Autonomous Vehicle and Augmented Reality Usage
Dr. Amarjeet Singh
 
IRJET- Campus Navigation System Based on Mobile Augmented Reality
IRJET- Campus Navigation System Based on Mobile Augmented RealityIRJET- Campus Navigation System Based on Mobile Augmented Reality
IRJET- Campus Navigation System Based on Mobile Augmented Reality
IRJET Journal
 
GIS Technology & Mobile Applications - MTASC 2011 Conference
GIS Technology & Mobile Applications - MTASC 2011 ConferenceGIS Technology & Mobile Applications - MTASC 2011 Conference
GIS Technology & Mobile Applications - MTASC 2011 Conference
Jim Tochterman
 
Augmented reality browsers a proposal for architectural standardization
Augmented reality browsers  a proposal for architectural standardizationAugmented reality browsers  a proposal for architectural standardization
Augmented reality browsers a proposal for architectural standardization
ijseajournal
 
IRJET-0 Bus Tracker Via GPS using Andriod Application
IRJET-0 	  Bus Tracker Via GPS using Andriod ApplicationIRJET-0 	  Bus Tracker Via GPS using Andriod Application
IRJET-0 Bus Tracker Via GPS using Andriod Application
IRJET Journal
 
Building EdTech Solutions with AR
Building EdTech Solutions with ARBuilding EdTech Solutions with AR
Building EdTech Solutions with AR
IRJET Journal
 
www-bitcot-com-mobile-apps-.pdf
www-bitcot-com-mobile-apps-.pdfwww-bitcot-com-mobile-apps-.pdf
www-bitcot-com-mobile-apps-.pdf
BitCot
 
Mobile and Social CPS including Augmented Reality
Mobile and Social CPS including Augmented RealityMobile and Social CPS including Augmented Reality
Mobile and Social CPS including Augmented Reality
Bob Marcus
 
IRJET- Voice Recognition -Butler Bot
IRJET-  	  Voice Recognition -Butler BotIRJET-  	  Voice Recognition -Butler Bot
IRJET- Voice Recognition -Butler Bot
IRJET Journal
 
IRJET - IoT based Smart Vehicle Alert System for Accident Prevention
IRJET -  	  IoT based Smart Vehicle Alert System for Accident PreventionIRJET -  	  IoT based Smart Vehicle Alert System for Accident Prevention
IRJET - IoT based Smart Vehicle Alert System for Accident Prevention
IRJET Journal
 
Android Based Quiz Application
Android Based Quiz ApplicationAndroid Based Quiz Application
Android Based Quiz Application
IRJET Journal
 
Fog-Computing-Applications.pdf
Fog-Computing-Applications.pdfFog-Computing-Applications.pdf
Fog-Computing-Applications.pdf
engdlshadfm
 
W3W WEEK#35
W3W WEEK#35W3W WEEK#35
W3W WEEK#35
Patrick Herrmann
 
Cross Platform Mobile Development with Xamarin
Cross Platform Mobile Development with XamarinCross Platform Mobile Development with Xamarin
Cross Platform Mobile Development with Xamarin
Joe Koletar
 
Test Cases and Testing Strategies for Mobile Apps –A Survey
Test Cases and Testing Strategies for  Mobile Apps  –A SurveyTest Cases and Testing Strategies for  Mobile Apps  –A Survey
Test Cases and Testing Strategies for Mobile Apps –A Survey
IRJET Journal
 
Cloud computing on smartphone
Cloud computing on smartphoneCloud computing on smartphone
Cloud computing on smartphone
Alexander Decker
 
Workshop 12-06 - Architectures for Enterprise Mobile Applications
Workshop 12-06 - Architectures for Enterprise Mobile ApplicationsWorkshop 12-06 - Architectures for Enterprise Mobile Applications
Workshop 12-06 - Architectures for Enterprise Mobile Applications
RABS
 
Geo location based augmented reality application
Geo location based augmented reality applicationGeo location based augmented reality application
Geo location based augmented reality application
eSAT Journals
 
IRJET- Emergency Accident Reporting using Smartphone
IRJET- Emergency Accident Reporting using SmartphoneIRJET- Emergency Accident Reporting using Smartphone
IRJET- Emergency Accident Reporting using Smartphone
IRJET Journal
 

Similar to Portability of Mobile Applications (20)

125 green iot
125 green iot125 green iot
125 green iot
 
Autonomous Vehicle and Augmented Reality Usage
Autonomous Vehicle and Augmented Reality UsageAutonomous Vehicle and Augmented Reality Usage
Autonomous Vehicle and Augmented Reality Usage
 
IRJET- Campus Navigation System Based on Mobile Augmented Reality
IRJET- Campus Navigation System Based on Mobile Augmented RealityIRJET- Campus Navigation System Based on Mobile Augmented Reality
IRJET- Campus Navigation System Based on Mobile Augmented Reality
 
GIS Technology & Mobile Applications - MTASC 2011 Conference
GIS Technology & Mobile Applications - MTASC 2011 ConferenceGIS Technology & Mobile Applications - MTASC 2011 Conference
GIS Technology & Mobile Applications - MTASC 2011 Conference
 
Augmented reality browsers a proposal for architectural standardization
Augmented reality browsers  a proposal for architectural standardizationAugmented reality browsers  a proposal for architectural standardization
Augmented reality browsers a proposal for architectural standardization
 
IRJET-0 Bus Tracker Via GPS using Andriod Application
IRJET-0 	  Bus Tracker Via GPS using Andriod ApplicationIRJET-0 	  Bus Tracker Via GPS using Andriod Application
IRJET-0 Bus Tracker Via GPS using Andriod Application
 
Building EdTech Solutions with AR
Building EdTech Solutions with ARBuilding EdTech Solutions with AR
Building EdTech Solutions with AR
 
www-bitcot-com-mobile-apps-.pdf
www-bitcot-com-mobile-apps-.pdfwww-bitcot-com-mobile-apps-.pdf
www-bitcot-com-mobile-apps-.pdf
 
Mobile and Social CPS including Augmented Reality
Mobile and Social CPS including Augmented RealityMobile and Social CPS including Augmented Reality
Mobile and Social CPS including Augmented Reality
 
IRJET- Voice Recognition -Butler Bot
IRJET-  	  Voice Recognition -Butler BotIRJET-  	  Voice Recognition -Butler Bot
IRJET- Voice Recognition -Butler Bot
 
IRJET - IoT based Smart Vehicle Alert System for Accident Prevention
IRJET -  	  IoT based Smart Vehicle Alert System for Accident PreventionIRJET -  	  IoT based Smart Vehicle Alert System for Accident Prevention
IRJET - IoT based Smart Vehicle Alert System for Accident Prevention
 
Android Based Quiz Application
Android Based Quiz ApplicationAndroid Based Quiz Application
Android Based Quiz Application
 
Fog-Computing-Applications.pdf
Fog-Computing-Applications.pdfFog-Computing-Applications.pdf
Fog-Computing-Applications.pdf
 
W3W WEEK#35
W3W WEEK#35W3W WEEK#35
W3W WEEK#35
 
Cross Platform Mobile Development with Xamarin
Cross Platform Mobile Development with XamarinCross Platform Mobile Development with Xamarin
Cross Platform Mobile Development with Xamarin
 
Test Cases and Testing Strategies for Mobile Apps –A Survey
Test Cases and Testing Strategies for  Mobile Apps  –A SurveyTest Cases and Testing Strategies for  Mobile Apps  –A Survey
Test Cases and Testing Strategies for Mobile Apps –A Survey
 
Cloud computing on smartphone
Cloud computing on smartphoneCloud computing on smartphone
Cloud computing on smartphone
 
Workshop 12-06 - Architectures for Enterprise Mobile Applications
Workshop 12-06 - Architectures for Enterprise Mobile ApplicationsWorkshop 12-06 - Architectures for Enterprise Mobile Applications
Workshop 12-06 - Architectures for Enterprise Mobile Applications
 
Geo location based augmented reality application
Geo location based augmented reality applicationGeo location based augmented reality application
Geo location based augmented reality application
 
IRJET- Emergency Accident Reporting using Smartphone
IRJET- Emergency Accident Reporting using SmartphoneIRJET- Emergency Accident Reporting using Smartphone
IRJET- Emergency Accident Reporting using Smartphone
 

More from Educational Technology

The use of programming tasks in interactive videos to increase learning effec...
The use of programming tasks in interactive videos to increase learning effec...The use of programming tasks in interactive videos to increase learning effec...
The use of programming tasks in interactive videos to increase learning effec...
Educational Technology
 
Analysis of students' behavior watching iMooX courses with interactive elements
Analysis of students' behavior watching iMooX courses with interactive elementsAnalysis of students' behavior watching iMooX courses with interactive elements
Analysis of students' behavior watching iMooX courses with interactive elements
Educational Technology
 
Erhebung von Lernaktivitäten in einem Pop-Up-Makerspace mit einer technischen...
Erhebung von Lernaktivitäten in einem Pop-Up-Makerspace mit einer technischen...Erhebung von Lernaktivitäten in einem Pop-Up-Makerspace mit einer technischen...
Erhebung von Lernaktivitäten in einem Pop-Up-Makerspace mit einer technischen...
Educational Technology
 
Mixed Reality im Distance Learning in der Hochschullehre
Mixed Reality im Distance Learning in der HochschullehreMixed Reality im Distance Learning in der Hochschullehre
Mixed Reality im Distance Learning in der Hochschullehre
Educational Technology
 
Development of a WCAG theme for a learning management system
Development of a WCAG theme for a learning management systemDevelopment of a WCAG theme for a learning management system
Development of a WCAG theme for a learning management system
Educational Technology
 
Math trainer as a chatbot via system(push) messages for Android
Math trainer as a chatbot via system(push) messages for AndroidMath trainer as a chatbot via system(push) messages for Android
Math trainer as a chatbot via system(push) messages for Android
Educational Technology
 
Empirical Analysis of Automated Editing of Raw Learning Video Footage
Empirical Analysis of Automated Editing of Raw Learning Video FootageEmpirical Analysis of Automated Editing of Raw Learning Video Footage
Empirical Analysis of Automated Editing of Raw Learning Video Footage
Educational Technology
 
Fächerintegrativer Unterricht am Beispiel der Leichtathletik
Fächerintegrativer Unterricht am Beispiel der LeichtathletikFächerintegrativer Unterricht am Beispiel der Leichtathletik
Fächerintegrativer Unterricht am Beispiel der Leichtathletik
Educational Technology
 
DENKEN UND TECHNIK Über manipulative Auswirkungen von Internettechnologien
DENKEN UND TECHNIK Über manipulative Auswirkungen von InternettechnologienDENKEN UND TECHNIK Über manipulative Auswirkungen von Internettechnologien
DENKEN UND TECHNIK Über manipulative Auswirkungen von Internettechnologien
Educational Technology
 
Empfehlungen für den Unterricht im Fach Informatik für Menschen mit Autismus-...
Empfehlungen für den Unterricht im Fach Informatik für Menschen mit Autismus-...Empfehlungen für den Unterricht im Fach Informatik für Menschen mit Autismus-...
Empfehlungen für den Unterricht im Fach Informatik für Menschen mit Autismus-...
Educational Technology
 
Entwicklung eines Online-Kurses für digitale Kompetenzen für Studienanfänger:...
Entwicklung eines Online-Kurses für digitale Kompetenzen für Studienanfänger:...Entwicklung eines Online-Kurses für digitale Kompetenzen für Studienanfänger:...
Entwicklung eines Online-Kurses für digitale Kompetenzen für Studienanfänger:...
Educational Technology
 
School Start Screening Tool
School Start Screening ToolSchool Start Screening Tool
School Start Screening Tool
Educational Technology
 
Development of a mobile French language learning platform
Development of a mobile French language learning platformDevelopment of a mobile French language learning platform
Development of a mobile French language learning platform
Educational Technology
 
Learning Analytics and Spelling Acquisition in German - the Path to Indivdual...
Learning Analytics and Spelling Acquisition in German - the Path to Indivdual...Learning Analytics and Spelling Acquisition in German - the Path to Indivdual...
Learning Analytics and Spelling Acquisition in German - the Path to Indivdual...
Educational Technology
 
Learning Analytics and MOOCs
Learning Analytics and MOOCsLearning Analytics and MOOCs
Learning Analytics and MOOCs
Educational Technology
 
Fächerintegrativer Unterricht am Beispiel des Lernroboters Thymio
Fächerintegrativer Unterricht am Beispiel des Lernroboters ThymioFächerintegrativer Unterricht am Beispiel des Lernroboters Thymio
Fächerintegrativer Unterricht am Beispiel des Lernroboters Thymio
Educational Technology
 
Einsatz von Mixed Reality im Klassenzimmer
Einsatz von Mixed Reality im KlassenzimmerEinsatz von Mixed Reality im Klassenzimmer
Einsatz von Mixed Reality im Klassenzimmer
Educational Technology
 
Chatbots for Brand Representation in Comparison with Traditional Websites
Chatbots for Brand Representation in Comparison with Traditional WebsitesChatbots for Brand Representation in Comparison with Traditional Websites
Chatbots for Brand Representation in Comparison with Traditional Websites
Educational Technology
 
Development of a learning diary for a MOOC platform
Development of a learning diary for a MOOC platformDevelopment of a learning diary for a MOOC platform
Development of a learning diary for a MOOC platform
Educational Technology
 
Potential of Bots for Encylclopedias
Potential of Bots for EncylclopediasPotential of Bots for Encylclopedias
Potential of Bots for Encylclopedias
Educational Technology
 

More from Educational Technology (20)

The use of programming tasks in interactive videos to increase learning effec...
The use of programming tasks in interactive videos to increase learning effec...The use of programming tasks in interactive videos to increase learning effec...
The use of programming tasks in interactive videos to increase learning effec...
 
Analysis of students' behavior watching iMooX courses with interactive elements
Analysis of students' behavior watching iMooX courses with interactive elementsAnalysis of students' behavior watching iMooX courses with interactive elements
Analysis of students' behavior watching iMooX courses with interactive elements
 
Erhebung von Lernaktivitäten in einem Pop-Up-Makerspace mit einer technischen...
Erhebung von Lernaktivitäten in einem Pop-Up-Makerspace mit einer technischen...Erhebung von Lernaktivitäten in einem Pop-Up-Makerspace mit einer technischen...
Erhebung von Lernaktivitäten in einem Pop-Up-Makerspace mit einer technischen...
 
Mixed Reality im Distance Learning in der Hochschullehre
Mixed Reality im Distance Learning in der HochschullehreMixed Reality im Distance Learning in der Hochschullehre
Mixed Reality im Distance Learning in der Hochschullehre
 
Development of a WCAG theme for a learning management system
Development of a WCAG theme for a learning management systemDevelopment of a WCAG theme for a learning management system
Development of a WCAG theme for a learning management system
 
Math trainer as a chatbot via system(push) messages for Android
Math trainer as a chatbot via system(push) messages for AndroidMath trainer as a chatbot via system(push) messages for Android
Math trainer as a chatbot via system(push) messages for Android
 
Empirical Analysis of Automated Editing of Raw Learning Video Footage
Empirical Analysis of Automated Editing of Raw Learning Video FootageEmpirical Analysis of Automated Editing of Raw Learning Video Footage
Empirical Analysis of Automated Editing of Raw Learning Video Footage
 
Fächerintegrativer Unterricht am Beispiel der Leichtathletik
Fächerintegrativer Unterricht am Beispiel der LeichtathletikFächerintegrativer Unterricht am Beispiel der Leichtathletik
Fächerintegrativer Unterricht am Beispiel der Leichtathletik
 
DENKEN UND TECHNIK Über manipulative Auswirkungen von Internettechnologien
DENKEN UND TECHNIK Über manipulative Auswirkungen von InternettechnologienDENKEN UND TECHNIK Über manipulative Auswirkungen von Internettechnologien
DENKEN UND TECHNIK Über manipulative Auswirkungen von Internettechnologien
 
Empfehlungen für den Unterricht im Fach Informatik für Menschen mit Autismus-...
Empfehlungen für den Unterricht im Fach Informatik für Menschen mit Autismus-...Empfehlungen für den Unterricht im Fach Informatik für Menschen mit Autismus-...
Empfehlungen für den Unterricht im Fach Informatik für Menschen mit Autismus-...
 
Entwicklung eines Online-Kurses für digitale Kompetenzen für Studienanfänger:...
Entwicklung eines Online-Kurses für digitale Kompetenzen für Studienanfänger:...Entwicklung eines Online-Kurses für digitale Kompetenzen für Studienanfänger:...
Entwicklung eines Online-Kurses für digitale Kompetenzen für Studienanfänger:...
 
School Start Screening Tool
School Start Screening ToolSchool Start Screening Tool
School Start Screening Tool
 
Development of a mobile French language learning platform
Development of a mobile French language learning platformDevelopment of a mobile French language learning platform
Development of a mobile French language learning platform
 
Learning Analytics and Spelling Acquisition in German - the Path to Indivdual...
Learning Analytics and Spelling Acquisition in German - the Path to Indivdual...Learning Analytics and Spelling Acquisition in German - the Path to Indivdual...
Learning Analytics and Spelling Acquisition in German - the Path to Indivdual...
 
Learning Analytics and MOOCs
Learning Analytics and MOOCsLearning Analytics and MOOCs
Learning Analytics and MOOCs
 
Fächerintegrativer Unterricht am Beispiel des Lernroboters Thymio
Fächerintegrativer Unterricht am Beispiel des Lernroboters ThymioFächerintegrativer Unterricht am Beispiel des Lernroboters Thymio
Fächerintegrativer Unterricht am Beispiel des Lernroboters Thymio
 
Einsatz von Mixed Reality im Klassenzimmer
Einsatz von Mixed Reality im KlassenzimmerEinsatz von Mixed Reality im Klassenzimmer
Einsatz von Mixed Reality im Klassenzimmer
 
Chatbots for Brand Representation in Comparison with Traditional Websites
Chatbots for Brand Representation in Comparison with Traditional WebsitesChatbots for Brand Representation in Comparison with Traditional Websites
Chatbots for Brand Representation in Comparison with Traditional Websites
 
Development of a learning diary for a MOOC platform
Development of a learning diary for a MOOC platformDevelopment of a learning diary for a MOOC platform
Development of a learning diary for a MOOC platform
 
Potential of Bots for Encylclopedias
Potential of Bots for EncylclopediasPotential of Bots for Encylclopedias
Potential of Bots for Encylclopedias
 

Recently uploaded

3. Maturity_indices_of_fruits_and_vegetable.pptx
3. Maturity_indices_of_fruits_and_vegetable.pptx3. Maturity_indices_of_fruits_and_vegetable.pptx
3. Maturity_indices_of_fruits_and_vegetable.pptx
UmeshTimilsina1
 
View Inheritance in Odoo 17 - Odoo 17 Slides
View Inheritance in Odoo 17 - Odoo 17  SlidesView Inheritance in Odoo 17 - Odoo 17  Slides
View Inheritance in Odoo 17 - Odoo 17 Slides
Celine George
 
FIRST AID PRESENTATION ON INDUSTRIAL SAFETY by dr lal.ppt
FIRST AID PRESENTATION ON INDUSTRIAL SAFETY by dr lal.pptFIRST AID PRESENTATION ON INDUSTRIAL SAFETY by dr lal.ppt
FIRST AID PRESENTATION ON INDUSTRIAL SAFETY by dr lal.ppt
ashutoshklal29
 
7. Post Harvest Entomology and their control.pptx
7. Post Harvest Entomology and their control.pptx7. Post Harvest Entomology and their control.pptx
7. Post Harvest Entomology and their control.pptx
UmeshTimilsina1
 
Introduction to Google Productivity Tools for Office and Personal Use
Introduction to Google Productivity Tools for Office and Personal UseIntroduction to Google Productivity Tools for Office and Personal Use
Introduction to Google Productivity Tools for Office and Personal Use
Excellence Foundation for South Sudan
 
C# Interview Questions PDF By ScholarHat.pdf
C# Interview Questions PDF By ScholarHat.pdfC# Interview Questions PDF By ScholarHat.pdf
C# Interview Questions PDF By ScholarHat.pdf
Scholarhat
 
C Interview Questions PDF By Scholarhat.pdf
C Interview Questions PDF By Scholarhat.pdfC Interview Questions PDF By Scholarhat.pdf
C Interview Questions PDF By Scholarhat.pdf
Scholarhat
 
Mail Server Configuration Using App passwords in Odoo 17
Mail Server Configuration Using App passwords in Odoo 17Mail Server Configuration Using App passwords in Odoo 17
Mail Server Configuration Using App passwords in Odoo 17
Celine George
 
Open Source and AI - ByWater Closing Keynote Presentation.pdf
Open Source and AI - ByWater Closing Keynote Presentation.pdfOpen Source and AI - ByWater Closing Keynote Presentation.pdf
Open Source and AI - ByWater Closing Keynote Presentation.pdf
Jessica Zairo
 
RDBMS Lecture Notes Unit4 chapter12 VIEW
RDBMS Lecture Notes Unit4 chapter12 VIEWRDBMS Lecture Notes Unit4 chapter12 VIEW
RDBMS Lecture Notes Unit4 chapter12 VIEW
Murugan Solaiyappan
 
React Interview Question PDF By ScholarHat
React Interview Question PDF By ScholarHatReact Interview Question PDF By ScholarHat
React Interview Question PDF By ScholarHat
Scholarhat
 
QCE – Unpacking the syllabus Implications for Senior School practices and ass...
QCE – Unpacking the syllabus Implications for Senior School practices and ass...QCE – Unpacking the syllabus Implications for Senior School practices and ass...
QCE – Unpacking the syllabus Implications for Senior School practices and ass...
mansk2
 
A beginner’s guide to project reviews - everything you wanted to know but wer...
A beginner’s guide to project reviews - everything you wanted to know but wer...A beginner’s guide to project reviews - everything you wanted to know but wer...
A beginner’s guide to project reviews - everything you wanted to know but wer...
Association for Project Management
 
ASP.NET Core Interview Questions PDF By ScholarHat.pdf
ASP.NET Core Interview Questions PDF By ScholarHat.pdfASP.NET Core Interview Questions PDF By ScholarHat.pdf
ASP.NET Core Interview Questions PDF By ScholarHat.pdf
Scholarhat
 
5. Postharvest deterioration of fruits and vegetables.pptx
5. Postharvest deterioration of fruits and vegetables.pptx5. Postharvest deterioration of fruits and vegetables.pptx
5. Postharvest deterioration of fruits and vegetables.pptx
UmeshTimilsina1
 
slidesgo-mastering-the-art-of-listening-insights-from-robin-sharma-2024070718...
slidesgo-mastering-the-art-of-listening-insights-from-robin-sharma-2024070718...slidesgo-mastering-the-art-of-listening-insights-from-robin-sharma-2024070718...
slidesgo-mastering-the-art-of-listening-insights-from-robin-sharma-2024070718...
MANIVALANSR
 
Lecture Notes Unit4 Chapter13 users , roles and privileges
Lecture Notes Unit4 Chapter13 users , roles and privilegesLecture Notes Unit4 Chapter13 users , roles and privileges
Lecture Notes Unit4 Chapter13 users , roles and privileges
Murugan146644
 
2 Post harvest Physiology of Horticulture produce.pptx
2 Post harvest Physiology of Horticulture  produce.pptx2 Post harvest Physiology of Horticulture  produce.pptx
2 Post harvest Physiology of Horticulture produce.pptx
UmeshTimilsina1
 
PRESS RELEASE - UNIVERSITY OF GHANA, JULY 16, 2024.pdf
PRESS RELEASE - UNIVERSITY OF GHANA, JULY 16, 2024.pdfPRESS RELEASE - UNIVERSITY OF GHANA, JULY 16, 2024.pdf
PRESS RELEASE - UNIVERSITY OF GHANA, JULY 16, 2024.pdf
nservice241
 
1. Importance_of_reducing_postharvest_loss.pptx
1. Importance_of_reducing_postharvest_loss.pptx1. Importance_of_reducing_postharvest_loss.pptx
1. Importance_of_reducing_postharvest_loss.pptx
UmeshTimilsina1
 

Recently uploaded (20)

3. Maturity_indices_of_fruits_and_vegetable.pptx
3. Maturity_indices_of_fruits_and_vegetable.pptx3. Maturity_indices_of_fruits_and_vegetable.pptx
3. Maturity_indices_of_fruits_and_vegetable.pptx
 
View Inheritance in Odoo 17 - Odoo 17 Slides
View Inheritance in Odoo 17 - Odoo 17  SlidesView Inheritance in Odoo 17 - Odoo 17  Slides
View Inheritance in Odoo 17 - Odoo 17 Slides
 
FIRST AID PRESENTATION ON INDUSTRIAL SAFETY by dr lal.ppt
FIRST AID PRESENTATION ON INDUSTRIAL SAFETY by dr lal.pptFIRST AID PRESENTATION ON INDUSTRIAL SAFETY by dr lal.ppt
FIRST AID PRESENTATION ON INDUSTRIAL SAFETY by dr lal.ppt
 
7. Post Harvest Entomology and their control.pptx
7. Post Harvest Entomology and their control.pptx7. Post Harvest Entomology and their control.pptx
7. Post Harvest Entomology and their control.pptx
 
Introduction to Google Productivity Tools for Office and Personal Use
Introduction to Google Productivity Tools for Office and Personal UseIntroduction to Google Productivity Tools for Office and Personal Use
Introduction to Google Productivity Tools for Office and Personal Use
 
C# Interview Questions PDF By ScholarHat.pdf
C# Interview Questions PDF By ScholarHat.pdfC# Interview Questions PDF By ScholarHat.pdf
C# Interview Questions PDF By ScholarHat.pdf
 
C Interview Questions PDF By Scholarhat.pdf
C Interview Questions PDF By Scholarhat.pdfC Interview Questions PDF By Scholarhat.pdf
C Interview Questions PDF By Scholarhat.pdf
 
Mail Server Configuration Using App passwords in Odoo 17
Mail Server Configuration Using App passwords in Odoo 17Mail Server Configuration Using App passwords in Odoo 17
Mail Server Configuration Using App passwords in Odoo 17
 
Open Source and AI - ByWater Closing Keynote Presentation.pdf
Open Source and AI - ByWater Closing Keynote Presentation.pdfOpen Source and AI - ByWater Closing Keynote Presentation.pdf
Open Source and AI - ByWater Closing Keynote Presentation.pdf
 
RDBMS Lecture Notes Unit4 chapter12 VIEW
RDBMS Lecture Notes Unit4 chapter12 VIEWRDBMS Lecture Notes Unit4 chapter12 VIEW
RDBMS Lecture Notes Unit4 chapter12 VIEW
 
React Interview Question PDF By ScholarHat
React Interview Question PDF By ScholarHatReact Interview Question PDF By ScholarHat
React Interview Question PDF By ScholarHat
 
QCE – Unpacking the syllabus Implications for Senior School practices and ass...
QCE – Unpacking the syllabus Implications for Senior School practices and ass...QCE – Unpacking the syllabus Implications for Senior School practices and ass...
QCE – Unpacking the syllabus Implications for Senior School practices and ass...
 
A beginner’s guide to project reviews - everything you wanted to know but wer...
A beginner’s guide to project reviews - everything you wanted to know but wer...A beginner’s guide to project reviews - everything you wanted to know but wer...
A beginner’s guide to project reviews - everything you wanted to know but wer...
 
ASP.NET Core Interview Questions PDF By ScholarHat.pdf
ASP.NET Core Interview Questions PDF By ScholarHat.pdfASP.NET Core Interview Questions PDF By ScholarHat.pdf
ASP.NET Core Interview Questions PDF By ScholarHat.pdf
 
5. Postharvest deterioration of fruits and vegetables.pptx
5. Postharvest deterioration of fruits and vegetables.pptx5. Postharvest deterioration of fruits and vegetables.pptx
5. Postharvest deterioration of fruits and vegetables.pptx
 
slidesgo-mastering-the-art-of-listening-insights-from-robin-sharma-2024070718...
slidesgo-mastering-the-art-of-listening-insights-from-robin-sharma-2024070718...slidesgo-mastering-the-art-of-listening-insights-from-robin-sharma-2024070718...
slidesgo-mastering-the-art-of-listening-insights-from-robin-sharma-2024070718...
 
Lecture Notes Unit4 Chapter13 users , roles and privileges
Lecture Notes Unit4 Chapter13 users , roles and privilegesLecture Notes Unit4 Chapter13 users , roles and privileges
Lecture Notes Unit4 Chapter13 users , roles and privileges
 
2 Post harvest Physiology of Horticulture produce.pptx
2 Post harvest Physiology of Horticulture  produce.pptx2 Post harvest Physiology of Horticulture  produce.pptx
2 Post harvest Physiology of Horticulture produce.pptx
 
PRESS RELEASE - UNIVERSITY OF GHANA, JULY 16, 2024.pdf
PRESS RELEASE - UNIVERSITY OF GHANA, JULY 16, 2024.pdfPRESS RELEASE - UNIVERSITY OF GHANA, JULY 16, 2024.pdf
PRESS RELEASE - UNIVERSITY OF GHANA, JULY 16, 2024.pdf
 
1. Importance_of_reducing_postharvest_loss.pptx
1. Importance_of_reducing_postharvest_loss.pptx1. Importance_of_reducing_postharvest_loss.pptx
1. Importance_of_reducing_postharvest_loss.pptx
 

Portability of Mobile Applications

  • 1. S C I E N C E P A S S I O N T E C H N O L O G Y www.tugraz.at Portability of Mobile Applications Mattias Rauter, BSc Graz, 26. September 2023
  • 2. 2 Portability of Mobile Applications Table of Content 1. Motivation 2. Challenges in Porting Mobile Applications 3. Porting Automatically 4. Porting Manually 5. Porting Manually vs. Automatically 6. Results & Conclusion 7. References Mattias Rauter, BSc Graz, 26. September 2023
  • 4. 4 Motivation Mobile Computing Market 2007: iPhone launch 2008: Android 1.0 2008: Apple’s App Store & Google’s Play Store almost 5 million apps in 2022 [1-2] 255 billion app installs (all stores) [3] 2010: Windows Phone 7 Blackberry OS, Samsung, Symbian OS... 2019: iOS & Android - 98.8% market share [4] Mattias Rauter, BSc Graz, 26. September 2023
  • 6. 6 Motivation (Almost) every mobile application has to be available on Android & iOS Market Share (2023) [4] Android 70,79% iOS 28,44% App Store turnover almost 2x compared to Play Store [5] Mattias Rauter, BSc Graz, 26. September 2023
  • 7. 7 Challenges in Porting Mobile Applications Mattias Rauter, BSc Graz, 26. September 2023
  • 8. 8 Challenges in Porting Mobile Applications Fundamental Different Approaches and Goals Android Linux based different hardware manufacturers as open as possible iOS MacOS (OS X) based (BSD UNIX kernel) hard- and software from Apple very restrictive user-centred UI/UX focus Mattias Rauter, BSc Graz, 26. September 2023
  • 9. 9 Challenges in Porting Mobile Applications Access Rights for Apps Android ’all-or-nothing’ approach for a long time standard in Android installed apps had all requested permissions no restriction handling iOS ’ask if needed’ approach ask for every single permission separately handle restrictions Mattias Rauter, BSc Graz, 26. September 2023
  • 10. 10 Challenges in Porting Mobile Applications Background Tasks Android apps can be ’active’ in the background iOS very limited task-based background-activities Mattias Rauter, BSc Graz, 26. September 2023
  • 11. 11 Challenges in Porting Mobile Applications UI/UX Guidlines Android Material Design iOS Human Interface Guidlines Mattias Rauter, BSc Graz, 26. September 2023
  • 12. 12 Challenges in Porting Mobile Applications ’Back’ Actions in Android Mattias Rauter, BSc Graz, 26. September 2023
  • 13. 13 Challenges in Porting Mobile Applications ’Back’ Actions in iOS Mattias Rauter, BSc Graz, 26. September 2023
  • 14. 14 Porting Automatically Mattias Rauter, BSc Graz, 26. September 2023
  • 15. 15 Porting Automatically Fully Automatically Porting not possible at the moment but supporting tools and techniques available Mattias Rauter, BSc Graz, 26. September 2023
  • 16. 16 Porting Automatically Kotlin/Native [6] Kotlin preferred language for Android since 2019 compile code in binaries (instead of JVM-bytecode) can be used in iOS apps business logic vs. user interface hard to debug/maintain Mattias Rauter, BSc Graz, 26. September 2023
  • 17. 17 Porting Automatically ’Kotlift’ - Valentin Slawicek [7] translate Kotlin code into Swift only subset of features supported Kotlin v1.0.1 (current: v1.8.21) Swift v2.2 (current: v5.8) discontinued by developer not suitable for productive use-cases Mattias Rauter, BSc Graz, 26. September 2023
  • 18. 18 Porting Automatically ’Porty’ - Xiaochao Fan and Kenny Wong [8] semi-automatically UI and event-handler porting XML-based layouts no business logic adapted LYCIA parses Android layout J2ObjC translates the Java code to Objective-C code no Kotlin or Swift support Mattias Rauter, BSc Graz, 26. September 2023
  • 19. 19 Porting Manually Mattias Rauter, BSc Graz, 26. September 2023
  • 20. 20 Porting Manually Definition ’Reprogramming of existing app for another platform’ Analysis of the current state Requirement engineering Implementation Mattias Rauter, BSc Graz, 26. September 2023
  • 21. 21 Porting Manually Schoolstart Screening App Project [9] Federal Ministry of Education, Science and Research of Austria Standardisation of the school start process University of Vienna Karl-Franzens-University of Graz Technical University of Graz child-friendly and intuitive design iPad version needed, not yet started hard deadline: September 2019 Decision: ’Porting Manually’ Mattias Rauter, BSc Graz, 26. September 2023
  • 22. 22 Porting Manually Phase 1: Analysis of the Current State Meetings with project team Study Documentation Read API specifications Inspect current Android app Mattias Rauter, BSc Graz, 26. September 2023
  • 23. 23 Porting Manually Phase 2: Requirements Engineering Scrum Create ’User Stories’ Coordinate with Android Team Projectplan - define Roadmap Mattias Rauter, BSc Graz, 26. September 2023
  • 24. 24 Porting Manually Roadmap Mattias Rauter, BSc Graz, 26. September 2023
  • 25. 25 Porting Manually Phase 3: Implementation Implementing User Stories Deadline was met Tests in September 2019 on iPads in schools Mattias Rauter, BSc Graz, 26. September 2023
  • 26. 26 Porting Manually vs. Automatically Porting Manually Porting Automatically The newest state-of-the- art frameworks Limitations regarding the used source Accurate estimations of necessary tasks Very hard to estimate the effort needed iOS-platform specific functions/patterns The ’Android-platform- way’ is used UI/UX guidelines for iOS- platform Android-platform guideli- nes are transferred No dependencies on third-party tools Dependent on third-party tools Mattias Rauter, BSc Graz, 26. September 2023
  • 27. 27 Results & Conclusion Mattias Rauter, BSc Graz, 26. September 2023
  • 28. 28 Results & Conclusion Comparison: Enter ID Screen Mattias Rauter, BSc Graz, 26. September 2023
  • 29. 29 Results & Conclusion Comparison: Intro Screen Mattias Rauter, BSc Graz, 26. September 2023
  • 30. 30 Results & Conclusion Comparison: Logout Screen Mattias Rauter, BSc Graz, 26. September 2023
  • 31. 31 Results & Conclusion Conclusion Porting is very complex Fundamental differences of operating systems Fully automatically porting not yet possible Android and iOS become more similar AI or better cross-platform approaches might help in the future Manually porting is still the only way for high quality results Mattias Rauter, BSc Graz, 26. September 2023
  • 32. 32 Thank You for your attention! Mattias Rauter, BSc Graz, 26. September 2023
  • 33. 33 References [1] L Ceci. Google Play Store: number of apps 2023 — Statista. url: https://www.statista.com/statistics/266210/number-of- available-applications-in-the-google-play-store/ (visited on 03/19/2023) [2] David Curry. App Store Data (2023) - Business of Apps. url: https://www.businessofapps.com/data/app-stores/ (visited on 03/19/2023) [3] L Ceci. Annual number of mobile app downloads worldwide 2022 — Statista. url: https://www.statista.com/statistics/271644/worldwide- free-and-paid-mobile-app-store-downloads/ (visited on 03/19/2023) Mattias Rauter, BSc Graz, 26. September 2023
  • 34. 34 References [4] Global mobile OS market share 2022 — Statista. url: https : / / www . statista.com/statistics/272698/global-market-share- held-by- mobile-operating-systems-since-2009/ (visited on 05/21/2023) [5] L Rabe. Apps - Umsatz nach App Store weltweit 2021 — Statista. url: https://de.statista.com/statistik/daten/studie/802760/umfrage des-umsatzes-mit-apps-nach-app-store-weltweit/ (visited on 03/19/2023) [6] Kotlin Native — Kotlin Documentation. url: https://kotlinlang.org/ docs/native-overview.html (visited on 07/17/2020) Mattias Rauter, BSc Graz, 26. September 2023
  • 35. 35 References [7] studoverse/Kotlift: Kotlift is the first source-to-source language transpiler from Kotlin to Swift. url: https://github.com/studoverse/Kotlift (visited on 05/31/2023) [8] Xiaochao Fan and Kenny Wong. “Migrating user interfaces in native mobile applications: Android to iOS.” In: Proceedings - International Conference on Mobile Software Engineering and Systems, MOBILESoft 2016 (2016), pp. 210–213. doi: 10.1145/2897073.2897101 [9] Paul Krassnig. “School Start Screening Tool.” 2021 Mattias Rauter, BSc Graz, 26. September 2023