The wonderful Blackberry (aka "Crackberry") device is a product of the Canadian company Research In Motion, or RIM. RIM touts an open source development environment leverage the Java Development Environment (JDE). A year and a half ago, my company had a need for some field inspectors to be able to use barcode scanners to pull and post data in real time. I found these bluetooth barcode scanners online that also have an API (application programming interface) for the Blackberry so all the pieces fell in place. We got the scanners and the API and I got the JDE and SDK (software development kit) set up and I reworked the sample project so that it the Blackberry would receive the data from the scanner and then post it to a an ASP web site which would return the related work order in a web page for the inspector to complete. It was a great solution and very stable, once we got it out the door.
Fast forward to last summer. The Blackberry's start to get errors from the barcode readers. One by one they fell, like children growing up in the shadow of a petroleum plant. By summers end, the whole app was shutdown with a mysterious hardware error. After much proctrastination, I was forced to call the vendor to ask, "WTF????" It turns out, the vendor hired a third party developer to create device drivers who built in an expiration date. Things fell through (go figure) between these companies and our vendor now had a new set of drivers. How nice of them to just wait for things to blow up. I suppose a little proactive customer service wouldn've been asking too much.
So now I've got new drivers and a new sample project to recode to fit our needs. A peculiar things about RIM is that, even though they support open source, they won't let just anyone hit their core system files. To do this, you have to be a registered developer with them and purchase the appropriate registration keys. This costs about $100. After reloading the JDE, SDK and API, I got the sample project reworked fairly quickly and the code signed. All ready for redeployment right?
The users took their sweet time getting their devices to us and somehow, wonderfully and magically, the project got corrupt. The next step was to produce and application loader file (ALX) to actually conduct the install. This is the Blackberry/JDE equivalent of a MicroSoft .MSI package. Well now the damn project won't build. It can't load the RIM runtime. So I created a new project from scratch and it loads the runtime just fine. So I imported all the code and attempted to sign this project and one of the code keys failed due to a proxy error. Mutha f'n proxy... well I kept tweaking it to try and get it to sign. Apparently, you only get five shots at this and it all shuts down.
So now I've got to create a call with RIM to find out why their crappy open source crap environment isn't working and to get my freaking keys back. All because of an idiot vendor and a conniving coder. This has really put a cramp on my work-day game playing. Ooh the rage! My Blackberry came razor close to a high velocity impact with the wall.