KEMBAR78
Mobile App Dev: A Beginner's Guide | PDF | Android (Operating System) | Mobile App
0% found this document useful (0 votes)
47 views51 pages

Mobile App Dev: A Beginner's Guide

This document provides an overview of mobile app development processes. It discusses that mobile apps can be developed using either project-based or product-based development. Product-based development, where the developer identifies opportunities, is most common for mobile apps. The typical mobile app development process involves strategy, analysis and planning, design, development, testing, and deployment phases. User stories and acceptance criteria are important for planning and testing app features. The document also briefly discusses mobile trends like Android's market share and the impact of app ratings on downloads.

Uploaded by

KorneaKostea
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)
47 views51 pages

Mobile App Dev: A Beginner's Guide

This document provides an overview of mobile app development processes. It discusses that mobile apps can be developed using either project-based or product-based development. Product-based development, where the developer identifies opportunities, is most common for mobile apps. The typical mobile app development process involves strategy, analysis and planning, design, development, testing, and deployment phases. User stories and acceptance criteria are important for planning and testing app features. The document also briefly discusses mobile trends like Android's market share and the impact of app ratings on downloads.

Uploaded by

KorneaKostea
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/ 51

Mobile App Development & Android:

An Introduction
Usman Nasir
Lecture 02
Mobile Application Development
Process
Mobile Application Development process
■ Mobile apps are software application
■ Can be developed using
Project based development
Or
Product based development

■ Software products are generic software systems that provide functionality


that is useful to a range of customers.
– simple mobile phone apps (e.g. Google Keep) or games (e.g. Suduko).
Project-based software engineering
Figure 1.1 Project-based software engineering

CUSTOMER

Problem

generates helps-with

implemented-by

Requirements Software

CUSTOMER and DEVELOPER


DEVELOPER

Fig 1.1 Sommerville, 2019


Product-based software engineering
Figure 1.2 Product software engineering

DEVELOPER

Opportunity

inspires realizes

implemented-by
Product
Software
features

DEVELOPER DEVELOPER

Fig 1.2 Sommerville, 2019


■ Mobile application development is software product development
– Mostly no external customer generates requirements and product ideas or
features drive app development
– paid services are offered.

■ Agile development Methodology for mobile app development


– There is not special mobile app development method
– No Mobile App Scrum!
Use Agile development
approach to develop a
mobile application
Mobile Application Development Process

https://www.invonto.com/services/mobile-app-development/
■ Strategy (the why)
– Establish the app’s goals and objectives
– Identify the app users
– Research the competition
– Select a mobile platform for your app

■ Analysis and Planning


– Functional requirements & user stories are defined.
– Define minimum-viable-product (MVP) and prioritize requirements.
■ UI/UX Design phase
– Goal of mobile app UI / UX design is creating excellent user experiences
making your app interactive, intuitive, and user-friendly.
■ Information Architecture & Workflows
■ Wireframes, Style guides, Mock-ups, Prototype

■ App Development
– Plan and define the technical architecture, technology stack, development
milestones
– Develop
■ Back-End/Server Technology, APIs, Mobile App Front-End
■ Testing
– Prepare test cases that address all aspects of app testing.
■ User Experience Testing
■ Functional Testing
■ Performance Testing
■ Security Testing
■ Device and Platform Testing
■ Deployment & Support
– Deploy native app on store
■ Apple App Store for iOS apps
■ Google Play for Android apps
What and why?
■ How do we
– Establish the app’s goals and objectives
– Identify the app users

Make a
vision
document
Mobile app vision
■ The starting point for software product development is a ‘product vision’.
– Product (Mobile app) visions are simple statements that define the essence
of the product to be developed.

■ The mobile app vision should answer three fundamental questions:


– What is the product to be developed?
– Who are the target customers and users?
– Why should customers buy this product?
Moore’s vision template
■ FOR (target customer) WHO (statement of the need or opportunity)
■ THE (PRODUCT NAME) is a (product category)
■ THAT (key benefit, compelling reason to buy)
■ UNLIKE (primary competitive alternative)
■ OUR PRODUCT (statement of primary differentiation)
An example: FOR sales staff WHO need basic CRM functionality, SaleRec is a
mobile app THAT record leads in a database and organizes them into multiple
lists/categories for easy sharing UNLIKE other mobile products, OUR product
provides lead record sharing”

From Geoffrey Moore’s book Crossing the Chasm


https://www.joelonsoftware.com/2002/05/09/product-vision/
Competitor Research
■ How do we
– Research the competition
– Know compelling reason to buy
What is unique in
■ Know Your Unique Value Proposition your app that
competition (other
■ Answer these fundamental questions: apps on store) does
– What has your competition done well? not offer.
– What are their strengths and weaknesses?
– What are your strengths and weaknesses?
– How will your solution be different and add value for potential users?
Competitive Analysis Matrix

Taken from:
https://www.smashingmagazine.com/2017/12/improving-
mobile-app-competitive-analysis/
Image from:
https://www.sma
shingmagazine.co
m/2017/12/impr
oving-mobile-app-
competitive-
analysis/
User stories for mobile
■ User Story describes how a user intends to use the mobile app.
– told from the user’s perspective and aims to capture a specific functionality
of the app
■ such as, buying a product, sending money, or whatever the end goal of your app
is.
■ User stories describe the work needed to deliver an app feature.
– Essential document for communication, planning and negotiation

■ Typically follow a simple template:


As a < type of user >, I want < some goal > so that < some reason >.
■ Try writing one:
– As a < type of user >, I want to < perform an action> so that < some reason>.

Handelsbanken.se Mobile App


■ Feature: Display account balance
■ Customer wants to makes payment to vendor

■ As a Customer, I want to transfer funds so that I can pay a vendor.


■ Some examples:
– As a power user, I can specify files or folders to backup based on file size,
date created and date modified.
– As a user, I can indicate folders not to backup so that my backup drive isn't
filled up with things I don't need saved.

An epic is a large user story that cannot


be delivered as defined within a
single iteration or is large enough that it
can be split into smaller user stories.
User Story Example
■ Acceptance criteria are predefined requirements that must be met or be
executed by developers to consider the User Story done or finished.
– Acceptance criteria can be added to user story list initially or at a later stage
when requirements/design is developed
MOBILE TRENDS
Let’s see some statistics
and graphs!!
Android’s
share is
around
above
70%

https://www.statista.com/statistics/272698/global-market-share-held-by-mobile-operating-systems-since-2009/
https://www.statista.com/topics/3778/mobile-operating-systems/#dossierKeyfigures
https://www.idc.com/promo/smartphone-market-share
https://www.appbrain.com/stats/top-android-phones
https://www.appbrain.com/stats Android OS versions
(popularity)
https://www.appbrain.com/stats
?? What happens to low rated apps
https://www.appbrain.com/stats on Google Play store
Some research backed evidence
■ Shujung Wang at BTH studied the success of mobile apps in the digital
market

– Mobile app market has a low entry threshold thus there are a large number of
developers in the market and that the competition in the market is fierce.
– App developers need knowledge about intended users in order to successfully
sell their apps
– App ratings and reviews have a direct impact on app downloads.
– Free download combined with in-app purchases is a superior revenue model
for gaming apps
– For productivity apps it is better to charge for the download itself.
Flipped!!
■ Do a competitive analysis
of “Pomodoro Timer app”
pick any two from Google
store
■ Pomodoro Timer apps
– Pick any two apps from
Google store

– Use these categories

– Take 15 mins and we will


discuss your analysis
ANDROID
What is Android?
■ Android is a mobile OS Based on Linux
– a start-up company named “Android” developed it and in 2005 Google
acquired it.
■ Android Open Source Project
– Initially Open Headset Alliance led development but now officially it is an
open source project led by Google.

If you like history, you can read about the


Danger, Andy Rubin & Hiptop. (Links will
take you to Wikipedia J )
Android Versions
■ Each version has its own features and APIs
– Latest is Android 13 and oldest is Cupcake
– Usually, newbie developers target Lollipop (now)
■ If your application is written for the newest version of Android, and it uses
an API that is not present in the older version of Android, then only devices
running that newer version of Android will be able to use your application.
From Cupcake to Pie & the 10 to 13*
■ 2009 – 18
– Cupcake, Donut, Éclair, Froyo, Gingerbread, Honeycomb, Ice Cream Sandwich,
Jellybean, KitKat, Lollipop, Marshmallow, Nougat, Oreo, Pie
■ 2018 onwards
■ No sugary stuff thus 10, 11, 12
■ Latest: Android 13 (API Level 33)
– Code named Tiramisu
https://apilevels.com/
Android Architecture
■ Linux kernel
– This is the kernel
on which Android
is based.
Contains all the
low-level device
drivers.
■ Native Libraries
– These contain the
code that provides
the main features
of an Android OS.
SQLite for data
storage, WebKit
web browsing
Stock Android
■ Android is open source thus manufacturers can customize it for their
handsets
– Most manufacturers layer their own software or UI over the core Android
operating system
■ Stock Android is the purest version of Android (Android Open-Source
Project’s version).
– operating system in its “default” state, with no Google apps, no
customizations, and no extra features.
■ Stock Android is offered with Google’s Pixel lineup or Motorola sets

https://www.androidauthority.com/what-is-stock-android-845627/
■ Android One
– Near stock Android but comes with a lot of Google’s app and services
– Nokia, Motorola, Mi

■ Android Go
– Future replacement of original Android One and is specifically for low-end
devices.
■ cut-down version thus not many pre-installed apps
■ Over 1600 entry level phones has it
■ Best for Digital Inclusion Apps
Custom Android
■ Phone manufacturers add custom UI with themes, gestures and features or
alter version.
– Samsung has modified Android UI by adding a custom UX called TouchWiz.
– Huawei’s Emotion UI and Honor phones

– Oppo’s android is called ColorOS


– OxygenOS is android by OnePlusOne
– LineageOS Android Distribution is open-source

Explore: Pixel
experience 10 J
■ You can have your own Android OS for your own device J
– https://source.android.com/

■ Android code is open source not name or brand, thus you need to seek
Google’s permission to use “Android”
“Any use of the Android name must include this attribution in communication:
Android is a trademark of Google LLC.”
Next lecture
■ Android Hello World!!
■ Android Studio
So lets sum it up!
■ Mobiles application are software applications but the development process
is slightly different
– Agile at heart and User Centric Design development
■ Stats tell us
– Millions of apps are being added everyday
– Android is the king
– Customers do not pay for apps (Most app are free yet people are making
money from developing mobile apps) J
Want to read more??
■ Mobile app development process
– https://www.invonto.com/services/mobile-app-development/
■ User stories for mobile apps:
– https://propelrr.com/blog/how-to-write-user-stories-mobile-apps
– https://propelrr.com/blog/user-story-examples-fintech-apps
■ Acceptance Criteria
– https://www.altexsoft.com/blog/business/acceptance-criteria-purposes-
formats-and-best-practices/

■ Determinants of Mobile Apps Downloads: A Systematic Literature Review,


Wang, Shujun, The European Conference on Information Systems
Management (Sep 2017): 353-360.
■ Android Version History
– https://medium.com/@iammvd/https-www-techlila-com-android-versions-
with-list-names-ee90524086c
■ Android system architecture
– https://source.android.com/devices/architecture
■ Android Runtime (ART) and Dalvik
– https://source.android.com/devices/tech/dalvik
Acknowledgement
■ Images, Text and Slide material is taken from
– https://www.androidauthority.com/what-is-stock-android-845627/
– https://www.paradoxlabs.com/blog/mobile-vs-desktop-10-key-differences/
– https://devathon.com/blog/low-code-vs-or-and-no-code-for-web-mobile-app-
development/
– https://www.smashingmagazine.com/2017/12/improving-mobile-app-
competitive-analysis/

■ Images & Text from


– Engineering Software Products An Introduction to Modern Software
Engineering, Global Edition By Ian Sommerville, 2019

You might also like