I'd much rather see 4GB or even 2GB with some sort of expandability over a non-expandable 8GB. Capping the console at 8 subtly defines the scope of future games that it might run.
2GB of core memory is definitely not enough. My old Nexus One only had 512MB of base memory, and I was constantly shuffling apps to make room. Moving an app to SD only moves its assets, the app's core doesn't move.
Why doesn't android make apps runnable completely on SD card by default? When I was testing a samsung galaxy s2, I was constantly frustrated by the limited amount of space on the phone, and the fact many apps couldn't be transfered to the SD card.
Most SD card interfaces are really, really slow. Putting the core of the app in main flash and assets in flash makes sense in some scenarios. It's two bad we don't have three choices: all in main, split, or all on SD.
Originally, official Android builds would not allow apps to be installed to removable media to prevent users from copying their purchased apps to multiple devices. More recently, Android has offered encrypted installs and server-side validation methods so that apps can be installed to removable media yet still tied to the device they were purchased on.
If I have stated anything factually incorrect, can someone speak up?
I would not consider the S2 as being in any way definitive of "Android". The only Android devices that I would attach that label to are the ones with Nexus in the name. As far as running apps from the sdcard, neither the Nexus S, the Galaxy Nexus, nor the Nexus 7 even have an sdcard slot and the Nexus 7 and Galaxy Nexus have full access for apps to the entirety of internal memory, e.g., if you have a 32 GB device, you have access to whatever's left over of that 32 after the room set aside for the system so accessing the "sdcard" is a moot point despite there being a mount point for it for backward compatibility.