[IPython-dev] SockJS

Jason Grout jason-sage at creativetrax.com
Tue Jun 26 18:34:58 EDT 2012

On 6/26/12 5:18 PM, Fernando Perez wrote:
> On Tue, Jun 26, 2012 at 2:51 PM, Brian Granger<ellisonbg at gmail.com>  wrote:
>> We are aware of these alternatives.  My philosophy (and I think it is
>> reflected in the rest of the team) is this:  by sticking with plain
>> old WebSockets, all we have to do is *wait* for the situation to
>> improve.  That is super easy to do!  Once IE 10 comes out, we should
>> cover most browsers.  If we go another route, *we* have to do all the
>> work, and in the end, we will throw that work away because WebSockets
>> will eventually have universal support.  That sounds like extremely
>> low priority work to me.
> +1 (and also with Min).
>> People should not be running older browsers anyways.  There is simply
>> no reason, you almost have to try hard to run an older browser.
> There are real-world scenarios where individual users are *forced* to
> run older browser by constraints beyond their control, such as
> university/school/company-run machines where they have no admin
> control at all.  So I do see that *in principle* it would indeed be
> nice to support older browsers.
> But given the extremely high cost of development to us of such
> support,

I thought SockJS was pretty much a drop-in replacement for Websockets. 
Theoretically.  Of course, we haven't actually tried it out.

Or I suppose you're also talking about lots of other quirks with older 
browsers beyond this issue.

> I just don't think it's a realistic proposition: we'd get
> bogged in a tarpit of old browser support that would easily consume
> all our limited dev resources.
> So I simply accept that IPython isn't the right tool for those in such
> constrained environments, unfortunately.  We have to pick our battles
> carefully if we're going to make progress, and this is one such
> tactical choice.

Thanks; that sounds like nearly unanimous replies from the three major 
people.  We were in much the same position a year ago regarding IPython; 
we could wait for IPython 0.12/0.13 to mature to base our sage cell 
server work on, or we could forge ahead with the Sage cell server on the 
old IPython.  I'm glad we forged ahead; we've learned a lot about how 
the environment works, and we've had a lot of adoption.  Now we're 
rewriting it all to use the IPython framework this summer :).

I see more clearly the different audiences we cater.  IPython can force 
a browser choice because the using the notebook is usually a personal 
choice for a personal user.  In our case, universities are a primary 
target, so we'll use SockJS in our deployment of IPython/Sage web 
interfaces, which will hopefully go away in a few years when websockets 
is ubiquitous.  The nice thing is that (theoretically) SockJS is a 
drop-in replacement for websockets, so it should be really easy to push 
things back to websockets when the time comes.

Anyways, good to know it was considered!



More information about the IPython-dev mailing list