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 CU
H
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/new-
report-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