SlideShare a Scribd company logo
1 of 35
Download to read offline
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

Autonomous Vehicle and Augmented Reality Usage
Autonomous Vehicle and Augmented Reality UsageAutonomous Vehicle and Augmented Reality Usage
Autonomous Vehicle and Augmented Reality UsageDr. 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 RealityIRJET 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 ConferenceJim 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 standardizationijseajournal
 
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 ApplicationIRJET Journal
 
Building EdTech Solutions with AR
Building EdTech Solutions with ARBuilding EdTech Solutions with AR
Building EdTech Solutions with ARIRJET Journal
 
www-bitcot-com-mobile-apps-.pdf
www-bitcot-com-mobile-apps-.pdfwww-bitcot-com-mobile-apps-.pdf
www-bitcot-com-mobile-apps-.pdfBitCot
 
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 RealityBob Marcus
 
IRJET- Voice Recognition -Butler Bot
IRJET-  	  Voice Recognition -Butler BotIRJET-  	  Voice Recognition -Butler Bot
IRJET- Voice Recognition -Butler BotIRJET 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 PreventionIRJET Journal
 
Android Based Quiz Application
Android Based Quiz ApplicationAndroid Based Quiz Application
Android Based Quiz ApplicationIRJET Journal
 
Fog-Computing-Applications.pdf
Fog-Computing-Applications.pdfFog-Computing-Applications.pdf
Fog-Computing-Applications.pdfengdlshadfm
 
Cross Platform Mobile Development with Xamarin
Cross Platform Mobile Development with XamarinCross Platform Mobile Development with Xamarin
Cross Platform Mobile Development with XamarinJoe 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 SurveyIRJET Journal
 
Cloud computing on smartphone
Cloud computing on smartphoneCloud computing on smartphone
Cloud computing on smartphoneAlexander 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 ApplicationsRABS
 
Geo location based augmented reality application
Geo location based augmented reality applicationGeo location based augmented reality application
Geo location based augmented reality applicationeSAT Journals
 
IRJET- Emergency Accident Reporting using Smartphone
IRJET- Emergency Accident Reporting using SmartphoneIRJET- Emergency Accident Reporting using Smartphone
IRJET- Emergency Accident Reporting using SmartphoneIRJET 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 elementsEducational 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 HochschullehreEducational 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 systemEducational 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 AndroidEducational 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 FootageEducational 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 LeichtathletikEducational 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 InternettechnologienEducational 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
 
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 platformEducational 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
 
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 ThymioEducational Technology
 
Einsatz von Mixed Reality im Klassenzimmer
Einsatz von Mixed Reality im KlassenzimmerEinsatz von Mixed Reality im Klassenzimmer
Einsatz von Mixed Reality im KlassenzimmerEducational 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 WebsitesEducational 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 platformEducational 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

Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxEyham Joco
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxAvyJaneVismanos
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxDr.Ibrahim Hassaan
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfUjwalaBharambe
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaVirag Sontakke
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupJonathanParaisoCruz
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
CELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptxCELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptxJiesonDelaCerna
 
MICROBIOLOGY biochemical test detailed.pptx
MICROBIOLOGY biochemical test detailed.pptxMICROBIOLOGY biochemical test detailed.pptx
MICROBIOLOGY biochemical test detailed.pptxabhijeetpadhi001
 
Capitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitolTechU
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 

Recently uploaded (20)

Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptx
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptx
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptx
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of India
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized Group
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
CELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptxCELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptx
 
MICROBIOLOGY biochemical test detailed.pptx
MICROBIOLOGY biochemical test detailed.pptxMICROBIOLOGY biochemical test detailed.pptx
MICROBIOLOGY biochemical test detailed.pptx
 
Capitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptx
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.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