The two step identification doesn't work if you don't have internet on your phone right?
The phone app could be also be used for your own projects. It supports multiple accounts and either manual or QR-code based configuration.
Google provides a PAM module so you can add 2-factor auth to ssh. And it is easy to implement the standard on the server side, if you want to add 2-factor auth to your web app.
For more info, see:
You choose a "base password" (different from your master password) and it then generates 100 one-time passwords that you can print out and put in your wallet. So to login, the password you enter is "<base password><one-time password>". Works great. You can also make it restricted so that one-time logins can't delete anything, or change any options.
It works by requiring your normal password, plus a one time password that can either be SMS'd to your phone, generated by an Android app, or one on a list that you've pre-printed and keep in your wallet.
I don't want to deal with 2-step authentication on devices I trust (e.g., my encrypted laptop). I could switch it on and off every now and then, but with Google I'd always be typing my normal password (for me, generated by KeePassX and impossible to memorize) when doing the 2-step thing, right?
You get read only access with your OTP, and if you want to do something destructive or otherwise important, log in again with stricter authentication.
Making all of your account available all of the time from one basic login seems like quite a bad idea for a sensitive account.