COMP7506 Ch1 Introduction
COMP7506 Ch1 Introduction
Introduction
2024-2025
COMP7506 Smart Phone Apps Development
Dr. T.W. Chim (E-mail: twchim@cs.hku.hk)
Agenda
2
Popular Operating Systems
Sort by name…
Android OS (Google Inc.)
Bada (Samsung Electronics)
BlackBerry OS (Research In Motion)
iPhone OS / iOS (Apple)
MeeGo OS (Nokia and Intel)
Palm OS (Garnet OS)
Symbian OS (Nokia)
webOS (Palm/HP)
Windows Mobile / Windows Phone (Microsoft)
3
Android
4
Open Handset Alliance (OHA)
[開放手機聯盟]
A business alliance consisting of 84 (up to 2023) technology
and mobile companies to develop open standards for mobile
devices.
https://www.openhandsetalliance.com/index.html
5
Android
Android uses Linux for its device drivers, memory
management, process management, and networking.
The next level up contains the Android native libraries.
They are all written in C / C++ internally, but you’ll be
calling them through Java / Kotlin interfaces. In this
layer you can find the Surface Manager, 2D and 3D
graphics, media codecs, the SQL database (SQLite),
and a native web browser engine (WebKit).
6
Architecture
7
Dalvik Virtual Machine
& Android Runtime (ART)
Managed runtime used by applications and some system services on
Android.
Android 4.4 (KitKat) brought a technology preview of ART, including it as an
alternative runtime environment and keeping Dalvik as the default virtual
machine. In the subsequent major Android release, Android 5.0 (Lollipop),
Dalvik was entirely replaced by ART.
Key difference:
Dalvik: interpretation and trace-based JIT compilation
Android Runtime (ART):
ahead-of-time (AOT) compilation, compiling entire applications into native
machine code upon their installation improves the overall execution
efficiency and reduces power consumption, which results in improved
battery autonomy on mobile devices
faster execution of applications, improved memory allocation and garbage
collection (GC) mechanisms, new applications debugging features, and more
accurate high-level profiling of applications
8
Android
Security:
Android is a multi-process system, in which each application (and
parts of the system) runs in its own process. Most security between
applications and the system is enforced at the process level through
standard Linux facilities, such as user and group IDs that are assigned
to applications.
Additional finer-grained security features are provided through a
"permission" mechanism that enforces restrictions on the specific
operations that a particular process can perform, and per-URI
permissions for granting ad-hoc access to specific pieces of data.
Programming languages:
Java / Kotlin – officially supported
C / C++ – as native library that Gradle can package with APK (using
build tool CMake), and being called by Java / Kotlin program via Java
Native Interface (JNI)
9
Android Versions
Android 15 10
MIUI & HyperOS
MIUI (pronunciation: Me You I) is a modified Android ROM developed by
electronics manufacturer Xiaomi for its smartphones.
The first MIUI ROM was based on Android 2.2 (2010).
MIUI V1 (Android 2.2) in 2010 – MIUI 14 (Android 12 – 14) in 2023
There are different versions for each Xiaomi phone, and each version has
variants according to the regions in which the phone is sold, such as
Chinese, Global, EEA, Russian, Indonesian, Indian, Taiwan and Turkish.
MIUI does not ship with Google Play Services in China. However, MIUI
releases for Android devices outside China have Google Play Services and
Google Apps such as Gmail, Google Maps, Google Play Store pre-installed
and functioning as on any other Android device. MIUI global versions are
certified by Google.
Superseded by Xiaomi HyperOS in 2023
Better performance, improved battery life, cleaner interface
11
HarmonyOS
12
HarmonyOS
13
HarmonyOS
To facilitate application development, several kits are provided:
Account Kit
Give users easy, quick, and secure sign-ins
Location Kit
Pinpoint precise user locations with the speed and accuracy of multiple methods
Game Service
Focus on innovating the gaming experience with in-depth services
Scan Kit
Give users access to the QR and other barcodes around them
Machine Learning Kit
Take advantages of machine learning for more visual and language services
Awareness Kit
Get the context and status of users to give them a smarter experience
Push Kit
Improve user awareness and engagement in apps
Wallet Kit
Be part of the All-in-One Wallet digital lifestyle with the convenience of multiple
open and accessible passes 14
iOS (iPhone OS)
Programming languages:
Objective-C – most common
Swift – the emerging programming language
C / C++ – also possible but not supported
16
Technology Layers
17
BlackBerry OS
BlackBerry OS is a proprietary mobile operating system
developed by the Canadian company BlackBerry Limited
(formerly known as Research In Motion, or RIM) in January
1999.
BlackBerry provides enterprises and governments with the
software and services they need to secure the Internet of
Things (e.g., e-mail service).
Physical keyboard is a feature of BlackBerry devices.
In 2013, BlackBerry introduced BlackBerry 10, a major
revamp of the platform based on the QNX operating system.
BlackBerry 10 was meant to replace the aging BlackBerry
OS platform with a new system that was more in line with
the user experiences of Android and iOS platforms.
In September 2015, BlackBerry announced the Priv, which
is an android-based handset.
18
Symbian OS
Produced by the software development and licensing company Symbian Ltd.
Symbian Ltd. was established in June 1998 and is headquartered in Southwark in
the UK.
The native language of the Symbian OS is C++.
Java 2nd the most important programming language on Symbian OS.
Mostly used in Nokia’s mobile phones
The last Nokia phone supporting Symbian was Nokia 808 PureView, which was
released in 2012.
Final release: Nokia Belle Feature Pack 2 (released on 2 Oct, 2012)
19
Windows Mobile OS /
Windows Phone OS
Windows Mobile (2000 – 2013):
A mobile operating system developed by Microsoft
Last version: Windows Mobile 6.5 (based on Windows
CE 5.2 kernel)
Superseded by Windows Phone
Windows Phone (2010 – 2015):
Latest version: Windows 10 Mobile
Feature: Coherent file system similar to that of
Windows 9x/Windows NT and support many of the
same file types.
Note: Windows is providing more support to Android
and iOS than before.
Windows 10 users can use Microsoft’s Your Phone
app to mirror phone content to a PC
(https://www.theverge.com/2018/8/14/17689670/
microsoft-windows-10-your-phone-app-microsoft-
store-download)
20
Market Share of Mobile OS
https://gs.statcounter.com/os-market-share/mobile/worldwide
21
Market Share of Mobile OS
https://gs.statcounter.com/os-market-share/mobile/china
22
Market Share of Mobile OS
https://gs.statcounter.com/os-market-share/mobile/united-states-of-america
23
Market Share of Programming Languages
Reference: http://pypl.github.io/PYPL.html
24
Why Mobile
Apps?
Why Mobile Apps?
26
Why Mobile Apps?
Using “MyObservatory” Using Chrome browser:
app:
Total data
Total data consumption: 108.9 KB
consumption: 53.6 KB
Assume that it is the
Assume that the app first time to open this
has been pre-installed. web page.
Reference: http://blog.jakpat.net/mobile-web-vs-mobile-apps-survey-report/
31
User’s preference in the mobile space
Reference: http://blog.jakpat.net/mobile-web-vs-mobile-apps-survey-report/
32
User’s preference in the mobile space
Reference: http://blog.jakpat.net/mobile-web-vs-mobile-apps-survey-report/
33
User’s preference in the mobile space
Reference: http://blog.jakpat.net/mobile-web-vs-mobile-apps-survey-report/
34
Key Principles
of Mobile User
Experience
Design
Key Principles of Mobile User
Experience Design
Principle 1: Remove the clutter, protect your design
from overloads
Allocate user’s attention accordingly to your or user’s needs.
Too much information can scare your user away and cause
confusion.
Get rid of all odd elements such as buttons, images, texts and
other elements that are not vital. Perfection is achieved when
there is nothing left to take away. Improve the
comprehension by providing one primary action per screen.
On mobile, it’s better to have many screens with a single
action per each rather than one screen with many actions
that are not clear.
‘One of the basic rules of good UX is to reduce the effort users
have to put in to get what they want.’ – Nick Babich. 36
Key Principles of Mobile User
Experience Design
Principle 2: Intuitive navigation
This principle is at a high priority for every mobile (and web as
well) app design. Good navigation should be invisible and
effortlessly lead the user to the proper destination without
any explanation. Visual metaphors and navigation elements
must create a coherent flow.
Mobile navigation must be consistent and communicate the
current location. The user should know where exactly he or
she is right now.
37
Key Principles of Mobile User
Experience Design
Principle 3: Seamless experience for all type of devices
Creating a seamless experience across mobile, desktop and
tablet is very important for your users. There should be no
dramatic difference for the same app across different devices.
Principle 4: Design finger-friendly tap-targets
All the targets in mobile interfaces design should be big
enough so users could tap them easily with a finger. Not less
than 7 – 10 mm. Don’t forget about the clear visual feedback.
38
Key Principles of Mobile User
Experience Design
Principle 5: Legible content
One of the challenges of mobile design is to fit a lot of
information on a small user interface. Do not try to squish
everything down in an attempt to provide as much
information as possible. Remember, that text should be at
least 11 points to be legible at a typical viewing distance
without zooming. A good UI has a lot of breathing room.
It’s better not to experiment with decorative fonts, but use
the standard Helvetica Neue for iOS and Roboto for Android.
39
Key Principles of Mobile User
Experience Design
Principle 6: Clearly visible interface elements
Use color and contrast to help users see and interpret your
content. The contrast between elements is especially vital for
users with low vision.
The W3C recommends the following contrast ratios for body text
and image text:
Small text should have a contrast ratio of at least 4.5:1 against its
background.
Large text (at 14 pt bold / 18 pt regular and up) should have a contrast
ratio of at least 3:1 against its background.
Contrast ratio = (L1 + 0.05) / (L2 + 0.05) where
L1 is the relative luminance of the lighter of the colors
L2 is the relative luminance of the darker of the colors
Relative luminance can be formed as a properly weighted sum of RGB
Reference: https://www.w3.org/WAI/WCAG21/Understanding/contrast-minimum.html#dfn-image-of-text
40
Key Principles of Mobile User
Experience Design
Principle 7: Design controls should be based on hand
position
According to Steven Hoober research, about 49% of mobile
users rely on one thumb to get things done on their phones.
So when designing a mobile app, take care about comfort
zones for a person’s one-handed reach on a smartphone.
Place all the top-level menus, frequently-used controls and
common actions in these comfort zones of one-thumb
interactions.
41
Key Principles of Mobile User
Experience Design
Principle 8: Minimize the need for typing
Keep forms as short and simple as possible by removing any
unnecessary fields. Use auto-complete and personalized data
where appropriate so that users only have to enter the bare
minimum of information.
42
UX Constraints
of Mobile Apps
UX Constraints of Mobile Apps
Constraint 1: Client-side storage
One of the major constraints of mobile apps is that the app
data sits client side rather than server side like on web (think
Amazon, Facebook, Twitter, etc.). That means that every time
a user downloads an app, they lose a certain amount of
storage.
When users use up the storage, users often have to make a
quick decision. They have to delete something. So the
question becomes, is your app more important to your users
than a family video, or favorite song?
On mobile, frequency of use is far more important than
perceived utility…
44
UX Constraints of Mobile Apps
Constraint 2: Small screen sizes and clunky controls
Even as screen sizes become larger and larger, the overall
mobile experience is still not an optimal method for reading
or accomplishing tasks.
“Mobile screens are smaller: reading through a peephole
increases cognitive load and makes it about twice as hard to
understand.” - Jakob Nielsen, Web Utility Consultant.
In addition, the controls and keyboards on smartphones can
be particularly difficult to use. According to Foolproof UX,
56% of users said they had not signed up for an app or mobile
service because the registration process was too time
consuming.
45
UX Constraints of Mobile Apps
Constraint 3: Environments full of
distractions
Mobile users are much more prone to
dropping off than their web counterparts.
Personal computers are more commonly
used in workspaces such as coffee shops,
home offices, and at work.
Phones are often used in non-work
settings.
Even if they intend to return later, users
often forget and never come back,
deleting the app after weeks without use.
Once users drop off, you need to have a
strategy for bringing them back into your
app…
46
UX Constraints of Mobile Apps
Constraint 4: Making any update is incredibly hard
“Shipping mobile software is inherently different than shipping
web software – the stakes are higher.” - Christian Legnitto,
Release Manager at Facebook
Making even the tiniest of changes in a mobile app is incredibly
hard. Most teams already know that shipping even a small
change takes an average of 7 days to be approved by Apple.
Furthermore, because the data sits client side, users have to go
in and download those updates manually.
If changes don’t perform as expected (driving wrong user
behaviors, introducing bugs, etc.), fixing the issue immediately is
out of the question. Instead, you’ll have to wait for an additional
review process and slow user adoption.
That’s why release management is so important.
47
UX Constraints of Mobile Apps
Constraints can be catalysts
On mobile, there are a lot of constraints to overcome, but as
we’ve seen, constraints can actually make you more creative.
While on mobile you’ll have to deal with small screen sizes,
limited storage and connectivity, distractions, and app stores
they’ll also force your team to create better products.
48
Types of Mobile
Apps
By Categories
Game
Weather
Social Networking
Navigation / Map
Any examples???
Music
News
Entertainment
Sports
Banking / Finance
Shopping / Retail
Dining / Restaurant Google Play: https://play.google.com/store/apps
Apple Store: http://www.apple.com/hk/itunes/
Search
Search and Bid
Digital Books / Magazines
… 50
Most popular Apple App Store categories in
2023, by share of available apps
https://bigohtech.com/apple-app-store-statistics/
51
By Nature
Native Apps
Native apps are what typically springs to mind when you think of an
app.
You download them from the App Store or Google Play, they sit
within your device’s applications, and you launch them by tapping
their icon.
Web Apps
Web app is the mobile version of a site.
An “app” like this loads within a mobile browser, like Safari or
Chrome, like every other website. Your audience doesn’t have to
install a web app. They don’t need to have available space on their
devices.
Web apps are sometimes designed to look and behave like apps and
are in general ideal when the purpose is simply to make content or
functionality available on mobile, but an app is either not a good fit
or too expensive.
Example: http://www.cs.hku.hk/
52
By Nature
Hybrid Apps
The bulk of the app is built using cross-compatible web technologies,
such as HTML5, CSS and JavaScript — the same languages used to
write web apps.
Some native code is used however to allow the app to access the
wider functionality of the device and produce a more refined user
experience. For native apps, instead only native code is used.
The advantage of this approach is obvious: only a portion of native
code has to be re-written to make the app work on the different
kinds of devices available.
They wrap “web views” within native code to deliver their content.
53
By Nature
Source: https://static.dzone.com/dz1/dz-files/Screen%20Shot%202014-06-
13%20at%205.05.49%20PM.png
54
By Business Model
Free apps with in-app
purchases
Paid apps without in-
app purchases
Paid apps with in-app
purchases
Reference: http://www.statista.com/statistics/283753/apple-app-store-global-category-revenue-share-per-business-model/
55
Mobile App
Development
Trends
Reference: https://hackernoon.com/top-mobile-application-development-trends-in-
2019-5bc1ba19188
Sharing of Economy
An activity of acquiring, providing, or sharing access to goods
and services that is often facilitated by a community-based
online platform.
Sharing economy has succeeded in large part because the real
economy has been struggling
Lots of people are trying to fill holes in their income by
monetizing their stuff and their labor in creative ways
[Source:
http://nymag.com/daily/intelligencer/2014/04/sharing-
economy-is-about-desperation.html]
Mobile and e-payment technology helps boosting sharing
economy
The users of a Sharing Economy platform have to trust the
platform itself as well as the product at hand 57
58
Open up homes to complete strangers for money
Allows everyone to run their mini-hotel.
Airbnb is an online marketplace and hospitality service,
enabling people to list or rent short-term lodging including
vacation rentals, apartment rentals, homestays, hostel
beds, or hotel rooms.
The company does not own any lodging; it is merely a
broker and receives percentage service fees from both
guests and hosts in conjunction with every booking.
It has over 3,000,000 lodging listings in 65,000 cities and
191 countries, and the cost of lodging is set by the host.
59
60
Open up cars to strangers for money
Allows everyone to be drivers
Uber Technologies Inc. is an American worldwide online
transportation network company headquartered in San
Francisco, California.
It develops, markets and operates the Uber app, which
allows consumers with smart phones to submit a trip
request, which the software program then automatically
sends to the Uber driver nearest to the consumer, alerting
the driver to the location of the customer.
Uber drivers use their own personal cars.
61
The Uber app automatically calculates the fare and transfers the
payment to the driver.
In 2015, Uber achieved its 1 billion rides milestone since its
founding
As of August 2016, the service was available in over 66 countries
and 545 cities worldwide.
Since Uber's launch, several other companies have replicated its
business model, a trend that has come to be referred to as
"Uberification".
The legality of Uber has been challenged by governments and taxi
companies, who allege that its use of drivers who are not
licensed to drive taxicabs is unsafe and illegal.
Uber introduced Uber Taxi in 2021. 62
63
Allows small restaurants to expand their reach to a larger
customer base.
On-demand meal delivery service.
Key Components:
Restaurant Partners: Teams up with restaurants in different areas
to offer a range of cuisines
Menu: May have daily rotating menu
Ordering: Customers can order through apps
Payment: Payment can be cashless, credit card, etc.
Delivery: Meals are delivered to the location selected in the app by
couriers — who may be in cars, on foot, or on bikes.
64
Web3 Applications
Also known as decentralized apps
(dApps)
Leverages smart contracts and
blockchain data to offer
transparency, security and giving
back control to users over their
assets and data (user-centric)
Many Web3 apps make money by
selling NFTs (Non-Fungible Tokens).
E.g., Web3 games sell NFTs
representing in-game assets like
characters, skins, items, or virtual
real estate to enable players to
have true ownership over digital
items.
65
Use of Artificial Intelligence
Example: Chatbot
66
Use of VR & AR
69
Internet of Things (IoT) Trends in the
Sphere of Mobile App Development
70
Mobile Health (mHealth)
Use mobile applications to support healthcare service and to provide health
information
Advantages over traditional healthcare approaches:
Real-time health service
Flexible health service (e.g., telemedicine)
Serve more patients
Applications nowadays:
Disease screening and management (e.g., cancers, cardiovascular diseases, diabetes,
etc.)
Patient self-management (e.g., medication and treatment reminders, body weight,
calorie counting, food tracking)
Health service provider searching
Patient education (e.g., disease symptoms, medications and drugs)
Feature requirements:
Time efficiency (important)
User-friendly (important)
Simple (important)
Funny elements such as games and social media integration (to sustain long-term use)
71
mHealth Apps for Elderly
Given that the Hong Kong population is rapidly ageing, older people will
become the primary consumers of mHealth apps.
Examples:
Elderly care (e.g., Fall Prevention)
Remote or self-monitoring (e.g., chronic conditions such as hypertension)
Patient education
Finding / booking a healthcare service (e.g., Kowloon Hospital Guide, HA Go)
Checking emergency service status
Achieving healthy diet (e.g., CookSmart)
Remote vital sign monitoring, information exchange, social connection, mental
health consultation (in response to the COVID-19 outbreak)
Problem: Elderly are least likely to accept new technology (e.g., only two-
third of older adults aged 65+ owned smartphone and even fewer for older
people).
Challenge: How to attract the elderly to pick up mHealth apps easily and to
attract them to use continuously?
72
Chapter 1.
End
2024-2025
COMP7506 Smart Phone Apps Development
Dr. T.W. Chim (E-mail: twchim@cs.hku.hk)