A while back we picked up a Moto G for Sabriena, and I've wanted one ever since. I loved my Galaxy Nexus, but it's ceased getting updates for Android and CyanogenMod is not a flawless experience on it. So Sabriena finally talked me in to picking up one so I'd stop fawning over her phone.
It took a bit of doing to get Telstra to swap my "mini SIM" (what they idiotically call a "full size" SIM, despite the fact that such a thing already exists and is about the size of a credit card) to the new "Micro SIM", but when they finally got my account sorted out (and I sidestepped signing another contract to save a whopping $4/mo) the service was up and running before I left the store.
Motorola Migrate proved somewhat useful, except for the fact that my old phone has more storage than the new, and the program wasn't smart enough to figure that out. Blowing away all the photos from the phone simplified things, but still I'd have thought the program would at least check that all the data it's going to try copy would fit on the phone (it doesn't even show an error about space, I got a notification from the SMS app instead).
Finally it took a bit of doing to copy over my Google Authenticator stuff. I'm sick of having to redo 2FA every time I do something to my phone, so after some quick googling I found it rather trivial to pull the database off the old phone via ADB:
% adb pull /data/data/com.google.android.apps.authenticator2/databases/databases % echo 'select email, secret from accounts;' | sqlite3 databases
After that, feeding the keys into Authenticator on the new phone and I was up and running (confirmed by loading the app on both phones at the same time and verifying the codes were the same for each account).