0% found this document useful (0 votes)
93 views73 pages

COMP7506 Ch1 Introduction

The document provides an overview of mobile operating systems, focusing on Android, iOS, and others, including their architectures and programming languages. It discusses the advantages of mobile apps over web browsing, emphasizing user experience design principles such as intuitive navigation and legible content. Additionally, it highlights the economic implications and trends in mobile app development for the 2024-2025 academic year.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
93 views73 pages

COMP7506 Ch1 Introduction

The document provides an overview of mobile operating systems, focusing on Android, iOS, and others, including their architectures and programming languages. It discusses the advantages of mobile apps over web browsing, emphasizing user experience design principles such as intuitive navigation and legible content. Additionally, it highlights the economic implications and trends in mobile app development for the 2024-2025 academic year.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 73

Chapter 1.

Introduction

2024-2025
COMP7506 Smart Phone Apps Development
Dr. T.W. Chim (E-mail: twchim@cs.hku.hk)
Agenda

Mobile Operating Systems


Why Mobile Apps?
Key Principles of Mobile User Experience Design
UX Constraints of Mobile Apps
Types of Mobile Apps
Implication of Mobile Apps to Economy
Mobile App Development Trends

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

A software platform and operating system for mobile


devices.
Based on the Linux kernel.
Developed by Google and later the Open Handset
Alliance (OHA).

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

HarmonyOS (鸿蒙 in Chinese) is a distributed operating system


developed by Huawei to run on multiple devices.
HarmonyOS was first released in September 10, 2019.
Official website: https://www.openharmony.cn/
In contrast to Android apps being packaged into APK file format,
HarmonyOS apps are released as an App Pack suffixed
with .app for distribution at Huawei's AppGallery. Each App
Pack contains one or more HarmonyOS Ability Package (HAP)
files and a pack.info file.

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)

iOS (known as iPhone OS prior to June 2010) is Apple's mobile


operating system.
Apple is a company who developed iPhone Operating System (iOS).
This OS was released on June 29, 2007, with the first iPhone.
Used in iPhone, iPad, iPod touch, Apple Watch and Apple TV.

First iPhone on display under glass at 2007 Macworld


15
iOS (iPhone OS)
Game center: Sample functions:
A service introduced by Apple that allows users - Leaderboards
to play and challenge friends when playing - Dashboard
online multiplayer social gaming network games. - Achievements
Games can now share multiplayer functionality - Challenges
between the Mac and iOS versions of the app. - Multiplayer
Game Center was announced during an iOS 4 - Friends
preview event hosted by Apple on April 8, 2010.
A preview was released to registered Apple
developers in August 2010.

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?

Comparing with reading a related page using


browsers, using smart phone apps have the
following advantages:
More convenient
No need to type in URL especially for the first time
Better fit to the mobile phone screen
Web pages are designed to be browsed using
computers in general. So the words are usually too
small to be displayed on mobile phone screens.
Less data is downloaded from the server

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.

Data measured using this app:


27
Why Mobile Apps?
Less data is downloaded from the server
For browsers, all components including text and
images are downloaded from the server.
For apps, images are stored in the apps and only
essential elements (basically text) are downloaded
from the server.
For example:
2.9 KB for transmitting the sunny icon
5 B for transmitting the word “sunny”
Can further save data: only 39 possible icons
and so each icon can be uniquely represented
by 6 bits!
28
10 Reasons Why Apps Are Better
An article published in September 2024:
https://vwo.com/blog/10-reasons-mobile-apps-are-better/

Mobile apps offer better personalization


E.g., based on interests, location, usage behavior
Ease of sending notifications
2 types: push and in-app notifications
Making use of mobile device features
E.g., camera, contact list, GPS, phone calls, accelerometer,
compass
Ability to work offline
Freedom in designing
E.g., can base on advanced gestures like tap, swipe, drag,
pinch, hold
29
10 Reasons Why Apps Are Better
An article published in September 2024:
https://vwo.com/blog/10-reasons-mobile-apps-are-better/

New branding experience


New branding styles to customers
Brand presence
App icon is like a mini-advertisement for the brand
New stream of conversions
Conversion funnel: a roadmap that you create for
potential customers.
Users spend more time on Apps
Mobile users spend 88% of their time on mobile apps and
just 12% of their time on mobile websites
Apps can work faster than websites
30
User’s preference in the mobile space

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

Example: Pokemon Go – according to reports, Pokemon Go has generated a revenue


of $1.2 billion and was downloaded approx. 752 million times. Around 5 million active
users playing Pokemon Go across the globe. 67
Use of 5G Technology

Can we utilize advantages of 5G technology in our mobile apps


development?
68
Instant Apps for Mobile App
Development
An instant app is a small software program that enables end users to test out
a portion of a native Android app without installing it on a device.
Instant apps, although they run like local apps, are native containers with
access to a device's hardware.
Because end users do not install them, instant apps do not take up storage
on the device.
Starting from version 3.0, Android Studio support developing instant apps or
transforming full apps into an instant apps.

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)

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy