Mobile Application Development for
SMEs
Dr. Hasan Ali Khattak
Spring 2022
Lecture01
about.me/hasanalikhattak
•Education and Experience
•BCS – University of Peshawar (DCS – class of 2007)
•MSIT – National University of Sciences and Technology (SEECS – class of 2009)
•MS – Polytechnic University of Torino (DAUIN – class of 2012)
•PhD – Polytechnic University of Bari (DEI – class of 2015)
•Post-Doc – Politecnico di Bari (UbiCare – Apulia 2011-2014)
•Assistant Professor – COMSATS Institute of Information Technology (2015 – 2020)
•Associate Professor – NUST SEECS (2020 – present )
•Research Interests
•Semantic Web of Things
•Future Internet Applications
•Cloud Computing and Edge Computing
•Linked Open Data
•Content Centric Networks
•Contact
•Course Site – https://hasan.khattak.info/
•Reach Me –
[email protected]•Publications – https://hasan.khattak.info/publications
When, Where and What
Monday and Wednesday - CR12
Goals
Mobile Operating Systems
• An Operating system is a system software that
• manages computer hardware
• manages applications and software
• Provides common services for programs
• A Mobile Operating System is for
• Mobile phones
• Tablets
• Smart watches
• And other mobile devices
• Laptops generally do not use mobile OS
Mobile Operating Systems (2)
• A mobile OS has two kinds of features
• Those of regular desktop OS
• Others useful for mobile or handheld use
• Smartphones generally contain two OS
• Main user-facing software platform
• Runs apps and interacts with user
• Low-level proprietary real-time operating system Figure. Most-used operating
• operates the radio and other hardware systems in each country or
dependency.
Blue - Windows
Green - Android
Mobile Operating Systems (3)
History of Mobile OS
• Pre-1993 - Mobile phones use embedded systems to
control operation.
• 1993 - Apple launches Newton OS running on their
Newton series of portable computers.
• 1994 - The first smartphone, the IBM Simon, has a
touchscreen, email, and PDA features.
• 1998 - Symbian Ltd. is formed as a joint venture by
Psion, Ericsson, Motorola, and Nokia.
• Used by several major mobile phone brands, but
especially Nokia.
History of Mobile OS (2)
• 2002 - BlackBerry releases its first
smartphone, running Java 2 Micro Edition
(J2ME).
• 2005 - Microsoft announces Windows
Mobile 5.0.
• 2007 - Apple's iPhone with iOS is
introduced as a "widescreen iPod,"
"mobile phone," and "Internet
communicator".
• 2008 - OHA releases Android (based on
Linux kernel) 1.0 with the HTC Dream as
the first Android phone.
History of Mobile OS (3)
• Open Handset Alliance
• Established on 5 November 2007, led by Google
• 34 members,[3] including mobile handset
makers, application developers, some mobile
carriers and chip makers.
• Android
• Flagship software of the alliance (first developed
by Google in 2007)
• Based on an open-source license
• OHA members are contractually forbidden from
producing devices that are based on competing
forks of Android.
Android
• Based on modified Linux kernel
• The base system is open-source
• Apps and drivers are increasingly becoming closed-source.
• When an application is not in use the system suspends its operation (for less battery
use)
• Applications ("apps") extend the functionality of devices (and must be 64-bit),
• written using the Android software development kit (SDK)
• SDK includes
• Debugger and software libraries
• handset emulator based on QEMU
Android software development
• Android apps can be written using Kotlin,
Java, and C++ languages
• All non-JVM languages, such as Go,
JavaScript, C, C++ or assembly, need the help
of JVM language code.
• Some programming languages and tools
allow cross-platform app support (i.e. for
both Android and iOS).
• Flutter
• React native
The Android Stack
• Hardware abstraction layer (HAL)
• bridges the gap between hardware and
software.
• Android application/framework
communicates with the underlying
hardware through Java APIs not by
system calls.
• But the Linux has the ability to handle
only systems calls from application.
• Thus we need a glue layer between the
android framework and linux system.
• HAL is a c/c++ layer which is a vendor
specific implementation.
The Android Stack (2)
• Android Runtime
• Application runtime environment used by
Android
• Previously Dalvik was used
• trace-based just-in-time (JIT) compilation
• optimizing execution by continually
profiling applications each time they run
• ART introduces the use of ahead-of-time (AOT)
compilation
• compiling entire applications into native
machine code upon their installation.
• brings faster execution of applications,
improved memory allocation and garbage
collection
EVALUATION
Ø Individual Seminar
Mandatory, dates will be defined (during the semester)
Ø Team Projects
Mandatory, submit the project when ready however before the last week
of semester
The Project will be divided in the following phases as follows:
Proposal – Due 3th Week: Outline a domain and problem supported by recent literature.
Literature – Due 6th Week: Related work comprising of not less than 15 recent papers from
top venues with high citations.
Proposed Solution – Due 8th Week: A complete proof of concept supported proposal with
complete architecture and component level design.
Validation – Due 10th Week: Results in case of Research work and discussion in case of Survey.
Conclusion – Due 12th Week: Conclusion and future work supported with discussion.