I have switched to a Google G1 "Dream" phone for a month. I feel like writing about it.

One thing I didn't anticipate having with the G1 and Android was the ability to run arbitrary applications in the background. The iPhone runs a few select applications behind the scenes: email silently synchronizes, your calendars and contacts can synchronize with Mobile Me, and of course there's the new feature in 3.0 that allows applications to push data to your phone in the form of alerts. Really good stuff, but it would be nice if some of my most used iPhone applications didn't have to unpack their previous state every time I switched to the app.

Android does away with those work-arounds and simply lets applications hang out while you do other things. I think this contributes to the noticable battery drain, something I have never been concerned with on my iPhone.

But the benefits of this feature is up-to-date Twitter counts, switching to applications and seeing they maintained the state you left them in, and the best thing so far: an application called Locale.

In short, Locale checks what it calls "situations", and then changes settings according to rules you provide. Here are some of the screens to give you an idea about what you can do. I've set up two situations, "Home" and "Work" to adjust ring volume, brightness levels, and vibration. There is also a plug-in architecture so you can write your own settings or conditions to cause changes in your own applications, or even post information to services not on your phone.

I still need to tell Locale which applications I don't need running in the background all the time to help with battery life. But I will say, coming into work today and hearing my phone beep for attention after a full night of being quiet was pretty cool.

How awesome would that be on the iPhone? I KNOW!

Since I'm on the subject of applications, it is really obvious after installing a few apps and replacing my most used iPhone applications (Tweetie, Foursquare, Mail, Safari, iTunes, Things, this is from memory, I am sure I forgot something) that I miss the iPhone equivalents dearly.

The Twitter app to use on Android, I'm told, is Twidroid. It's okay but one of the benefits of using an application versus a browser is the ability to provide functionality you can't do on a web page. Twidroid is a little chunky when scrolling, offers lengthy menus you have to scroll through when the phone is turned sideways, and generally feels rough to me. There is a "delete" option for every tweet, not just my own, but every tweet. When you push that option you are told, "You may not delete another users (sic) status". They shipped that. Later tonight I'm going to file two bugs I found within a day of using the thing. Very obvious, repeatable bugs that I uncovered while riding the train into work.

That's not just a comment on Twidroid, that is nearly[1] every application I've used so far. The Android SDK needs an Apple HIG-style document. And like, uh, a review board. Uh. Yeah. Hmmm.

[1] I am being kind. I actually can't think of one application that works as well as the average iPhone app. I need to keep looking.