RIM Bets on WebWorks for BlackBerry App Development Platform

SAN FRANCISCO -- At a recent Research in Motion (RIM) Developer Platform Panel here, RIM and some representatives from the development community met to discuss what mobile application developers can expect from RIM in the future, as well as what steps they can start taking now to prepare. This article presents the highlights from the event.

The WebWorks Promise: Developer Choice

RIM has fully devoted itself to a WebWorks strategy. Originally known as BlackBerry Widgets, this technology has become a centerpiece of RIM's bid to strengthen its position as a mobile platform.

RIM also is building on top of established technologies such as HTML5 and the WebKit browser rendering engine. This may entice more developers to start writing apps, as they can program using Web technologies familiar to them. The consistency of WebKit across multiple device platforms should also make it easier to create Web apps that run properly across multiple mobile platforms with minimal tweaking.

While RIM hopes that more developers will shift to the potentially simpler method of using WebWorks, they emphasize that the ultimate choice is up to developers. Ace Java programmers who do not write Web code can continue to write their apps in Java for BlackBerry smartphones, and veteran Flash developers can write directly in Flash for the BlackBerry PlayBook, RIM's tablet PC. Ultimately, consumers should not be able to tell whether any particular app was written in WebWorks, Java or Flash: everything runs on the same mobile platform, and can leverage the same device capabilities.

WebWorks potentially offers several unique advantages to RIM. Unlike other widget development kits, it provides deep access to everything that's possible using the standard Java SDK; this lets developers create more full-featured Web-based apps that can access accelerometers, personal contacts, and other platform features. At the same time, everything runs on top of RIM's existing security model. That way, individual owners or enterprises have ultimate control over what they allow their apps to do. This high level of security has long been a hallmark of RIM's offerings.

RIM does acknowledge that there are a few cases where developers will want to steer clear of WebWorks, such as high-end graphics programs or games that require access to graphics primitives. Similarly, if you still need to target older versions of the BlackBerry OS prior to version 5.0, you cannot use WebWorks (although you can embed a browser in your app and render content that way). For 75% of the apps published in BlackBerry App World today, though, the exact same experience can be generated using either Java or WebWorks. The ultimate choice, again, should be driven by what a developer is comfortable with, and how quickly they can write the apps. With WebWorks, they get the added benefit of a potential jumpstart in porting to other mobile platforms.

Showcasing WebWorks on BlackBerry PlayBook Tablets

Several PlayBook devices were on hand, running beta versions of the operating software. The tablet is thin and light, weighing less than a pound, and feels quite responsive. Apps open very quickly, and the browser offers a particularly smooth, attractive interface.

One interesting feature of the PlayBook is that it supports gestures on the device bezel, the region between the screen and the device's edge. This helps resolve a problem that many mobile devices have with gestures: attempting to indicate one generic gesture (such as navigating back or bringing up a keyboard) will inadvertently take some other action (such as clicking on an onscreen button). Training users to perform generic gestures on the bezel will help keep the actual screen available for the app's specific logic.

WebWorks Developer Tools in the Works

RIM is developing WebWorks plugins for Eclipse and Visual Studio, as well as stand-alone command line tools for those who prefer to use their own editors such as Notepad++ or vi. A RIM developer showed how a simple batch file can create a WebWorks app for the PlayBook: it zips up all of the relevant components (HTML, JavaScript, CSS, image files, and so on) and then runs it through the PlayBook packager, which creates a PlayBook WebWorks app that will run within the Flash/AIR environment on the device. You can download a beta SDK today that provides all these tools, and run a PlayBook simulator to see your app in action.

Even though regular BlackBerry devices and the PlayBook run on very different operating systems, you can use the exact same sources for your WebWorks apps; the RIM toolchain will compile each one to its appropriate container. RIM discussed some best practices for creating great apps that run well on both platforms. The PlayBook obviously offers much more screen real estate, and so you often will lay out screens differently to take advantage of that. By putting only structure and content into your HTML files, you can use run-time checks in your JavaScript code to detect what type of device you are running on, and then pull in the appropriate CSS files for your desired interface. For example, you can divide your screen into DIV elements, and then apply styles that describe how large each DIV should be.

The RIM representatives showed a sample weather app that offers the same functionality on all devices, but on the PlayBook can display multiple forecasts on a single screen, while mobile devices offer tabs to switch between those forecasts. RIM has open-sourced this weather app, and you can download the source code from their site.

Mobile Developers, Go Forth and Write Apps

As RIM previously announced at its Southeast Asia Developer Conference, AppWorld 2.1 is now available. The main benefit to developers with this release is in-app purchasing, which supports more flexible revenue models. For example, a gaming app can charge nominal fees to play extra levels, to acquire in-game currency, or to unlock premium features. While AppWorld still trails in the app store race, it is doing quite well, with over 19,000 apps available and about 2 million apps downloaded each day.

RIM believes that the addition of WebWorks will result in an even larger increase in the number of apps offered on their platform, as a result of both new developers arriving from a Web background and greater productivity as the development cycle shrinks. By offering a common environment across BlackBerry smartphones and the upcoming PlayBook, RIM hopes to make it easier for developers to write apps that look great and run well on all of their devices.