PowerPoint

advertisement

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 user interface

© 2009 Research In Motion Limited

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

Download