Methods of application development for mobile
devices
© 2009 Research In Motion Limited
Agenda
This course covers the following topics:
– Introduction to developing applications for mobile
devices
– Methods of application development for mobile
devices
– Introduction to GPS and Wi-Fi® technology on
BlackBerry® smartphones
© 2009 Research In Motion Limited
Agenda
– Introduction to push technology
– Data structures and memory management on mobile
devices
– User interface design for mobile devices
– BlackBerry themes and animated graphics
– Security considerations for developing applications for
mobile devices
Methods of application development for mobile devices
Objectives:
– List and briefly describe three methods for developing
mobile device applications.
– Describe how Java®, web, and widget applications
differ.
– Cite examples of Java, web, and widget applications.
– Describe application design considerations and
limitations for Java, web, and widget application
development methods.
© 2009 Research In Motion Limited
Java development
© 2009 Research In Motion Limited
Java development
Java applications:
– Applications reside and run on the mobile device.
– Applications for BlackBerry smartphone are written
in Java® ME.
– Standalone applications do not require an Internet
connection.
– Applications can support wireless features.
© 2009 Research In Motion Limited
Java development
Advantages of Java applications:
– Flexibility
– BlackBerry smartphone features
– Peripheral devices
– Application storage
– Location-based services
– Background threads
– Bandwidth
© 2009 Research In Motion Limited
Java development - advantages
Flexibility:
– Create any style, look, and function.
– No requirements for look and behavior.
– No requirements for where and how to store data.
– Design consideration
•
Implement commonly used conventions for key
usage and the look of the UI to foster ease of use.
UI
© 2009 Research In Motion Limited
user interface
Java development – advantages
BlackBerry smartphone features:
– Integrate use of features in your application
•
Camera
•
Phone
– Integrate native applications
•
Address book
•
Media player
•
BlackBerry® Maps
Java development – advantages
Peripheral devices:
– Communicate with devices that have Bluetooth®
functionality.
•
Headsets
•
Printers
•
Writing devices
•
GPS transmitters
GPS
Global Positioning System
Java development – advantages
Application storage:
– Store the application and its data directly on the
BlackBerry smartphone.
– User can access the application at any time.
Java development – advantages
Location-based services:
– Detect the location of the BlackBerry smartphone and
provide information for that location.
– Example: create an application that shows the menus
of restaurants within two miles of the current location.
Java development – advantages
Background threads:
– Processes run in the background, listening for events
or updates.
– Allow users to run other applications while your
application carries out tasks.
Java development – advantages
Bandwidth:
– Standalone applications require no bandwidth.
– Java applications with wireless features require
bandwidth.
– Design consideration
•
Send only the necessary data, and send data only
when it is required.
•
Use push technology to eliminate
request/response traffic.
Java development
Disadvantages of Java applications:
– Skill requirements
– Standards
– Local storage
– Application version control
Java development – disadvantages
Skill requirements:
– Java is not as easy or intuitive to use as the web and
widget development methods.
Java development – disadvantages
Standards:
– No existing framework to build on.
– You must decide how to implement and present every
feature.
– Design consideration
• Implement features and functions that are already
familiar to users.
Java development – disadvantages
Local storage:
– The BlackBerry smartphone has limited storage
capacity.
– Design consideration
• Create a balance between storing the application
locally (using local storage) and accessing features
and data over the wireless connection (using
bandwidth).
Java development – disadvantages
Application version control:
– You may have to create different versions of the
application to support different device capabilities.
– Application updates and patches must distributed to
individual users.
Web development
© 2009 Research In Motion Limited
Web development
Web applications:
– Can reside on a content server; users access them
using browsers
– Use the familiar browser interface
– Support markup languages: HTML, XHTML, cHTML,
and WML version 1.3
– Support scripting languages: JavaScript® version 1.5
(including Ajax support), ECMAScript™, and WML Script
version 1.2.1
– Test applications with the BlackBerry Smartphone
Simulator and the BlackBerry® MDS Simulator
Web development
Advantages of web applications:
– Skill requirements
– Storage
– Standards
– Web signals
– Application version control
– Detection of device and capabilities
Web development – advantages
Skill requirements:
– Web technologies are easy to learn.
– You may already be familiar with them.
– Your web application will look like other web
applications, so users will find it easy and intuitive to
use.
Web development – advantages
Storage:
– All application information can be held on the content
server.
– There is no need to deploy the application to the
client.
– BlackBerry smartphone storage capacity is not an
issue with server-hosted web applications.
Web development – advantages
Standards:
– Use of existing frameworks reduces development
effort.
• Faster deployment
• Focus on application features rather than
underlying functionality
Web development – advantages
Web signals:
– Content providers push icons to subscribers’
BlackBerry smartphones.
– When a user clicks the icon, it launches the browser
and automatically accesses the designated web
address.
– New icons can overwrite existing icons to reflect a
change in status.
– Example: a sports content provider pushes an
updated icon that indicates the latest score in a game.
Web development – advantages
Application version control:
– Update applications directly at the source (content
server).
– No need to distribute application updates or patches to
individual users.
Web development – advantages
Detection of device and capabilities:
– Detect the device type and capabilities of individual
BlackBerry smartphones.
– Use that information to present the appropriate
features or display modes.
Web development
Disadvantages of web applications:
– Flexibility
– Background threads
– Offline use
– Bandwidth
Web development – disadvantages
Flexibility:
– Use of existing frameworks can limit options for look
and functionality.
Web development – disadvantages
Background threads:
– Hosted web applications cannot work in the background
while users attend to other tasks.
Web development – disadvantages
Offline use:
– BlackBerry smartphones must connect to the hosting
server to access hosted web applications.
– It is the content provider’s responsibility to ensure
adequate storage capacity.
Web development – disadvantages
Bandwidth:
– All interaction with a hosted web application occurs over
a wireless connection.
– Design consideration
• Avoid features that require large file transfers.
• Minimize the bandwidth required for tasks.
– It is the content provider’s responsibility to ensure
adequate bandwidth.
Widget development
© 2009 Research In Motion Limited
Widget development
– Widgets are single-purpose applications.
– Create widgets using web development tools.
– Widgets reside on the mobile device and behave like
native Java applications.
– Widgets can be standalone applications, or can use
an Internet connection to send and receive data.
– BlackBerry widgets are based on the W3C® widget
specification.
– Convert web application components into BlackBerry
widgets using the BlackBerry® Web Component
Package.
Widget development
Example:
– The BlackBerry® Push Weather Clients widget
provides daily weather information.
– Users choose the information source (AccuWeather or
The Weather Network).
– Users choose the update method (text message or
browser channel).
Widget development
Advantages of widget applications:
– Ease of use
– Flexibility
– Bandwidth
– Reuse existing applications
Widget development – advantages
Ease of use:
– Use highly familiar web technologies to build the same
types of applications normally created only in Java.
– Because widgets are single-purpose applications, they
can be easier to use than web applications.
Widget development – advantages
Flexibility:
– Widgets deliver features and web content specific to
the user and personalized to meet the user’s
requirements.
– Design consideration
• Allow users to configure the display method and
timing of information delivery.
– Widgets can use location-based services (local maps,
local offers, currency converters, and weather
information).
Widget development – advantages
Bandwidth:
– Widgets send a small amount of data to users.
– Widgets typically require very little bandwidth.
Widget development – advantages
Reuse existing applications:
– Leverage features that you have already created for
web applications.
– Create widgets that pull in existing resources from
your content server.
Widget development
Disadvantages of widget applications:
– Reliance on an Internet connection for hosted services
– Less flexibility than Java applications
– Single-purpose functionality
Methods of application development for mobile devices
Objectives review:
– List and briefly describe three methods for developing
mobile device applications.
– Describe how Java, web, and widget applications
differ.
– Cite examples of Java, web, and widget applications.
– Describe application design considerations and
limitations for Java, web, and widget application
development methods.
© 2009 Research In Motion Limited
© 2009 Research In Motion Limited