Typing Speed
One of the major annoyances I’ve encountered on the iPhone 3G running iOS 4.1 (other than just how slow it is) is typing. It’s simple enough - a dialog box will pop up, and I’ll start typing as quickly as I would on the 3Gs or 4. On those two devices, I’ll generally get to the end and be satisfied with my result, minus an error or two of my own.
On the 3G however, the story is entirely different. When I start typing just about anywhere, the device is slow enough that it often misses the first character or two of what I’ve typed entirely. I don't know if this is something new with 3.1.3, with 4.0, or even if the iPhone 3G had this problem (I don't know because I never owned one, I was a staunch Windows Mobile diehard at the time), but it's incredibly frustrating.
Even as I’m typing, keyboard input on the 3G seems to lag at least a word or two behind, giving me little feedback visually or aurally to verify character input. It's like I'm running circles around the thing just by typing. I can live with waiting for applications to launch (I guess, to some extent), but lagging input is generally what drives me to the point of hurling devices around the room. Just ask my old HTC Touch Pro. That device had an awesome hardware keyboard, but a predictive input system and keyboard driver that never were fast enough for me - I would finish typing, and characters would stream in for 10s of seconds. Amazing.
The 3G isn't quite to that level of frustrating, but it's close for me. Really close.
For this test, I fired up iTextSpeed and went at the default WPM test fast as I could, just to see if I could out-type this thing.

Surprisingly, I found that the iPhone 3G was slower to type on with 3.1.3 than 4.x.
Part of that could be improved word autocorrection, or maybe I’m imagining iOS 4.x still feeling slow when it comes to typing. That lag between first character entry and recognition remains, however, and the whole time words were lagging behind input. It's a chaotic experience typing at maximum speed on the 3G because you're given feedback about a word later. For some perspective, on the 4 I can text in the low 80s on a good day.
Conclusions and final thoughts
What it comes down to is whether iOS 4.1 is faster than 4.0.2, and for that, the answer is an unequivocal yes. The update brings the iPhone 3G nearly back to the snappiness of 3.1.3 in most places, and you get a much faster WebKit JavaScript engine with compatibility updates to boot. That said, it’s obvious that Apple still hasn’t quite managed to optimize the ARMv6 iOS kernel to be quite as fast as it used to be under iOS 3.1.3.
I'm going to be painfully honest though. If you’re the kind of person that even remotely cares about how fast your device is or applications launch, you shouldn’t be using an iPhone 3G anymore. It’s that simple. Use the 3G as a backup phone in case something breaks, give it to a family member with a dumbphone, or sell it on eBay or Craigslist - just don't expect the 3G to get any faster. Apple considers the 3G's speed issue fixed, even though it's still not quite as fast as 3.1.3 was.
Pick from just about any modern Android 2.x device with a 1 GHz SoCs, and you’ll feel the difference, same with the 3GS or 4. Even the first Motorola Droid manages to feel faster. That’s the architectural difference a completely different generation of ARM devices gives you, folks.
I'm serious. Pick up any modern smartphone, and you'll get something that feels an order of magnitude faster. The difference is just stunning. I don't know if the 3G has always felt this slow or whether it's made a continual march towards being sluggish since launch - I honestly never had one. But the speed of these devices is making me more and more impatient - Anand maintains that faster CPUs and desktops have made him patient, paradoxically. I clearly have much to learn from this master of Zen, as using the 3G for any period of time tries my sanity.
The bottom line is that if you have an iPhone 3G, iOS 4.1 will make you hate how slow your phone is a little less. Apple deserves credit for keeping a device just over 2 years old fully updated and supported. On the other hand, it’s obvious that Apple could have saved some face had it optimized the initial iOS 4.0 ARMv6 kernel for the iPhone 3G a little more than it initially bothered to.
I'd launch Safari which would open just fine, but attempting to scroll down a page would cause the phone to freeze for up to 30 seconds before it would become responsive again. This behaviour was all over the phone - it would frequently pause and stutter all the time and rendered my phone nearly unusable.
I could have dealt strictly with an extra 2 seconds to open the Settings menu, if my phone wasn't constantly freezing and stuttering to the point that it would not allow me to answer an incoming call before the caller gave up and hang up!
Basically, I want to know if 4.1 will make my phone an unusable mess again, or should I stick with my 3.1.3 downgrade!