The Droid Saga, Episode II: The Revenge Of Flash

The Droid Saga

Episode II: The Revenge Of Flash

It is a period of chaos on Bill’s Droid. Having been tempted by the power of Android 2.2, he installed Verizon’s pushed build of Android 2.2 FRG01B to his Droid.

The networking stack was buggy and Verizon ceased the push immediately. Nevertheless, Bill’s Droid was bitten by the bug.  Networking — particularly wireless — was almost impossible.

The Droid is crippled, and it seems no hope remains to return peace and freedom to the Droid …

Having gotten sick of waiting for an official FRG22 to appear and fix my numerous FRG01B bugs, I decided to flash back to 2.1, then install FRG22 as blogged here. My results:

Upgrade

The flash/upgrade process worked like a charm.

Speed

Apparent speed of the device has increased dramatically. I’m not clear that it appears any faster than 2.1, but running craptastic FRG01B for a day has colored my perceptions.

Networking

The networking issues aren’t as bad. They are not fixed, however. My guage for this is YouTube.

I watch a lot of YouTube videos. Prior to the upgrade they would all consistently stream virtually laglessly. This was always particularly apparent at home where I have 20MB virtually to myself on a fortuitous cable modem infrastructure spur.

After the upgrade, YouTube videos are timing out a lot. They’ll first lag, then time out.

While YouTube is most apparent, it’s not just YouTube. All Web sites seems sluggish, on either Browser or SkyFire. I’m hope that this is impacting my Flash experience (see below).

I’m installing some specific networking tools to see if I can determine exactly what’s going on. I’ll post more as I do.

Apps

The Gallery works as advertised. I find this interesting, considering how badly broken by networking issues it was in FRG01B. I would expect it to have improved, but not to appear totally lagless.

Apps that need Internet connectivity vary. None respond as rapidly as under 2.1u1. Google Voice is noticably sluggish. Even the mobile Google Reader site, which used to be instantaneous, lags.

One of the few apps that appears unaffected is GMail.

Trap! is still a bit slow, but nowhere near as horrible as under FRG01B.

2D Graphics Bug

On the positive side, the 2D graphics bug introduced in the 2.1 upgrade has been corrected. LagTest consistently shows 60fps with no sudden dips down to 20fps.

Flash

As mentioned previously, I have coined a new phrase to describe my experience with Flash on the Droid:

Craptastically fraktacular.

It’s awful. Really, really awful. It’s as though Adobe, Google, Verizon, Motorola, et al, rickrolled us:

Look, Flash on the Droid! It’s frakking awesome!

It’s definitely not awesome. It is frakked, however — indeed, it’s craptastically fraktacular!

Since the currently-available Flash 10 is still beta, I’ll reserve final judgment. However, in the interests of science I can report my experience:

I dare you tou play Falling Girl on a Droid.

Users with desktop browsers are now glued to their screen by this strange, incongruous game.  They can’t help but click it and move the girl around.  It’s one of the oldest, simplest games on the Internet.

Droid users see a girl falling slow as molasses in January at roughly 2FPS.

The simple control of click-and-hold doesn’t translate into press-and-hold on the handheld. There’s no way to interact with the game.

Even if you could, it’s so laggy as to be pointless. It’s possible that this is to some extent due to networking issues, but there’s also an unfortunate flaw in Adobe’s basic implementation of Flash:

Adobe essentially made a browser plug-in like the ones they make for desktops. The problem is that the Flash content I’ve seen so far simply wasn’t designed for a handheld device.

Unfortunately, heavily Flash-enabled sites that look amazing in a Web browser on a 15″ display tend to look terrible on a handheld. Text becomes illegible, and zooming in and out to alternate between seeing the content and being able to interact with it becomes painfully tedious.

Worse, as mentioned with Falling Girl, there is no intuitive control substitution. Flash works great when you have a mouse to click and hold, or to hover over content for more information. It doesn’t translate to a press-and-hold. I’ve no idea how to “hover” with my finger without also clicking.

After dealing with this craptastically fraktacular Flash on the Droid, I no longer have any interest in learning.

One of two things needs to happen with Flash-heavy sites:

Redesign the content to include a totally separate mobile interface, or stop using Flash.

All the Flash content sitting out there that’s been around as long as Falling Girl? It’s pretty much useless on a handheld. They’re going to have to completely re-think everything.

Flash videos are another matter entirely. They lag in general, but this may be due to underlying networking issues. I’ll forgo judgement until networking works again.

The problem with Flash videos is that the player is simply embedded into the Web site, the same as on a desktop — complete with tiny, miniaturized, impossible-to-manipulate controls.

The only way to deal with embedded Flash video on a handheld device is the thumbnail-and-player approach used by YouTube. Tap the thumbnail and the fullscreen player launches, with appropriate handheld controls.

As it stands, embedded Flash video is useless simply because the video controls become too tiny.

I’m not usually much of an Apple supporter (please, let’s not get started: it’s a topic for another day, and my thoughts on Apple are more complex than you think). However, if what I’ve experienced in the last few days with Flash 10b3, Steve Jobs may have a really, really good point.

We’ll see how it turns out, but unless the finally-released Flash 10 is dramatically different, it may pound some nails into Flash’s coffin.I don’t know how it’s going to work out, but it will be an interesting show to watch …

Summary

This proves to me that FRG01B’s networking stack was indeed buggy as a cockroach nest. It’s not clear, however, that FRG22 entirely fixes the problem.

As mentioned, I’ve installed some monitoring and networking tools to watch what’s happening under the hood a bit more closely. I’ve also now become conversant with ROM manipulation. A side-effect of this was root access to the Droid, which I’ve lacked since the 2.1 upgrade.

This has had some interesting benefits, not the least of which was wireless tethering. I am extremely impressed that the next time I see my daughters, I’ll be able to offer them wireless Internet for their laptops and handhelds. I plan to make the incredibly tedious drive from my ex-wife’s Chicagoland home to my Des Moines-area house a lot more pleasant by allowing them to be constantly connected to the Internet.

The tethering works, too — which is a bit of a puzzle, in fact. I had my Droid connected to the home router (20MB pipe). The Droid’s Internet connectivity is laggy through this pipe. However, when I tethered my laptop to the Droid, the laptop’s access speed was limited only by the wireless connections. It was by no means 20MB, but it was a workable multi-megabit connection.

Beyond the benefits of root access, ROM Manager makes the whole ROM replacement process so much simpler It’s highly probable that I’ll experiment with networking stacks by installing a variety of ROMs to see if networking is better under them.

I’ve flashed ROMs for other devices, but I’ve avoided it on the Droid so far. The device had so far outperformed all my expectations and I was in no hurry to be on the bleeding edge. However, having been forced to delve into it, I’ve become intrigued at the variety of images available.

I’m still experimenting, but as always I continue to be amazed at what the Droid can do.

The Droid Saga, Episode I: Attack Of the Android

The Droid Saga

Episode I: Attack Of the Android

It is a period of peace and freedom on Bill’s Droid. While no system is perfect, Bill’s Droid is a model of efficiency and freedom.

Rumors have abounded about an upgrade to Android 2.2, said to be faster, squash many annoying Android 2.1 bugs, and most importantly to have Flash 10.

When Android 2.2 was released by Verizon for the Droid, Bill investigated installing it on his beloved Droid without waiting for the OTA upgrade …

Yesterday, I posted instructions to download and install the new, Verizon-pushed Android 2.2. Almost immediately, I was provided with a concrete example of why the bleeding edge is often a bad place to be. You’d think I’d’ve learned my lesson in January of 1996 when I rolled out Windows 95 to 300 workstations at nine sites.

To be explicit, I recommend that you do not upgrade to Android 2.2 using yesterday’s instructions.  I’ll see if I can piece this together so you can understand why:

A couple of days ago, Motorola DROIDs on Verizon’s network began being pushed an upgrade to Android 2.2. This was build number FRG01B.

Almost immediately, users began reporting problems. See this thread for examples, but they’re best exemplified by these posts:

For the love of whatever you consider holy, how can I get back to 2.1?

I’ve had the 2.2 update for a few days now and it is horrible. My phone is slower and it will take more time than usual to open up any apps. Then when there are multiple apps running the phone slows down terribly.

Also, any of the apps that play music or podcasts (including the default media player) will randomly stop for no reason.

My phone will freeze if I am doing to much on it and will take about 5 mins for it to respond again, then it will freeze. The freezing thing is a new issue as of yesterday, so far it has happened three times.

I want 2.1 back! It ran so much smoother than this crap. I wanna roll it back and wait for the update next week that will fix any of the 2.2 issues.

If this is 2.2…it was NOT worth the wait.

And:

Mine too is very laggy and freezes, my gallery is not working properly, the net might as well be dial up (im barely getting 1mb download when before I was about 2.)

That JIT compiler is BS if you ask me it sucked the life right out of my phone.

I called VZW and they sent me to Motorola. I asked Motorola about rolling back to 2.1, they can’t as of now but the customer service rep is looking into it and will be giving me a call back within 24hrs.

So to say I’m PO’ed at the moment is an understatement.

Anyway Motorola’s number is +1 (800) 331-6456. I say call em and give them a piece of you mind like I did. Also I encourage everyone to call and email Verizon and express how them taking the usb tether off is ridiculous (yea we have easy tether but it’s only a matter of time before that goes, in my opinion). Im sorry Im not paying 15 a month for 5GB, thats a rip. This is why people root their phones.

Motorola/Verizon/Google apparently saw the problem. The FRG01B push was halted — but not before those of us on the bleeding edge had downloaded and manually installed the patch.

Almost immediately, Verizon pushed a second update that brought the Android 2.2 build up to FRG22. It’s not yet known if this resolves the networking and other issues experienced by users.

Unfortunately, the FRG22 patch is not yet available in the wild. At least theoretically, it should eventually find its way to those of us who manually upgraded. Unfortunately, this may not occur fast enough to satisfy those of us affected.

After slightly more than 24 hours with the upgrade, I have observed the following issues. In large measure, they appear to be caused by networking problems:

  • Apparent speed of the device is slower. I’ve not timed it, and this may be more psychological than anything as I grow more frustrated. However, it does feel laggy. I’m not experiencing anything like the massive reported performance increase that Android 2.2 was supposed to bring.
  • I’ve got a 20MB pipe that runs a server, 1-3 laptops, and a variety of handheld devices as my daughters come in and out of the house. I routinely get 1.5MB torrent downloads for new HD Doctor Who episodes. My bandwidth is fine.As of yesterday’s force to FRG01B, the networking (wifi seems worst) has been at best slow. At least 25% of the time, it fails entirely.
  • YouTube is useless. I assume that because of the fouled network connection, the player simply times out on the stream.
  • The Gallery lags badly. I assume this is because of the fouled network connection attempting to load Picasa albums and ultimately failing.
  • Any app (and they are legion) that needs a good Internet connection is now unstable. Because the device can’t get decent network connectivity, timeouts are reached and the apps tend to fail.
  • I play “Trap!” — an addictive little game involving bouncing balls on the screen. The interesting thing about this app is that it’s one of the few affected by the 2D graphics bug introduced in the 2.1 upgrade.If anything, the performance of “Trap!” is worse under FRG01B than under 2.1.To be a bit more scientific, I downloaded the LagTest app to check results, and it seems to show that the 2D bug may have been resolved.It’s unclear, then, what might be causing “Trap!” to lag.
  • I’ve coined a new phrase to describe my experience with Flash on the Droid:  craptastically fraktacular.It’s just that awful.  I tried playing Falling Girl, one of the oldest, simplest Flash games out there. The girl falls slow as molasses in January at approximately 2fps.  The simple control of click-and-hold doesn’t translate into press-and-hold on the handheld. There’s no way to interact with the game.Even if you did, it’s so laggy as to be pointless. This may be due in part to network connectivity issues, at least with respect to streaming Flash videos. But Falling Girl is so simple that it ought to load very quickly with no further streaming. It shouldn’t be so pointlessly slow.
  • I’ve not experienced any problems with local audio, which I tested by running a playlist of several hours duration. I’m testing video by playing Star Wars. In both cases, I’m using Meridian rather than the stock media players.

I suspect that the only way to deal with this will be some bright cookie rooting FRG01B. Once done, ROM Manager should work, and one can revert to 2.1.

Short of that, if the FRG22 update resolves these problems, then Verizon/Motorola/Google needs to get it into the wild ASAP. If there’s an FRG22 that’s been pushed to some users as reported, we need that file right the frak away.

Update: Thu Aug 5 21:22:45 UTC 2010

Per our friends at AndroidForums, there is a fix on the way.  No doubt it will be in the wild in fairly short order. As soon as it’s available and applied, I’ll post more.

You know what it’s like? It’s like the Doctor‘s Sonic Screwdriver. You get used to it being able to do just about anything, flawlessly, no problem, every single time. Then it gets frakked up, and the next time you want to reverse the polarity of the neutron flow, it just makes a funky noise instead.

What the frak am I going to do if the Daleks show up before the fix arrives?!

Update: Fri Aug 6 16:41:43 UTC 2010

Having tired of the buggy FRG01B and there being no FRG22 patch in the wild, I decided to flash my Droid back to v2.1, then upgrade to FRG22 using the procedure outlined in this post. The procedure is as follows, modified for readability and taking into account my special circumstances.

Note that this procedure requires a Linux-based computer. I’m running Ubuntu 10.04 64-bit. The app referenced below is a 32-bit app, but should work provided you have the 32-bit libraries on your system. Ubuntu includes these by default.

Also note that, like it or not, this procedure will give you root access to your Droid.

  1. On your Linux computer:
    1. Download the 2.1 SP Recovery image (the file name is SPRecovery_ESE81.sbf)
    2. Download sbf_flash
    3. Download the Android 2.2 FRG22 release image (the file name is FRG22-Release.zip)
    4. Open a shell prompt (Terminal). cd to the directory with sbf_flash and the .sbf recovery image.
    5. At the shell prompt, type:md5sum SPRecovery_ESE81.sbfThis should return9b6a336cd8f067d4487935468c758d89.If it doesn’t, stop now, as you have a bad recovery image.
  2. On your Droid:
    1. Connect the Droid to the Linux computer via USB cable.
    2. Power off the Droid.
    3. Press and hold the Up button on the Droid’s D-PAD.
    4. Power on the Droid. This will bring you to a black screen with white text on the Droid.
  3. In the shell prompt on your Linux computer, paste the following command:chmod +x sbf_flash && sudo ./sbf_flash SPRecovery_ESE81.sbfYou may be queried for your Linux user password. If so, enter it. 
  4. The Android 2.1 recovery image will be flashed onto your Droid.
  5. After flashing, the Droid will reboot with a message that the battery is dead.This is a normal message at this time and no cause for alarm. The issue will be resolved in the course of this procedure.
  6. Please read this step and follow it closely: Without unplugging the Droid from USB, remove and re-seat the battery.This will cause the phone to immediately reboot.In order to complete the procedure, the boot process must be interrupted prior to boot.

    Therefore, when completing the re-insertion of the battery, immediately press and hold the X key on the physical keyboard.

  7. When the Droid boots, use the D-PAD on the physical keyboard to navigate to mount options.
  8. Select and choose Enable USB Mass storage. This will mount the SD card on the Droid as a flash drive on Linux.
  9. Copy FRG22-Release.zip to the root of your sdcard.
  10. Rename FRG22-Release.zip to update.zip.
  11. On the Droid:
    1. Use the Droid’s D-PAD to navigate to and then select Disable USB Mass Storage.
    2. Use the Droid’s D-PAD to navigate to and then select Install
    3. Use the Droid’s D-PAD to navigate to and then select Allow update.zip Installation.
    4. Use the Droid’s D-PAD to navigate to and then select Install /sdcard/update.zip (deprecated).
    5. This will install the “factory” Android 2.2 FRG22 build.
    6. When the install is complete, use the Droid’s D-PAD to return to the main menu.
    7. Reboot the Droid.

When this is complete, you should be running a bug-free version of Android 2.2. It should be the same FRG22 build that will wind up on all Droid’s via an OTA push.

It shouldn’t be necessary to worry about the contents of your sdcard, nor any installed apps, nor settings. All customizations are retained during the upgrade.

I’ve performed this procedure myself. As always, standard disclaimers apply.

This build seems to fix most of the bugs listed previously, particularly the faulty networking stack.

Flash 10 remains craptastically fraktacular. If this performance is any indication, Apple is right: Flash is no longer appropriate on the Internet.