Since 2.2 some apps can be moved to external memory (App2SD), but some of them wont allow it. Here is a nice easy way to accomplish this for most of the installed applications using the Android SDK, ADB and your connected device.

1. install the SDK (if you dont know how –> search)
2. make sure that your device is connected (adb devices)
3. open a shell: adb shell
4. update the install location of your device: pm setInstallLocation 2
5. exit the shell: exit
6. now most of your applications can be moved ( Settings->Applications->Manage Applications.)

This trick combined with root access, makes even smaller devices more usable :)
Enjoy