Bad news for RIM

http://www.intomobile.com/2010/11/19/iphone-satisfaction-survey-motorola-rim-blackberry/

This is definitely bad news for RIM and it is bad news for me since I’ve been betting on Blackberry making inroads into the smarphone market. Losing market share to iPhone is one thing but coming in the 5th place in a customer satisfaction survey is horrible. Even worse is the fact that Samsung beat RIM.

I’ve been thinking about it and I’ve noticed that most of the talks from Blackberry tend to take aim at iPhone. That’s a sad situation to be because all that does is set the upper bar to “iPhone”. Actually you are fighting a battle on iPhone’s terms and there is no way you can win because Apple’s CEO happens to be a dude with a reality distortion bubble around him. Do you have anyone like that huh huh? Instead rely on good technology and customer experience. It doesn’t mean that you stick more beef into the cellphone. Give developers a good hand and trust me you will have so many good apps that you will have to worry about cluttered “desk space”. Hey, that’s a nice problem to have 😉

Playbook Air Application cockups

Well hello world. That’s all I was trying for a moment. It ended up being quite a long process. I got interested in the Blackberry Playbook apps around 2 weeks ago and since then I’ve had one headache after the other. Fear not since my definition of an expert is someone who’s committed all the possible mistakes in a field.

I am not an expert yet since I’ve taken only one path along and there is a long road to travel. However, I will continuously post my experiences just to ensure that others, who can STFW, will not have to go through the same pain as I did and thus can save 2 weeks atleast. So here goes…

My background:

I’ve not done much flash development (none on AS3 whatsoever) since I come from the world of console video games. 8 years on it with C/C++ and a host of other languages does things to you when it comes to a new hardware. So I got all interested in this playbook thingy. I decided that I wanted to develop something cool on the playbook. That was where the first hurdle came in. Playbook, atleast for now, only supports AIR apps. Although the good news is that these apps will be rendered using OpenGL ES, it was a bummer for me. Being a fan of Blackberries I said, fine, it is just another language and let me go ahead with it. Before I even got to understanding the language, I needed to write “Hello World”. This was the second bummber and one that took far too much time. The Blackberry website lists very little information on the non Adobe Flash Builder 4 packages. I do not have the money to purchase Adobe FB so I was looking for alternatives. Lo behold the flex SDK and the AIR SDK are open sourced and available for free. This implied that I did not have to purchase Adobe FB  (not Facebook you git). I talked to a bunch of other seasoned flash dudes from the company I work for (Sierra Atlantic). One of them is Sudhir and he helped me out in figuring out how to do this. He has been using Flash Develop + Flex + Air for a while now but never touched the Playbook SDK. I hope the following will help the next developer churn out a cool app.

To start off, let’s keep things simple.

1) Download Flash Develop (http://www.flashdevelop.org/community/viewforum.php?f=11) and while you are at it donate something to this awesome project.

2) Install Flash Develop and let it also download and install Flex for you. That will keep some of the other configurations easy.

3) Download the AIR 2.5 SDK from http://www.adobe.com/products/air/sdk/ Extract it to a location and keep track of this location

4) Extract AIR SDK to a location and take note of it

5) Download and install VMware http://downloads.vmware.com/d/info/desktop_downloads/vmware_player/3_0

6) Download and install the Playbook simulator by following http://docs.blackberry.com/en/developers/deliverables/21877/Configure_the_BlackBerry_PlayBook_simulator_1347134_11.jsp

Note that this works only for 32 bit OSes. For 64 bit OS install by following this link: http://blog.swfjunkie.com/2010/10/getting-started-blackberry-playbook-development-setup/

Ignore anything that refers to Flash Builder. Essentiall you are just extracting the ISO image and installing it using VMWare.

7) Download and install the Playbook SDK by following http://docs.blackberry.com/en/developers/deliverables/21877/Installing_the_SDK_1347128_11.jsp#Install_the_BlackBerry_Tablet_SDK_1347129_11

Again, this won’t work for 64 bit OSes. So I followed this link: http://shanky.org/2010/11/03/first-steps-with-blackberry-playbook-air-sdk/

Okaaaaaaaay, now all of the above links will help you install and get ready for development. However, when it comes to using FlashDevelop with the Playbook SDK, it is extremely hard to find decent links. So this is where my friend Sudhir helped me out.

Using this link I got started. http://www.studiochris.us/2010/flashdevelop-and-blackberry-playbook-development-the-basics/

However the 3rd bummer was just a few feet away since the application would compile and run fine in swf format and in air format. It did not like me whenever I wanted to deploy it to the playbook emulator. Whenever I used the command line tool it would spike on me with “Invalid value ” for Package-Author” stupid error message. At first I thought that I had to enter the author field somewhere but there was no such facility and that got me to think like a regular programmer. What if the Playbook parser was wrong and it was spewing out gunk? It turns out, I might have been correct since the error had nothing to do with the author field.  It had everything to do with the project xml file. In my case it was called “application.xml” and there were two fields missing in it “description” and “copyright”. So I went in, filled those two fields up in the xml file. Then with fingers crossed, I executed the command line statement… and voila I could see my app installed on the playbook vmware image. Brilliant.

Now all I need to do is write a cool programme. Before leaving, I’d request the Playbook support team to fix some of the glaring issues in the SDK. First the lack of support for 64 bit OSes. Second have better support for Linux. Third show me the Playbook appstore already!! Fourth damn it man, all I keep saying nowadays is “Playboy” or “Blackbook”. I’d appreciate a better naming convention ;). Fifth and the most important thing – better tutorials. I will post tutorials on my website regularly but I was hoping to find some right on the Playbook developer website. Sixth and probably hard to come by – how about native C++ support? You are missing out on all those uber cool OpenGL developers because they have to now use AS3.

Attitude problem

I’ve heard this from HRs at many companies (especially in India) – “She/He has an attitude problem”. Now I’ve never met all of these candidates but I know for sure that at least three of these candidates are self confident, pride themselves in what they do and are direct in their responses. In some ways I can interpret this as a cultural issue. I guess “rebels” are not welcomed into companies with a deep hierarchy as they might disturb the equilibrium. I can understand an HR’s predicament that someone who comes into the company with a real bad attitude will cause everyone to expend more energy dealing with the attitude issues than getting any work done. However there is pretty big wall between genuine bad attitudes and what can be interpreted as bad attitude. A few pointers:

– By default I do not assume anything as bad attitude. Only as confidence. If this were the case, I poke enough holes into the person’s cause for confidence. When they hit an air hole, their response tells me if it is an attitude issue or plain confidence. An example: I interviewed a lot of candidates who were very confident about their skills. When I started asking them questions that dived deeper everyone hit the dark spot. Everyone one of these candidates responded by saying that they do not know the answer. They were not defensive about it. I interviewed one dude with a genuine attitude problem. The very first question I gave him started opening up the wounds. He could not answer the problem and would give me quite vague answers. I am not talking about missing out trivial points – I am talking about the correctness of the solution. When I asked him to give me a complete solution he went into a fit. In effect, he lost the slot.

– Everyone has a history with a bad boss. If you don’t have it yet, just wait for sometime. However, I would guess that everyone will come across a good company and a good boss once in a while. Pleasant memories of the past engagements are a sure shot indicator of it not being an attitude problem.

– Asking for a good fat paycheck is not an attitude problem.

– Asking for a chat with the manager to whom the candidate will report is concern for his job and not an attitude issue.

– Answering a call while taking an interview is definitely an attitude issue, especially when the candidate does not apologise for taking the call. I’ve had a few candidates who told me well in advance that they were expecting a call.

– Having trouble explaining the rapid jump between multiple companies is an indicator of an attitude issue.

– Questioning authority is NOT an attitude problem. Providing solutions to a given problem is definitely a way to impress your boss. However heckling the manager is not really a good thing to have.

I will not claim that I know exactly what is an attitude problem but I will claim that I know what is not an attitude problem. Even I hired a guy who definitely had attitude issues. That was one case where I was wrong.

I understand that just writing a blog post won’t explain everything. This post is only meant to jolt people with the idea that they have to revisit their notion of “bad attitude”. In the end if you lose a candidate/employee because you confused his/her qualities with bad attitude, you are the one to suffer.

Robo

I like it. Here’s a movie that took the Telugu/Tamil/Indian movie industry a notch up. I will not say that we are ready for Hollywood quality but we are definitely inching towards it. The important thing now is that the next movie that uses fx/compositing work MUST aim for something higher than Robo. I could see some glaring issues (like when the Robo saves numerous people from fire) and this is just a matter of finesse.

While I come from gamedev, I know how it feels to make a good quality work versus a bad quality one. It is be pretty similar when it comes to movies. We tend to have an overlap on the toolchain although gamedev has more focus on realtime response than movies. I hope to someday see good development work from the Indian cinema. Let’s say Terminator 2 class compositing/CG work in the next 3 years.

BTW the movie that impressed be before Robo was Magadheera. Although the number of scenes that used CG were very few, it still made me feel optimistic. Will it be that the movie industry will be the beacon of creativity before gamedev? I am not sure but either one will make me a happy panda.