- Non-operational functional debugger support (Firebug does not do true functional debugging).
- Having to chain event callbacks as functional code blocks that are dependent on an external user interface state variable.
- Having to serialize events and sort out how to block functional chains if one part of the chain fails.
- Debugging in general (which would be impossible without Firebug).
- The 2 XMLHttpRequests per site limitation, which makes streaming multiple comet-like communication channels from the same server nearly impossible.
- The very large (10ms-30ms) network context switching overhead, which is a problem when receiving 5-10 events per second — it results in very slow responsiveness from the UI)
This created a massive headache for our designers and developers, who are phenomenal at what they do. I fear for web development shops that don’t have people that enjoy writing massively scalable processing architectures, micro-transaction monetary systems and distributed parallel file systems (all current Digital Bazaar projects). Functional programming takes a particular level of interest to get right, and that’s only if the problem is suited for the language.