In my work, I have always found that the main "blocker" (I hesitate to use the term "bottleneck"), is human nature. If we design stuff to be used by humans (what I generally do), then it's imperative to take basic human nature into account, and that can be incredibly annoying. Annoying, or not, human nature is a major factor, and won't go away, no matter how many times we tap our heels together. I think it was Philip…
I would go further and say that the human should be the bottleneck/blocker. If not designed for and to serve humans, which means to have human in the position of power and control and take in account all the various human oddities, why are we building all of this?
Of course this goes both ways. Some things I could name here everyone would agree I shouldn't be allowed to do. Other things are things that it wouldn't be hard to convince everyone here (but the opposition would remind you that I'm ignoring their points)...