An Open Letter To RIM's Developer Relations
(2011-02-27 17:37:54)
标签:
李易大参考易周刊rim黑莓it |
分类: 互联网 |
February 25, 2011 Jamie Murai
You win. I concede defeat. I no longer want to attempt developing
an app for the Playbook. Are you happy now? Surely you must be.
Considering how terribly designed the entire process is, from the
registration right through to loading an app into the simulator, I
can only assume that you are trying to drive developers away by
inconveniencing them as much as humanly possible. Just in case
you’ve forgotten, let me give you a little recap of the process
you’ve put together.
Living in Waterloo, it’s hard not to be reminded of you. I walk by
your campus every day, most of my friends have worked for you at
some point, and you are the largest supporter of the university I
attend. So it seemed like a rather good idea to at least attempt to
write an app for the Playbook, your shiny new tablet that you hope
will be able to compete with the extremely popular iPad and the up
and coming Honeycomb tablets. Having already developed apps for the
iPhone and iPad, I had a little experience with the process of
signing up for developer programs, and naturally I assumed that
yours would be different, but fairly straight forward none the
less. Well, you know what they say about making assumptions!
First, I had to fill out a form with my personal information. No
big deal, pretty standard. I do, however, notice that although it
is currently free to register with App World, in the future there
will be a $200 USD charge. Now just in case you’ve never looked in
to competing developer programs, Apple charges $99, and Google
charges $25. Considering you are by far the underdog in this game,
how do you justify charging double the price of the market leader?
Also, with the $99 or $25 charge, Apple and Google let you publish
and unlimited number of apps on their stores. You, on the other
hand, have decided that for $200, a developer should only get to
publish 10 apps, and it will cost $200 for every additional 10
apps. On Twitter, I believe that would colloquially be referred to
as a fail.
After getting all my personal information in, and being thoroughly
disgusted with your ignorant pricing scheme, I’m now ready to start
the actual process of developing. With the iPad, all I need to do
is download a single installer that contains the IDE, the SDK, and
the simulator.
You’ve decided that it’s better to make me download the Adobe AIR
SDK, the Playbook SDK, and the Playbook simulator in three separate
downloads. It’s not optimal, but I’m sure you have your reasons,
right? RIM? Bueller? So I go ahead and download the Adobe AIR SDK.
Of course, I’m a little confused when it doesn’t come with an
installer, but is simply a collection of libraries and binaries. It
reminds me of the good old days of command line Linux installs, but
it’s about as far from user friendly as you can get. Just in case
you forgot, RIM, developers are users too. Next up, is the Playbook
SDK. For some reason, you want me to fill in an entire form of
personal information. That’s odd, considering I did already when I
first signed up. I guess I’ll give you the benefit of the doubt and
assume your database crashed in the interim. So I fill out the
form, and start the SDK download. Now I need to download the
Playbook simulator. Again, you ask me to fill out a form of
personal information identical to the one I just filled out to
download the SDK. At this point, RIM, I seriously think you should
get checked for some type of anterograde amnesia. Onward I go!
As I stated before, the Adobe AIR SDK didn’t come with an
installer, but being a developer I obviously have a lib folder
hanging around, so I just drop it in there. Next, I go to install
the Playbook SDK. For some reason, it thinks that the optimal place
to install software on a Mac is my home directory. Not /Developer,
not even /Applications, where 99.99% of software is supposed to be
installed. But whatever, I guess you have your reasons, right? RIM?
Bueller? So I just manually change the default install folder, as
any user friendly installer should require. Then I move on to the
Playbook simulator. Oh, I forgot to mention that you also told me I
had to download VMWare Fusion to run the simulator. Nothing says
user friendly like making me buy an additional piece of $80 third
party software to run YOUR simulator. Luckily, VMWare offers a free
trial, which by the way, comes in a single installer (see what I
did there?). I’m kinda of confused at this point though. The docs
say that I need to install the .iso image into VMWare, but the file
I downloaded from you was an installer? I decide that maybe the
docs are outdated, and you’ve come up with a nice installer for the
simulator that wouldn’t make me use VMWare. So I go ahead an
optimistically run the installer. Turns out, you’ve decided to put
the .iso image in an installer, and just have the installer copy
the .iso into a folder on my sytem. Cause you know, that’s so much
simpler than just letting me download the .iso directly. The next
part turns out to be pretty simple, having to just create a new VM
in the usual way. VMWare gets the credit for that though.
Ok, so to recap, I now have the Adobe AIR SDK sitting in a lib
folder, the Playbook SDK is installed, and the Playbook simulator
VM is installed into VMWare. Obviously the first thing I want to do
is to boot up the simulator and play with it. So I click the nice
little Play button inside VMWare, and am greeted by what I
perceived to be a 1000000000 page license agreement in a DOS-like
console window. So after having scrolled through the whole thing
page by page with the spacebar, I am now greeted by the actual
Playbook UI! My reaction is similar to that of Kristen Wiig when
she plays the Target cashier on SNL. Since there’s only a web
browser available, I launch it so I can see if the browser lives up
to your claims, RIM. However, it seems that I can only get to about
two pages before it stops responding all together. Oh well. I
figured, at this point, I should try to get an actual app loaded on
to the simulator. So I head back to the docs to learn how. First
up, I have to put the simulator into development mode, which makes
total sense because of those times when you don’t want to use the
simulator for development. For instance, sometimes you’re obviously
gonna want to load up the simulator on your laptop and use it like
a Playbook, right? RIM? Bueller? But before I can do that, you tell
me that I need to set a password, which is obviously very
important, because if someone steals my laptop, that last thing I
would want them to do is be able to put my Playbook simulator into
development mode without my permission. Good thinking RIM! Next, I
need to get the IP address of the simulator, because it’s running
in a VM, and as far as my OS is concerned it’s an entirely separate
device. Good design RIM! Making things easy and integrated (like
Apple and Google have) only encourages those “artsy” types to try
to develop software, which clearly should be left only to unix
loving neck beards (I use that term endearingly).
Now I get down to the real work. Compiling and sending an
application to the simulator. As your documentation suggests, I go
ahead and download the sample app from your website. Your docs now
tell me that before I can create the application package, I need to
first create an application archive. Ok, that sounds alright with
me, because obviously you’re going to tell me how to do that. Wait,
you’re not going to tell me how to do that? Ok, well let’s just
assume I figured out how to do that on my own. Now I need to go
back to the command line, and type in a big command with lots of
non-descriptive command line options that will transform my archive
into the application package which can then be loaded on to the
device. With package in hand (hehehe, I’m here all week folks!), I
now need to type in another long command which will send the
application to the simulator running in the VM at the IP address I
had to get earlier.
At this point, I feel the need to compare and contrast to the Apple
and Google way of doing things. If you are developing for iOS or
Android, you can replace the entire preceding two paragraphs with
one sentence: Press the button that says Build and Run (or the
equivalent button within Eclipse for Android). Sarcasm aside, as it
stands, the Playbook SDK is complete crap.
So it was at this point that I decided to surrender. Knowing what a pleasure it is to use Apple and Google’s tools, there was no way I could justify continuing with Playbook development. I thought this story would end there. Unfortunately, there was one more little jab you were still able to get in, RIM. This afternoon, Google Notifier informs me that I’ve received an email from you. Naturally, I assumed that it was just a confirmation that my App World account had been approved, considering I had filled out your forms truthfully and completely, just as you had asked. However, I was surprised to find that it was, in fact, a request for more personal information. You wanted me to print off a notarized statement of identification form, fill it out, take it to notary with government issue ID to have it notarized, and then return it to you so that you could be absolutely sure with 100% accuracy that I was who I said I was. I think it goes without saying at this point, but neither Apple nor Google require you to do anything even close to that.
So, my dear RIM, primary supporter of my local economy, I bid you
adieu. You have succeeded in your quest of driving away a perfectly
willing developer from your platform. On a more serious note, being
the underdog, you need to make your process AT LEAST as simple as
Apple’s or Google’s, if not more so. You need to make your tools AT
LEAST as good as Apple’s or Google’s, if not more so. You have
failed at both.
Update: It should be noted that I was using the WebWorks SDK and
not the AIR SDK. A commenter on HN mentioned that if you’re using
Adobe Builder, it will eventually get you to a Build and Run
button, but that they experienced similar problems as well.