Sunday, July 27, 2008

iPhone 3G Bug Research

Since getting my iPhone 3G two weeks ago, I have found that there are a variety of problems with it. Many of these problems have been documented as individual issues with the new phone. They have included battery drain problems, especially with the 3G radio turned on; crashes of a variety of applications, but mainly with applications added from the Apple AppStore; and a variety of memory leak problems that lead to the operating system running slower and slower until the only way to fix it is to perform a hard reboot by pressing and holding the on/off and home buttons simultaneously.

I experienced all of these problems at one time or another. In many cases, I was having to perform the hard reboot multiple times a day (not to mention frequent battery recharging). Therefore, several days ago, I undertook a series of experiments with the iPhone by turning the various radios on and off under different circumstances to see if they had any impact on the identified problems. Since I don't use bluetooth, it has always been off. However, I have worked with the combination of 3G, EDGE, and Wi-Fi in various configurations.

The results indicate that the problems occur when the 3G is on. First, with 3G off, whether or not the Wi-Fi was on, I did not experience the frequency of crashes and memory leaks that were experienced when 3G was on. Indeed, I have had 3G off for a couple of days now and have now and have not had to perform a hard reboot once. While numerous application launches are slow, they are consistently slow--there is no degradation in performance. From this I conclude that the slow application response (lasting to five seconds or more in some cases) is a separate problem with the configuration of the OS.

Battery drain with 3G off seemed to be on a par with the 1.1.4 version on the generation 1 iPhone. While this is not surprising on the one hand, it is when I have had discussions with numerous people complaining that the 2.0 version on the generation 1 iPhone seemed to have faster battery drain. My suggestion is that unless 1) you are accessing complicated, non-iPhone optimized Web pages; or 2) you have a need to access the Internet and talk on the phone simultaneously, leave 3G off. Leave it off at least until Apple releases an update to 2.0.

To be sure, I still experience crashes--especially related to Safari--but they are much less frequent. This leads me to believe that the Safari crashes are due to a cause separate from the other application crashes. (Speculation is that the other application crashes may be due to the DRM used in the SDK.)

Another issue isolated by these experiments is the communications instability. With 3G on, the iPhone appears to have significant problems locking onto a "preferred" radio--EDGE, 3G, or Wi-Fi. As a result, the phone experiences numerous drop-outs, causing the phone to pick a back-up communication radio and re-establish communications. My research indicates that this happens when the phone has the screen turned-off for any extended period of time. It also occurs when the signal is marginal (not sure what marginal is as yet). When the situation occurs, the iPhone "thrashes" among the various available radios. However, it seems most pronounced when the 3G radio is on. When the 3G radio is off, it will still take a few seconds to lock onto either EDGE or Wi-Fi, but does not take that long. When 3G is on, it seems to take forever to lock on. Whether this is the radio, or the handshaking that goes on after lock to establish an Internet connection is unknown.

The result of all this is leave the 3G off if possible until Apple has had time to work through the various bugs in the OS. Your thoughts?

No comments: