Downloads at 300 Megabits Per Second Or More (Bradley, 2019)

Total Page:16

File Type:pdf, Size:1020Kb

Downloads at 300 Megabits Per Second Or More (Bradley, 2019) Department of Computer Science A comparative analysis of mobile application development frameworks: A case study of mobile application development for water usage management in Alice and Fort Beaufort communities. By Kwabena Manu A project submitted for the fulfilment of the requirements for a Master of Science Degree in Computer Science. Faculty of Science and Agriculture Alice South Africa Supervisor: Mr. S. Ngwenya Co-Supervisor: Prof K. Sibanda 0 DECLARATION I, Kwabena Manu declare that this research, which I hereby submit for the Master of Computer Science at University of Fort Hare, is my work and that it has never been submitted for any other degree at this or any other institution of higher learning. Signature: Date: 07 February 2019 i ACKNOWLEDGEMENTS I would like to thank the Almighty God for his love and grace towards me and for the strength to successfully complete this project. My sincere appreciation goes to my supervisors Mr. S. Ngwenya and Prof. K. Sibanda for their guidance and support throughout the research process. I benefited a lot from you, God bless you. I would like to thank Risk and Vulnerability Science Centre (RAVAC) headed by Dr. L. Zhou at University of Fort Hare for their financial support without which my dream of pursuing master’s degree would have not been achieved. Gratitude goes to my family (Mr & Mrs Amoah, Juliet Amoakoah Danso, Gracie Amoakoah Manu, Mr. Mojeed Adedoyin Agoro, Sis. Hannah, Sis. Sarah and Bro. TT) for their motivation and encouragement. Finally, I would like to thank my lab mates and all those who assisted in the completion of my research. ii ABSTRACT Mobile phones have become an integral part of standard of living. Users and customers expect sensible and very useful applications in less time. In this competitive market, it is an enormous challenge to develop high performance mobile applications that might meet the expectations of end users. Despite the fact that development of new applications for each mobile operating system in short time is fairly an issue, mobile operating systems vendors are giving their best available resources for creating applications in additional convenient ways. These days, there is a common tendency to look for less complex and quicker solutions that could be used in the process of software development. Developers of a new mobile application have to undertake variety of selections and decisions, including the target platform as well as the development technology to utilize. Mobile application development frameworks contribute in solving this problem. Several frameworks have emerged, which we classify and evaluate their appropriateness. In order to compare existing development frameworks solutions in this research, we compiled a set of criteria to assess mobile application development approaches. In view on these criteria, we evaluated five frameworks that is, PhoneGap, Xamarin, App Inventor, Sencha Touch and DragonRad. For proof of concepts, the chosen framework from the five evaluated mobile development frameworks was used to develop application for water usage management. The research will equip mobile application developers to gain more insight into mobile development frameworks available, therefore helping them to choose the most appropriate framework for their project. Keywords: Mobile Phones, Frameworks, Mobile Applications, Operating System iii ABBREVIATIONS 1G - First Generation 2G - Second Generation 3D - Three-Dimensional 3G - Third Generation 4G - Fourth Generation API - Application Programming Interface ATM - Automated Teller Machine BCL - Base Class Library BES - BlackBerry Enterprise Server CLI - Command Line Interface CMD - Command Prompt CMDA - Code-Division Multiple Access EDGE - Enhanced Data Rate For GSM Evolution FCM - Firebase Cloud Messaging FLOW - Field Level Operations Watch GeSI - Global e-Sustainability Initiative GIS - Geographical Information System GPRS - General Packet Radio Service GPS - Global Positioning System GSM - Global System for Mobile Communication GSMA - Global System for Mobile Communication Association GUI - Graphical User Interface HTTP - Hyper Text Transfer Protocol iCOMMS - Information for Community Service ICTs - Information and Communication Technologies IDE - Integrated Development Environment iOS - iPhone Operating System IoT - Internet of Things ITU - International Telecommunication Union iv JME - Java Platform Micro Edition LINQ - Language Integrated Query LTE - Long-Term Evolution M4D - Mobile Phone For Development MDGs - Millennium Development Goals MIT - Massachusetts Institute of Technology MMS - Multimedia Messaging MP - Mobile Phone MVC - Model View Control NFC - Near-field Communication NGO - Non-Governmental Organization OS - Operating System PC - Personal Computer RF - Radio Frequency RFID - Radio-frequency Identification RIM - Research In Motion SCADA - Supervisory Control and Data Acquisition SDGs - Sustainable Development Goals SDK - Software Development Kit SIM - Subscriber Identity Module SMS - Short Message Service UN - United Nations URL - Uniform Resource Locator USAID - United States Agency for International Development USB - Universal Serial Bus USSD - Unstructured Supplementary Service Data VM - Virtual Machine WaGs - Water Action Groups WAP - Wireless Application Protocol WQR - Water Quality Reporter WRC - Water Research Council v WRT - Web Runtime WSB - Water Services Boards WSPs - Water Service Providers WWF - World Wide Fund WYSIWYG - What You See Is What You Get vi LIST OF FIGURES Figure 2-1: Grunfos Lifelink ‘Water ATM’ example. ............................................................. 16 Figure 2-2: Decreased resolution time and number of complaints processed through Majivoice (Ndaw and Mwangi, 2015). .................................................................................... 19 Figure 2-3: Smart Hand Pump in Kenya.................................................................................. 19 Figure 2-4: SMS from NextDrop to a user (Ndaw and Niyungeko, 2015).............................. 21 Figure 3-1: Evolutionary Prototype Model .............................................................................. 27 Figure 4-1:PhoneGap Architecture .......................................................................................... 33 Figure 4-2: PhoneGap Build (Bönström, 2014). ...................................................................... 34 Figure 4-3: Xamarin forms mapped to native operating system libraries (Radi, 2016) .......... 35 Figure 4-4: Xamarin Forms shared among different platforms ............................................... 36 Figure 4-5: Different Xamarin Page Templates ....................................................................... 36 Figure 4-6: Example of Block Editor in App Inventor ............................................................ 37 Figure 4-7: App Inventor Architecture (Trivedi, 2012) ........................................................... 37 Figure 4-8: Three Windows of App Inventor .......................................................................... 39 Figure 4-9: Sencha Touch Architecture ................................................................................... 40 Figure 4-10: DragonRad Architecture (KC, 2014) .................................................................. 42 Figure 5-1: System Design process.......................................................................................... 56 Figure 5-2: SaveAmanzi Application Architecture ................................................................. 58 Figure 5-3: User case diagram ................................................................................................. 60 Figure 5-4: Class Diagram ....................................................................................................... 61 Figure 5-5: Android Architecture ............................................................................................ 63 Figure 5-6: TinyWebDB Database Interface ........................................................................... 66 Figure 5-7: StoreValue Event Block ........................................................................................ 67 Figure 5-8: GetValue Event Block .......................................................................................... 67 Figure 5-9: Main Screen Code Blocks (a) ............................................................................... 68 Figure 5-10: Main Screen Code Blocks (b) ............................................................................. 69 Figure 5-11: Code Blocks of Technician Login Screen ........................................................... 69 Figure 5-12: Code Blocks for Water Leakage Report ............................................................. 70 Figure 5.11 Figure 5-13: Code Blocks for Notifications ......................................................... 71 vii Figure 5-14: OneSignal Web Interface .................................................................................... 71 Figure 5-15: Code Blocks for Retrieving Messages from Database........................................ 72 Figure 5-16: Login Error Screen .............................................................................................. 73 Figure 5-17: Login Success Screen .......................................................................................... 73 Figure 5-18: Internet Connection Error Screen ....................................................................... 74 Figure 5-19:
Recommended publications
  • Comparison of Cross-Platform Mobile Development Tools
    Comparison of Cross-Platform Mobile Development Tools Manuel Palmieri Inderjeet Singh Antonio Cicchetti Innovation, Design and Engineering Innovation, Design and Engineering Innovation, Design and Engineering Malardalen¨ University Malardalen¨ University Malardalen¨ University Vaster¨ as,˚ Sweden Vaster¨ as,˚ Sweden Vaster¨ as,˚ Sweden [email protected] [email protected] [email protected] Abstract—Mobiles are an integral part of daily life. With time, from each other. Developed applications for a certain OS are customers are expecting good and very versatile applications not compatible for other OS’s, indeed, they force developers in less time. It is a big challenge to develop high performance to rebuild the same applications for them. mobile applications in this competitive market that would meet the expectation of customers. Mobile operating systems vendors Cross-platform mobile development tools are gaining pop- are giving their best available resources for making applications ularity in the world due to their characteristic to compile the in more convenient ways, although the development of new application source code for multiple supported OS’s. Such applications for each mobile operating system in short time is tools are mainly depending on web programming languages fairly a problem. Cross-platform mobile application development like HyperText Markup Language (HTML), JavaScript and tools contribute in solving this problem largely. This paper presents a pragmatic comparison among four very popular cross platform Cascading Style Sheets (CSS) with some native wrapper code tools, which are Rhodes, PhoneGap, DragonRad and MoSync. for accessing native Application Program Interfaces (API) like One of the main focuses of the comparison is to provide an Camera, Contacts, etc.
    [Show full text]
  • Use Style: Paper Title
    www.ijecs.in International Journal Of Engineering And Computer Science ISSN:2319-7242 Volume 2 Issue 6 June, 2013 Page No. 1961-1966 CROSS PLATFORM APPLICATION DEVELOPMENT WITH COMPATIBLE GUI SOLUTIONS Nithiyanantham.C, Kirubakaran.R Department of Pervasive Computing Technology Kings College of Engineering Punalkulam, Pudukkottai, India [email protected] Department of Pervasive Computing Technology Kings College of Engineering Punalkulam, Pudukkottai, India [email protected] Abstract Evolution of Smart phones and their applications takes one of the important roles in pervasive computing environments. But the diversity of mobile platforms and their APIs increase the effort of software development approach for Smartphone applications. The cross-platform mobile development tool provides code less futures, but they cannot able to solve the device fragmentation issues. The purpose of this paper is to construct a robust architecture of smart phone application development, which should provide an optimal GUI solution (coherency) with the assistance of responsive functionalities. Keywords—cross-platform; mobile applications; coherency; responsive; 1. Introduction applications of these operating systems should download from their respective marketplace. In mobile application Pervasive computing is a technology to access the development process developing the software, building and application at anywhere any time, with the help of any deploymentation should also consider each of its respective device [1]. Everywhere you go, people are using mobile mobile operating systems. So the developer has specialized devices to keep in touch with family and friends, to find a skills in a particular platform, and even though they create nearby restaurant, to store and access the content through an application but it should not compromise with devices the cloud, or to check the latest news headlines.
    [Show full text]
  • Via Anonymous Advertising Apps Anywhere Anytime (A5)
    Machine-to-Machine Marketing (M3) via Anonymous Advertising Apps Anywhere Anytime (A5) Machine-to-Machine Marketing (M3) via Anonymous Advertising Apps Anywhere Anytime (A5) JESUS MENA CRC Press Taylor & Francis Group 6000 Broken Sound Parkway NW, Suite 300 Boca Raton, FL 33487-2742 © 2012 by Taylor & Francis Group, LLC CRC Press is an imprint of Taylor & Francis Group, an Informa business No claim to original U.S. Government works Version Date: 20120110 International Standard Book Number-13: 978-1-4398-8192-7 (eBook - PDF) This book contains information obtained from authentic and highly regarded sources. Reasonable efforts have been made to publish reliable data and information, but the author and publisher cannot assume responsibility for the validity of all materials or the consequences of their use. The authors and publishers have attempted to trace the copyright holders of all material reproduced in this publication and apologize to copyright holders if permission to publish in this form has not been obtained. If any copyright material has not been acknowledged please write and let us know so we may rectify in any future reprint. Except as permitted under U.S. Copyright Law, no part of this book may be reprinted, reproduced, transmit- ted, or utilized in any form by any electronic, mechanical, or other means, now known or hereafter invented, including photocopying, microfilming, and recording, or in any information storage or retrieval system, without written permission from the publishers. For permission to photocopy or use material electronically from this work, please access www.copyright. com (http://www.copyright.com/) or contact the Copyright Clearance Center, Inc.
    [Show full text]
  • Cross Platform in Mobile Applications
    International Journal of Engineering Research & Technology (IJERT) ISSN: 2278-0181 Vol. 4 Issue 09, September-2015 Cross Platform in Mobile Applications Miss. Priyanka Sinha Miss. Mamta Verma Faculty coordinator in Poornima University B.Tech Student in Poornima University Department of Computer Engineering Department of Computer Engineering Poornima University Poornima University Jaipur, Rajasthan Jaipur, Rajasthan Abstract--There are three types of mobile application phones without a significant porting effort since mobile development, which are native mobile application, cross runs in a diverse range of OS. A lot of time money, platform mobile application and hybrid application. Many technologies and man power are needed to diverse mobile devices that runs with different operating system and application development. Statistics has shown that android languages in current mobile market. Android and iOS is the and iOS has held their leading position in current mobile most leading representative as the whole of current market. Developing application in different platforms has generated market as shown in Figure 1 below. Peoples tend to be many problems; a lot of time, cost and man power is needed if prompted by the current trends and the total applications there is no significant porting work for cross platform several available in each platform. In order to avoid re- mobile devices are propose For example- XMLVM, implementing the same application diversely, frameworks Phonegap, PhoneXml, DragonRad and RhoMobile, each with and tools such as XMLVM, Phonegap, PhoneXml, their own strength. Cross platform is necessary in current DragonRad and RhoMobile are needed. A study on cross mobile market and for developing games in cross platform platform for mobile device across iOS and Android is use XMLVM.
    [Show full text]
  • Comparison of Cross-Platform Mobile Development Tools
    2012 16th International Conference on Intelligence in Next Generation Networks Comparison of Cross-Platform Mobile Development Tools Manuel Palmieri Inderjeet Singh Antonio Cicchetti Innovation, Design and Engineering Innovation, Design and Engineering Innovation, Design and Engineering Malardalen¨ University Malardalen¨ University Malardalen¨ University Vaster¨ as,˚ Sweden Vaster¨ as,˚ Sweden Vaster¨ as,˚ Sweden [email protected] [email protected] [email protected] Abstract—Mobiles are an integral part of daily life. With time, from each other. Developed applications for a certain OS are customers are expecting good and very versatile applications not compatible for other OS’s, indeed, they force developers in less time. It is a big challenge to develop high performance to rebuild the same applications for them. mobile applications in this competitive market that would meet the expectation of customers. Mobile operating systems vendors Cross-platform mobile development tools are gaining pop- are giving their best available resources for making applications ularity in the world due to their characteristic to compile the in more convenient ways, although the development of new application source code for multiple supported OS’s. Such applications for each mobile operating system in short time is tools are mainly depending on web programming languages fairly a problem. Cross-platform mobile application development like HyperText Markup Language (HTML), JavaScript and tools contribute in solving this problem largely. This paper presents a pragmatic comparison among four very popular cross platform Cascading Style Sheets (CSS) with some native wrapper code tools, which are Rhodes, PhoneGap, DragonRad and MoSync. for accessing native Application Program Interfaces (API) like One of the main focuses of the comparison is to provide an Camera, Contacts, etc.
    [Show full text]
  • Master's Thesis
    Master's Thesis Two years International Master’s Programme in Computer Engineering Platform Independent Connections to the Internet of Things MA level, 30 credits Sandeep K.C. Platform Independent Connections to the Internet of Things Sandeep K.C. 2014-08-22 ii Platform Independent Connections to the Internet of Things Sandeep K.C. 2014-08-22 Abstract In the past few years, technology has been changing by leaps and bounds, within which a new topic has emerged as Internet of Things. These things serve as sensors/actuators, connected to the Internet and enabled to communicate with each other simultaneously in a P2P distributed manner. The sensors/actuators sense and generate contextual data in their surroundings in order to enable real- time context-aware behavior that make them more personalized and intelligent. This contextual information may be useful for human purposes like environment monitoring, home surveillance, elderly care, safety, security surveillance, etc. Moreover, smart mobile devices with incredible features have become hugely popular, the use of the Internet of Things would be much handier using smartphones to interact with sensors and also to generate information with its decorated sensors. The main aim of this thesis work is to create an extension for an add-in layer of the Internet of Things (SensibleThings Platform) architecture that adds functionalities like querying UCI value within the platform, connecting different mobile devices regardless of programming language, which has been done using the REST protocol. Furthermore, the intention is to build a P2P connection between the Java coded SensibleThings platform to a non-Java platform, i.e.
    [Show full text]