Using BlackBerry Theme Studio 6 to Build Themes for BlackBerry 7

The BlackBerry Dev team at RIM answers a few questions on using BlackBerry Theme Studio 6 to build themes for BlackBerry 7. Check out what they had to say below:

Will Research In Motion (RIM®) let me modify BlackBerry Theme Studio to create themes for OS 7 devices?

Absolutely! Note that the method proposed in this workaround is by no means easy. It will require considerably more effort to get even basic themes working, but it can be used as a means to create themes until an official BlackBerry Theme Studio is released that supports BlackBerry 7 OS devices. Although these steps are being provided, this method of creating themes is essentially unsupported. Theme creation and stability will entirely be the responsibility of the developer; no bugs will be logged against this method of creating themes.

 

If Liquid Graphics broke theme support, then how can themes be made?

For the most part, the anatomy of a theme has stayed relatively unchanged between OS releases. With the introduction of BlackBerry 7 OS, several screens now use a completely new mechanism to create the UI, known as Liquid Graphics. Because of this large change, some features and functionalities supported in previous OS themes may be unsupported. This would be a limitation of BlackBerryTheme Studio 6.0 not being aware of how themes are expected in BlackBerry 7 OS. For example, both the phone and home screens previously used SVG for layouts and actions; in BlackBerry 7 OS, the phone screens no longer use SVG at all, while the home screen only uses SVG for layout purposes. All animations on the home screen and the layout of the phone screens are handled by Liquid Graphics.

Understanding how BlackBerry Theme Builder works

For the sake of simplicity, I will be referring to the BlackBerry Theme Studio 6.0 installation directory (wherever you may have chosen to install it on your system) as <ThemeStudio>.

Once BlackBerry Theme Builder is launched, it starts off by determining which devices and theme types are supported by reading bundled property files:

1) <ThemeStudio>\resources\devices\device_profiles.properties
This file contains a list of information for all supported BlackBerry smartphone models, including a link to a file which describes the characteristics of each device and a thumbnail view of the device.

2) <ThemeStudio>\resources\devices\blackberry\BB<Model>.properties
One of these files is included for each device model/series supported by BlackBerry Theme Studio. It lets BlackBerry Theme Builder know information about the device, such as display resolution, supported fonts, et cetera.

3) <ThemeStudio>\resources\theme\<ThemeDir>\<Model><ThemeType>.properties
Once BlackBerry Theme Builder reads the list of supported devices (1) and determines their properties (2), the next step is to determine which themes are available for each device. All found theme types will be displayed in the splash screen’s Select Layout Type drop-down. These themes will be based off the .thm file located in the same directory as this file.

After BlackBerry Theme Builder launches, and you make your changes to the theme and export your created masterpiece, BlackBerry Theme Builder does the following:

1) Analyzes the theme for any changes from the base theme (the default theme loaded by BlackBerry Theme Builder before any modifications are made).

2) Any changes found results in certain files being created during the export process by BlackBerry Theme Builder.

  • Layout changes: SVG and associated PME files are created.
  • Image changes/additions: New image files are included.

The more modifications that are made, the more files that will be exported (one image file for each image that is added). The SVG files are used to specify the layout, behavior, and reference the appropriate image files for the various icons, backgrounds, and other UI components.

3) These files are exported to the current user’s Windows® temp directory in a folder named with the following format:
pz_<5-RandomLetters>

Also, a properties file will be exported to the temp directory in the following format:
pz_<5-RandomLetters>.properties

4) BlackBerry Theme Builder then compiles these files into the theme COD file and stores that COD in another folder in the Windows temp directory with the same naming format.

5) BlackBerry Theme Builder then copies the COD to the defined output directory along with the required installation files (JAD, ALX etc) and deletes the two directories created in Step 4 from the file system entirely.