KEMBAR78
Lecture 1 | PDF | Android (Operating System) | Mobile App
0% found this document useful (0 votes)
79 views58 pages

Lecture 1

The document discusses the history of mobile phones from early bulky devices to modern smartphones, reasons for developing mobile apps including reaching customers and changing business processes, and considerations for app design such as screen size and operating system architecture.

Uploaded by

amanuelvac
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
79 views58 pages

Lecture 1

The document discusses the history of mobile phones from early bulky devices to modern smartphones, reasons for developing mobile apps including reaching customers and changing business processes, and considerations for app design such as screen size and operating system architecture.

Uploaded by

amanuelvac
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 58

 Why Mobile Apps?

 Mobile Phones History.


CONTENTS
 App Design Issues and Considerations.

 Mobile Operating Systems and their Architecture


 Transformative Devices:

WHY MOBILE  Mobile devices are transformative, offering new business

APPS? possibilities.

 They are the first truly mobile computing platforms, with

built-in sensors to interact with their environment.


 Reaching Customers:

WHY MOBILE  Smartphones are always within reach, making mobile apps

APPS? crucial for businesses to engage customers.

 Mobile apps provide a direct link to customers, supporting

brand loyalty and awareness.


 Changing Business Process:

WHY MOBILE  Mobile technology enables the redesign of business

APPS? processes.

 It allows businesses to re-examine their products and

processes, leading to potential strategic advantages.


 Making Money:

 The app market offers various revenue models: one-time fees,

advertisements, in-app purchases, and subscriptions.

 Developers can monetize their apps directly or consult for


WHY MOBILE
APPS? businesses, leveraging the app stores’ distribution and
payment systems.

 These points can serve as the main topics for

your slides, each highlighting a key aspect of


mobile app development’s impact on technology
and business.
MOBILE PHONES HISTORY

 The first mobile phone was the Motorola DynaTAC

8000X.

 Introduced in 1983 and cost $4000 USD.

 It was a bulky device that weighed 0.8 kg.

 It had a battery life of 30 minutes.


MOBILE PHONES HISTORY

 The first GSM network was launched in Europe in

1991.

 It allowing mobile phones to communicate

 across different countries and regions.

 The first GSM phone was the Orbitel TPU 900.

 Which had a digital display and a retractable antenna.


MOBILE PHONES HISTORY

 The first phone with a color display was the

Siemens S10.

 Which was released in 1997 and offered four

colors.

 It also had a vibrate alert and a phone book that

could store up to 140 contacts.


MOBILE PHONES HISTORY

 The first camera phone was the Sharp J-SH04.

 Which was launched in Japan in 2000 and had a 0.11

megapixel camera.

 It also had an infrared port and a web browser.

 The first camera phone in the western market was

the Sony Ericsson T68i, which came with a clip-on


camera accessory in 2002.
MOBILE PHONES HISTORY

 The first smartphone was the IBM Simon Personal

Communicator.

 Which was unveiled in 1992 and had a


touchscreen, email, fax, calendar and apps.

 However, it was not very successful and only sold

50,000 units.
MOBILE PHONES HISTORY

 The first widely popular smartphone was the

BlackBerry 5810.

 which was released in 2002.

 had a full QWERTY keyboard, email, web browsing

and instant messaging.


MOBILE PHONES HISTORY

 The first iPhone was launched by Apple in 2007.

 Sleek design, intuitive user interface, multitouch

screen and app store.

 It also had a 2 megapixel camera, Wi-Fi, Bluetooth

and GPS.
MOBILE PHONES HISTORY

 The first Android phone was the HTC Dream or T-

Mobile G1.

 Released in 2008.

 Had a slide-out keyboard, a trackball and access to

Google services.

 It also had a 3.2 megapixel camera, Wi-Fi, Bluetooth

and GPS.
MOBILE PHONES HISTORY

 The first phone with a foldable display was the

Samsung Galaxy Fold.

 launched in 2019 and could transform from a

smartphone to a tablet.

 It also had a 7.3 inch touchscreen when unfolded, a

4.6 inch touchscreen when folded, six cameras, Wi-


Fi, Bluetooth and GPS.
 Designing for the specific device your app will run on is crucial!

 Applications may function well on traditional computers but fail

miserably on mobile platforms if not redesigned to fit the device’s


capabilities.
APP DESIGN ISSUES
 The device's capabilities allow for unique application designs not
AND
feasible on traditional computers.
CONSIDERATIONS.
 Operating System Design Issues

 Screen Size and Orientation Issues

 Connectivity Issues

 Battery Issues

 Hardware Issues
APP DESIGN ISSUES
AND  The difference between mobile operating systems and operating systems
CONSIDERATIONS. used on computers is that the mobile operating system is not a true
multitasking system.

 On mobile devices, only one app can be active at a time.

Operating System Design Issues  When another app is started, or the app is interrupted by another app (for

example, a phone call), the app that was running gets put in the
background.
 The Android life cycle begins when a user touches an app’s icon.
APP DESIGN ISSUES
AND  This action triggers the execution of the onCreate method in the app’s
CONSIDERATIONS. initial activity.

 The onCreate method includes code to load the screen (layout)

associated with the initial activity.


Operating System Design Issues
 In this method, the developer initializes variables and layout objects to
 Android Life Cycle
the required settings for user interaction.

 Following the creation of the activity, the onStart method is executed.


 When a user stops directly interacting with the app, the path to destruction
APP DESIGN ISSUES
begins.
AND
CONSIDERATIONS.  The first method executed is onPause, which should be used to stop

services that the app is using, to stop animations, or to store important


state information so that users can start using the app exactly as they left it.

Operating System Design Issues  If the app is about to become invisible, the onStop method will be executed.

 Android Life Cycle  Finally, if not restarted, the onDestroy method will be executed just before

the operating system takes away all the app’s resources.

 None of the methods executed on the path to destruction have to be

implemented.
APP DESIGN ISSUES
AND
CONSIDERATIONS.

Operating System Design Issues


 Android Life Cycle
 The life cycle for iOS is similar to Android’s.

 iOS uses both an app life cycle and a screen (called view) life cycle to
APP DESIGN ISSUES
accomplish essentially the same things.
AND
CONSIDERATIONS.  The life cycle begins when the user taps an app’s icon.

 The application didFinishLaunchingWithOptions: method is similar to an

activity’s onCreate method. However, in iOS, this method is used to set up the
operating environment for the complete app, not just a single activity.
Operating System Design Issues
 IOS Life Cycle  The applicationWillResignActive: method is executed when the app is

interrupted, similar to when the onPause method is executed in Android.

 When the app is no longer visible, the applicationDidEnterBackground:

method is executed.

 Code in these methods should be used to turn off services and save important

data for the user before it’s potentially lost.


 Unlike Android, iOS has a separate life cycle for displayed screens, known as

ViewControllers.
APP DESIGN ISSUES  The view life cycle begins after the application has finished loading or when the
AND
user navigates to a different page within the app.
CONSIDERATIONS.
 Once the view is loaded into memory, the viewDidLoad: method is executed. This

method is called only once if the view remains in memory.

 The viewDidLoad: method is where code should be written to set the initial state
Operating System Design Issues
of the view.
 IOS Life Cycle
 Just before the view becomes visible to the user, the viewWillAppear: method is

executed.

 The viewWillAppear: method is used to load any data into the views that will be

visible to the user and to activate services required for user interaction.

 The viewWillAppear: method executes every time the view reappears on the

device.
APP DESIGN ISSUES
AND
CONSIDERATIONS.

Operating System Design Issues


 IOS Life Cycle

IOS App life Cycle


APP DESIGN ISSUES
AND
CONSIDERATIONS.

Operating System Design Issues


 IOS Life Cycle

IOS View life Cycle


 Mobile devices are utilized in various scenarios distinct from traditional
APP DESIGN ISSUES computing devices. App users engage in multitasking activities such as
AND
walking, conversing with friends, etc.
CONSIDERATIONS.
 App design must facilitate seamless user transitions to the app, allowing

immediate task execution before distractions arise. Ease of app usability is


paramount; if users struggle to navigate the app, no amount of assistance will
Screen Size and Orientation suffice.
Issues
 Limited screen real estate poses a significant challenge in mobile app

development. Intense competition exists among app developers for superior


user interface design.
 Both iOS and Android platforms offer scrolling capabilities to access interface

elements not immediately visible on the screen. Judicious use of scrolling, especially
APP DESIGN ISSUES horizontal scrolling, is recommended.
AND  Vertical scrolling, though more natural, should also be limited to essential elements.
CONSIDERATIONS. Horizontal scrolling should be reserved for items extending off the main screen, as
users may not instinctively use it.

 It's imperative to limit scrolling to ensure a smooth user experience. Certain

Screen Size and Orientation interface elements should remain fixed during scrolling to enable uninterrupted
Issues user operations.

 Effective interaction planning is key to mitigating the constraints of limited screen

size. Screens should focus on a single or coherent set of tasks to streamline user
experience.

 Navigation should be intuitive, guiding users seamlessly through tasks. Tasks

requiring multiple steps should be divided into distinct screens, guiding users
through each step efficiently.
• Importance of Mobile Device Connectivity:

• Mobile devices can communicate with other devices and the internet.
APP DESIGN ISSUES
AND • Enables the creation of powerful and useful apps.
CONSIDERATIONS.
• Design Problems:

• Connectivity can be lost or connection speed may be slow.

• Movement of the device, even a few feet, can disrupt connectivity.


Connectivity Issues
• Users may not realize or understand connectivity issues while using an app.

• Apple's Requirement and Android's Approach:

• Apple mandates user warnings for lost network connections in submitted


apps.

• Android does not require such warnings, leaving it to the discretion of


developers.
• Solutions through Design and Planning:

• Design and planning are essential to address connectivity issues.


APP DESIGN ISSUES
AND • Primary concern is avoiding blocking users from app functionality.
CONSIDERATIONS.
• Asynchronous Data Handling:

• Data fetching and sending can take a significant amount of time.

• Plan for asynchronous data uploading and downloading to prevent user


Connectivity Issues inconvenience.

• Execute data operations outside the main thread of the app.

• Designing for User Experience:

• Ensure the app offers alternative tasks while data operations are ongoing.

• Provide warnings when user actions require unavailable data.

• Warn users about connectivity issues and offer options for action.
Mobile devices and Power Management:
APP DESIGN ISSUES  Mobile devices, being inherently mobile, rely on batteries for power as they
AND are not always connected to a power source.
CONSIDERATIONS.
 It is crucial for developers to optimize their applications to conserve battery

life.

 Unnecessary battery drain not only affects user experience but also impacts
Battery Issues
app usage, reviews, and downloads.

Minimizing Battery Drain:


 Developers must ensure their apps do not excessively drain device batteries.

 The primary power draw for devices is the display, which developers can't

directly control.

 However, efficient code implementation can minimize unnecessary


APP DESIGN ISSUES Managing Sensor Usage:
AND  After the display, sensors such as GPS, camera, and communication
CONSIDERATIONS.
modules are significant power drains.

 Developers have the ability to manage sensor usage within their apps.

 Sensors should only be activated when necessary and turned off promptly
Battery Issues
after completing the required task.

 This approach helps mitigate unnecessary power consumption and

prolongs battery life.


APP DESIGN ISSUES Hardware Components in Mobile Computing:
AND  Mobile devices boast a variety of hardware components that
CONSIDERATIONS.
enhance user experience and enable interaction with the
environment.

 These components include GPS for location tracking, orientation


Hardware Issues
sensors, lights, cameras, and others.

 Access to these components can facilitate the development of

engaging and practical applications.


Considerations for Hardware Component Usage:

APP DESIGN ISSUES  Each hardware component comes with its own set of considerations that

AND can affect app performance and desirability.


CONSIDERATIONS.  Availability of Components:

 Different manufacturers produce Android devices, resulting in variations in

included hardware components.

Hardware Issues  iOS devices are generally more uniform but still exhibit differences.

 It's crucial to evaluate the importance of each component to the primary

functionality of the app.

 Tangential components may be best avoided to prevent compatibility issues and

user frustration.
APP DESIGN ISSUES Situational Availability:
AND
CONSIDERATIONS.  Certain components, like GPS, require specific conditions for

operation, such as access to satellite signals.

 Environmental factors, like being indoors, can affect the


Hardware Issues functionality of hardware components.

 Users may experience limitations in component functionality based

on their surroundings.
 Mobile operating systems are software platforms that run on

smartphones, tablets, and other mobile devices.

MOBILE  They provide various features and functions for users, such as user
OPERATING interface, applications, connectivity, security, and multimedia.
SYSTEMS
 The history of mobile operating systems can be traced back to the

early 1990s, when the first handheld devices with embedded systems
were introduced.
 Functions of Mobile Operating system:

 Memory Management.

 Process Management/CPU Scheduling


MOBILE
OPERATING  Device Management

SYSTEMS  File Management

 Device Security

 Error detection
 1993: PenPoint OS by GO Corp. and Newton OS by Apple are launched

on the first personal digital assistants (PDAs).


HISTORY OF  1996: Palm OS by Palm Inc. is released on the Palm Pilot PDA, which
MOBILE
OPERATING becomes a popular device for personal information management.
SYSTEMS  1998: Symbian OS by Symbian Ltd. is created as a joint venture

between Nokia, Ericsson, Motorola, and Psion. It becomes the


dominant platform for smartphones in the 2000s.
 2000: Windows CE (Compact Edition) by Microsoft is rebranded as

Windows Mobile and targets both PDAs and smartphones.

HISTORY OF  2007: iOS by Apple is unveiled on the first iPhone, which

MOBILE revolutionizes the smartphone industry with its touch-based interface


OPERATING and app store.
SYSTEMS
 2008: Android by Google is launched on the HTC Dream (T-Mobile

G1), which is the first commercially available smartphone to run on


the Linux-based open source platform.
 2009: webOS by Palm is introduced on the Palm Pre smartphone,

which features a gesture-based interface and multitasking capabilities.


HISTORY OF  2010: Windows Phone by Microsoft is announced as a successor to
MOBILE
OPERATING Windows Mobile, with a new design language and user experience.
SYSTEMS  2013: BlackBerry 10 by BlackBerry is released as a revamped version

of its previous platform, with a gesture-based interface and improved


security features.
 2015: Tizen by Samsung is launched on the Samsung Z1 smartphone,

which is aimed at emerging markets and low-end devices.


HISTORY OF  2017: KaiOS by KaiOS Technologies is developed as a fork of Firefox
MOBILE
OPERATING OS, which is designed for feature phones and smart featurephones.
SYSTEMS  2020: HarmonyOS by Huawei is unveiled as a cross-platform

operating system that can run on various devices, such as


smartphones, tablets, smartwatches, smart TVs, and IoT devices.
MOBILE
OPERATING
 Android is a mobile operating system that runs on smartphones,
SYSTEMS
tablets, and other devices.

 Android was created in 2003 by Andy Rubin, who initially wanted to

develop an operating system for digital cameras.


 Android
 In 2005, Google acquired Android Inc. and continued to develop the

operating system based on Linux, an open source operating system


for personal computers.
 In 2007, Google announced the Open Handset Alliance, a consortium
MOBILE of technology and mobile phone companies that supported Android
OPERATING
as a free and open source operating system with third-party
SYSTEMS
applications.

 In 2008, the first Android phone, the T-Mobile G1, was released. It

ran on Android 1.0, which had features such as Google Search, Google
 Android
Maps, Gmail, and YouTube.

 Since then, Android has evolved through several versions, each

named after a dessert or a sweet treat in alphabetical order. From


Android Android 2.0 Eclair (2009) to the current version Android 14
One UI 6.0.
MOBILE  Android is an open-source, Linux-based software stack.
OPERATING
SYSTEMS  The major components of the Android platform include

1. The Linux kernel

2. Hardware Abstraction Layer (HAL)


 Android Architecture
3. Native C/C++ Libraries

4. Android Runtime (ART)

5. Java API Framework and

6. System Apps
MOBILE 1. The Linux Kernel
OPERATING
SYSTEMS  The foundation of the Android platform is the Linux kernel.

 For example, the android run time relies on the Linux kernel for

underlying functionalities such as threading and low-level


 Android Architecture memory management.

 Using a Linux kernel allows Android to take advantage of key

security features and allows device manufacturers to develop


hardware drivers for a well-known kernel.
MOBILE 2. Hardware Abstraction Layer (HAL)
OPERATING  Provides standard interfaces that expose device hardware
SYSTEMS
capabilities to the higher-level Java API framework.

 The HAL consists of multiple library modules, each of which

implements an interface for a specific type of hardware


 Android Architecture
component, such as the camera or Bluetooth module.

 When a framework API makes a call to access device hardware, the

Android system loads the library module for that hardware


component.
3. Android Runtime
MOBILE
 For devices running Android version 5.0 (API level 21) or higher,
OPERATING
SYSTEMS each app runs in its own process and with its own instance of the
Android Runtime (ART).

 ART is written to run multiple virtual machines on low-memory

 Android Architecture devices by executing DEX files, a bytecode format designed


specially for Android that's optimized for minimal memory
footprint.

 Build tools, such as d8, compile Java sources into DEX bytecode,

which can run on the Android platform.


MOBILE
OPERATING
SYSTEMS 4. Native C/C++ Libraries
 Many core Android system components and services, such as ART

and HAL, are built from native code that require native libraries

 Android Architecture written in C and C++.

 The Android platform provides Java framework APIs to expose the

functionality of some of these native libraries to apps.


MOBILE
OPERATING
SYSTEMS 5. Java API Framework
The entire feature-set of the Android OS is available to you through APIs
written in the Java language.

 Android Architecture These APIs form the building blocks you need to create Android apps by
simplifying the reuse of core, modular system components and services,
which include the following:
MOBILE
OPERATING 5. Java API Framework (cont’d…)
SYSTEMS
 View System : use to build app’s UI, including lists, grids, text

boxes, buttons, and even an embeddable web browser

 Resource Manager: providing access to non-code resources such


 Android Architecture
as localized strings, graphics, and layout files

 Notification Manager: enables all apps to display custom alerts in

the status bar


MOBILE
OPERATING
SYSTEMS 5. Java API Framework (cont’d…)
 Activity Manager : manages the lifecycle of apps and provides a

common navigation back stack


 Android Architecture
 Content Providers : enable apps to access data from other apps,

such as the Contacts app, or to share their own data


MOBILE
OPERATING
SYSTEMS 6. System Apps
 Android comes with a set of core apps for email, SMS messaging,

calendars, internet browsing, contacts, and more.

 Android Architecture  A third-party app can become the user's default web browser, SMS

messenger, or even the default keyboard (some exceptions apply,


such as the system's Settings app).
MOBILE
OPERATING 6. System Apps (cont…)
SYSTEMS
 The system apps function both as apps for users and to provide

key capabilities that developers can access from their own app.

 For example, if your app would like to deliver an SMS message, you
 Android Architecture
don't need to build that functionality yourself—you can instead
invoke whichever SMS app is already installed to deliver a message
to the recipient you specify.
 iOS is a mobile operating system developed by Apple Inc.
MOBILE
OPERATING exclusively for its hardware, such as iPhone, iPad, and
SYSTEMS
iPod touch devices.

 iOS is based on Unix-like, macOS, and Darwin (BSD)

 IOS operating systems, and uses Cocoa Touch as its default


user interface.

 iOS is updated annually, with the current stable version

being iOS 17.4.1, released on March 21, 2024.


MOBILE
OPERATING
SYSTEMS

 IOS Architecture
MOBILE CORE OS Layer
OPERATING
SYSTEMS  All the IOS technologies are built under the lowest level

layer i.e. Core OS layer. These technologies include:

 Core Bluetooth Framework


 IOS Architecture
 External Accessories Framework

 Accelerate Framework

 Security Services Framework

 Local Authorization Framework etc.


MOBILE
OPERATING CORE SERVICES Layer
SYSTEMS
 Some important frameworks are present in the CORE

SERVICES Layer which helps the iOS operating system to


cure itself and provide better functionality.
 IOS Architecture
 It is the 2nd lowest layer in the Architecture as shown

above. Below are some important frameworks present in


this layer:
MOBILE
OPERATING
SYSTEMS
MEDIA Layer
 With the help of the media layer, we will enable all graphics

 IOS Architecture video, and audio technology of the system.

 This is the second layer in the architecture.


MOBILE
OPERATING
SYSTEMS COCOA TOUCH
 COCOA Touch is also known as the application layer which

acts as an interface for the user to work with the iOS

 IOS Architecture Operating system.

 It supports touch and motion events and many more

features.
THANK YOU!

You might also like