Recent songs are cached as they play, and library info is maintained locally. So if you know you've listened to a song you should be able to go back and play it offline.
v1 doesn't have a good interface for showing you which songs it's got cached though -- that might arrive in an update :)
And is there an "offline" toggle in the app, or would you have to put the device in airplane mode?
I like the idea of having my music in the cloud. I just don't like the battery drain of constant streaming. Or the "what happens when I'm on a train/a plane/a crappy-2G connection?" cases. Robust offline support would be totally awesome.
Obviously I'm just getting started on this, but I'd prefer not to have a switch, but just to do the right thing, and give some cues so you know if it's going to have to stream to play a song or not.
That's mostly the case now -- files should stream once, then be cached. This version uses a 250mb LRU cache, so figure the last 50-60 songs you listened to.
Though I would urge you to reconsider the switch. There are plenty of times when I technically do have a data connection, but for various reasons, would rather hold off on streaming. (e.g. traveling through a series of deadspots; trying to prevent 3G overage charges; trying to preserve battery; generally slow data connection).