Speaking at dev.Objective()

I’m very pleased to announce that I’ve been selected to speak at dev.Objective(), which is coming up in Minneapolis (more specifically Bloomington), MN on May 12-15. (And yes, if the conference name seems vaguely familiar this is the evolution of the former cf.Objective() conference.)

My session is Naked and Afraid: Mobile Offline Access to Emergency Data, in which I’ll be discussing how to build cross-platform mobile apps that sync and cache data so you can have access to it even if the Internet and mobile networks are down.

Since I quit doing CFML/ColdFusion several years ago and moved over to Python I stopped speaking at and attending cf.Objective(), but it’s a fantastic conference so I’m excited to be making my way back. It’s going to be really great to reconnect with a lot of people I haven’t seen in quite a while.

If you’re a web developer looking for a great conference with a lot of great sessions presented by world-class speakers this is it! Hope to see you there.

Upgrading the HP TouchPad to webOS 3.0.4

If you follow me over on Google+ you’ll know my latest favorite gadget is my HP TouchPad. I absoultely love webOS and think it’s the greatest mobile OS on the planet (seriously), and the TouchPad hardware is exceptionally well built and polished. I have numerous tablets now (iPad 1, Kindle Fire, Nook Tablet, and the TouchPad) and the TouchPad is far and away the one that’s most enjoyable to use. (In case you’re wondering, the Fire would be #2, Nook Tablet #3, and iPad somewhere down in the “why the heck would I ever use that thing” range.)
If like me you were lucky enough to nab one of these beauties before they were all gone, you may find that you’re running an old version of webOS and even if you go to System Updates it tells you you’re running the latest version. In my case my TouchPad was on version 3.0.0 and it said I had the latest, but my brother (from whom my TouchPad was a gift) said his is stuck at 3.0.2.
While I can’t tell you the why behind it not updating via System Updates, luckily many people have documented how to update the TouchPad to webOS 3.0.4 by using a tool called webOS doctor.
The step-by-step instructions I used can be found here, but I thought I’d document my experience since I ran into a couple of things they didn’t cover there and had to hunt around a bit to find some answers.
1. Download webOS Doctor To a Windows Computer
If your TouchPad is brand-spanking new and you haven’t already gone through the initial setup and created an HP webOS account, make sure to do that first since you need to log into your webOS account to download webOS Doctor.
After you have your webOS account created, log into it on your Windows computer (not from the TouchPad) and at the bottom of the screen after you log in you’ll see your device listed. Click the “Device Options” and in the little menu that pops up, click on “Get webOS Doctor.” This downloads a Java WebStart application to your computer.
Note that you can download this file to any machine but you need to actually run it on a Windows computer, at least that’s what I gathered from the various posts I read about doing this upgrade, as well as the fact that when I ran webOS doctor on Linux (LinuxMint 12 64-bit specifically), the application ran fine but it didn’t detect the TouchPad when I plugged it into the computer. Part of the installation process for webOS Doctor also seems to run Windows-specific .exe files so just resign yourself to running the application on Windows. (I didn’t try this on my Mac, so if that works and someone can confirm that’d be good info to have.)
2. Run webOS Doctor On a Windows Computer (and Related Steps)
Very important step on the Windows computer on which you’re going to run webOS Doctor: you need to disable the power saving on your USB ports. I skipped this step and whaddaya know, I had problems. On Windows 7 you can hit the Start button and type “device manager,” and once you’re in there expand the “Universal Serial Bus Controllers” section. For each “USB Root Hub” you see listed, right click on it and select “Properties,” go to the “Power Management” tab, and uncheck the box next to “Allow the computer to turn off this device to save power.”
If you don’t make these adjustments on your USB ports you may find (as I did) that the port disables during the OS installation when the TouchPad disconnects. Not a good thing.
Another small detour before we run webOS Doctor–if you don’t have Java installed on the Windows machine on which you’re going to run webOS Doctor you’ll need to install Java as well. Go to the Java web site, grab the appropriate version for your machine, and install it before proceeding. I grabbed the full JDK for 64-bit Windows 7 but the JRE or possibly even just the browser-based plugin should do the trick.
With Java installed you should be able to simply double-click the webOS Doctor file (the .jlnp file you downloaded) and have it run. If it doesn’t for some reason you want to tell Windows to open the file using Java WebStart, which is located in the bin directory of your Java installation.
Now that you have your USB ports’ sleep mode disabled and Java installed, go ahead and launch webOS Doctor. Don’t connect your TouchPad yet. We’ll get to that in a second. webOS Doctor needs to download and install some things first anyway.
After webOS Doctor launches you’ll confirm your language, let it do some stuff, and you’ll get to a screen where it will tell you to connect your TouchPad.
3. Wipe Your TouchPad
The reason I waited until this point to tell you to wipe your TouchPad is if you do this too soon, you’ll find that when you log into your webOS account you won’t see your device and therefore can’t download webOS Doctor (at least not directly from your webOS account).
Power up your TouchPad and go to the “Device Info” app, then at the bottom of the screen click the red “Reset Options” button. On the next screen click the “Full Erase” option.
This will erase everything, including files on the device, apps you’ve downloaded (including ones you’ve purchased), as well as all your account information. Fear not, however, because once you log back into your webOS account after the OS upgrade it’ll re-download all your apps (including ones you’ve purchased).
What I did lose, and this may be intentional, is all my account information so I had to re-input my Google, IM, VPN, Exchange, etc. information. Not a big deal, just something to be aware of.
After your device is erased it will reboot and you’ll find yourself back at the initial setup screen. Power the device off at this point without going through the setup process.
4. Connect Your TouchPad to the Computer Running webOS Doctor and Install webOS 3.0.4
Now we’ll put the TouchPad into USB mode and connect it to the computer running webOS Doctor.
With your TouchPad powered off, press and hold down the volume up button while inserting the USB cable into the computer. What I did here was connected the small end of the USB cable to the TouchPad (and again, this is while the TouchPad is powered off), then held down the volume up button and stuck the other end of the USB cable into the computer.
Make sure and hold down the volume up button until you see a large USB logo on the screen of the TouchPad. If it boots normally (i.e. you see the HP logo and then the initial setup wizard), you’ll have to power it off and try again.
After you plug the TouchPad into the computer Windows will install some drivers. In my case it didn’t tell me what it was installing; it just installed some stuff and said it was successful. On the web page I was using as a guide it mentioned something about being asked to install OMAP–to which you’re supposed to say No–and then Palm Novacom (bootie), which you’re supposed to allow it to install. As I said I didn’t get prompted so whatever it installed was what it needed since I was able to proceed.
At this point you should see that on the screen in webOS Doctor on which you stopped in step 2 above the “Next” button has been enabled. This means that webOS Doctor sees your TouchPad and you can proceed with installing webOS 3.0.4. If the “Next” button isn’t enabled, or if you get errors while Windows is installing the drivers after you connect the TouchPad to the computer, the only advice I can really give is to try the process again.
One other tip–in my case since I skipped disabling the power saving on my USB ports, the device did get stuck in USB mode and wouldn’t power off by using the power key. All you have to do in that case is hold down the power button and the “home” button at the bottom of the front of the TouchPad for about 10 seconds and the TouchPad will reboot normally. (If it doesn’t work, you probably didn’t hold the buttons down long enough!)
If all is well up to this point you’ll see the installation progress bar in webOS Doctor start to move, and the icon on the screen of the TouchPad will change to an arrow going into a computer chip, indicating the new OS is being installed.
The install takes several minutes (probably less than 10 if I remember correctly), and after it’s done you have the latest and greatest version of the greatest mobile OS happily running on your TouchPad! You can read about some of the new features in webOS 3.0.4 here.
5. Hack Away!
Again if you refer to the instructions I used to upgrade webOS you’ll see they discuss putting the TouchPad into developer mode, overclocking the CPU, and some other cool hacks. I personally haven’t done any of that yet but if/when I do, I’ll be sure and share my experiences.

“Shiny app syndrome” and Gov 2.0 – O’Reilly Radar

This was sent to me by a coworker–the entire article is really great but the person interviewed in this video makes some excellent points about the dangers of requiring specific devices to access services. This is bad from the standpoint of freedom and technology in general, vendor lock-in, etc., but is absolutely horrible when it comes to government services.

Unless they’re developed by a third party completely independent of any particular government agency, citizens fund the development of the applications that make the promise of letting them interact more directly and more effectively with their government. By limiting access to a specific device, it’s like simultaneously spitting in the face of the citizens that fund the development and handling Apple a check.

With the decreasing cost and increasing availability of technology the digital divide was supposed to get smaller, not bigger, but by requiring citizens to buy one of the most expensive phones on the market and sign up for an expensive data plan through one specific wireless carrier, we’re making it far, far worse and the conspiracy theorist in me has to wonder if something nefarious is going on behind the scenes.

Thankfully there’s a simple solution to this problem. First, follow the “just give us the data” mantra of Gov2.0 advocates, and second, build apps with standards that don’t lock people into any one device. There is absolutely no reason any publicly developed application should only be available on one particular device, and if there aren’t any rules in government that mandate cross-device compatibility as a requirement, there should be.

The Switch From iPhone To Android, And Why Your First Impression Is Wrong

A week or so later, it clicked. When I want an option that isn’t already visible, I hit the dedicated ‘Menu’ button just beneath the screen. Need to jump to a previous screen in an app or the web browser? Hit the dedicated ‘Back’ button. In some ways, these are actually better than the soft buttons located in iPhone apps, because they’re always in the same place. It also saves some screen real estate. Using them has become totally second nature to me. But they aren’t the reason why I’ve decided I prefer Android over the iPhone.

First time I’ve seen someone make this point, and to me this is dead on. Having used my Droid for a while now, when I go back to using apps on my iPod Touch the lack of dedicated, single-purpose buttons is frustrating, and in some cases even within Apple’s much-lauded app store, it’s easy to box yourself into a corner and have no way to get back to a previous screen. This is because it’s up to the app to provide navigation, and in some cases they simply don’t.

This whole article is great and it’s refreshing not only to see someone stand up and say that Android is actually better (it is), but to examine and explain why long-time iPhone users may find Android off-putting, at least at first.

Living in the Cloud: You Gotta Trust Somebody

I’ve been rather vocal about “getting off Google” in the past, and it’s a battle I’ve been winning with my email for a few years now. But today I got my Droid (more on that later), and I thought long and hard before even ordering one because I knew what this would entail.

Obviously the Droid is using the Andoird OS, which means (surprise!) it’s Google-centric. Google offers a huge amount of convenience, and the Android OS itself is absolutely spectacular. Temptation rears its head.

I’ve been researching mobile phones like crazy over the last few months, and when it comes to “freedom” there really are no great choices. The Neo FreeRunner keeps showing promise, but ultimately you’re still going to be at the mercy of a cellular carrier, and picking the least amongst evils there isn’t easy.

The iPhone is a COMPLETE non-starter for me. AT&T coverage is horrendously bad, particularly where I live, and there is no way I’m diving into Apple’s cesspool of control. No offense to iPhone owners; if you’re happy with it, great! But it’s absolutely not for me.

I’ve had Verizon for years and been nothing but happy for years, so I’ve been suffering the crappy phones until the Droid came along. But the Droid has the Google problem I’ve been avoiding for so long, so what to do?

Well, on the Google fight I give up. I’m keeping my mattwoodward.com email address, but I changed that domain over to Google Apps for Domains today. That way I can get this all working seamlessly with my phone, and I guess I just have to trust that Google isn’t all THAT evil. I’ll keep using Scroogle for my searches when I’m at my desk though.

I guess the bottom line of this post is if you want the benefit of living in the cloud, you gotta trust somebody. So I suggest doing your research and choosing an option that works for you on all levels. Just make sure to have an out if the solution you align yourself with turns up the evil dial at a later date.

Verizon executive confirms Pre in January 2010 | PreCentral.net

The Pre on Verizon, yes or no? TheStreet.com says no, analysts say yes. Palm isn’t saying anything, except for “more carriers.” So that leaves Verizon as the only interested party that hasn’t spoken up. Well, now they have, with Jim Gerace, Executive Director of Media Relations at Verizon, telling E-Commerce Times that Big Red will indeed have the Pre next year, and in January at that.

Hopefully it’s for real this time! Given their about-face on the control over the application front I can’t wait for January.