Sunday, Feb 27th. Today I finally finished my Playbook application, and submitted it to the AppWorld. Now, it is just a matter of waiting for the application review and approval (or rejection). I’ll let you know what will happen. Until there, I won’t tell you what the application is, you thief!
During the last months, RIM has released four SDKs releases, all in beta stage, and three simulators running as a VM on VMWare. Although it has shown certain evolution, as a small developer, it was really hard to keep up with the changes. It might be something I missed from the release notes, but I ended up having to change my code couple of times as the Air SDK received changes. As a beta, there is no commitment to avoid backward compatibility, so this is expected. The problem is getting the right information on the right place, which was never completely clear. In addition, the SDK reference guide could use more examples, and some topics seemed until “under construction”.
On the bright side, the community support I got from the Blackberry Developer Forum. There were amazing people there, and having more eyes looking for changes and updates was the most valuable asset I could “hire”. If you’re starting looking at Playbook development, you shouldn’t be reading this, you should be there! Kidding, you probably can keeping reading both! Pleeaaase!
Having everything running in a way to get the HelloWorld app running was actually easy, and RIM’s Get Started guide is, in its last version, very good and detailed. Check them here. I did the steps on both Mac and Windows, without problems. I didn’t try Linux, though.
During the SDK upgrades I did a mistake once. I was having a nasty compiler error, the after a while (really long “while”), I realized I forgot to change the SDK path to the proper version. It is not really clear where or when to do that, since the SDK installer asks you for the Flash Builder path, and I assumed those things were updated automatically. So, for your information, you should change the SDK path in Preferences -> Flash Builder -> Target Platforms -> Blackberry Tablet OS.
The use of a VM as simulator was also a little bit challenging. I didn’t see a problem in it being a virtual machine and it worked fine for me. The problem is actually the lack of features that will be present in the device itself, like camera, GPS, gestures recognition, etc… My app has a tiny use of gestures, which I couldn’t test at all before submitting it for review. As backup, I’m also checking for standard mouse events, which I could test. That way, the user will be able to use the feature, even I did a mistake about the gesture implementation. Some other developers had to change plans, since their original project would use the camera, for example. Another constant request was the change of orientation which was added in one of the latest releases.
I look forward that RIM/QNX keep updating and adding features to the simulator, even if I can have an actual device available for development.
After I finished the development and testing, I was scared about the process of sign your application, which is mandatory to get your app in the AppWorld. The BB forum has a thread with more than 200 posts about the subject, with tons of terrified developers with the command line utilities we have to run to get the application properly signed. Well, I was scared with (almost) no reason. Following RIM’s instructions to get my developer certificate was enough for the first step – Configure Application Signing from the command line. For the packaging/sign process itself, I’ve followed JRab’s post, which was complemented with other users comments. It was very helpful indeed.
During this process, the only problem I had, was related to my Mac bash shell and my password. I was using a punctuation character in my password, and the bash didn’t like it even enclosed using double-quotes. I had to change all commands that were using double-quotes to single-quotes to make it work. The worst about all that is that I didn’t get an error, but the utility prompted me to enter a passcode! That really fouled me, and I had to get help from my fellow developers to solve it.
As you can see, the problem was more my lack of knowledge of that bash behaviour than actually anything related to the command line commands. Without sounding like I’m trying to find a problem where it isn’t one, the problem here is the command-line interface itself. The commands are somehow straightforward, but with a lot of small details and parameters, which makes it easier to make mistakes. Doing that from a graphical utility would be much easier, for sure.
At the end, the Playbook development was a very pleasant activity, even realizing that the whole development process has still several issues to be sorted out. If RIM starts paying more attention to what the community are looking for, we’ll have one of the nicest ecosystem to work with – cool device, nice development tools and amazing community.