When I started using the G1 at the start of this year, it was painfully slow and could only fit a few apps from the Market before it started nagging me with low space warnings.
Things I did to improve the situation:
- Installed Cyanogen ROM: Faster performance, nicer UI, and updated apps, including Maps with Navigation.
- Installed 10MB hack: Faster, at the cost of 3D performance, which I never missed.
- Bought a microSD card ($13), partitioned, and used for swap and Apps2SD. Improved performance, but at the cost of stability. Occasionally, the device would complain that either the SIM card or the SD card was not inserted. Reinserting and rebooting once or twice usually resolved the issue, but sometimes in the process any Market apps that accessed the internet would stop working and I'd have to reinstall all of them.
- Bought Autostarts ($1) from Android Market and killed unnecessary processes from running at startup: Improved startup time and dramatically improved general responsiveness.
- Bought extended battery ($7) from eBay. I didn't buy the super-huge ones that require a replacement back and look hideous, but it still provided a nice boost in battery life. Went from maybe one day of life to usually a day and a half.
- Bought car USB charger ($2) and HTC audio adapter ($4): GPS sucks the G1 battery at an incredible rate, so USB charging in the car was essential. The HTC adapter let me hook up the charger and an audio out cable at the same time, so I could listen to Slacker or hear GPS directions clearly through my car stereo -- although not at the same time.
- Typing with the on-screen keyboard always felt sluggish
- Unlocking the screen via pattern worked one in three times. I think it was too slow to respond to my finger swipe.
- SIM/SD card detection problem and subsequent app reinstall. I did drop the phone in a parking lot once, which could have permanently messed up the card slots.
- Sometimes the phone would lose signal and then be unable to reconnect to the network, requiring a restart.
- Picking a contact to call from the dialer would sometimes dial the last number in my call log instead.