This is currently circulating the internet. I just came across this. Thought it would be of interest. iPhone 3G is shipping with build 5A345. 5A347 is a build that was never intended for a production environment, and certainly not for installation on the original iPhone! As I mentioned earlier, it was built to be installed on iPhone 3G development test units only (note, I did not say production units), and has not been tested or designed for the original iPhone. Build 5A347 contains a significant amount of debug code and that is, in part, the reason for the slowdowns iPhone classic users are seeing. As also mentioned previously, when 32k of debug data is collected, the build is designed to dump the data to a location which no production iPhone supports, and hence you're seeing timeouts while the write process attempts to do its job. As far as other slowdowns are concerned, any time iPhone 3G specific code attempts to execute (location, contacts, pictures, and web are the most prevalent) a timeout is going to occur, and this will be seen to the end user as a momentary freeze. As presented by others earlier, while the code base is the same between the original iPhone and iPhone 3G 2.0 software, 5A345 has code modules active which can detect which hardware it is running on (touch, iPhone original, iPhone 3G, etc.) and handle certain cases appropriately, given the hardware, and thereby prevent the momentary slowdowns that some users are seeing. In plain English what I am saying: - 5A345 does not have the slowdowns some users are seeing. - Furthermore, 5A347, the build which many on here are now running was not designed for anything but iPhone 3G developmental units. That is to say, running it on the original iPhone is not a tested or intended platform. - Slowdowns that users are seeing are caused specifically by running an incorrect version of the firmware on unsupported units. I hope that this information helps clear up some lingering questions.