The problem with extending physical mimicry to more complex software is that the interface ends up adopting design compromises made for the physical world. I remember the idea of a "virtual shopping mall" where you would virtually walk through the mall, look around and pick a store to go into. But a shopping mall has to be a certain size because it has to hold a certain amount of stuff. It takes time to walk from one end of a mall to the other, but there's no reason to extend that compromise (made to gain physical space) should ever be made in software. For anything beyond a very simple application you're better off asking the user to learn a few things about how the software works and designing the interface for its medium.