Alternative notebook frontend authors:
There is an upcoming change to websocket connections to the notebook server. Instead of three websockets per notebook, one for each zmq channel, there is a single websocket connection between the server and client. The channel associated with each message is identified by a channel
key in the message dict itself.
Relevant changes:
/channels
instead of /shell
, etc.channel
key with the channel name ('shell', 'stdin'
)channel
key for routing-MinRK
Thanks.
Of related interest, what the situation involving providing a fallback
to websockets?
I tried to only support websockets connections with SageMathCloud for
a few weeks, and immediately ran into many complaints from users who
couldn't connect as a result. This is even with https and so on --
it's just a sad fact that in some corporate or otherwise constrained
environments that websockets don't work. By far the best approach I
found was to use Primus + Engine.io, which uses websockets if
possible, but will fallback to polling. So this is what SMC does
now, and everything works, even for people that don't have websockets
as an option... except for IPython-in-SMC of course, which doesn't
work.
Another unrelated issue is that I'm now hardcoding making this change
around line 171 of IPython/html/notebookapp.py, since I want to serve
the purely static html of IPython from a completely different web
server:
#static_url_prefix = url_path_join(base_url,'/static/'),
static_url_prefix = '/static/ipython/',
(Sorry for derailing the thread.)
-- William
>
>
> _______________________________________________
> IPython-dev mailing list
> IPyth...@scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev
>
--
William Stein
Professor of Mathematics
University of Washington
http://wstein.org
_______________________________________________
IPython-dev mailing list
IPyth...@scipy.org
http://mail.scipy.org/mailman/listinfo/ipython-dev
On Thu, Jan 8, 2015 at 10:19 AM, Brian Granger <elli...@gmail.com> wrote:
> So far we have felt that it isn't worth the complexity cost for us to
> support people that deliberately choose to break the internet. It is not
> like WebSockets is some crazy, insecure, unsupported hack over a weird port.
> It is just different bytes going over the same HTTP/HTTPS socket connection
> and is essentially a formal standard (I know you know this - this is our
> messaging to companies who complain).
I know -- that's why I switched SMC to pure websockets for a while.
Then I received complaints at a rate of about 2 very desperate users
per week, and these were the people who cared enough to complain
repeatedly.
> Our situation is a bit different though than SMC because most of our current
> users run the notebook on their own computers. This may be something that we
> eventually want to rethink as more people run this in the cloud. However, I
> would like to push back on the companies choosing to break the internet
> really hard before giving in. I am guessing that in most cases, WebSockets
> are broken in enterprise setting not because of some important deliberate
> choice, but rather because people don't understand it and are using default
> settings that disable them (I could be wrong though)....
In my experience, for some people that's exactly the problem. For one
person I helped it turned out their specific problem was the Windows
install they had access to had websockets explicitly disabled --
perhaps that was an IT policy. For other people the problem is
further along the stack (e.g., possibly involving caching).
Anyway, this change so that "there is a single websocket connection
between the server and client. " makes implementing an alternative to
WebSocket as a fallback dramatically easier, which I greatly
appreciate.
> Our situation is a bit different though than SMC because most of our current
> users run the notebook on their own computers. This may be something that we
Just curious -- how do you know that most people using IPython aren't
already using it through SMC?
William
On Thu, Jan 8, 2015 at 10:19 AM, Brian Granger <elli...@gmail.com> wrote:
> So far we have felt that it isn't worth the complexity cost for us to
> support people that deliberately choose to break the internet. It is not
> like WebSockets is some crazy, insecure, unsupported hack over a weird port.
> It is just different bytes going over the same HTTP/HTTPS socket connection
> and is essentially a formal standard (I know you know this - this is our
> messaging to companies who complain).
I know -- that's why I switched SMC to pure websockets for a while.
Then I received complaints at a rate of about 2 very desperate users
per week, and these were the people who cared enough to complain
repeatedly.
> Our situation is a bit different though than SMC because most of our current
> users run the notebook on their own computers. This may be something that we
> eventually want to rethink as more people run this in the cloud. However, I
> would like to push back on the companies choosing to break the internet
> really hard before giving in. I am guessing that in most cases, WebSockets
> are broken in enterprise setting not because of some important deliberate
> choice, but rather because people don't understand it and are using default
> settings that disable them (I could be wrong though)....
In my experience, for some people that's exactly the problem. For one
person I helped it turned out their specific problem was the Windows
install they had access to had websockets explicitly disabled --
perhaps that was an IT policy. For other people the problem is
further along the stack (e.g., possibly involving caching).
Anyway, this change so that "there is a single websocket connection
between the server and client. " makes implementing an alternative to
WebSocket as a fallback dramatically easier, which I greatly
appreciate.
> Our situation is a bit different though than SMC because most of our current
> users run the notebook on their own computers. This may be something that we
Just curious -- how do you know that most people using IPython aren't
already using it through SMC?
William
>
Just curious -- how do you know that most people using IPython aren't
already using it through SMC?
* We estimate that the total ipython user base is in the 0.5-1.5 million range. However, this is likely a very conservative estimate. Fernando has the best summary of where we get these estimates (I don't remember where the most recent information is - probably in a private email to someone).
--
You received this message because you are subscribed to the Google Groups "Project Jupyter" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jupyter+u...@googlegroups.com.
To post to this group, send email to jup...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jupyter/CAHAreOrQ%2BWvU2V2uxKYrho%3DXGYqSS6F1BrGmZth88kKU0s4Uaw%40mail.gmail.com.