EEE2105 - CPE3106 Mobile Application Development Introduction 24 August 2023 School of Engineering and Technology LECTURE CONTENT Course Outline Introduction to mobile Applications 2 INTRODUCTION TO THE COURSE Course code Course name Year Semester C H CU CPE3106 Mobile Application Development 3 1 60 4 COURSE DESCRIPTION: This Course introduces all aspects of Android, iOS, Blackberry and Windows Phone application development in an easy-to-understand approach. This course will help students learn how to design the user interface; persistently store data; design mobile applications that can display pictures and menus; develop mobile applications to send messages and e-mails; work with location services and maps; run background services in the mobile applications; develop applications that support the audio, video, and camera of a mobile device-and much more. It explores all these concepts with appropriate examples and executable applications. 3 INTRODUCTION TO THE COURSE COURSE OBJECTIVES: The objective of the course is to train the person in such a way so that he/she may be able to design, develop, test and install mobile applications. COURSE LEARNING OUTCOMES: By the end of the Course, students should gain the following competencies: Requirement Gathering Mock-ups and prototypes Design of mobile applications Coding mobile applications Unit Testing/Debugging of mobile applications Deployment/ Installations 4 INTRODUCTION TO MOBILE APPLICATIONS NOT THIS 5 INTRODUCTION TO MOBILE APPLICATIONS BUT THIS 6 INTRODUCTION TO MOBILE APPLICATIONS ESSENCE OF A MOBILE DEVICE • (Potentially) available to serve everywhere, any time. • Interwoven into daily life – live, work, play, study • Represents and intimately “knows” the user – Much more than just a small computer, it represents the user • Brings in outside world: sensing, location, communication 7 INTRODUCTION TO MOBILE APPLICATIONS The Mobile revolution 8 INTRODUCTION TO MOBILE APPLICATIONS The Mobile revolution Smart phone units sold actually surpassed PC units in Q4 2010 (IDC worldwide quarterly tracker – January 2011, 100 million sold vs 92 million PCs) The total number of smart phones sold between 2007 and 2022 is 1.3 billion (Statistica) • Now the dominant end-user device ~ 30% of Uganda own a smartphone (June 2021): https://uccinfoblog.wordpress.com/2021/09/14/newreport-29m-use-phones-22m-on-internet/ 9 INTRODUCTION TO MOBILE APPLICATIONS iPhone – game changing T he iPhone went on s ale in the United States on June 29, 2007 This started to fundamentally change the way people interact with phones 10 INTRODUCTION TO MOBILE APPLICATIONS The rise of smart gadgets Now designing for mobile means not only phones but also tablets, smart TVs and smart watches 11 INTRODUCTION TO MOBILE APPLICATIONS Mobile App Design – What is it The history of phone platforms has been more diverse than that of PC Notably, over the last few years the form factor has moved from physical keyboard to “touch” and there is a demand for more services 12 INTRODUCTION TO MOBILE APPLICATIONS Mobile App Design – Where do we start? 1. Choose an SDK 2. Learn an SDK 3. Design and develop 4. Publish to relevant App Store 5. Promote! 13 INTRODUCTION TO MOBILE APPLICATIONS Mobile Phone OS Market Share in 2022 Source: Line Corp 14 INTRODUCTION TO MOBILE APPLICATIONS • Which OS do you prefer: iOS or Android? • What’s your favorite mobile app? – What do you like most about it? • What’s your least favorite mobile app? – What do you dislike about it? • How do mobile apps connect to Internet-based services for end users? (Cost implications) • How does one capture data from on-device sensors (e.g., GPS, accelerometer)? 15 INTRODUCTION TO THE COURSE Application Development Support • Object-Oriented Languages – iOS: Swift – Android: Java/Kotlin • Cross-platform frameworks: – Flutter, Xamarin, Titanium, PhoneGap, … – Scripting languages ( JavaScript, Ruby) • C and C++ (native code) • Integrated into mobile app dev. frameworks 16 INTRODUCTION TO THE COURSE Mobile App. Development Challenges • Competitive, fluid vendor landscape (Apple, Android consortium incl. Amazon, RIM, HP) means apps need to be multi-platform for wide adoption • No “standard” device (iOS, Windows Phone devices?) • Low bandwidth input (in most cases; what about tablets?) • Unreliability in connectivity and device (network access, power, ambient light, noise, at least for now) • Integration tradeoffs with cloud and enterprise services 17 INTRODUCTION TO THE COURSE 18 INTRODUCTION TO THE COURSE 19 INTRODUCTION TO THE COURSE 20 INTRODUCTION TO THE COURSE 21