Implementation of a Mobile Communication Application for Blackberry 10
Total Page:16
File Type:pdf, Size:1020Kb
Masters in Informatics Engineering Internship Final Report Implementation of a Mobile Communication Application for BlackBerry 10 Filipe André Maia de Figueiredo [email protected] DEI Supervisor: Prof. Dr. Pedro Furtado WIT Software supervisor: Eng. Filipe Figueiredo ii Acknowledgments To my entire family, in particular to my parents, who made all of this possible. To both supervisors, Filipe Figueiredo and Pedro Furtado, for their time, patience and support during the whole internship. To Ana Carolina, my girlfriend and best friend, who always stood by me, helping me and giving me her support to overcome this journey. To all my friends and colleagues, for their support, friendship and experiences shared during the past six years. iii iv Abstract Is the smartphone an essential prop for life? Over the past few years, the number of smartphones’ users worldwide is facing an incredibly fast growth. With the smartphones evolution, applications based on Internet access have grown almost exponentially, mostly due to their minimal requirements and cost. Over The Top (OTT) applications began to appear and people started to use them to communicate instead of the traditional calls and Short Message Service (SMS). It is cheaper – most of these applications are cost free – and have more features, when it comes to comparison with the traditional mechanisms. To try to cope with the OTT usage growth, Mobile Network Operators (MNOs) came together with a solution: the creation of a solution that could compete against the OTT phenomena – the Rich Communication Suite (RCS). RCS specifies a set of communication services, including instant messaging, file transfer, real time video sharing and Voice over Internet Protocol (VoIP) calls. WIT-Software has an RCS Solution called WIT Communications Suite (WCS) that is currently available for the iOS and Android mobile platforms. With the launch of BlackBerry 10, a mobile phone that runs QNX (a Unix-like system), it is now possible to use the communication stack library developed in C++ by WIT-Software in BlackBerry 10 applications. Therefore, it is easier to bring WCS to BlackBerry 10 platform, and that is the goal of this internship. And yes! There are new props that can’t be dispensed in today’s life. Keywords “BlackBerry 10”, “Communication”, “GSMA”, “Instant Messaging”, “Mobile”, “Rich Communications Suite” v vi Index Glossary...................................................................................................................................... xiii Acronyms .................................................................................................................................... xv 1. Introduction ........................................................................................................................... 1 1.1. The Company ................................................................................................................ 1 1.2. Motivation ..................................................................................................................... 2 1.3. Context .......................................................................................................................... 4 1.3.1. The Rich Communication Suite ............................................................................ 4 1.3.2. The Message+ Application .................................................................................... 5 1.4. Objectives ...................................................................................................................... 6 1.5. Internship’s Main Challenges ........................................................................................ 6 1.6. Document Structure....................................................................................................... 7 2. State of the Art ...................................................................................................................... 9 2.1. Competitors ................................................................................................................... 9 2.1.1. Indirect Competitors ............................................................................................ 10 2.1.2. Direct Competitors .............................................................................................. 18 2.1.3. Comparative Analysis ......................................................................................... 19 2.1.4. Conclusions of the Analysis ................................................................................ 21 2.2. Technologies ............................................................................................................... 21 2.2.1. Porting Applications from Android to BlackBerry 10 ........................................ 21 2.2.2. Android Repackaging Tools ................................................................................ 22 2.2.3. Creation of a new application for BlackBerry 10 ................................................ 22 2.2.4. Conclusions of the Analysis ................................................................................ 25 3. Requirements ....................................................................................................................... 27 3.1. Functional Requirements ............................................................................................. 27 3.2. Non-Functional Requirements .................................................................................... 31 4. System Architecture ............................................................................................................ 33 4.1. Overview ..................................................................................................................... 33 4.2. COMLib ...................................................................................................................... 34 4.3. BlackBerry 10 Application Architecture ..................................................................... 36 4.4. Message+ for BlackBerry 10 ...................................................................................... 38 4.1.1. Registration ......................................................................................................... 40 4.4.2. Contacts ............................................................................................................... 41 4.4.3. Chat/SMS ............................................................................................................ 42 vii 4.4.4. File Transfer/MMS .............................................................................................. 43 4.4.5. Application Settings ............................................................................................ 44 5. Software Development Methodology ................................................................................. 47 5.1. Scrum Methodology .................................................................................................... 47 5.2. SVN and Redmine ....................................................................................................... 49 5.3. Planning ....................................................................................................................... 49 5.4. Risk Analysis .............................................................................................................. 52 5.5. Discrepancy from the Initial Plan ................................................................................ 54 6. Implementation and Software Quality ................................................................................ 55 6.1. Implementation: Features, Challenges and Problem Solving ...................................... 55 6.1.1. COMLib compilation .......................................................................................... 55 6.1.2. COMLib User Input and Registration ................................................................. 58 6.1.3. Contacts ............................................................................................................... 59 6.1.4. Chat and File Transfer ......................................................................................... 60 6.1.5. Chat List .............................................................................................................. 62 6.1.6. SMS and MMS .................................................................................................... 63 6.1.7. Settings ................................................................................................................ 63 6.2. Software Quality ......................................................................................................... 64 6.2.1. Functional Tests .................................................................................................. 64 6.2.2. Non-Functional Tests .......................................................................................... 65 7. Conclusions ......................................................................................................................... 71 7.1. Overview ..................................................................................................................... 71 7.2. Future Work ................................................................................................................ 71 7.3. Final Remarks ............................................................................................................