Friday, July 30, 2010

HTC and Blur update

After I pushed out the update last week, I noted alot of non-positive reviews about the base version of Launch Bar and how it's really not working for HTC Devices. I then got a text from a co-worker from his brand new Droid X. My app didn't work on his phone at all. Although, it did give me an excuse to play with his phone a bit...

After running a debug app that does the same bit of logic as the Launch Bar, I discovered what the problem was. In the case of the phone dialer, I was looking for a package(application) called com.android.phone. It looks like the motoblur UI tweaks the phone dialer slightly and the name is com.motorola.blur.phone. All of the other "stock" applications all had the same kinds of package name changes. I'm making the assumption that the HTC Sense UI did the same thing for all their apps and hence why it wasn't working for that either.

There's about 3 different rants that I could go on:
  1. about how the stock application names shouldn't change and Motorola and HTC should change them (akin to Dell changing the Windows to Dell's Windows)
  2. the awesomeness that the phone OS is open source and they COULD go and make those changes (akin to Dell changing Windows Vista so that it works)
  3. the stupid programmer that made the assumption first that he could find the application by label name (which lead to the localization problem) and then the "fix" of trying to find a specific package which doesn't exist on non vanilla installs of Android.
In my defense for number 3, up until my co-worker got his Droid X. Everyone I knew with an Android based phone as the standard Moto Droid and the only development environment that I had to test against was emulator provided by Google. I did try to build the source code from HTC, but I got to a certain point and then stopped (I'll get back to it at some point). It (OK just me) is very frustrating trying to develop for a moving target and to me it seems very difficult to jump though the fiery hoops to build the HTC source and I'm not even sure that's going to work in the emulator.

The update to the base version makes the GUI for both version the same. However, base version when you long press it will present you with a pick list of applications that qualify for that button (Phone, SMS, Contacts, Browser, Maps, Camera). The custom button will show you all the applications installed on the phone. This is actually pretty cool in my opinion as you are no longer stuck using the stock items (I know alot of people use HandSent and Dolphin as their main SMS and Browsers).

However, it seems that on the Droid X the contacts button isn't working... Oh well, just another programming opportunity.