I can buy that there's a lot of benefit in there being low barriers to communicating with your coworkers ... but I don't think talking in meat-space in your open-plan office is the best way to fill that niche. My teammates and I are always in irc (and campfire or whatever would meet the same need). Conversations can be archived for later reference, people on different continents can participate, you can drop links to gists of code or log lines, and you can have a handy place for bots to tell you when the build is broken, or when a deploy is happening, or whatever. Things that need to be private can actually be private conversations, without conspicuously grabbing someone and walking to a glass-walled conference room. Plus, when you're not actively part of a conversation, you can easily ignore it and actually work.
Being able to get a quick answer to a question is important. Being able to ask my question in a way that only distracts the person to whom it is addressed, and in a way that allows them to defer answering until they're at a natural stopping point makes us all more productive. As does being able to save the answer so I never have to bug anyone for that question again, or even share it when other people encounter the same issue.
Right, I don't think being interrupted constantly is an awesome thing either, and agree that there are some great technology solutions to cut down on these sorts of interruptions. But I still believe that proximity is a useful feature of open plan layouts.
Having an "open plan" for a smaller team - say under 10 - is probably a good way to go. That way each team can develop rules like this 'Library Rules' idea, or a more interruptive one if thats the way they feel they get more work done.
Being able to get a quick answer to a question is important. Being able to ask my question in a way that only distracts the person to whom it is addressed, and in a way that allows them to defer answering until they're at a natural stopping point makes us all more productive. As does being able to save the answer so I never have to bug anyone for that question again, or even share it when other people encounter the same issue.