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
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 GPSGlobal 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 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.
–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