Maybe I'm misunderstanding: but if you sync-on-read, the user still has to wait for the file to be downloaded if it's not synced up already. So maybe another model would be sync-on-save for those items that are appropriate for the device and that the user wants to have quick access to (whether because they've "favorited" them or via some other manual or automatic mechanism), coupled with sync-on-read for everything else?