Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use websockets for web repl #429

Closed
jacobhinkle opened this issue Feb 21, 2012 · 9 comments
Closed

Use websockets for web repl #429

jacobhinkle opened this issue Feb 21, 2012 · 9 comments
Labels
performance Must go faster status:won't change Indicates that work won't continue on an issue or pull request

Comments

@jacobhinkle
Copy link

The current web repl code appears to do a polling strategy that has to initalize multiple http connections during a single julia session. Using websockets (http://www.websocket.org), the javascript code could be simplified and the latency would be way reduced.

@ViralBShah
Copy link
Member

Here's another take at the web REPL, which doesn't seem to be active -

https://github.com/Wisdom/juliaSocial

We probably need a redesign of the web REPL.

@StefanKarpinski
Copy link
Sponsor Member

I'm not particularly into the Etherpad-lite interface, just because I don't care for the look of it, but the interactiveness is lovely.

@arlolra
Copy link
Contributor

arlolra commented Apr 3, 2012

I took a crack at a redesign of the web repl this morning. It isn't great but I'd be happy to improve it given some direction.

Take a look:
https://github.com/arlolra/julia-webrepl

@ViralBShah
Copy link
Member

That's great. @boyers Can you take a look and comment on the design?

I guess that to match the current one, you need to have multi-line input, pretty printing, integration with d3 for graphics, and maybe a few other things. How difficult would it be to bring it up to speed with what we already have?

What would be really cool is a social web REPL, where you login with your facebook/gmail login ID, and all the state of your session is restored. Then, you can invite others to join the session (perhaps from your facebook friends, or just anyone else really), and have a shared session - kind of like chat, where multiple people are using the same REPL. Someone at MIT attempted such a thing (link above), and it was quite a hit when it was demoed in the class. You may even be able to reuse some of the code.

Also, do look for the webrepl tag in issues - there are a few open issues, and would be nice if this design can avoid/fix those.

@Keno
Copy link
Member

Keno commented Apr 3, 2012

While I do think that the web REPL needs a redesign, I think we need to carfeully consider the design goals and/or infrastructure that we need. (@ViralBShah has a small list in #296). Particularly, I think it might be interesting to have some sort of integration with the Cloud9 IDE (c9.io), for which @arlolra 's Node.JS approach would be very helpful. Maybe having a page for brainstorming on the wiki, or a public google docs page would be a good idea, so we can collect ideas, thoughts, and techniques we want to implement.

@ViralBShah
Copy link
Member

I second Keno's idea to get a Wiki page going that can evolve into a spec, since this is fairly large functionality.

-viral

On 03-Apr-2012, at 6:20 PM, Keno Fischer wrote:

While I do think that the web REPL needs a redesign, I think we need to carfeully consider the design goals and/or infrastructure that we need. (@ViralBShah has a small list in #296). Particularly, I think it might be interesting to have some sort of integration with the Cloud9 IDE (c9.io), for which @arlolra 's Node.JS approach would be very helpful. Maybe having a page for brainstorming on the wiki, or a public google docs page would be a good idea, so we can collect ideas, thoughts, and techniques we want to implement.


Reply to this email directly or view it on GitHub:
#429 (comment)

@arlolra
Copy link
Contributor

arlolra commented Apr 3, 2012

@ViralBShah It wouldn't be difficult to bring what I did up to speed w/ the current implementation. I just wanted some feedback before investing any time in it.

I started a page in the wiki: https://github.com/JuliaLang/julia/wiki/WebREPL-Spec

@ghost ghost assigned stepchowfun May 2, 2012
@ViralBShah
Copy link
Member

Cc: @amitmurthy

@ViralBShah
Copy link
Member

https://github.com/amitmurthy/JuliaREPL_Proto uses WebSockets and I was surprised to see how easy it is.

KristofferC added a commit that referenced this issue Jun 27, 2018
KristofferC added a commit that referenced this issue Jul 3, 2018
LilithHafner pushed a commit to LilithHafner/julia that referenced this issue Oct 11, 2021
Keno pushed a commit that referenced this issue Oct 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
performance Must go faster status:won't change Indicates that work won't continue on an issue or pull request
Projects
None yet
Development

No branches or pull requests

7 participants