Poll is out, Push is in !

I have now fully converted a production app that relies heavily on shared visibility of status away from using the ProgressIndicator and towards using ICEPush.

Transition was extremely easy: I stored a pusher on the main window of each session (Vaadin app), and called pusher after each of the synchronized(){} blocks where background updates were taking place.

As an added bonus, this fixed a problem I was having with downloading generated Excel files. When polling, there is interference between the downloading of documents to the browser, which if long enough will overlap with the refresher poll, and cause a session drop. This has gone away with pushing.