Digging Deep: Using BlackBerry Theme Studio 6 to Build Themes for BlackBerry 7 – Part 1

Theme Development

BlackBerry® Theme Studio provides a suite of design tools that allow designers and developers to create themes for BlackBerry® smartphones. With BlackBerry Theme Studio v6.0, theme developers were able to target BlackBerry® smartphones running software versions up to and including BlackBerry® 6. As some of you may have heard, developers have made great strides in creating themes for BlackBerry 7 OS devices despite the lack of a BlackBerry Theme Studio release that officially supports these devices. How did they do it? Some BlackBerry theme advocates were able to determine the anatomy of how BlackBerry Theme Builder creates and compiles themes, and then interrupt and modify the process to have it create themes for unreleased device resolutions.

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.

By now you should have a good idea of how BlackBerry Theme Builder figures out which devices should be supported and what happens in the theme export process behind the scenes. This should serve as a good base for the next section where we go into how to actually interrupt the build process for BlackBerry Theme Studio to create themes for devices that are not originally supported. Stay tuned for part 2 of this blog post series!

Got any questions about building BlackBerry themes in the meantime? Let us know in the comments!

About garett

Garett is a member of the Developer Relations team and has been with BlackBerry since 2008. He specializes in app monetization (Payment, Advertising, Analytics SDKs) and Push development. He is one of the individuals involved with the forums (gbeukeboom), Issue Tracker and can be found tweeting from @BlackBerryDev with the ^GB signature.

Join the conversation

Show comments Hide comments
+ -
  • http://berryeg.com/create-themes-for-os7-using-theme-studio-6-part-1/ Create themes for OS7 using Theme Studio 6 Part 1 | .::BerryEG::.

    […] BlackBerryDev Blog Share […]

  • http://forums.crackberry.com/news-rumors-f40/theme-studio-news-693596/#post7081891 Theme Studio News - BlackBerry Forums at CrackBerry.com

    […] Studio News Digging Deep: Using BlackBerry Theme Studio 6 to Build Themes for BlackBerry 7 More than a year since the first OS7 was compiled – rather than releasing a Theme Studio (which is […]

  • http://bbindia.net/themes-animated-graphics/11159-how-use-blackberry-theme-builder-6-make-themes-os7-devices-bbdev-blog.html#post14836 How to Use BlackBerry Theme Builder 6 to Make Themes for OS7 Devices-BBdev blog

    […] for BlackBerry Theme Studio to create themes for devices that are not originally supported. Via Digging Deep: Using BlackBerry Theme Studio 6 to Build Themes for BlackBerry 7 [Reply] Up User […]

  • http://zonablackberry.com.ve/forum/noticias-rim-blackberry/114772-disponible-nuevas-secciones-de-temas-os-7-y-tonos-en-el-blackberry-app-world.html#post1024953 Disponible nuevas secciones de Temas (OS 7) y Tonos en el BlackBerry App World - Zona BlackBerry | Foro BlackBerry

    […] […]

  • http://www.blackberryos.com/blackberry-themes/27998-workaround-building-themes-blackberry-os-7-devices.html#post239853 Workaround For Building Themes For BlackBerry OS 7 Devices

    […] 6 to build themes for BlackBerry 7 devices. The following are the instructions taken from the BlackBerry Developer's Blog: (this is part 1 part 2 is yet to come) Once BlackBerry Theme Builder is launched, it starts […]

  • http://crackbb.com/nueva-categoria-de-temas-y-ringtones-disponibles-para-equipos-blackberry-7-en-el-blackberry-app-world/ ¡Nueva categoría de Temas y Ringtones disponibles para equipos BlackBerry 7 en el BlackBerry App World! « CrackBB.com – Blog.

    […] dia de hoy RIM® publico un tutorial para los desarrolladores de Temas o Themes BlackBerry®, de modo tal que supieran como hacer temas […]

  • http://BlackBerryDom.com/2012/02/01/disponible-temas-os-7-y-tonos-en-el-blackberry-app-world/ Temas OS 7 y Tonos BlackBerry App World | BlackberryDom

    […] Studio compatible con los dispositivo OS 7, al parecer la espera seguirá siendo larga ya que en Blog Oficial de Desarrolladores de RIM han publicado la primera parte de un “truco” para crear temas compatibles con el OS 7 […]

  • http://www.blackberryordie.com/?p=1668 Digging Deep: Using BlackBerry Theme Studio 6 to Build Themes for BlackBerry 7 – Part 1 | Blackberry or Die™

    […] the original post: Digging Deep: Using BlackBerry Theme Studio 6 to Build Themes for BlackBerry 7 – Part 1 Posted in Apps, Blackberry Playbook, Devices, Editorial, Media, Mobile, Personal, Super Apps, […]

  • http://devblog.blackberry.com/2012/02/blackberry-7-theme-development-part-2/ Digging Deep: Using BlackBerry Theme Studio 6 to Build Themes for BlackBerry 7 – Part 2 | BlackBerry Developer's Blog

    […] Part 1 of our “Understanding BlackBerry® Theme Builder” series, an overview of how BlackBerry Theme Builder works was provided. This blog post serves as […]

  • http://blackberryphoneshop.info/2012/02/02/digging-deep-using-blackberry-theme-studio-6-to-build-themes-for-blackberry-7-%e2%80%93-part-2/ Digging Deep: Using BlackBerry Theme Studio 6 to Build Themes for BlackBerry 7 – Part 2 | BlackBerry and Phone Shop

    […] Part 1 of our “Understanding BlackBerry® Theme Builder” series, an overview of how BlackBerry Theme Builder works was provided. This blog post serves as […]

  • http://nerdberry.net/2012/02/06/using-blackberry-theme-studio-6-to-build-themes-for-blackberry-7/ NerdBerry.net » Blog Archive » Using BlackBerry Theme Studio 6 to Build Themes for BlackBerry 7

    […] Digging Deep: Using BlackBerry Theme Studio 6 to Build Themes for BlackBerry 7 – Part 1 […]

  • http://berryeg.com/create-themes-for-os77-1-using-theme-studio-full-guide/ Create themes for OS7/7.1 using Theme Studio Full Guide! | .::BerryEG::.

    […] In Part 1 of our “Understanding BlackBerry® Theme Builder” series, an overview of how BlackBerry Theme Builder works was provided. This blog post serves as the background to modifying BlackBerry® Theme Studio, which is what we’ll be doing today – read on! […]

  • http://mybbstyle.com/2012/02/digging-deep-using-blackberry-theme-studio-6-to-build-themes-for-blackberry-7-part-1/ Digging Deep: Using BlackBerry Theme Studio 6 to Build Themes for BlackBerry 7 – Part 1

    […] This artikle source an Blackberry Dev […]

  • http://mybbstyle.com/2012/02/digging-deep-using-blackberry-theme-studio-6-to-build-themes-for-blackberry-7-part-2/ Digging Deep: Using BlackBerry Theme Studio 6 to Build Themes for BlackBerry 7 – Part 2

    […] Part 1 of our “Understanding BlackBerry® Theme Builder” series, an overview of how BlackBerry Theme Builder works was provided. This blog post serves as […]

  • http://mybbstyle.com/2012/02/digging-deep-understanding-blackberry-theme-builder-part-3-manipulating-themes/ Digging Deep: Understanding BlackBerry Theme Builder – Part 3: Manipulating Themes

    […] mentioned in Part 1 of our “Understanding BlackBerry® Theme Builder” series, when BlackBerry Theme Builder exports themes, it dumps all image and SVG files to the […]

  • http://helpblog.blackberry.com/2012/05/blackberry-themes/ Getting Started with Themes on BlackBerry Smartphones | Inside BlackBerry Help Blog

    […] with the Inside BlackBerry Developer’s Blog and the first part of a three-part series called Digging Deep: Using BlackBerry Theme Studio 6 to Build Themes for BlackBerry 7. If you want to do what I did and download a theme, I suggest using BlackBerry App World. If you are […]

  • http://blackberryexclusive.com/getting-started-with-themes-on-blackberry-smartphones/ Getting Started with Themes on BlackBerry Smartphones | BlackBerryExclusive.com

    […] with the Inside BlackBerry Developer’s Blog and the first part of a three-part series called Digging Deep: Using BlackBerry Theme Studio 6 to Build Themes for BlackBerry 7. If you want to do what I did and download a theme, I suggest using BlackBerry App World. If you are […]

  • http://www.blackberryos.com/news-article-comments/30604-article-blackberry-theme-builder-7-launch-before-end-q2.html#post251515 Article: BlackBerry Theme Builder 7 To Launch Before The End Of Q2?

    […] […]

  • http://devblog.blackberry.com/2012/10/blackberry-10-theme-development/ One Door Closes, Another Door Opens | BlackBerry Developer Blog

    […] Studio 6 to create themes for BlackBerry OS 7 and 7.1 devices. We even documented the process in a two-part series here on the blog. We encourage you to continue to explore the opportunities of […]

  • http://www.sdknews.com/blackberry/one-door-closes-another-door-opens One Door Closes, Another Door Opens | SDK News

    […] Studio 6 to create themes for BlackBerry OS 7 and 7.1 devices. We even documented the process in a two-part series here on the blog. We encourage you to continue to explore the opportunities of […]

  • http://blackberryphoneshop.info/2012/10/13/one-door-closes-another-door-opens/ One Door Closes, Another Door Opens | BlackBerry and Phone Shop

    […] Studio 6 to create themes for BlackBerry OS 7 and 7.1 devices. We even documented the process in a two-part series here on the blog. We encourage you to continue to explore the opportunities of […]

blog comments powered by Disqus