Eugene,
I think your raise some very interesting points (and a bit of a can of worms). I cannot speak for anyone else, but I can say I think about the heart of the questions you ask. I do think there is some perspective missing here, and that is the perspective of the front end application that is at play. Specifically, I don't think Rails can really answer your question well without thinking about what Javascript apps will look like in 2, 5, and 10 years from now.
In no particular order, here are some responses:
• The Async response pattern is absolutely a thing and I've used it a lot. IN particular, I use it anytime I know the response can't be guaranteed to be delivered in under 250 ms. Connecting to a 3rd party API always meets this requirement-- since I have no control over the third party API. Every try to write a "Place Order" page? You're gonna want to enqueue a job and process that in the background and update the UI independently (just as you explained).
• In the future, more apps will be built using WebSockets technology- something you didn't mention. You can write poller-- as Eugene described -- to support legacy browsers, all new browsers should support WebSockets and we should be taking advantage of this great technology. I think WebSockets will basically eliminate the need for the Poller and you'll have an asynchronous app where the server can push down changes to the client when the long-running jobs finish. This kind of architecture work superfast and can achieve massive scale. So yes, it's a real problem and something I too think about a lot.
• I think the need for fast endpoint response times comes from the way Heroku is architected. In a cluster environment (Rackspace, EngineYard), people do things like configure load balancers and they tolerate their 3, 5, or 7 second response times. In Heroku, this basically creates a bottlenecked app for everyone. So I think the subtle part of what you're saying should be repeated and highlighted:
• The new distributed architecture of Heroku pushed for consistently high-performance (under 500ms) endpoints.
• The Rails Way does not encourage performance out of the box (although it is achievable),
• The reliance on the request-operation-response pattern does no support itself to a truly Async (and dyno- distributed) scalability model
• Rails doesn't offer much in the way of dealing with or supporting Async architecture, specifically in the Client-Server interaction side of things. (Although there are many emerging technologies to do this)
So to me this seems to be the heart of the conflict.
• Might I be a little radical and propose that in the future Rails will be considered *"customer"* (I said customer, not consumer) of Backbone, Angular, and/or Ember. For example, when I worked (for the first time) with an Ember.JS app (specifically, ember-data) using a Rails JSON back-end that used ActiveModel Serializers earlier this year, I was simply blown away. I had an A-ha moment that I haven't had in Rails in many, many years. I think a lot of your Async questions can take on new dimensions when thought of from that perspective.
Not only is this kind of architecture a great idea, but it is where the rest of the non-Rails world is moving to as well and where the Rails Old guard is stubbornly entranced in their ways. (We're talking about a framework that still officially endorses unobtrusive declarative-based javascript, RJS and Turbolink as the way to make Ajax-based websites.)
That last point is really significant for me. I think Rails is a great back-end technology, and I think were a lot of newcomers the platform mess up by trying to think of it too much as a front-end technology. Compared to what the kinds are doing over in Node, Ember, Angular, we're the old guard now.
Newcomers come into Rails and expect Rails to have the answer to address today's modern UX needs. While Rails exceeds at being a back-end technology and an amazing tool for domain modeling, it just doesn't meet today's UX needs. That's why a lot in web community is moving away from Rails and embracing newer Javascript frameworks. Although Rails is still HUGE (by the numbers), I've spent all year talking to people in the New York City Startup scene about technology and Rails is not what they are talking about.
I definitely some of the ideas you have, although I disagree with others.
-Jason