Category Archives: PlayBook

Black Out game for the BlackBerry PlayBook

In time for the launch of the BlackBerry PlayBook we are releasing the game Black Out. This is a strategy game in which the goal is to black out all of the tiles. This is complicated because whenever you tap to flip a tile, it also flips all of the tiles surrounding it.

How to Play

Black Out is played by touching any of the squares in the grid to switch its colour. This also switches the colours of the surrounding tiles as well. Eventually the goal is to do this enough times in order to ‘black out’ the whole screen.

Options

The game give the option to set the grid size from anywhere from 3×3 tiles to 10×10 tiles. Additionally there are options for changing the colours and showing hints on how to solve the puzzles in case you get stuck. The game also offers achievements and high scores for each grid size.

Links & Information

Version 2.5 of Pixelated Plus released

Pixelated Plus has now been updated to version 2.5 and is available for download through BlackBerry AppWorld.

As previously announced, this new version of Pixelated Plus adds support for the upcoming BlackBerry PlayBook. Additionally improvements were made to navigating the application on trackpad devices, as well as some other minor improvements and bug fixes.

Improved trackpad navigation

For users navigating Pixelated Plus with a trackpad or trackball rather then a touchscreen, version 2.5 adds a number of navigation improvements. First you can now scroll up and down on the trackpad to move the colour selector in the game. While at first this may not seems as intuitive as scrolling left and right, many users feel scrolling up and down is a more natural motion. Additionally after a game is over you can now use keyboard shortcuts to decide between replaying the same game or starting a new game.

BlackBerry PlayBook

In Version 2.5 of Pixelated Plus support has also been added for RIM’s upcoming tablet, the BlackBerry PlayBook.

Customers who have already bought Pixelated Plus on their BlackBerry will be able to download the application to their PlayBooks without having to repurchase the game.

About Pixelated

Pixelated is currently the second most popular game in BlackBerry AppWorld, and is an addicting puzzle based strategy game that requires a mixture of skill and luck in order to accomplish.

The object of the game is to change the colour of the squares until the entire screen is a single solid colour. Starting with the square in the upper left corner you can change the colour of the blocks in order to match that of the surrounding squares. This is done repeatedly until the entire screen is a single colour.

The object of the game is to clear the screen in as few moves as possible. Under the default settings you must do so in under 22 moves in order to win.

Links & Information

Just two commands

Apparently in the last week there has been a lot of complaining about how hard it is to compile and package applications for the BlackBerry PlayBook. However all of this is just two commands. They are amxmlc and blackberry-airpackager -package -installApp -launchApp along with a few variables. It really is that easy, and any time that RIM spends trying to simplify that further is just time wasted, while the PlayBook is already taking long enough to get released.

Instead however RIM is apparently more interested in catering to random whiners who have never developed an app then working on features that would be of actual use to real developers.

In defense of RIM and the PlayBook

Over the past week, a narrative has taken hold in which it has become fashionable to refer to the BlackBerry PlayBook as “vaporware”. This line of thinking comes mainly from Jim Dalrymple and has been further popularized by the normally respectable John Gruber. This is inaccurate on so many levels that I feel it is necessary to take a moment to defend RIM and the PlayBook.

First of all the PlayBook is not even late. From day one, RIM has said that the PlayBook would ship in Q1 of 2011, and unless April comes around without it being released, there is no weight to criticizing RIM for shipping the device late. Sure I (and many others) had hoped for a mid-February launch, but given what I have seen of the PlayBook’s progress so far I see no reason why a Q1 release would not be possible. (Right now I think that a March 22 release is probable). RIM is certainly cutting it close, but that is no reason to imply that they are not living up to their word. However even if the PlayBook does get delayed referring to it as “vaporware” is still inaccurate, as RIM has shown more then enough of it that there is no doubt that the product will come to market.

The second criticism is that RIM keeps announcing different configurations of the PlayBook, without having shipped any. To date RIM has announced 4 configurations, (Wi-Fi only, WiMAX, LTE, and HSPA+). Dalrymple refers to this as “three generations” despite the fact that such a description ignores all of the meaning behind the word. Given that this was the way that Apple’s first generation iPad was released, you would assume that an Apple focused blog would understand that, but apparently not.

The final criticism is in the large delay between announcing the tablet, and actually shipping it. However in this case RIM had no other option. The BlackBerry PlayBook launches with a brand new operating system, and as such needed to announce the device significantly ahead of time in order to give developers a chance to ready applications for the device. Last summer when RIM announced the BlackBerry Torch, it was in stores just 9 days later. Despite being a brand new form-factor and shipping with a new OS this quick turnaround was not a problem for developers because all previous code still worked. The same went for the launch of the original iPad, and various Android tablets. However with a 100% new OS RIM needed a longer lead time between announcing and shipping the product.

Pixelated Plus for BlackBerry PlayBook

First announced in December, Pixelated Plus will be released for the BlackBerry PlayBook when the tablet launches in the next few weeks. The application includes all of the features currently found in the smartphone version Pixelated Plus, and adds the additional option of a super-micro grid size along with three new achievements to go along with it.

Converting Pixelated Plus from a BlackBerry Java application to a PlayBook ActionScript application took 14 hours and 37 minutes.

PlayBook attracting a variety of developers

In many ways the QNX OS is a risk for RIM, because it has no existing applications, and must attract developers so that it can offer a variety of applications at launch. In order to make sure that the BlackBerry PlayBook launches as a success, RIM has done their best to attract a variety of developers to the platform. Best I can tell, they have done a good job doing this.

Besides those developers who have traditionally supported BlackBerry, there is also significant interest from the Adobe community. There are a surprising number of developers who are interested in the PlayBook, who have no history at all with developing for BlackBerry, or working with BlackBerry AppWorld. These represent new additions to the BlackBerry ecosystem who had beforehand ignored RIM.

While it is still to early to tell if RIM has attracted enough developers to offer a large number of applications at launch, at the very least they have succeeded in getting a variety of developers interested in the BlackBerry PlayBook.

Why to (still) not worry about the PlayBook’s battery life

Given some of the crazy rumors regarding the battery life of the unreleased BlackBerry PlayBook it appears to be needed to remind everyone why it will not be an issue. My post last night on BerryReview.com is a direct response to these claims, and a follow up to my original call not to worry from way back in October.

Put simply, as a micro-kernel based OS, QNX is ideally suited for a mobile environment. Add that to the devices lack of GSM/EVDO/CDMA radios, its low heat design, and RIM’s excellent history of battery longevity, there is no reason at all to be concerned.

Text input modal dialog for BlackBerry PlayBook

The BlackBerry PlayBook has a BaseDialog class for generating modal dialogs, but does not allow developers to extend it for their own purposes. This leaves the PlayBook without a modal dialog for asking a question and receiving a response. As such I wrote one myself below, that as a parameter on the constructor, takes the name of the function responsible for removing this child, and working with the result.

import qnx.ui.core.UIComponent
import flash.display.Graphics
import flash.events.MouseEvent
import flash.events.Event
import flash.text.TextField
import flash.text.TextFormat
import flash.text.TextFormatAlign
import qnx.ui.text.TextInput
import qnx.ui.buttons.LabelButton

public class InputDialog extends UIComponent
{
public var inputText:TextInput = new TextInput();

public function InputDialog(exitFunction:Function)
{
width = 1024
height = 600

var myFormat:TextFormat = new TextFormat()
myFormat.color = 0x000000
myFormat.size = 32
myFormat.align = "center"

var titleText:TextField = new TextField()
titleText.text = "Title"
titleText.width = 500
titleText.x = 260
titleText.y = 200
titleText.setTextFormat(myFormat)
addChild(titleText)

myFormat.size = 22
var instText:TextField = new TextField()
instText.text = "instructions"
instText.width = titleText.width
instText.x = titleText.x
instText.y = 245
instText.setTextFormat(myFormat)
addChild(instText)

inputText.width = 240
inputText.x = 392
inputText.y = 277
inputText.height = 40
inputText.prompt = "Prompt Text"
addChild(inputText)

var doneButton:LabelButton = new LabelButton()
doneButton.label = "Done"
doneButton.x = inputText.x
doneButton.y = 330
doneButton.width = 240
doneButton.height = 45
doneButton.addEventListener(MouseEvent.CLICK,exitFunction)
addChild(doneButton)
}

override protected function draw():void
{
var g:Graphics = graphics;
g.clear();
g.beginFill(0xCCCCCC,.5);
g.drawRect(0,0,1024,600);
g.endFill();
g.beginFill(0xDDDDDD,1.0);
g.drawRoundRect(262,180,500,270,10);
g.endFill();
}
}

This code was earlier posted on the Developer Forums. It should be noted, that this approach has a slightly different look then the native modal dialogs, and unlike the native dialogs, will not prevent the application from being closed or minimized.

Pixelated on the PlayBook

The things that make Pixelated a great game is that, each round is quick to play, the game doesn’t require a high resolution screen, and that it has a very small file size. None of these advantage really make that much sense on a tablet, where you can’t quickly pull the device out of your pocket, the screen has all the resolution you will even need, and plenty of space to store your files. Regardless, there will be a version of Pixelated on the BlackBerry PlayBook.

PlayBook GUI fragmentation

When I was first learning C#, the book I was reading encouraged a “look like Windows” approach to GUI design. The idea was that people were already used to seeing Microsoft’s software, and if your application functioned in the same way, it would be lessen the learning curve for new users. I have used a similar “look like RIM” approach in designing applications for BlackBerry. Whenever possible the use of native buttons, titlebars, dropdown menus, and dialogs have been used. This insures that the interface is familiar, and that it fits the look of the device.

The BlackBerry PlayBook is going to have difficulty showing a native look and feel in most of its applications. The main reason being the many different approaches to developing for it. For Flex alone, interfaces can be built using QNX components, native flash components, flash mobile components, completely custom done, or from one of many available libraries. Additionally the look of applications from WebWorks, and the native SDK will have differences as well.

From a technical standpoint this is not really a problem, as all of these approaches will work, and result in applications that are pretty similar. In the end however, it is best for most users if PlayBook applications were able to gain a more cohesive look and feel.

Transitioning from Java to ActionScript and the BlackBerry PlayBook

As I noted earlier this week, Java is looking to be a second class language on the BlackBerry PlayBook, so most developers are going to be programing for it in ActionScript rather than in Java. This will take some adjustment, but ActionScript is not all that different. In addition to the webcasts that RIM has put together on the PlayBook, an older ActionScript for Java Developers webcast on the adobe website may be useful as well. In addition, here are a few things that have thrown me off a bit so far.

  • draw() instead of invalidate(): When updating a GUI component you call draw() where you would typically use invalidate() in Java. This is actually a bit different because the draw() method is more equivalent to Java’s paint(Graphics g) method. However, as opposed to Java where you can’t really call the paint method directly, ActionScript allows you to directly call draw() in order to refresh your components.
  • Access object variables instead of get and set methods: I’ve always been a fan of using public or protected variables instead of creating get() and set() methods for internal variables. ActionScript embraces this approach, although a little magic can be used to create get() and set() type behavior. This is even used for the default components, which can take a little getting used to.
  • Reuse variables instead of locally scoping them: Unlike Java and C#, variables are not scoped locally. So for example whenever you use for(int i=0;i<10;i++) to loop through your array in Java, in ActionScript you would use for(var i:int=0;i<10;i++) the first time it appears in the method, and then reuse the variable in the form of for(i=0;i<10;i++) for every loop after that.

Your BlackBerry Apps will not be on the PlayBook

The upcoming BlackBerry PlayBook has an operating system that is radically different from the current BlackBerry Platform. Quite simply there is not going to be any support for current BlackBerry Applications to run on the PlayBook, despite RIM’s reluctance to come out and admit it.

The BlackBerry PlayBook will support 4 main SDK’s. In order of their importance to the platform they are, Flex (Adobe Air), WebWorks (javaScript/HTML/CSS), native (C/C++), and Java. The Flex SDK is already launched, and the WebWorks will be out soon (and is mostly just an extension of WebKit). However support for the native SDK, and the Java SDK is significantly behind, with RIM unable to even confirm that they will be released before the PlayBook is available in stores. Therefore the basis of most PlayBook applications will be in Flex rather then the Java that currently runs all BlackBerry applications.

Furthermore even when the Java SDK is available on the PlayBook, most BlackBerry applications will need significant porting to bring them over to the new platform. It is possible that the PlayBook will support something closer to desktop Java, then the very special blend of J2ME that BlackBerry Java applications currently run. Even if not, in the Q and A of the last PlayBook development webcast it was revealed that the PlayBook will not have any equivalent of the current BlackBerry menu system, which will result in the underlying java being different, and the fundamental UI of many applications will need to be redesigned.

In the webcast Java developers were encouraged to wait out for the release of the Java SDK, rather then to start learning Adobe Air. However, that does not look like that option is getting the support that it needs from RIM to be viable. The fact is that the future of BlackBerry PlayBook applications is strictly in Flex and WebWorks regardless of if developers like it or not.

3 reasons the BlackBerry PlayBook will not have battery issues

After the announcement of the BlackBerry PlayBook earlier this week, one of the most common criticisms is that it is not expected to have a good battery life. Never mind that the battery life was not announced, or probably even finalized yet, there are three good reasons not to be worried.

1. It is a low heat device

One of the reasons why people are worried about the battery life is because of the PlayBook’s impressive processing power. The specs indicate the kind of processing that usually requires a 4-inch heat sink and a few fans to cool off. Instead however they have placed all of this technology inside a 9.7mm shell. This implies that they have solved the heat problem, and if the heat problem is solved it is low power, and if it is low power it will minimize strain on the battery.

2. No GPS, No 3G

On current BlackBerrys the largest drains in battery life are (in order) GPS, 3G radio use, and Wi-Fi. The PlayBook will not have GPS, and it will not have 3G radios. The device will have Wi-Fi but this does not use as much energy as other possible ways of downloading information to the device.

3. BlackBerry has a reputation for good battery life

Finally BlackBerry already has an outstanding reputation for good battery life in their products, with devices made by RIM usually being rated better then those produced by Apple, HTC, or Motorola. This expertise will not disappear. RIM is known for their efficiency, and so far all indications show that the QNX operating system improves on that efficiency even more.

Until the actual device and the development platform are released there will continue to be alot of questions about the BlackBerry PlayBook. However, at this point there is little reason to think that battery life is one to be too worried about.

Thoughts on BlackBerry DevCon 2010 Keynote

Yesterday kicked of BlackBerry DevCon and the opening keynote included a number of big announcements.

  • BlackBerry PlayBook – RIM announced the BlackBerry PlayBook based off of the QNX OS. Personally I am still not a fan of the form factor, however, the hardware stats are pretty impressive. We really know almost nothing about the software and won’t for another few months so there isn’t really anything to say yet.
  • Native Advertising Service – This is something that RIM needed to do, and at first look implementing this code appears to be really easy. However, RIM has yet to get back to us after applying for the service so it is hard to say right now how it will go.
  • In-app payments – another feature that will be very useful. Applications like Hockey Scores and Twinkle may be using this in the future as a way to pay a dollar to remove the advertising. However this will require AppWorld 2.1 which probably will not be out all that soon.
  • BBM API – This will be very useful, but isn’t going to be rolled out until next spring and will probably require an update to BBM.

Overall the announcements look to be promising but all carry the warning that these are things to be excited about in the future, rather than features that will be in applications very soon.