Unit I Introduction: Introduction To Mobile Applications

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 46

UNIT I INTRODUCTION

Introduction to Mobile Applications


Mobile Computing – What &
Why?
 About both physical and logical computing
entities that move.
 Physical entities are computers that change
locations.
 Logical entities are instances of a running user
application or a mobile agent.
Migration is important for survival.
 A technology that allows transmission of data,
via a computer, without having to be connected
to a fixed physical link
Mobile Computing – Where?

 Mobile business intelligence


 Mobile computing
 Mobile Device Testing
 Mobile games
 Mobile Marketing
 Social Networking
Mobile Applications Development

 Mobile application development is the process by which


applications are developed for small low-power handheld devices
such as personal digital assistants (PDA), enterprise digital
assistants(EDA) or mobile phones.
 These applications are either pre-installed on phones during
manufacture, or downloaded by customers from app stores and
other mobile software distribution platforms.
How is it done?

 Mobile software is developed by using different platforms and


programming languages based on the target mobile device.
 There are many different hardware components found in mobile
devices so their applications are developed using different
software architectures.
 Most of the methodologies in use are based on the model-driven
approach which has three different views of the application
development process:
(1) the application itself and its structure,
(2) the business logic and
(3) the graphical user interface of the application. 
Weapons Of Mobile Development

 Hardware
 Computers
 Mobile Phones
 Framework
 Programming Language
 Integrated Development Environment
 Compiler
 Simulator
 Monitors
J2ME

J2ME (Java 2 Platform, Micro Edition) is a technology that


allows programmers to use the Java programming language
and related tools to develop programs for mobile wireless
information devices such as cellular phones and personal
digital assistants (PDAs).
Programming Language: Java
Integrated Development Environment: Netbeans/Eclipse
FrameWork: KVM
Hardware Deployment: Multiple
Installer Packaging Options: Jad/Jar
iOS (Apple)

 iOS (formerly iPhone OS) is a mobile operating


system created and developed by Apple Inc.
exclusively for its hardware.
 Programming Language: Objective C
 Integrated Development Environment: Xcode
 FrameWork: Cocoa Touch
 Hardware Deployment: iPhone, iPad, iPod
 Installer Packaging Options: .ipa
Android

 Android is a mobile operating system based on a modified


version of the Linux kernel and other open source
software, designed primarily for touchscreen mobile
devices such as smartphones and tablets.

 Programming Language: Java


 Integrated Development Environment: Eclipse/Netbeans
 FrameWork: Dalvik VM
 Hardware Deployment: Android Only
 Installer Packaging Options: .apk
BlackBerry

BlackBerry OS is a proprietary mobile operating


system developed by Canadian company BlackBerry
Limited for its BlackBerry line of smartphone handheld
devices.
Programming Language: Java
Integrated Development Environment: JDE -
BlackBerry Java Development Environment
FrameWork: Dalvik VM
Hardware Deployment: Android Only
Installer Packaging Options: .alx, .cod 
Windows Mobile

Windows Mobile is a discontinued family of mobile


operating systems developed
by Microsoft for smartphones and personal digital
assistants.
Programming Language: C#, VB.NET, Basic4ppc
Integrated Development Environment: Visual Studio
2008, 2005, 2003, Basic4ppc IDE
FrameWork: .Net Compact Framework
Hardware Deployment: Windows Mobiles
Installer Packaging Options: .xap, .appx
The End? No!The Beginning!

 Welcome to the world of mobile development era…


 Predictions about the future of mobile devices are coming out that the popularity of
applications will peak by 2020 with around 10 million apps available worldwide. 
EMBEDDED SYSTEM
 What is a system?
 A system is a way of working, organizing or doing one
or many tasks according to a fixed plan, program or set
of rules.
 A system is also an arrangement in which all its units
assemble and work together according to the plan or
program.
 SYSTEM EXAMPLES
a. WATCH
b. It is a time display SYSTEM
c. Parts: Hardware, Needles, Battery, Dial, Chassis and Strap
 Rules
1. All needles move clockwise only
2. A thin needle rotates every second
3. A long needle rotates every minute
4. A short needle rotates every hour
5. All needles return to the original position
after 12 hours
COMPUTER HARDWARE
COMPONENTS OF EMBEDDED SYSTEM
It has Hardware
a. Processor, Timers, Interrupt controller, I/O Devices,
Memories, Ports, etc.
It has main Application Software
a. Which may perform concurrently the series of tasks or
multiple tasks.
It has Real Time Operating System (RTOS)
a. RTOS defines the way the system work. Which supervise
the application software. It sets the rules during the
execution of the application program. A small scale
embedded system may not need an RTOS.
EMBEDDED SYSTEM HARDWARE
 EMBEDDED SYSTEM CONSTRAINTS
An embedded system is software designed to keep in view
three constraints:
1. Available system memory
2. Available processor speed
3. The need to limit the power dissipation
 (When running the system continuously in cycles of wait for
events, run, stop and wakeup).
What makes embedded systems different?
Real-time operation
• size
• cost
• time
• reliability
• safety
• Energy
• security
CLASSIFICATIONS OF EMBEDDED SYSTEM
1.Small Scale Embedded System
2.Medium Scale Embedded System
3.Sophisticated Embedded System
SMALL SCALE EMBEDDED SYSTEM
1.Single 8 bit or 16bit Microcontroller.
2.Little hardware and software complexity.
3.They May even be battery operated.
4.Usually “C” is used for developing these system.
5.The need to limit power dissipation when system is running continuously.
a. Programming tools:
1. Editor, Assembler and Cross Assembler
MEDIUM SCALE EMBEDDED SYSTEM

1.Single or few 16 or 32 bit microcontrollers or Digital Signal Processors (DSP) or Reduced


Instructions Set Computers (RISC).
2.Both hardware and software complexity.
a. Programming tools:
1. RTOS, Source code Engineering Tool, Simulator, Debugger and Integrated
Development Environment (IDE).
SOPHISTICATED EMBEDDED SYSTEM

1.Enormous hardware and software complexity


2.Which may need scalable processor or configurable processor and programming logic arrays.
3.Constrained by the processing speed available in their hardware units.
a. Programming Tools:
1. For these systems may not be readily available at a reasonable cost or may not
be available at all. A compiler or retargetable compiler might have to br
developed for this.
 PROCESSOR
1. A Processor is the heart of the Embedded System.
2. For an embedded system designer knowledge of microprocessor and microcontroller is a must.
 Two Essential Units: Operations
a. Control Unit (CU) Fetch
b. Execution Unit (EU) Execute
 VARIOUS PROCESSOR
1. General Purpose processor (GPP)
a. Microprocessor
b. Microcontroller
c. Embedded Processor
d. Digital signal Processor
2. Application Specific System Processor (ASSP)
3. Multi Processor System using GPPs
MICROPROCESSOR
1.A microprocessor is a single chip semi conductor device also which is a computer
on chip, but not a complete computer.
2.Its CPU contains an ALU, a program counter, a stack pointer, some working
register, a clock timing circuit and interrupt circuit on a single chip.
3.To make complete micro computer, one must add memory usually ROM and
RAM, memory decoder, an oscillator and a number of serial and parallel ports.
MICROCONTROLLER
1.A microcontroller is a functional computer system-on-a-chip. It contains a
processor, memory, and programmable input/output peripherals.
2.Microcontrollers include an integrated CPU, memory (a small amount of RAM,
program memory, or both) and peripherals capable of input and output.
EMBEDDED PROCESSOR
1.Special microprocessors & microcontrollers often called, Embedded processors.
2.An embedded processor is used when fast processing fast context-switching &
atomic ALU operations are needed.
3.Examples : ARM 7, INTEL i960, AMD 29050.
DIGITAL SIGNAL PROCESSOR
1.DSP as a GPP is a single chip VLSI unit.
2.It includes the computational capabilities of microprocessor and multiply &
accumulate units (MAC).
3.DSP has large number of applications such as image processing, audio, video &
telecommunication processing systems.
4.It is used when signal processing functions are to be processed fast.
5.Examples : TMS320Cxx, SHARC, Motorola 5600xx
APPLICATION SPECIFIC SYSTEM PROCESSOR (ASSP)
1.ASSP is dedicated to specific tasks and provides a faster solution.
2.An ASSP is used as an additional processing unit for running the
application in place of using embedded software.
3.Examples : IIM7100, W3100A
MULTI PROCESSOR SYSTEM USING GPPs
1.Multiple processors are used when a single processor does not meet
the needs of different task.
2.The operations of all the processors are synchronized to obtain an
optimum performance.
 SOFTWARE
 C, C++, Dot Net
 SIMULATOR
 Masm
 COMPILER
 RIDE, KEIL
MARKET AND BUSINESS DRIVERS
FOR MOBILE APPLICATIONS
PUBLISHING AND DELIVERY OF MOBILE APPLICATIONS

FILL A NEED:
A mobile app is a software application designed to run on the “native” operating
system of a mobile device. Native apps are not interchangeable.
A mobile website is a website optimized for mobile devices. The content is
reformatted—and often streamlined—to provide a better experience on mobile
devices than the full website does.
DETERMINE THE APP'S LOOK AND USER INTERACTIONS
Once it has been determined what the app will do, decisions must be made on what
the app will look like and how it will work.
 First thing is the appearance and functionality of the user interfaces
(UIs).
 A UI refers to a meshing point where the user interacts with an
application. UI elements include the design of menus and icons, the
functionality of touchscreens, and the ease of navigation to the
application’s various features.
PUBLISHING AND DELIVERY OF MOBILE
APPLICATIONS

PROCEED WITH CAUTION


There’s no official certification to distinguish the good developers from the
bad developers.
 Anyone can say they are a mobile app developer
 And anyone can take a deposit, usually 50% of the overall cost, and
then disappear with the money.
CPAs can take to protect themselves when selecting a mobile app
developer, or a mobile website developer, include
Obtain a list of apps or mobile websites developed by the vendor. Test those
apps and gauge their performance on your mobile devices and the types of
mobile devices you want to be able to run your app.
Contact customers of the vendor to see what their experience was like. What
went well? What could have gone better? Would they work with the vendor
again?
PUBLISHING AND DELIVERY OF MOBILE
APPLICATIONS

 Request to see full technical specs for the app or mobile site that show in detail
what the site would look like, how it would work, and whether the code used
would allow for changes to function and design based on feedback in testing .
 Don’t rush into a contract. You need to negotiate terms from a position of
strength. Don’t scramble to put together an app just to meet an artificial
deadline.
 Negotiate not only the final price, but also what you will pay up front. While
50% is a common deposit for mobile app development, it is by no means the
only option.
 Talk to as many developers as possible. This is where your consultant can help
with initial interviews and screening. Your goal should be to create as much
competition as possible to develop your site.   
PUBLISHING AND DELIVERY OF MOBILE
APPLICATIONS

 SET A BUDGET – Cost Drivers


 The cost of building an app can range from a few thousand dollars to well into the
six figures
 How much of the design and coding is customized. The more customization, the
higher the price. 
 The use of existing templates and coding can reduce costs but also places limits on
the functionality and features that can be included in the app.
 The quantity and complexity of the features.
 The complexity of the functionality.
 The number of additions and changes made during the development process. This
can range from new features to redesigned user interfaces. “It’s kind of like building
a house,” 
 The number of versions that must be produced. Tablets and smartphones require
different specifications, as do different operating systems.
 PICK THE BEST DEVICE(S) FOR AN APP

 While the cost factor should carry a lot of weight in the decision on device and operating system for an app, there are
other factors to consider
 There are significant differences in the size and purpose of smartphones and tablets. Smartphones, for example, are
ideal for the delivery of content that can be quickly consumed, while tablets are superior for reading long-form material.
 User smartphones almost always have an internet-access plan with a telecommunications carrier. Many tablet users can
connect to the internet only via a Wi-Fi connection.
 Smartphones are far more widespread than tablets and more convenient to carry.
  
 Apps designed for Apple’s iOS will have a consistent user experience on each of Apple’s platforms because the
company restricts the way consumers can use their iPhones and iPads. Android apps, in contrast, could be used in
countless ways, and not just because there are hundreds of Android smartphones and tablets.
 If you put two people using the same app on identical Samsung Galaxy S III smartphones beside each other, the apps
could look totally different, as could the way each person uses the app,
 “Users can customize everything on Android”
PUBLISHING AND DELIVERY OF MOBILE APPLICATIONS

 Android application publishing is a process that makes your


Android applications available to users.
PUBLISHING AND DELIVERY OF
MOBILE APPLICATIONS

 FILL A NEED
 DETERMINE THE APP'S LOOK AND USER
INTERACTIONS
 PROCEED WITH CAUTION
 SET A BUDGET – Cost Drivers
 PICK THE BEST DEVICE(S) FOR AN APP
 SELECT THE RIGHT STORES
PUBLISHING AND DELIVERY OF MOBILE
APPLICATIONS
FILL A NEED

A mobile app is a software application designed to run on the “native” operating


system of a mobile device.
Native mobile apps should do at least one of the following,
•Expand the firm’s product or service offerings using the built-in capabilities of
smart phones, such as cameras, global positioning systems (GPS), etc.
•Enhance the firm’s brand.
DETERMINE THE APP'S LOOK AND USER INTERACTIONS
Once it has been determined what the app will do, decisions must be made on what
the app will look like and how it will work.
 First thing is the appearance and functionality of the user interfaces (UIs).
 A UI refers to a meshing point where the user interacts with an application. UI
elements include the design of menus and icons, the functionality of
touchscreens, and the ease of navigation to the application’s various features.
PUBLISHING AND DELIVERY OF
MOBILE APPLICATIONS

PROCEED WITH CAUTION


There’s no official certification to distinguish the good developers from the
bad developers.
 “Anyone can say they are a mobile app developer,”
 And anyone can take a deposit, usually 50% of the overall cost,
and then disappear with the money.
PUBLISHING AND DELIVERY
OF MOBILE APPLICATIONS
 Steps CPAs can take to protect themselves when selecting a
mobile app developer, or a mobile website developer, include
 Obtain a list of apps or mobile websites developed by the
vendor. Test those apps and gauge their performance on your
mobile devices and the types of mobile devices you want to be
able to run your app.
 Contact customers of the vendor to see what their experience
was like. What went well? What could have gone better? Would
they work with the vendor again?
 Request to see full technical specs for the app or mobile site that
show in detail what the site would look like, how it would work,
and whether the code used would allow for changes to function
and design based on feedback in testing .
PUBLISHING AND DELIVERY
OF MOBILE APPLICATIONS

 Don’t rush into a contract. You need to negotiate terms from a


position of strength. Don’t scramble to put together an app just to
meet an artificial deadline.
 Negotiate not only the final price, but also what you will pay up
front. While 50% is a common deposit for mobile app
development, it is by no means the only option.
 Talk to as many developers as possible. This is where your
consultant can help with initial interviews and screening. Your
goal should be to create as much competition as possible to
develop your site.   
PUBLISHING AND DELIVERY
OF MOBILE APPLICATIONS
 The cost of building an app can range from a few thousand dollars to well
into the six figures
 How much of the design and coding is customized. The more customization,
the higher the price. 
 The use of existing templates and coding can reduce costs but also places
limits on the functionality and features that can be included in the app.
 The quantity and complexity of the features.
 The complexity of the functionality.
 The number of additions and changes made during the development process.
This can range from new features to redesigned user interfaces. “It’s kind of
like building a house,” 

 The number of versions that must be produced. Tablets and smartphones


require different specifications, as do different operating systems
PUBLISHING AND DELIVERY
OF MOBILE APPLICATIONS
PICK THE BEST DEVICE(S) FOR AN APP
There are significant differences in the size and purpose of
smartphones and tablets. Smartphones, for example, are ideal for the
delivery of content that can be quickly consumed, while tablets are
superior for reading long-form material.
User smartphones almost always have an internet-access plan with
a telecommunications carrier. Many tablet users can connect to the
internet only via a Wi-Fi connection.
Smartphones are far more widespread than tablets and more
convenient to carry.
PUBLISHING AND DELIVERY
OF MOBILE APPLICATIONS
 SELECT THE RIGHT STORES
 Apple requires all apps for the iPhone, iPad, and iPod Touch to be
distributed exclusively through its App Store.
 Google, in contrast, not only offers Android apps through its
Google Play store, but also allows third-party stores to offer
Android apps.
o The result is two diametrically opposed app store
experiences. Apple controls everything in its App Store.

You might also like