BlackBerry Application Data Push
Developers have the ability to push data to BlackBerry devices in several ways. While not unique to the BlackBerry platform, Research In Motion's (RIM) support for push is thorough and manifests itself in several ways. Although detailed information on the different types of push is provided in Chapters 6 and 7, this chapter provides background information about the application data push capabilities provided by the BlackBerry platform.
5.1 Why Push Is Important to BlackBerry Developers
Chapter 4, "The BlackBerry Mobile Data System (MDS)," discussed how the BlackBerry Enterprise Server (BES) synchronized email and Personal Information Manager (PIM) data with the device. BlackBerry users are familiar with and comfortable knowing that, when they need their data, it is available on their device. With third-party or enterprise applications, mobile users are used to opening an application, entering some information on screen, and clicking a button to make the device connect to one or more servers to retrieve the requested data.
For mobile users who need access to a large amount of data to work with locally (on the device), companies have used the BlackBerry Desktop application programming interface (API) to create the conduit device an application needs to synchronize data to a device connected to the network using the BlackBerry Desktop Manager. To perform a similar synchronization over the air, developers can use the BlackBerry Sync Server SDK to create a connector that synchronizes data with a device application through the Synchronization Service on the BES.
The game-changing feature of the BlackBerry platform is the ability the BES has to push application data to any device application. For a mobile application, instead of having a user open an application and request the data or building the application so it schedules a periodic pull of data (even when new data might not be available) from a server, the application receives its data by having it pushed directly to the application when it becomes available.
Both BlackBerry application types (Browser and Java) can receive data via push.
The ability to push data directly to BlackBerry applications has many dramatic and powerful effects:
- Data can be sent to devices only when there is new data available, rather than requiring that the user check for new data or having the application pull data on a schedule.
- Data can be sent to the device off-hours, on a schedule maintained by the server application or even configured by the user. This allows a server to distribute the load over time and, therefore, eliminates most peak loads on an application server and BES. By sending the data off-hours, there is no disruption of the other tasks the user might be performing on the device.
- Because the data is only sent when there's new data to send, the device is not connecting to the server repeatedly looking for new data. This reduces the amount of data the device transmits, receives, and processes.
- Because the device does less work (sending less data across the network), a user gets greater life out of a battery charge.
There is no reason that an application can't also request data on demand when the users want it. In this case, push can populate background information or data that the application knows the mobile user needs. The application can still request additional information when the data it needs is not on the device.