SlideShare a Scribd company logo
SEWP/SEAP ZC424

 Software

Development for
Portable Devices

Sunil Bhutada
sunilbhutada@yahoo.com
Ph: 9849822142
1
CONTENTS
1. Introduction to Application Development for Portable Devices
2. Introduction to Android (2 Sessions)
3. User Interface Design and Implementation (2 Sessions)
4. Files, Saving states and Preferences
5. Android Database - Introduction to SQLite database (2 Sessions)
ASSIGNMENT (10%)
MID SEMESTER EXAMINATION (30%)
1. Hardware Support for Portable Devices 
2. Software Support for Portable Devices (2 Sessions)
3. Using Internet Resources 
4. Maps and location-based services
5. Telephony and SMS (2 Sessions)
6. Advanced Topics
COMPREHENSIVE EXAMINATION (60%)
Today’s  AGENDA

Introduction to Course Title (SDPD)
 &
Introduction to Application Development
 for 
Portable Devices
SDPD
Portability in high-level computer programming is the usability 
of the same software in different environments. 
The  pre-requirement  for  portability  is  the  generalized  abstraction 
between  the  application  logic  and  system interfaces.  When  software 
with  the  same  functionality  is  produced  for  several 
computing platforms,  portability  is  the  key  issue  for  development  of 
cost reduction.
When describing hardware that is portable it means something 
that is small and lightweight. Laptop computers are portable because 
they are easy to carry. Other portable devices include PDA's, handheld computers and TabletPC's. 

Software can also be described as portable when it can be run on a 
variety of computers. The software does not require any particular 
hardware in order to operate.
Portable Devices : mobile devices 
CONTENTS
1. Introduction to Application Development for Portable Devices
2. Introduction to Android (2 Sessions)
3. User Interface Design and Implementation (2 Sessions)
4. Files, Saving states and Preferences
5. Android Database - Introduction to SQLite database (2 Sessions)
ASSIGNMENT (10%)
MID SEMESTER EXAMINATION (30%)
1. Hardware Support for Portable Devices 
2. Software Support for Portable Devices (2 Sessions)
3. Using Internet Resources 
4. Maps and location-based services
5. Telephony and SMS (2 Sessions)
6. Advanced Topics
COMPREHENSIVE EXAMINATION (60%)
Is it Android App softwares can 
support
 or run on all Mobile Devices ?
Is it Android is sufficient for this 
course-SDPD?
Is it Android is an example for this 
course?
CONTENTS

Introduction to Application Development
 for Portable Devices
1. Mobile Operating Systems
2. Architecture and framework of different Mobile Platforms
3. Development Platforms and Development Tools
4. Programming language binding
5. Simulator and Emulator
6. Development life cycle
7. Model-View-Controller (MVC)
8. Market trends. 
Mobile Operating Systems
 Mobile  phone  usage  has  been  increasing  dramatically  over  the 
last several years. Globally, if a usage comparison can be carried 
out between PCs and mobile devices.
 Mobile  devices  have  approximately  3.5  times  more  usage  than 
PCs.  But  cell  phone  in  today’s  society  is  not  only  a  tool  for 
making  call  and  writing  SMS,  but  it’s  a  personal  item  which 
provides  entertainment and information. There should be nothing 
that  users  can  access  on  their  desktop  that  they  can’t  access  on 
their cell phone. 
 The  increasing  importance  of  mobile  devices  has  triggered 
intense  competition  among  technology  giants,  like  Symbian, 
Google,  Microsoft,  Apple,  and  Nokia  in  a  bid  to  capture  the 
bigger market share for mobile platform.
Mobile Operating Systems (Cont..)
Some of the most well-known Mobile Operating Systems are
 

Symbian,  BlackBerry OS, Apple iOS, Windows Mobile,  and 
 Android.  
Symbian is primarily found on Nokia phones, but phones by Sharp, 
Fujitsu, Sony and other companies have the operating system
 installed
as well. Symbian is open source.
BlackBerry OS is the only one of the mobile phone operating 
systems to be found on BlackBerry devices. The BlackBerry OS is 
tailor-made for business, with functionality taking a seat over 
personality or appearance. Its main focus is on messaging, email 
and other communication features.
Mobile Operating Systems (Cont..)
Apple’s iOS is found on the iPhone, iPad and iPod Touch. Operating
 system security and compatibility has been a point of contention for
 some in regards to iOS. It is entirely closed-source, and Apple 
chooses on its own which software the platform will and will not
 support. 
Windows Mobile, also known as Windows Phone, is the mobile phone 
version of Microsoft's operating system. Because of this, it is easily 
compatible with many Windows programs such as Microsoft Office, 
making it a popular choice for businesspeople.
The Android is based on the Linux operating system. Originally 
developed by an independent organization, it was later bought by 
Google, although the OS itself remains free and open source. Android is 
praised by many for his flexibility as a platform. Anyone can develop 
apps for the OS, and any company can release a phone using it.
.
Mobile Operating Systems (Cont..)
Other Mobile Operating Systems are
BlackBerry Tablet OS
BlackBerry Tablet OS is from QNX Software System/BlackBerry
Brew is from Qualcomm. Brew is used by some mobile phone 
manufacturers and mobile networks, 
GridOS is from Fusion Garage. GridOS was built using open source 
code from the Android kernel. It is used as the operating system of 
the Grid 4 mobile phone and Grid 10 tablet.

WebOS is from LG, although some parts are open source.
Maemo is from Nokia. It is open source and GPL. Maemo is based 
on Debian GNU/Linux and draws much of  its  GUI,  frameworks
 and libraries from the GNOME project. 
Mobile Operating Systems (Cont..)
Upcoming software platforms
Aliyun OS
Aliyun OS is from Alibaba/AliCloud. It is cloud based. AliCloud's 
operating system revolves around the idea of bringing cloud 
functionality to the mobile platform. According to the company, 
Aliyun is to feature cloud-based e-mail, Web search, weather updates 
and GPS navigation tools. 
Firefox OS
Firefox OS is from non-profit organization Mozilla Foundation. It is 
open source and uses GPL.
Ubuntu Touch OS
Ubuntu Touch OS is from Canonical Ltd.. It is open source and
uses GPL. Etc.
Mobile Applications


Mobile Applications can be found in any industry, they have
been developed for:
– Mobile Gaming (see gameloft)
– Mobile Banking (see RBC)
– Mobile Text, Presentation, and Spreadsheet (see
Microsoft Office Mobile)
– Social Networking (see Facebook)
– Mobile News (see Yahoo! Mobile News)
– Location Aware Services (see Loopt)
Mobile Application Development Challenges


Development of mobile applications provides for many
challenges and obstacles that are not commonly found in the
development of applications for desktop computers



The challenges faced by developers are found in:
– Heterogeneity of mobile devices
– Security
– Network
Challenge: Mobile Devices


Java is a portable implementation language, any application
created with Java can be run on any machine which contains a
Java Runtime Environment (JRE)



J2ME, is similarly a portable language, which can be run on any
mobile device which contains a JRE, however this portability is
severely affected by the heterogeneity of the mobile devices
currently on the market



Mobile devices display a wide range of characteristics that will
greatly effect a mobile application’s performance, usability,
functionality, etc.
Challenge: Mobile Devices


Display/Screen Size
– Mobile devices come in many different screen sizes
– Consider the differentiating screen sizes between smart phones
and cell phones
– Smart phones offer the user a generally larger and higher
resolution display screen, contrasted to cell phones which
generally provide lower resolution and smaller display size
Challenge: Mobile Devices


Memory
– Just as screen size differs from device to device, the
amount of available memory and differs from device to
device
– Developers must create applications which have a minimal
memory footprint on the device while being of service to
the user
– Memory must also be carefully managed during the
execution of any mobile application as it can potentially
render the phone unusable until termination of the
application
Challenge: Mobile Devices


Processing Power
– Another sign of the heterogeneity of mobile devices is the
processing power
– The CPUs differ from phone to phone and this must be taken into
consideration by developers
– Developers cannot create applications that require the user to wait
an unreasonable amount of time for the service to load
Challenge: Mobile Devices


Input Devices
– The input devices on mobile devices range from full QWERTY
keyboards to three letter button inputs
– This means developers must take into account how much text
is required by the user to input into their application and what
kind of difficulties they may experience based on their device
Challenge: Network


Transmission Errors
– When creating mobile applications that utilize network
connections there is a variety of issues that can effect the
application
– Wireless networks are exposed to interference which can alter
the message received by the client or the server then what was
originally sent
– Applications must take into account these potential problems
especially in financially sensitive services
Challenge: Network


Message Latency
– Messages that are to be sent to clients or servers can be
delayed due to a variety of reasons such as overloaded network
nodes or servers, dead or turned off cell phones, distance to
travel
– Applications must take this into account so as to avoid sending
servers or clients stale information
Challenge: Network


Bandwidth Usage
– Wireless customers are forced to pay fees to access the
wireless network and internet
– While phones with WIFI capabilities allow for some users
to have free connectivity at times it is important to keep
messages to a minimum and compact
– Applications that cost a lot to use will not be popular with
many of the financially conscious users
Challenge: Security


Wireless networks by default are not as secure as wired
networks, it is important to note that message can be intercepted
when travelling through the air



Mobile applications must secure the sensitive data that is being
transmitted over the air



There are different methods to implement security but it must be
relative to the information we want to secure and the resources
that we wish to use for securing it
Solution: Mobile Devices
Display/Screen Size
There is no one single method to overcome to problem of different
screen sizes however there are some ways to help



When dealing with graphics that should be placed on edges
use methods which retrieve the edge of the display



When creating an for a particular set of mobile devices
(ie. Blackberry’s, cell phones) create the layout to the
smallest display size
Solution: Mobile Devices


Memory
– Compact data representation will help reduce the amount of
memory it requires to load and use your application
– Use optimization techniques to reduce the amount of code
required to write your application (see J2ME tech tips)
– Compress any graphic images that you use in your application
and save graphics in a format which takes the least space
Solution: Mobile Devices


Processing Power
– A result of reducing the memory consumption and footprint of
the application should help time required to load applications
– If the mobile application has a client-server architecture
consider the partitioning of the application
– Allow the server to do the brunt of the calculations and
processing work and pass the information to the mobile device
for less CPU intensive calculations
Solution: Mobile Devices


Input Device
– To overcome some of the problems that can occur with the
different input devices make input requirements concise,
therefore the user should be able to perform the most common
tasks in an application with the least amount of button presses
– Provide users with menus when possible to help reduce the
amount of button input required
Solution: Network


Transmission Errors
– Transmissions errors may be inevitable when dealing with
wireless networks but there are some wireless network protocols
than can correct or at the least detect these errors
– One solution does not exist for every single type of transmission
error that may occur, it is important to plan for these types of
errors and be able to deal with them accordingly
Solution: Network


Message Latency
– In a client-server architecture the server can store messages that
do not arrive at the mobile device and attempt to resend them at
specific intervals
– Servers can also store the message and send it when the mobile
device reconnects to the system
– Let the user know if they receive a message that can possibly be
out of date or no longer valid, this could be done using
timestamps
Solution: Network


Bandwidth Usage
– Pass as little messages as required between the client and the
server
– Keep the messages as short as possible, you can use symbols to
represent commands for the server
– If your application must use a lot of bandwidth at least notify the
user of this fact
Solution: Security


Important to implement security to a level which is appropriate for
the data being exchanged



Mobile devices, having limited processing power, cannot generate
large cryptographic keys in a reasonable amount of time



There has been research into creating keys for algorithms such as
RSA and others and sending this to the mobile device to use but
this is an area that is still developing
Abstract View of Operating System
OPERATING SYSTEM
Features
•Multitasking
•Scheduling
•Memory Allocation
•File System Interface
•Keypad Interface
•I/O Interface
•Protection and Security
•Multimedia features

Mobile Operating System
Structure:
A mobile OS is a software
platform on top of which other
programs called application
programs, can run on mobile
devices such as PDA, cellular
phones, smart phone and etc.

Functions
•Process Management
•Resource Management
•Memory Management
•Power Management
•File Management
•I/O Management
•Protection and Security etc
Architecture and framework of different mobile platforms
Mobile phones have become programmable handheld computers
which have internet connectivity, computing power and open application
programming interfaces (APIs) providing prospective platforms for an
infinite set of new mobile services and applications.
The new mobile phones which are usually called smart phones have both
hardware and software parts the same as all computing systems. The
software part is called Mobile

Software Platform.

consider a layered architecture for the software platform of typical
mobile devices consists of operating system layer, middleware layer
and applications layer (ibid).
Layered architecture is an architectural pattern helps to structure systems
that can be decomposed into groups of subtasks in which each group of
subtasks is at a particular level of abstraction.
Architecture and framework of different mobile platforms
Architecture and framework of different mobile platforms
A proposed mobile software architecture that is a general model and can
be applied to different mobile platforms was shown.
To discuss the openness strategy of mobile platforms based on their
architecture, the proposed model is not sufficient and it should be
expanded to an “architectural openness model” to demonstrate platform
extension mechanisms and platform accessibility.
The architectural openness model to accommodate the platform
accessibility and platform extension methods and in a higher view the
platform openness, should illustrate
how much and under which conditions the platform extenders
(application developers, device makers, customers…) can access to
different layers and components of the platform and extend its
functionality. Two online resources of Google Android have used
and defined integrate, extend and modify concepts to clarify the openness
notion in the architecture of Android platforms.
Architecture and framework of different mobile platforms
Architecture and framework of different mobile platforms
To expand the “mobile software architecture” presented in the previous
part to “architectural openness model”, the same terms and definitions
are used here:
Integrate a layer: To use the existing components of a layer in a mobile
application via API, Service Call, source code inclusion, shared data
object and other software extensions mechanisms.
Extend a layer: To enhance the functionality of the components of a
layer. The application uses the built-in Google map application and adds
its own functionality on top of Maps is an example.
Modify a layer: To replace or change the components of a layer.
Architecture and framework of different mobile platforms
Architecture and framework of different mobile platforms
Architecture and framework of different mobile platforms
Architecture and framework of different mobile platforms
Architecture and framework of different mobile platforms
Architecture and framework of different mobile platforms
Architecture and framework of different mobile platforms
Mobile Application Development


Knowing the challenges faced by developers with mobile
applications we can look at the tools and steps developers take
when creating applications



Mobile application development differs from development of
applications on desktops because mobile applications are
developed on one platform and then deployed on a totally different
platform



This leads to many issues that developers face after moving their
application to another platform and stresses an importance on
testing
Development Tools


From a software perspective there are several Integrated
Development Environments (IDEs) that are available for use
such as:
– Sun Java Wireless Toolkit for CLDC
– Blackberry Java Development Environment
– Metrowerks CodeWarrior Wireless Studio
– Borland JBuilder with MobileSet
Development platforms and development tools
Mobile Platforms
According to International Data Corporation, in 2016, the platform
breakdown will be as follows:
• Android = 68.8%
• iOS =19.1%
• Windows Phone = 11.4%
• BlackBerry OS = 4.1%
• Other = 1.6%
Based on this data, it would make sense to simply start with Android and
work your way down the list to accommodate the most users. However,
there are a few shortcomings with this plan.
First, leaving 31.8 percent of your mobile users without a mobile
experience is probably not the best plan.
Second, the cost of developing an application for each platform is very
expensive and requires specialized skills for each platform, which is also
expensive.
Development platforms and development tools
Tools
•AppgyverToolbelt: Tooling to develop and iterate apps for PhoneGap
across the two major smartphone platforms – Android and iOS – with
no requirement for Xcode.
•Sikuli: This is a visual technology to automate and test graphical user
interfaces (GUI) using images.
•Ranorex: Test automation tools for mobile, web and desktop apps.
Emulators/Simulators


The terms “emulator” and “simulator” are often used interchangeably. These
technologies serve as virtual pieces of hardware that operate on a PC or laptop



IDE’s mentioned come with emulators to mimic the functionality and look seen on a
mobile device, while these are extremely helpful for the developer there is ultimately
no substitute for the real device
Emulators/Simulators
A simulator is a software that duplicates some processor in almost all
the possible ways.
An emulator is a hardware which duplicates the features and functions
of a real system, so that it can behave like the actual system.
Usually the emulators and simulators are used for the testing of new
architectures and also to give training in some complex systems.
A most famous example for a simulator is the flight simulator that
simulates the functionalities of an aircraft.
Basically a simulator tests the program on the development processor
(the processor on which we are working), while an emulator is used on
the target processor (the processor for which the program is being
written).
Development Life Cycle
Lifecycle of Mobile Application Development:
Realizing the lifecycle of mobile application development has
become crucial as mobile devices and their applications have
conquered almost 90% of the world. Be it a business or individual,
the need for mobile applications is raising without any hurdles. As
these applications have completely eased out the entire marketing
courses of businesses and helped customers with easy on-the-go
access, picking the right mobile application for their own needs
becomes a must. So, here I would like to shine a light on how smart
phone apps are designed and developed by app developers across
many parts of world.
Development Life Cycle
The big 5 stages involved in app development:
1.Analysis and Estimation
2.Work Flow
3.Design
4.Development
5.QA
6.Launch
Development Life Cycle
Analysis and estimation:
Figuring out the application goal and objective is the first and
foremost aspect. Apart from this, other factors include picking
the right platform and perfect developers who have the ability
to come up with a clean app. Also, the target audience of the
app is crucial as well. Not to forget, the cost estimation for
developing such high-quality apps is crucial as well.
Work flow:
Upon finalizing the application developer and estimating the
cost for development, the next step should be preparing a
complete detailed document on the work flow. This should
include testing as well. The project scope should be
categorized and the specifications should be met without any
issues.
Development Life Cycle
Design:
Designing has a major role to play when it comes to app development.
Getting a wireframe done is the very first step to start with. When
performing the wireframe, it is a must to checkout whether all the
features that you wish to have been included. Upon repeated
modifications and idealization on wireframe, plan the design of your
intended app.
Development:
At times, though you might have conducted the wireframe strategy, the
apps might still lack some features when loaded on real devices. In such
cases, the scope needs to be revisited and the necessary feedbacks have
to be sent to the developers to fix the issues. Sometimes this may lead to
time delay which isn’t supposed to happen as it may spoil the reputation
of concern. So, the process should be clean and perfect; however without
any missing features.
Development Life Cycle
Quality assurance:
Though, the developers revisit the scope and make the necessary
modifications to launch the apps with complete features, they often fail
to visualize a few missing data. The testing team takes this responsibility
in making an application which completely adheres to the scope of work.
Each and every feature is tested, next to the quality and performance.
They conduct different kinds of testing services in order to make the app
completely free from all bugs and deliver with impeccable quality.
Launch:
The final phase is the delivery of app which is otherwise called as
launching. The app will be published in iTunes if it is an iPhone app or
in Google Play if it is an Android app. I hope this post provides you the
inner picture of what exactly happens in every mobile app development
company worldwide.
MVC


A classic design pattern often used by applications
that need the ability to maintain multiple views of
the same data.



A commonly used and powerful architecture for
GUIs.
Three Modules of MVC


In MVC design pattern, all the objects are cleanly
separated into one of three modules:
– Model
• The core of the application. This maintains the state and
data that the application represents. When significant
changes occur in the model, it updates all of its views.

– View
• The UI which displays information about the model to the
user. Any object that needs information about the model
needs to be a registered view with the model.

– Controller
• The UI presented to the user to manipulate the
application.
Events typically cause a controller to change a model, or view, or both. Whenever a
controller changes a model’s data or properties, all dependent views are automatically
updated. Similarly, whenever a controller changes a view, the view gets data from the
underlying model to refresh itself.
MVC Advantages


Clarity of design



Efficient modularity



Multiple views



Ease of growth



Distributable



Powerful user interfaces
Mobile Computing Barrier Areas


Human Interface
– display
– input means



Power/Battery/Display Issues



Performance (for speech, video)



Communications Infrastructure



Form Factor/ Heat Dissipation



Applications
Technology Barriers


Bandwidth, capacity, reliability, latency, coverage, and
cost of wide-area networks
– protocols for handling data transfers efficiently
– caching strategies
– security issues
– connectivity management in overlay networks
– Very-Local Area Networks (Body LAN) and mobile WLANs
– ad-hoc networking
– incorporation of video
– new WAN media
Technology Barriers (Cont.)


Input limitations for mobile/wearable devices
– speech capture, recognition, understanding
– speaker identification and verification
– handwriting capture and recognition
– real-time digital voice multicasting
– video



Architecture
– hardware/software architectures for mobile systems
– OS design (?)
– compilers for low-power devices
Technology Barriers (Cont.)


Human-computer interaction
– new techniques for mobile I/O: gesture based,
augmented-reality displays



System design and packaging
– form factors for mobile systems (ID group)
– wireless head mounted I/O, including video capture



Applications and user interfaces
Microprocessors Technology Trends

Performance (SPECint92)

10000

1000

Natural Language
100

Vision
10

GUIs
1
1982

Speech Recognition
1987

1992

1997

2002
MARKET TRENDS
MARKET TRENDS
Mobile Trends
Changes in Behavior and Ubiquity Drive A Mobile Mind shift in 2013
Mobile’s momentum continues to accelerate in 2013 — more than 1
million apps available, more than 150 million tablets sold, and more than
1 billion smartphones in consumers’ pockets globally.
1 As we revisited our 2012 mobile trends, we found that all of them are
still evolving and relevant (see Figure-1)
2 A number remain important enough to be key trends in 2013 but for
different reasons than last year. But more important than the scale of the
numbers is the fact that mobile devices and their connectivity
fundamentally shift how people behave and how businesses engage with
them. These shifts are happening even faster outside North America and
Europe, in countries like China, Brazil, and India. Marketers who were
affected early on by this shift in mobile mindset understand that:
■ Immediacy and convenience combine to alter people’s behavior.
Consumers are changing
■ Ubiquity profoundly disrupts business models.
Mobile Trends
Mobile Trends
Mobile Trends
Mobile Trends
Mobile Trends
Questions
1. What is Portability in view of software and hardware? List out
Portable Devices?
2. Describe the need of Mobile Operating Systems?
3. Compare and contrast different types of Architectural
frameworks of Mobile Platforms?
4. Review the Development Life Cycle of Mobile Application
Development Process?
5. List out the Latest software’s for Portable Devices and explain its
features?
6. Discuss the development of Mobile Apps?
Next Class

Introduction
to
ANDROID

More Related Content

What's hot

USER INTERFACE DESIGN PPT
USER INTERFACE DESIGN PPTUSER INTERFACE DESIGN PPT
USER INTERFACE DESIGN PPT
vicci4041
 
IT6601 Mobile Computing Unit V
IT6601 Mobile Computing Unit VIT6601 Mobile Computing Unit V
IT6601 Mobile Computing Unit V
pkaviya
 
User Interface Design
User Interface DesignUser Interface Design
User Interface Design
Gil Pasiona
 
IT6601 MOBILE COMPUTING
IT6601 MOBILE COMPUTINGIT6601 MOBILE COMPUTING
IT6601 MOBILE COMPUTING
Kathirvel Ayyaswamy
 
User Interface Design_Csc2204_lecture 1_-_introduction
User Interface Design_Csc2204_lecture 1_-_introduction User Interface Design_Csc2204_lecture 1_-_introduction
User Interface Design_Csc2204_lecture 1_-_introduction
ENGWAU TONNY
 
CSE 5930 Assignment 2 Documentation
CSE 5930 Assignment 2 DocumentationCSE 5930 Assignment 2 Documentation
CSE 5930 Assignment 2 Documentation
Salocin Dot TEN
 
Designing applications with multimedia capabilities
Designing applications with multimedia capabilitiesDesigning applications with multimedia capabilities
Designing applications with multimedia capabilities
K Senthil Kumar
 
Designing Mobile Applications for All: Accessible Contact Manager
Designing Mobile Applications for All: Accessible Contact ManagerDesigning Mobile Applications for All: Accessible Contact Manager
Designing Mobile Applications for All: Accessible Contact Manager
AEGIS-ACCESSIBLE Projects
 
User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15
koolkampus
 
Model-driven engineering of user interfaces
Model-driven engineering of user interfacesModel-driven engineering of user interfaces
Model-driven engineering of user interfaces
Jean Vanderdonckt
 

What's hot (10)

USER INTERFACE DESIGN PPT
USER INTERFACE DESIGN PPTUSER INTERFACE DESIGN PPT
USER INTERFACE DESIGN PPT
 
IT6601 Mobile Computing Unit V
IT6601 Mobile Computing Unit VIT6601 Mobile Computing Unit V
IT6601 Mobile Computing Unit V
 
User Interface Design
User Interface DesignUser Interface Design
User Interface Design
 
IT6601 MOBILE COMPUTING
IT6601 MOBILE COMPUTINGIT6601 MOBILE COMPUTING
IT6601 MOBILE COMPUTING
 
User Interface Design_Csc2204_lecture 1_-_introduction
User Interface Design_Csc2204_lecture 1_-_introduction User Interface Design_Csc2204_lecture 1_-_introduction
User Interface Design_Csc2204_lecture 1_-_introduction
 
CSE 5930 Assignment 2 Documentation
CSE 5930 Assignment 2 DocumentationCSE 5930 Assignment 2 Documentation
CSE 5930 Assignment 2 Documentation
 
Designing applications with multimedia capabilities
Designing applications with multimedia capabilitiesDesigning applications with multimedia capabilities
Designing applications with multimedia capabilities
 
Designing Mobile Applications for All: Accessible Contact Manager
Designing Mobile Applications for All: Accessible Contact ManagerDesigning Mobile Applications for All: Accessible Contact Manager
Designing Mobile Applications for All: Accessible Contact Manager
 
User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15
 
Model-driven engineering of user interfaces
Model-driven engineering of user interfacesModel-driven engineering of user interfaces
Model-driven engineering of user interfaces
 

Viewers also liked

Safety Training for 2013
Safety Training for 2013Safety Training for 2013
Safety Training for 2013
Liz Williams
 
Ottimizzazione non lineare,Teorema di Lagrange e applicazione economica
Ottimizzazione non lineare,Teorema di Lagrange e applicazione economicaOttimizzazione non lineare,Teorema di Lagrange e applicazione economica
Ottimizzazione non lineare,Teorema di Lagrange e applicazione economicaAngela Berardinelli
 
Atoot Rishtey - Matrix Rewards
Atoot Rishtey - Matrix RewardsAtoot Rishtey - Matrix Rewards
Atoot Rishtey - Matrix Rewards
matrikrewards
 
BayCare Health System: Improving Clinical Outcomes & Raising Care Quality fo...
BayCare Health System:  Improving Clinical Outcomes & Raising Care Quality fo...BayCare Health System:  Improving Clinical Outcomes & Raising Care Quality fo...
BayCare Health System: Improving Clinical Outcomes & Raising Care Quality fo...
David White
 
AZ Fitness Brno
AZ Fitness Brno AZ Fitness Brno
AZ Fitness Brno
AZfitnessBrno
 
Hardware luis suarez 2
Hardware luis suarez 2Hardware luis suarez 2
Hardware luis suarez 2
Luis Gore Suarez
 
Evaluation Question 6
Evaluation Question 6Evaluation Question 6
Evaluation Question 6
chloebaileymedia
 
δραστηριοτητες 2012-13
δραστηριοτητες 2012-13δραστηριοτητες 2012-13
δραστηριοτητες 2012-13
digital-earth
 
Tata Agrico - Matrix Rewards
Tata Agrico - Matrix RewardsTata Agrico - Matrix Rewards
Tata Agrico - Matrix Rewards
matrikrewards
 
Analysis of Previous Students Work
Analysis of Previous Students WorkAnalysis of Previous Students Work
Analysis of Previous Students Work
davidsjefferyhughes
 
Ståle Hansen - Understand how lync integrates with exchange
Ståle Hansen - Understand how lync integrates with exchangeStåle Hansen - Understand how lync integrates with exchange
Ståle Hansen - Understand how lync integrates with exchange
Nordic Infrastructure Conference
 
Il ricorso al credito al consumo (progetto in word,spiegazioni grafici)
Il ricorso al credito al consumo (progetto in word,spiegazioni grafici)Il ricorso al credito al consumo (progetto in word,spiegazioni grafici)
Il ricorso al credito al consumo (progetto in word,spiegazioni grafici)Angela Berardinelli
 
WebCT presentation 007
WebCT presentation 007WebCT presentation 007
WebCT presentation 007
kylebb7
 
Uncle Bert Script Proper Version
Uncle Bert Script Proper VersionUncle Bert Script Proper Version
Uncle Bert Script Proper Version
davidsjefferyhughes
 
Le dinamiche di global history
Le dinamiche di global historyLe dinamiche di global history
Le dinamiche di global history
Maria Chiara Stefanelli
 
Fredrik Knalstad - 10 ways to trigger orchestrator runbooks in the it jungle
Fredrik Knalstad - 10 ways to trigger orchestrator runbooks in the it jungleFredrik Knalstad - 10 ways to trigger orchestrator runbooks in the it jungle
Fredrik Knalstad - 10 ways to trigger orchestrator runbooks in the it jungle
Nordic Infrastructure Conference
 
Presentation1
Presentation1Presentation1
Presentation1
jman0242
 
Loi de finances pour 2017 (rsm)
Loi de finances pour 2017 (rsm)Loi de finances pour 2017 (rsm)
Loi de finances pour 2017 (rsm)
RSM France
 
Manipulation techniques in journalism - Thesis by Maria Chiara Stefanelli
Manipulation techniques in journalism - Thesis by Maria Chiara StefanelliManipulation techniques in journalism - Thesis by Maria Chiara Stefanelli
Manipulation techniques in journalism - Thesis by Maria Chiara Stefanelli
Maria Chiara Stefanelli
 
Campus SaVE Act
Campus SaVE ActCampus SaVE Act
Campus SaVE Act
Liz Williams
 

Viewers also liked (20)

Safety Training for 2013
Safety Training for 2013Safety Training for 2013
Safety Training for 2013
 
Ottimizzazione non lineare,Teorema di Lagrange e applicazione economica
Ottimizzazione non lineare,Teorema di Lagrange e applicazione economicaOttimizzazione non lineare,Teorema di Lagrange e applicazione economica
Ottimizzazione non lineare,Teorema di Lagrange e applicazione economica
 
Atoot Rishtey - Matrix Rewards
Atoot Rishtey - Matrix RewardsAtoot Rishtey - Matrix Rewards
Atoot Rishtey - Matrix Rewards
 
BayCare Health System: Improving Clinical Outcomes & Raising Care Quality fo...
BayCare Health System:  Improving Clinical Outcomes & Raising Care Quality fo...BayCare Health System:  Improving Clinical Outcomes & Raising Care Quality fo...
BayCare Health System: Improving Clinical Outcomes & Raising Care Quality fo...
 
AZ Fitness Brno
AZ Fitness Brno AZ Fitness Brno
AZ Fitness Brno
 
Hardware luis suarez 2
Hardware luis suarez 2Hardware luis suarez 2
Hardware luis suarez 2
 
Evaluation Question 6
Evaluation Question 6Evaluation Question 6
Evaluation Question 6
 
δραστηριοτητες 2012-13
δραστηριοτητες 2012-13δραστηριοτητες 2012-13
δραστηριοτητες 2012-13
 
Tata Agrico - Matrix Rewards
Tata Agrico - Matrix RewardsTata Agrico - Matrix Rewards
Tata Agrico - Matrix Rewards
 
Analysis of Previous Students Work
Analysis of Previous Students WorkAnalysis of Previous Students Work
Analysis of Previous Students Work
 
Ståle Hansen - Understand how lync integrates with exchange
Ståle Hansen - Understand how lync integrates with exchangeStåle Hansen - Understand how lync integrates with exchange
Ståle Hansen - Understand how lync integrates with exchange
 
Il ricorso al credito al consumo (progetto in word,spiegazioni grafici)
Il ricorso al credito al consumo (progetto in word,spiegazioni grafici)Il ricorso al credito al consumo (progetto in word,spiegazioni grafici)
Il ricorso al credito al consumo (progetto in word,spiegazioni grafici)
 
WebCT presentation 007
WebCT presentation 007WebCT presentation 007
WebCT presentation 007
 
Uncle Bert Script Proper Version
Uncle Bert Script Proper VersionUncle Bert Script Proper Version
Uncle Bert Script Proper Version
 
Le dinamiche di global history
Le dinamiche di global historyLe dinamiche di global history
Le dinamiche di global history
 
Fredrik Knalstad - 10 ways to trigger orchestrator runbooks in the it jungle
Fredrik Knalstad - 10 ways to trigger orchestrator runbooks in the it jungleFredrik Knalstad - 10 ways to trigger orchestrator runbooks in the it jungle
Fredrik Knalstad - 10 ways to trigger orchestrator runbooks in the it jungle
 
Presentation1
Presentation1Presentation1
Presentation1
 
Loi de finances pour 2017 (rsm)
Loi de finances pour 2017 (rsm)Loi de finances pour 2017 (rsm)
Loi de finances pour 2017 (rsm)
 
Manipulation techniques in journalism - Thesis by Maria Chiara Stefanelli
Manipulation techniques in journalism - Thesis by Maria Chiara StefanelliManipulation techniques in journalism - Thesis by Maria Chiara Stefanelli
Manipulation techniques in journalism - Thesis by Maria Chiara Stefanelli
 
Campus SaVE Act
Campus SaVE ActCampus SaVE Act
Campus SaVE Act
 

Similar to Sdpd 1

Synapse india reviews on mobile devices
Synapse india reviews on mobile devicesSynapse india reviews on mobile devices
Synapse india reviews on mobile devices
Tarunsingh198
 
Soft eng slides_1
Soft eng slides_1Soft eng slides_1
Soft eng slides_1
Vijay Rajan
 
Mobile app testing
Mobile app testingMobile app testing
Mobile app testing
sanpalan
 
Mobile testing
Mobile testingMobile testing
Mobile testing
sanpalan
 
Machine Learning on mobile devices
Machine Learning on mobile devicesMachine Learning on mobile devices
Machine Learning on mobile devices
Sergey Burkov
 
Personal_CV
Personal_CVPersonal_CV
Personal_CV
Andy Roberts
 
11.universal mobile application development (umad) on home automation
11.universal mobile application development (umad) on home automation11.universal mobile application development (umad) on home automation
11.universal mobile application development (umad) on home automation
Alexander Decker
 
wireless notice board
 wireless notice board wireless notice board
wireless notice board
Anmol Purohit
 
Basic Guide For Mobile Application Testing
Basic Guide For Mobile Application TestingBasic Guide For Mobile Application Testing
Basic Guide For Mobile Application Testing
Sourabh Kasliwal
 
Week 7 lecture material
Week 7 lecture materialWeek 7 lecture material
Week 7 lecture material
Ankit Gupta
 
The common challenges of mobile internet for up coming generation
The common challenges of mobile internet for up coming generationThe common challenges of mobile internet for up coming generation
The common challenges of mobile internet for up coming generation
eSAT Publishing House
 
The common challenges of mobile internet for up coming generation
The common challenges of mobile internet for up coming generationThe common challenges of mobile internet for up coming generation
The common challenges of mobile internet for up coming generation
eSAT Journals
 
Ian Smith - Mobile Software Testing - Facing Future Challenges
Ian Smith -  Mobile Software Testing - Facing Future ChallengesIan Smith -  Mobile Software Testing - Facing Future Challenges
Ian Smith - Mobile Software Testing - Facing Future Challenges
TEST Huddle
 
Vivit webinar dec 2010 - Mobile Tipping Point
Vivit webinar   dec 2010 - Mobile Tipping PointVivit webinar   dec 2010 - Mobile Tipping Point
Vivit webinar dec 2010 - Mobile Tipping Point
Shunra
 
Mobile Performance Testing Approaches and Challenges
Mobile Performance Testing Approaches and ChallengesMobile Performance Testing Approaches and Challenges
Mobile Performance Testing Approaches and Challenges
Nous Infosystems
 
Application development for mobile phones
Application development for mobile phonesApplication development for mobile phones
Application development for mobile phones
Sanjeev Kumar Jaiswal
 
MD-III-CH-ppt.ppt
MD-III-CH-ppt.pptMD-III-CH-ppt.ppt
MD-III-CH-ppt.ppt
bharatt7
 
Nagaraju - 10 Yrs
Nagaraju - 10 YrsNagaraju - 10 Yrs
Nagaraju - 10 Yrs
Nagaraju Amarana
 
Mobile-Application-Development–-Lecture-Notes-on-UNIT-3.ppt
Mobile-Application-Development–-Lecture-Notes-on-UNIT-3.pptMobile-Application-Development–-Lecture-Notes-on-UNIT-3.ppt
Mobile-Application-Development–-Lecture-Notes-on-UNIT-3.ppt
Achyu4
 
Thorsignia - Custom software development services in india
Thorsignia - Custom software development services in indiaThorsignia - Custom software development services in india
Thorsignia - Custom software development services in india
charan Teja
 

Similar to Sdpd 1 (20)

Synapse india reviews on mobile devices
Synapse india reviews on mobile devicesSynapse india reviews on mobile devices
Synapse india reviews on mobile devices
 
Soft eng slides_1
Soft eng slides_1Soft eng slides_1
Soft eng slides_1
 
Mobile app testing
Mobile app testingMobile app testing
Mobile app testing
 
Mobile testing
Mobile testingMobile testing
Mobile testing
 
Machine Learning on mobile devices
Machine Learning on mobile devicesMachine Learning on mobile devices
Machine Learning on mobile devices
 
Personal_CV
Personal_CVPersonal_CV
Personal_CV
 
11.universal mobile application development (umad) on home automation
11.universal mobile application development (umad) on home automation11.universal mobile application development (umad) on home automation
11.universal mobile application development (umad) on home automation
 
wireless notice board
 wireless notice board wireless notice board
wireless notice board
 
Basic Guide For Mobile Application Testing
Basic Guide For Mobile Application TestingBasic Guide For Mobile Application Testing
Basic Guide For Mobile Application Testing
 
Week 7 lecture material
Week 7 lecture materialWeek 7 lecture material
Week 7 lecture material
 
The common challenges of mobile internet for up coming generation
The common challenges of mobile internet for up coming generationThe common challenges of mobile internet for up coming generation
The common challenges of mobile internet for up coming generation
 
The common challenges of mobile internet for up coming generation
The common challenges of mobile internet for up coming generationThe common challenges of mobile internet for up coming generation
The common challenges of mobile internet for up coming generation
 
Ian Smith - Mobile Software Testing - Facing Future Challenges
Ian Smith -  Mobile Software Testing - Facing Future ChallengesIan Smith -  Mobile Software Testing - Facing Future Challenges
Ian Smith - Mobile Software Testing - Facing Future Challenges
 
Vivit webinar dec 2010 - Mobile Tipping Point
Vivit webinar   dec 2010 - Mobile Tipping PointVivit webinar   dec 2010 - Mobile Tipping Point
Vivit webinar dec 2010 - Mobile Tipping Point
 
Mobile Performance Testing Approaches and Challenges
Mobile Performance Testing Approaches and ChallengesMobile Performance Testing Approaches and Challenges
Mobile Performance Testing Approaches and Challenges
 
Application development for mobile phones
Application development for mobile phonesApplication development for mobile phones
Application development for mobile phones
 
MD-III-CH-ppt.ppt
MD-III-CH-ppt.pptMD-III-CH-ppt.ppt
MD-III-CH-ppt.ppt
 
Nagaraju - 10 Yrs
Nagaraju - 10 YrsNagaraju - 10 Yrs
Nagaraju - 10 Yrs
 
Mobile-Application-Development–-Lecture-Notes-on-UNIT-3.ppt
Mobile-Application-Development–-Lecture-Notes-on-UNIT-3.pptMobile-Application-Development–-Lecture-Notes-on-UNIT-3.ppt
Mobile-Application-Development–-Lecture-Notes-on-UNIT-3.ppt
 
Thorsignia - Custom software development services in india
Thorsignia - Custom software development services in indiaThorsignia - Custom software development services in india
Thorsignia - Custom software development services in india
 

Recently uploaded

Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptxPrésentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
siemaillard
 
NEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptx
NEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptxNEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptx
NEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptx
iammrhaywood
 
Walmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdfWalmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdf
TechSoup
 
Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47
MysoreMuleSoftMeetup
 
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
สมใจ จันสุกสี
 
How to deliver Powerpoint Presentations.pptx
How to deliver Powerpoint  Presentations.pptxHow to deliver Powerpoint  Presentations.pptx
How to deliver Powerpoint Presentations.pptx
HajraNaeem15
 
Film vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movieFilm vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movie
Nicholas Montgomery
 
Constructing Your Course Container for Effective Communication
Constructing Your Course Container for Effective CommunicationConstructing Your Course Container for Effective Communication
Constructing Your Course Container for Effective Communication
Chevonnese Chevers Whyte, MBA, B.Sc.
 
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
imrankhan141184
 
clinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdfclinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdf
Priyankaranawat4
 
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem studentsRHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
Himanshu Rai
 
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdfANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
Priyankaranawat4
 
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
Nguyen Thanh Tu Collection
 
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptxChapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Denish Jangid
 
How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17
Celine George
 
Main Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docxMain Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docx
adhitya5119
 
BBR 2024 Summer Sessions Interview Training
BBR  2024 Summer Sessions Interview TrainingBBR  2024 Summer Sessions Interview Training
BBR 2024 Summer Sessions Interview Training
Katrina Pritchard
 
math operations ued in python and all used
math operations ued in python and all usedmath operations ued in python and all used
math operations ued in python and all used
ssuser13ffe4
 
A Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdfA Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdf
Jean Carlos Nunes Paixão
 
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
Nguyen Thanh Tu Collection
 

Recently uploaded (20)

Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptxPrésentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
 
NEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptx
NEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptxNEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptx
NEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptx
 
Walmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdfWalmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdf
 
Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47
 
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
 
How to deliver Powerpoint Presentations.pptx
How to deliver Powerpoint  Presentations.pptxHow to deliver Powerpoint  Presentations.pptx
How to deliver Powerpoint Presentations.pptx
 
Film vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movieFilm vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movie
 
Constructing Your Course Container for Effective Communication
Constructing Your Course Container for Effective CommunicationConstructing Your Course Container for Effective Communication
Constructing Your Course Container for Effective Communication
 
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
 
clinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdfclinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdf
 
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem studentsRHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
 
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdfANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
 
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
 
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptxChapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptx
 
How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17
 
Main Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docxMain Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docx
 
BBR 2024 Summer Sessions Interview Training
BBR  2024 Summer Sessions Interview TrainingBBR  2024 Summer Sessions Interview Training
BBR 2024 Summer Sessions Interview Training
 
math operations ued in python and all used
math operations ued in python and all usedmath operations ued in python and all used
math operations ued in python and all used
 
A Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdfA Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdf
 
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
 

Sdpd 1

  • 1. SEWP/SEAP ZC424  Software Development for Portable Devices Sunil Bhutada sunilbhutada@yahoo.com Ph: 9849822142 1
  • 2. CONTENTS 1. Introduction to Application Development for Portable Devices 2. Introduction to Android (2 Sessions) 3. User Interface Design and Implementation (2 Sessions) 4. Files, Saving states and Preferences 5. Android Database - Introduction to SQLite database (2 Sessions) ASSIGNMENT (10%) MID SEMESTER EXAMINATION (30%) 1. Hardware Support for Portable Devices  2. Software Support for Portable Devices (2 Sessions) 3. Using Internet Resources  4. Maps and location-based services 5. Telephony and SMS (2 Sessions) 6. Advanced Topics COMPREHENSIVE EXAMINATION (60%)
  • 4. SDPD Portability in high-level computer programming is the usability  of the same software in different environments.  The  pre-requirement  for  portability  is  the  generalized  abstraction  between  the  application  logic  and  system interfaces.  When  software  with  the  same  functionality  is  produced  for  several  computing platforms,  portability  is  the  key  issue  for  development  of  cost reduction. When describing hardware that is portable it means something  that is small and lightweight. Laptop computers are portable because  they are easy to carry. Other portable devices include PDA's, handheld computers and TabletPC's.  Software can also be described as portable when it can be run on a  variety of computers. The software does not require any particular  hardware in order to operate. Portable Devices : mobile devices 
  • 5. CONTENTS 1. Introduction to Application Development for Portable Devices 2. Introduction to Android (2 Sessions) 3. User Interface Design and Implementation (2 Sessions) 4. Files, Saving states and Preferences 5. Android Database - Introduction to SQLite database (2 Sessions) ASSIGNMENT (10%) MID SEMESTER EXAMINATION (30%) 1. Hardware Support for Portable Devices  2. Software Support for Portable Devices (2 Sessions) 3. Using Internet Resources  4. Maps and location-based services 5. Telephony and SMS (2 Sessions) 6. Advanced Topics COMPREHENSIVE EXAMINATION (60%)
  • 7. CONTENTS Introduction to Application Development  for Portable Devices 1. Mobile Operating Systems 2. Architecture and framework of different Mobile Platforms 3. Development Platforms and Development Tools 4. Programming language binding 5. Simulator and Emulator 6. Development life cycle 7. Model-View-Controller (MVC) 8. Market trends. 
  • 8. Mobile Operating Systems  Mobile  phone  usage  has  been  increasing  dramatically  over  the  last several years. Globally, if a usage comparison can be carried  out between PCs and mobile devices.  Mobile  devices  have  approximately  3.5  times  more  usage  than  PCs.  But  cell  phone  in  today’s  society  is  not  only  a  tool  for  making  call  and  writing  SMS,  but  it’s  a  personal  item  which  provides  entertainment and information. There should be nothing  that  users  can  access  on  their  desktop  that  they  can’t  access  on  their cell phone.   The  increasing  importance  of  mobile  devices  has  triggered  intense  competition  among  technology  giants,  like  Symbian,  Google,  Microsoft,  Apple,  and  Nokia  in  a  bid  to  capture  the  bigger market share for mobile platform.
  • 10. Mobile Operating Systems (Cont..) Apple’s iOS is found on the iPhone, iPad and iPod Touch. Operating  system security and compatibility has been a point of contention for  some in regards to iOS. It is entirely closed-source, and Apple  chooses on its own which software the platform will and will not  support.  Windows Mobile, also known as Windows Phone, is the mobile phone  version of Microsoft's operating system. Because of this, it is easily  compatible with many Windows programs such as Microsoft Office,  making it a popular choice for businesspeople. The Android is based on the Linux operating system. Originally  developed by an independent organization, it was later bought by  Google, although the OS itself remains free and open source. Android is  praised by many for his flexibility as a platform. Anyone can develop  apps for the OS, and any company can release a phone using it. .
  • 11. Mobile Operating Systems (Cont..) Other Mobile Operating Systems are BlackBerry Tablet OS BlackBerry Tablet OS is from QNX Software System/BlackBerry Brew is from Qualcomm. Brew is used by some mobile phone  manufacturers and mobile networks,  GridOS is from Fusion Garage. GridOS was built using open source  code from the Android kernel. It is used as the operating system of  the Grid 4 mobile phone and Grid 10 tablet. WebOS is from LG, although some parts are open source. Maemo is from Nokia. It is open source and GPL. Maemo is based  on Debian GNU/Linux and draws much of  its  GUI,  frameworks  and libraries from the GNOME project. 
  • 12. Mobile Operating Systems (Cont..) Upcoming software platforms Aliyun OS Aliyun OS is from Alibaba/AliCloud. It is cloud based. AliCloud's  operating system revolves around the idea of bringing cloud  functionality to the mobile platform. According to the company,  Aliyun is to feature cloud-based e-mail, Web search, weather updates  and GPS navigation tools.  Firefox OS Firefox OS is from non-profit organization Mozilla Foundation. It is  open source and uses GPL. Ubuntu Touch OS Ubuntu Touch OS is from Canonical Ltd.. It is open source and uses GPL. Etc.
  • 13. Mobile Applications  Mobile Applications can be found in any industry, they have been developed for: – Mobile Gaming (see gameloft) – Mobile Banking (see RBC) – Mobile Text, Presentation, and Spreadsheet (see Microsoft Office Mobile) – Social Networking (see Facebook) – Mobile News (see Yahoo! Mobile News) – Location Aware Services (see Loopt)
  • 14. Mobile Application Development Challenges  Development of mobile applications provides for many challenges and obstacles that are not commonly found in the development of applications for desktop computers  The challenges faced by developers are found in: – Heterogeneity of mobile devices – Security – Network
  • 15. Challenge: Mobile Devices  Java is a portable implementation language, any application created with Java can be run on any machine which contains a Java Runtime Environment (JRE)  J2ME, is similarly a portable language, which can be run on any mobile device which contains a JRE, however this portability is severely affected by the heterogeneity of the mobile devices currently on the market  Mobile devices display a wide range of characteristics that will greatly effect a mobile application’s performance, usability, functionality, etc.
  • 16. Challenge: Mobile Devices  Display/Screen Size – Mobile devices come in many different screen sizes – Consider the differentiating screen sizes between smart phones and cell phones – Smart phones offer the user a generally larger and higher resolution display screen, contrasted to cell phones which generally provide lower resolution and smaller display size
  • 17. Challenge: Mobile Devices  Memory – Just as screen size differs from device to device, the amount of available memory and differs from device to device – Developers must create applications which have a minimal memory footprint on the device while being of service to the user – Memory must also be carefully managed during the execution of any mobile application as it can potentially render the phone unusable until termination of the application
  • 18. Challenge: Mobile Devices  Processing Power – Another sign of the heterogeneity of mobile devices is the processing power – The CPUs differ from phone to phone and this must be taken into consideration by developers – Developers cannot create applications that require the user to wait an unreasonable amount of time for the service to load
  • 19. Challenge: Mobile Devices  Input Devices – The input devices on mobile devices range from full QWERTY keyboards to three letter button inputs – This means developers must take into account how much text is required by the user to input into their application and what kind of difficulties they may experience based on their device
  • 20. Challenge: Network  Transmission Errors – When creating mobile applications that utilize network connections there is a variety of issues that can effect the application – Wireless networks are exposed to interference which can alter the message received by the client or the server then what was originally sent – Applications must take into account these potential problems especially in financially sensitive services
  • 21. Challenge: Network  Message Latency – Messages that are to be sent to clients or servers can be delayed due to a variety of reasons such as overloaded network nodes or servers, dead or turned off cell phones, distance to travel – Applications must take this into account so as to avoid sending servers or clients stale information
  • 22. Challenge: Network  Bandwidth Usage – Wireless customers are forced to pay fees to access the wireless network and internet – While phones with WIFI capabilities allow for some users to have free connectivity at times it is important to keep messages to a minimum and compact – Applications that cost a lot to use will not be popular with many of the financially conscious users
  • 23. Challenge: Security  Wireless networks by default are not as secure as wired networks, it is important to note that message can be intercepted when travelling through the air  Mobile applications must secure the sensitive data that is being transmitted over the air  There are different methods to implement security but it must be relative to the information we want to secure and the resources that we wish to use for securing it
  • 24. Solution: Mobile Devices Display/Screen Size There is no one single method to overcome to problem of different screen sizes however there are some ways to help  When dealing with graphics that should be placed on edges use methods which retrieve the edge of the display  When creating an for a particular set of mobile devices (ie. Blackberry’s, cell phones) create the layout to the smallest display size
  • 25. Solution: Mobile Devices  Memory – Compact data representation will help reduce the amount of memory it requires to load and use your application – Use optimization techniques to reduce the amount of code required to write your application (see J2ME tech tips) – Compress any graphic images that you use in your application and save graphics in a format which takes the least space
  • 26. Solution: Mobile Devices  Processing Power – A result of reducing the memory consumption and footprint of the application should help time required to load applications – If the mobile application has a client-server architecture consider the partitioning of the application – Allow the server to do the brunt of the calculations and processing work and pass the information to the mobile device for less CPU intensive calculations
  • 27. Solution: Mobile Devices  Input Device – To overcome some of the problems that can occur with the different input devices make input requirements concise, therefore the user should be able to perform the most common tasks in an application with the least amount of button presses – Provide users with menus when possible to help reduce the amount of button input required
  • 28. Solution: Network  Transmission Errors – Transmissions errors may be inevitable when dealing with wireless networks but there are some wireless network protocols than can correct or at the least detect these errors – One solution does not exist for every single type of transmission error that may occur, it is important to plan for these types of errors and be able to deal with them accordingly
  • 29. Solution: Network  Message Latency – In a client-server architecture the server can store messages that do not arrive at the mobile device and attempt to resend them at specific intervals – Servers can also store the message and send it when the mobile device reconnects to the system – Let the user know if they receive a message that can possibly be out of date or no longer valid, this could be done using timestamps
  • 30. Solution: Network  Bandwidth Usage – Pass as little messages as required between the client and the server – Keep the messages as short as possible, you can use symbols to represent commands for the server – If your application must use a lot of bandwidth at least notify the user of this fact
  • 31. Solution: Security  Important to implement security to a level which is appropriate for the data being exchanged  Mobile devices, having limited processing power, cannot generate large cryptographic keys in a reasonable amount of time  There has been research into creating keys for algorithms such as RSA and others and sending this to the mobile device to use but this is an area that is still developing
  • 32. Abstract View of Operating System
  • 33. OPERATING SYSTEM Features •Multitasking •Scheduling •Memory Allocation •File System Interface •Keypad Interface •I/O Interface •Protection and Security •Multimedia features Mobile Operating System Structure: A mobile OS is a software platform on top of which other programs called application programs, can run on mobile devices such as PDA, cellular phones, smart phone and etc. Functions •Process Management •Resource Management •Memory Management •Power Management •File Management •I/O Management •Protection and Security etc
  • 34. Architecture and framework of different mobile platforms Mobile phones have become programmable handheld computers which have internet connectivity, computing power and open application programming interfaces (APIs) providing prospective platforms for an infinite set of new mobile services and applications. The new mobile phones which are usually called smart phones have both hardware and software parts the same as all computing systems. The software part is called Mobile Software Platform. consider a layered architecture for the software platform of typical mobile devices consists of operating system layer, middleware layer and applications layer (ibid). Layered architecture is an architectural pattern helps to structure systems that can be decomposed into groups of subtasks in which each group of subtasks is at a particular level of abstraction.
  • 35. Architecture and framework of different mobile platforms
  • 36. Architecture and framework of different mobile platforms A proposed mobile software architecture that is a general model and can be applied to different mobile platforms was shown. To discuss the openness strategy of mobile platforms based on their architecture, the proposed model is not sufficient and it should be expanded to an “architectural openness model” to demonstrate platform extension mechanisms and platform accessibility. The architectural openness model to accommodate the platform accessibility and platform extension methods and in a higher view the platform openness, should illustrate how much and under which conditions the platform extenders (application developers, device makers, customers…) can access to different layers and components of the platform and extend its functionality. Two online resources of Google Android have used and defined integrate, extend and modify concepts to clarify the openness notion in the architecture of Android platforms.
  • 37. Architecture and framework of different mobile platforms
  • 38. Architecture and framework of different mobile platforms To expand the “mobile software architecture” presented in the previous part to “architectural openness model”, the same terms and definitions are used here: Integrate a layer: To use the existing components of a layer in a mobile application via API, Service Call, source code inclusion, shared data object and other software extensions mechanisms. Extend a layer: To enhance the functionality of the components of a layer. The application uses the built-in Google map application and adds its own functionality on top of Maps is an example. Modify a layer: To replace or change the components of a layer.
  • 39. Architecture and framework of different mobile platforms
  • 40. Architecture and framework of different mobile platforms
  • 41. Architecture and framework of different mobile platforms
  • 42. Architecture and framework of different mobile platforms
  • 43. Architecture and framework of different mobile platforms
  • 44. Architecture and framework of different mobile platforms
  • 45. Architecture and framework of different mobile platforms
  • 46. Mobile Application Development  Knowing the challenges faced by developers with mobile applications we can look at the tools and steps developers take when creating applications  Mobile application development differs from development of applications on desktops because mobile applications are developed on one platform and then deployed on a totally different platform  This leads to many issues that developers face after moving their application to another platform and stresses an importance on testing
  • 47. Development Tools  From a software perspective there are several Integrated Development Environments (IDEs) that are available for use such as: – Sun Java Wireless Toolkit for CLDC – Blackberry Java Development Environment – Metrowerks CodeWarrior Wireless Studio – Borland JBuilder with MobileSet
  • 48. Development platforms and development tools Mobile Platforms According to International Data Corporation, in 2016, the platform breakdown will be as follows: • Android = 68.8% • iOS =19.1% • Windows Phone = 11.4% • BlackBerry OS = 4.1% • Other = 1.6% Based on this data, it would make sense to simply start with Android and work your way down the list to accommodate the most users. However, there are a few shortcomings with this plan. First, leaving 31.8 percent of your mobile users without a mobile experience is probably not the best plan. Second, the cost of developing an application for each platform is very expensive and requires specialized skills for each platform, which is also expensive.
  • 49. Development platforms and development tools Tools •AppgyverToolbelt: Tooling to develop and iterate apps for PhoneGap across the two major smartphone platforms – Android and iOS – with no requirement for Xcode. •Sikuli: This is a visual technology to automate and test graphical user interfaces (GUI) using images. •Ranorex: Test automation tools for mobile, web and desktop apps.
  • 50. Emulators/Simulators  The terms “emulator” and “simulator” are often used interchangeably. These technologies serve as virtual pieces of hardware that operate on a PC or laptop  IDE’s mentioned come with emulators to mimic the functionality and look seen on a mobile device, while these are extremely helpful for the developer there is ultimately no substitute for the real device
  • 51. Emulators/Simulators A simulator is a software that duplicates some processor in almost all the possible ways. An emulator is a hardware which duplicates the features and functions of a real system, so that it can behave like the actual system. Usually the emulators and simulators are used for the testing of new architectures and also to give training in some complex systems. A most famous example for a simulator is the flight simulator that simulates the functionalities of an aircraft. Basically a simulator tests the program on the development processor (the processor on which we are working), while an emulator is used on the target processor (the processor for which the program is being written).
  • 52. Development Life Cycle Lifecycle of Mobile Application Development: Realizing the lifecycle of mobile application development has become crucial as mobile devices and their applications have conquered almost 90% of the world. Be it a business or individual, the need for mobile applications is raising without any hurdles. As these applications have completely eased out the entire marketing courses of businesses and helped customers with easy on-the-go access, picking the right mobile application for their own needs becomes a must. So, here I would like to shine a light on how smart phone apps are designed and developed by app developers across many parts of world.
  • 53. Development Life Cycle The big 5 stages involved in app development: 1.Analysis and Estimation 2.Work Flow 3.Design 4.Development 5.QA 6.Launch
  • 54. Development Life Cycle Analysis and estimation: Figuring out the application goal and objective is the first and foremost aspect. Apart from this, other factors include picking the right platform and perfect developers who have the ability to come up with a clean app. Also, the target audience of the app is crucial as well. Not to forget, the cost estimation for developing such high-quality apps is crucial as well. Work flow: Upon finalizing the application developer and estimating the cost for development, the next step should be preparing a complete detailed document on the work flow. This should include testing as well. The project scope should be categorized and the specifications should be met without any issues.
  • 55. Development Life Cycle Design: Designing has a major role to play when it comes to app development. Getting a wireframe done is the very first step to start with. When performing the wireframe, it is a must to checkout whether all the features that you wish to have been included. Upon repeated modifications and idealization on wireframe, plan the design of your intended app. Development: At times, though you might have conducted the wireframe strategy, the apps might still lack some features when loaded on real devices. In such cases, the scope needs to be revisited and the necessary feedbacks have to be sent to the developers to fix the issues. Sometimes this may lead to time delay which isn’t supposed to happen as it may spoil the reputation of concern. So, the process should be clean and perfect; however without any missing features.
  • 56. Development Life Cycle Quality assurance: Though, the developers revisit the scope and make the necessary modifications to launch the apps with complete features, they often fail to visualize a few missing data. The testing team takes this responsibility in making an application which completely adheres to the scope of work. Each and every feature is tested, next to the quality and performance. They conduct different kinds of testing services in order to make the app completely free from all bugs and deliver with impeccable quality. Launch: The final phase is the delivery of app which is otherwise called as launching. The app will be published in iTunes if it is an iPhone app or in Google Play if it is an Android app. I hope this post provides you the inner picture of what exactly happens in every mobile app development company worldwide.
  • 57. MVC  A classic design pattern often used by applications that need the ability to maintain multiple views of the same data.  A commonly used and powerful architecture for GUIs.
  • 58. Three Modules of MVC  In MVC design pattern, all the objects are cleanly separated into one of three modules: – Model • The core of the application. This maintains the state and data that the application represents. When significant changes occur in the model, it updates all of its views. – View • The UI which displays information about the model to the user. Any object that needs information about the model needs to be a registered view with the model. – Controller • The UI presented to the user to manipulate the application.
  • 59. Events typically cause a controller to change a model, or view, or both. Whenever a controller changes a model’s data or properties, all dependent views are automatically updated. Similarly, whenever a controller changes a view, the view gets data from the underlying model to refresh itself.
  • 60.
  • 61. MVC Advantages  Clarity of design  Efficient modularity  Multiple views  Ease of growth  Distributable  Powerful user interfaces
  • 62. Mobile Computing Barrier Areas  Human Interface – display – input means  Power/Battery/Display Issues  Performance (for speech, video)  Communications Infrastructure  Form Factor/ Heat Dissipation  Applications
  • 63. Technology Barriers  Bandwidth, capacity, reliability, latency, coverage, and cost of wide-area networks – protocols for handling data transfers efficiently – caching strategies – security issues – connectivity management in overlay networks – Very-Local Area Networks (Body LAN) and mobile WLANs – ad-hoc networking – incorporation of video – new WAN media
  • 64. Technology Barriers (Cont.)  Input limitations for mobile/wearable devices – speech capture, recognition, understanding – speaker identification and verification – handwriting capture and recognition – real-time digital voice multicasting – video  Architecture – hardware/software architectures for mobile systems – OS design (?) – compilers for low-power devices
  • 65. Technology Barriers (Cont.)  Human-computer interaction – new techniques for mobile I/O: gesture based, augmented-reality displays  System design and packaging – form factors for mobile systems (ID group) – wireless head mounted I/O, including video capture  Applications and user interfaces
  • 66. Microprocessors Technology Trends Performance (SPECint92) 10000 1000 Natural Language 100 Vision 10 GUIs 1 1982 Speech Recognition 1987 1992 1997 2002
  • 69. Mobile Trends Changes in Behavior and Ubiquity Drive A Mobile Mind shift in 2013 Mobile’s momentum continues to accelerate in 2013 — more than 1 million apps available, more than 150 million tablets sold, and more than 1 billion smartphones in consumers’ pockets globally. 1 As we revisited our 2012 mobile trends, we found that all of them are still evolving and relevant (see Figure-1) 2 A number remain important enough to be key trends in 2013 but for different reasons than last year. But more important than the scale of the numbers is the fact that mobile devices and their connectivity fundamentally shift how people behave and how businesses engage with them. These shifts are happening even faster outside North America and Europe, in countries like China, Brazil, and India. Marketers who were affected early on by this shift in mobile mindset understand that: ■ Immediacy and convenience combine to alter people’s behavior. Consumers are changing ■ Ubiquity profoundly disrupts business models.
  • 75. Questions 1. What is Portability in view of software and hardware? List out Portable Devices? 2. Describe the need of Mobile Operating Systems? 3. Compare and contrast different types of Architectural frameworks of Mobile Platforms? 4. Review the Development Life Cycle of Mobile Application Development Process? 5. List out the Latest software’s for Portable Devices and explain its features? 6. Discuss the development of Mobile Apps?