Hiding the operation of the network completely from the user leads to application design where there is just no sensible way for the user to build an expectation mind for how things are going to behave -- or what the source of mis-behaviour might be at any particular time. It makes things these problems feel exceedingly random. I get to see all sorts of application quirks that pop up when the network is not behaving exactly as the application designer would've hoped when they decided that some cloud api call or another should transparently affect some aspect of their ui which wouldn't even necessarily seem like a cloud behavior to a user ... Just listening to music from your own iTunes library without a network or with a spotty network is an exercise in extreme annoyance.
I understand that the cloud's not going away -- but I would love to see apple add standard UI somewhere in all their applications to in some way indicate when network operations are in effect and something about the status. Attempting to build this kind of 'awareness of network activity' into the ui might really help application designers avoid including codepaths that amount to 'if network is bad: goto random-ruin' throughout their application's ...