On Thu, Oct 24, 2013 at 10:11 AM, Jason Grout <jason-sage@creativetrax.com> wrote:
It would be really cool if you could hook into the new IPython comm
infrastructure to push events back to the server in IPython (this is not
quite merged yet, but probably ready for experimentation like this).
The comm infrastructure basically opens up a communication channel
between objects on the server and the browser.  Messages get sent over
the normal IPython channels.  The server and browser objects just use
either send() or an on_message() handler.  See
https://github.com/ipython/ipython/pull/4195

Yeah, I think we should definitely look into integrating with this mechanism for when we are embedded in a Notebook.  However, we always want the underlying infrastructure to be independent of IPython Notebook, because we want people to be able to build analytical applications on top of these components.
 
Here's a very simple example of the Comm implementation working with
matplotlib images in the Sage Cell server (which is built on top of the
IPython infrastructure):  http://sagecell.sagemath.org/?q=fyjgmk (I'd
love to see a bokeh version of this sort of thing :).

This is interesting, and introducing widgets is already on the roadmap, tentatively v0.4.  When running against a plot server, Bokeh plots already push selections back to the server side.  (That's how the linked brushing in e.g. this example works: https://www.wakari.io/sharing/bundle/pwang/cars)

Our immediate short-term priorities for 0.3 are improving the layout mechanism, incorporating large data processing into the plot server, and investigating basic interop with Matplotlib objects.


-Peter