Methods of application development for mobile devices
© 2009 Research In Motion Limited
Agenda
– 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
– 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
– 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
– 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