The HTC Dream, and Magic to some degree have a fatal flaw- their lack of internal memory. There’s actually three memory types to consider with these devices: internal ROM, internal RAM, and removable. ROM is where the OS runs, RAM is where applications and their data lives, and the removable media is resigned to storing pictures, music, video, etc. As long as the OS fits in the ROM, there’s no issue there … and with SDHC cards up to 16GB you probably will not run out of space for your media files. The problem is RAM.
Adding applications eats up the internal RAM. The number of applications you can therefore add to the phone is finite, and quite limiting. And hey, that’s the fun thing about these devices- exploring the wide variety of interesting applications.
Before someone jumps down my throat, yes I am aware that there are hacks to allow Android to store apps on the SD card (known as “appstosd”). I’m running it now in fact. There’s one small problem to this that no one seems to bring up: memory speed.
Let’s consider some various transfer speeds to get a frame of reference. A slow hard drive can transfer at 100MBps (mega bytes per second). USB 2.0 can transfer at around 40MBs. An average RAM transfer speed might be 1000MBps.
Now consider the transfer speed of an SDHC card. If you look closely, these cards are designated with a class: either 2, 4, 6, and now sometimes 8. This is the transfer rate, in MBps. See the problem? Running appstosd on Android is using an extremely slow media in place of what is typically the very fastest media.
This is why the iPhone doesn’t use a removable media for app / data storage. It uses a SIM memory chip for fast access. This is why the iPhone is lightning fast when loading apps and data.