0% found this document useful (0 votes)
91 views46 pages

Mobile App Development Course

This document provides an overview of a mobile applications development course taught by Dr. Usman Nasir and Andreas Bauer. It outlines the course objectives, schedule, assignments and deadlines. The course aims to help students understand the differences between desktop and mobile app development and be able to design, implement and test a simple mobile app. It will include lectures, three group assignments to develop a mobile app, and an individual written report. The deadlines for submitting the assignments are provided.

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)
91 views46 pages

Mobile App Development Course

This document provides an overview of a mobile applications development course taught by Dr. Usman Nasir and Andreas Bauer. It outlines the course objectives, schedule, assignments and deadlines. The course aims to help students understand the differences between desktop and mobile app development and be able to design, implement and test a simple mobile app. It will include lectures, three group assignments to develop a mobile app, and an individual written report. The deadlines for submitting the assignments are provided.

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/ 46

PA 1469 - Mobile Applications

Development
Dr. Usman Nasir
Today
■ I will talk about
– The course
– Assignment
– Deadlines
– Mobile devices
– Desktop vs Mobile Apps
– Types of mobile app
Course Introduction
Course Responsible & Lecturer
■ Hej, I am Dr. Usman Nasir (Universitetsadjunkt)
■ and I would manage the PA1469 course
– deliver lectures
– evaluate an assignment,
– and resolves any (and all) issues.
[email protected]

– English language only please, I am learning Swedish but have not gotten past
Hej and Tack yet.
Lecturer & Evaluator
■ Andreas Bauer (Doktrand)
■ and he
– delivers lectures
– Evaluate three major assignments
– and helping you with technical issues with assignment 1-3.
[email protected]
– English language please.
Let’s get to know each other better!!
■ Please tell us
– Your name
– Degree program/Cohort
– Background in programming
■ Programming languages
■ Development machine (laptop/android devices)
The Course & Assignments
What do you know about?

Mobile Application
Development
Course Objectives
■ The course is planned to ensure that by the end of this course, you (the
student)
– Understand differences between desktop and mobile application
development from a software engineering perspective.

– Able to architect, design, implement and test a simple mobile


application.

– You can read the the official kursplan for more details!!
Schedule: Lectures
■ 31.10.22 10-12 Course introduction and Mobile App Development
■ 01.11.22 10-12 Android: Platform and Application Fundamentals
■ 02.11.22 13-15 An introduction to Android Studio
■ 07.11.22 10-12 User Experience and Application Design
■ 09.11.22 10-12 Android: Developing UI and Event Handling
■ 09.11.22 13-15 Android: Jetpack Compose
■ 14.11.22 10-12 Android: App Architecture
■ 15.11.22 10-12 Android: Threading and Local Storage
■ 15.11.22 13-15 Testing an Android App
■ 21.11.22 10-12 Android: Accessing Network and Sensors
■ 22.11.22 13-15 Android: Using Firebase
■ 24.11.22 15-17 Guest Lecture: Industrial Expert
■ 29.11.22 13-15 Open-Source projects on GitHub
■ 30.11.22 13-15 Security Deployment and Course Closure
■ 05.12.22 13-15 Reserve Lecture slot (if required)
Schedule: Project & Project Demo
■ Group member's names 06.11.22
■ Group Assignment 1 13.11.22
■ Group Assignment 2 04.12.22
■ Group Assignment 3 05.01.23
■ Project Demonstration and oral presentation 05.01.23
Literature
■ Books, Developer Guidelines & Documentations,
– Android Programming: The Big Nerd Ranch Guide, Fifth Edition, Authors: Bill
Phillips, Chris Stewart and Marsicano Kristin, Publisher: Big Nerd Ranch
Guides, 2021.

– Documentation for app developers


■ https://developer.android.com/docs
Credits

Module Credit Grade


Assignment 1 1.0 hp G-U
Assignment 2 2.0 hp G-U
Assignment 3 2.5 hp A-F
Assignment 4 2.0 hp A-F

The final grade is the weighted average of the grades for assignment 3
(oral presentation) and assignment 4 (individual written report).
Assignment 1-3
■ Assignments 1, 2 and 3 are group assignments where the student groups
will work to develop a mobile application.
– Assignment 1 (1.0 ECTS): Written report proposing and describing the mobile
app to be developed by group.
– Assignment 2 (2.0 ECTS): Written report describing architecture and design
of the proposed app.
– Assignment 3 (2.5 ECTS): Oral Presentation where the working app deployed
on a mobile device/emulator is demonstrated.

– Technical reports, mobile programming effort and oral presentation/demo of


working mobile application
– Evaluated by Andreas Bauer
Proposed mobile app
■ Small Mobile application
– reasonable size and effort
– not be trivial
■ Five point test:
– At least 3-4 multiple activities or fragments
– User Interface (UI) has a variety of user interface elements (e.g., buttons,
progress bars, etc.)
– UI uses gestures for interaction (e.g., Double Touch, Double Tap, touch
gestures etc.)
– Notifications
– Utilise device’s sensors or networking (e.g., http) and storage
■ Food delivery mobile app:
– should store user profile, log in, order history, delivery address, and show
restaurants near you (using GPS device) option.
– The app should let you pinch and zoom (touch gestures) on a map (google
map API).

■ Native Android or Kotlin Mobile App


■ Java or Kotlin
■ XML or JetPack
Assignment 4
■ Assignment 4 is individual work.

– Assignment 4 (2.0 ECTS): Written report on students’ reflection about the


mobile application development process, the outcome (final product) and
other knowledge areas.

– Around 2000 words


– Evaluated by Usman.
Deadlines
Deliverables Due Date
Assignment 1 (1.0 ECTS) Nov 13, 2022

Assignment 2 (2.0 ECTS) Dec 04, 2022

Assignment 4 (2.0 ECTS) Dec 21, 2022

Assignment 3 (2.5 ECTS) Jan 05, 2023

■ Please respect the deadlines.


■ Assignment 3 would be evaluated after the oral presentation.
– Group (and any of its member) that are absent or fail to present/demonstrate
their mobile would be treated as fail.
Re-submisions
■ Students have 2 more opportunities to submit their assignment
– Re-submissions are graded the same way
– Dates are listed in course memo too…
Submission
■ All assignments submissions are handled through Canvas pages.
■ Assignment deliverables submitted through email would NOT be reviewed.
Grades
■ Assignment 1 & 2 are graded on G/U scale

■ Grade U: Excellent (Marks > 60%)


– A particularly outstanding/acceptable achievement
■ Grade X: Very Good (Marks < 60%)
– An achievement that don’t meet the minimum criteria
Grades
■ Assignment 3, 4 and course are graded on A-F scale
■ Grade A: Excellent (Marks > 80%)
– A particularly outstanding achievement that lies significantly above the average standard
■ Grade B: Very Good (Marks < 80% and >= 75%)
– An achievement that surpasses the average standard
■ Grade C: Good (Marks < 75% and >= 70%)
– An achievement that fulfills the average standard. Generally sound work but with small number of
notable error
■ Grade D: Satisfactory (Marks < 70% and >= 65%)
– Fair, but with significant shortcomings. Achievement that fulfills the average standard despite
deficiencies
■ Grade E: Sufficient (Marks < 65% and >= 60%)
– Performance meets the minimum criteria. Achievement that fulfills the average standard despite
deficiencies
■ Grade F: Fail (Marks < 60%)
– In other cases.
Plagiarism
■ Unauthorized use or close imitation of the language and thoughts of
another author and the representation of them as one's own original work
is plagiarism.
– Plagiarism is automatically checked in Canvas
■ Any plagiarism will result in Failure (Grade F) and
would be reported to University for punitive action
Mobile Application
Lets start with a definition?
■ What is a mobile app?
– If you google it, the Wikipedia say:
A mobile application, also referred to as
a mobile app is a software
application designed to run on a mobile
device”

Wikipedia has a full section on mobile phone software!!


https://commons.wikimedia.org/wiki/Category:Mobile_phone_software
Mobile device
■ phone, tablet, or watch

Free Pictures:
https://unsplash.com/
Truly mobile!!

Ray-Ban
Stories
NIST’s definition!
■ Official definition of a mobile device, the American version!
– A portable computing device that: (i) has a small form factor such that it can easily be
carried by a single individual; (ii) is designed to operate without a physical connection (e.g.,
wirelessly transmit or receive information); (iii) possesses local, non-removable data storage;
and (iv) is powered-on for extended periods of time with a self-contained power source.

– Mobile devices may also include voice communication capabilities, on board sensors that
allow the device to capture (e.g., photograph, video, record, or determine location)
information, and/or built-in features for synchronizing local data with remote locations.

– Examples include smart phones, tablets, and E-readers.

Note: If the device only has storage capability and is not capable of processing or
transmitting/receiving information, then it is considered a portable storage device, not a mobile
device

Source: NIST SP 800-53 Rev. 4 National Institute of Standards and Technology USA Government
Mobile vs. Desktop: Key Differences
■ Smaller screens
– Compared to Laptops/desktops
– Limited Pixels
■ Slower processors
– Comparatively slower!! But slowly catching up.
– Many things differ (e.g. Heat/GPU)

– “Mobile processor”
■ Every mobile manufacturer
has their own chip
nowadays
■ Samsung’s Exynos 9
■ Apple A13
■ Qualcomm’s Snapdragon 888
https://www.youtube.com/watch
?v=2SdIMiEjKD4
■ Less bandwidth
– (again comparatively)
– https://www.speedtest.net/global-index
■ Touch input
– No hover events.
– Less Precision
– Gestures: One finger, two fingers,
– stylus etc.. Half screen is taken by keyboard

■ Tricky keyboards
– Lesser keys, error prone and
even considered intrusive

Visit this webpages to read more about touch gestures:


https://www.lifewire.com/android-gestures-phone-or-tablet-
1616916
■ No, or limited, multitasking
– Some mobiles can’t, some don’t.
– Two Apps Sharing screen
■ Now you understand why mobile devices are different?
– They have their own development challenges
– They have their own Operating System
■ Windows for mobile never worked J

development
– They have their own

platform, tools and


approaches
Mobile Apps: Types
■ We now have multiple types of mobile app:
– Native Mobile Apps
– Web Mobile Apps
– Hybrid Mobile Apps

– Low code Mobile Apps


Native vs. Web vs. Hybrid Mobile Apps
■ Native mobile apps are smartphone apps specifically designed for a
particular operating system — (iOS or Android).
– Swift or Objective-C for iOS or Java/Kotlin for Android
– Developed on operating system’s SDKs
– Access to device resources: camera, GPS, phone, device storage, etc.

■ Web mobile apps (aka Progressive Web App - PWA) are websites optimized
for mobile browsers or web content based mobile apps.
– JavaScript and HTML5
■ Hybrid mobile apps combine features of native and web apps.
– Website packaged in a native wrapper
– Use HTML5 and JavaScript
– Kenju UI, Ionic
Cross platform
■ Develop once and run on multiple platforms (iOS or Android)
– Flutter (Google’s)
– Kotlin Multiplatform Mobile (Jetbrain’s)
– Xamarin (Microsoft’s)
– Axway Appcelerator (owner’s)
– Svelte Native
Low code or No Code Mobile Apps
■ Low-code (where coding effort is less) mobile app development are a
variant of hybrid app with specific platform

■ No code are where app code is mostly auto generated


Low code’s pros and cons
■ Pros
– Quick time-to-market
– Lower dependence on skilled developers
– More time to focus on the high-priority aspects
– Ease of deployment

■ Cons
– Dependency on a cloud platform
– Limitations
– Do not support complex functionalities
So lets sum it up!
■ Mobiles are different beasts altogether
– It is not mobile phone only

■ Many options/types of apps are out there


■ Most apps prefer native development (but cross platform is reality too)
Acknowledgement
■ Slide material taken from
– 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/

You might also like