24 ms·
Repl.it Multiplayer
- rozhok 8y agoThis is super-cool tool for performing tech interviews. I've used a coderpad.io in the past (as interviewer) but they have way too high prices for the amount of interviews I've performed. So when I've run out of free pads I've switched to repl.it + screen sharing, but it's not the same as simultaneous editing. Really happy with it.
- amasad 8y agoAwesome! Thanks for the feedback. We've been using it for interviews for more than a month and we've been really happy with it. It's worth noting that excellent folks at Coderpad have a lot of features that complements the editor too -- I've used it while at Facebook -- so we're not trying to compete with that.
- akanet 8y agoi can confirm that we are excellent
- abcdcba 8y agoCool to see these pair programming products coming out recently. Party Reply is very cool as well.
- tejasmanohar 8y agoWhat's Party Reply? Is that another tool of Repl.it in autocorrect? Googled but didn't find much
- amasad 8y agoI think it's a reference to multi-player clojure REPL in Atom. I haven't looked too deeply but from what I can gather it uses Atom Teletype for the editing and they figured out how to connect to the same Clojure REPL server. https://news.ycombinator.com/item?id=18574284 https://news.ycombinator.com/item?id=18574284 It's pretty cool and it addresses a need that we've found missing as well -- live code editing is half the feature, what's also important, is that the REPL state be synced. It's a coincidence that we both picked the same name!
- KingMob 8y agoParty REPL is a multi-party Clojure REPL. The authors just gave a great talk on it last week at Clojure/Conj: https://www.youtube.com/watch?v=AJING0Vigpg https://www.youtube.com/watch?v=AJING0Vigpg Even if you're not into Clojure, it has a lot on the internals of a multi-party REPL and VS Code. In addition to sharing code and a REPL, it also allows you to collaboratively edit HTML, CSS, web pages, etc. Really cool talk!
- abarrettwilsdon 8y agoVery cool to see this launch! I beta tested Multiplayer a few short weeks ago, and it looks like it's improved quite a bit since then
- hayaodeh2 8y agoThanks for your support. Yes, we like to test and improve our features, and we try our best to listen to our user's needs. Please keep us posted with your feedback and if you have thoughts or ideas to improve Multiplayer.
- streulpita 8y agoThis is really cool. I dreamed of something like this back when I first started coding in college, but there wasn't really anything available that could do the job.
- klodolph 8y agoWell, you could always have multiple people connected to the same desktop with VNC. If you prefer terminals, tmux and screen support multiple simultaneous clients. Obviously not quite as good for many reasons, but possible.
- d2161 8y agoFuck yeah
- deleted 8y ago[deleted]
- deleted 8y ago[deleted]
- adamnemecek 8y agoHow is this implemented?
- williamstein 8y agoGood question. I searched around, but could only find this about Repl.it being closed source -- https://repl.it/feedback/p/open-source https://repl.it/feedback/p/open-source
- amasad 8y agoThat answer is a bit outdated because we open-sourced one of the core pieces of our infra: Prybar https://github.com/replit/prybar https://github.com/replit/prybar We'll be open-sourcing some more. As for how Multiplayer is implemented, we'll be doing a blogpost on it soon.
- latchkey 8y agohttps://github.com/replit/prybar/blob/master/languages/nodejs/repl.js#L4 https://github.com/replit/prybar/blob/master/languages/nodej... Sorry to be the license police, but I think that the attribution for embedding another project like that is a little unfair to the original authors, especially since this project is the more restrictive GPL 2.0. https://softwareengineering.stackexchange.com/questions/218331/what-are-the-requirements-for-attribution-in-the-mit-license https://softwareengineering.stackexchange.com/questions/2183... "The fourth paragraph says that the copyright notice in the second paragraph must be reproduced. Users of the license [sic] substitute the [fullname] with their actual name. That is what constitutes "proper attribution" in the mind of the MIT: every user of the software can find out who wrote it if they want to."
- amasad 8y agoThanks -- I'll make sure to let the team know to fix it.
- adamnemecek 8y ago
- nhooyr 8y agocoder.com is a similar tool.
- bwood 8y agoI just signed up because I wanted to be able to clone a git repo into a repl and pair program as needed. There doesn't appear to be an easy way to do this, I figured it would be the obvious feature especially with the GitHub login option. Apparently it is do-able with a little effort, but man I'd love for this to be a standard feature. "Hey Jim, I just pushed to the funky-broken branch, can you take a look and help me solve it?" https://tra38.github.io/blog/deploying-github-repos-onto-repl-it.html https://tra38.github.io/blog/deploying-github-repos-onto-rep...
- amasad 8y agoGitHub clone coming real soon. And a full-on GitHub integration will follow :)
- bwood 8y agoAwesome, I can't wait!
- hayaodeh2 8y agoIt's coming very soon we promise. Gitgub integration is planned and will be in progress very soon. To keep an eye on that feature request click on this link https://replit.canny.io/feedback/p/github-integration https://replit.canny.io/feedback/p/github-integration
- decebalus1 8y agoCool. Most likely it will only be used for technical interviews.
- amasad 8y agoHow so? There are a bunch of anecdotes in the post beyond interviews and if you go to our feedback boards you'll see that people are using it in schools and all sorts of different scenarios.
- hayaodeh2 8y agointerviews are one of the use cases. But there are so many other use cases, especially in Repl.it. The blog https://repl.it/site/blog/multi https://repl.it/site/blog/multi covered a lot of the use case that we know about for sure. And I'm confident there will other use cases that we'll learn about soon.
- krrrh 8y agoThis is really cool. Bit of an aside: I used to take notes and share code using SubEthaEdit which pioneered this sort of collaborative editing over a decade ago. While it’s now pretty normal to see students taking collaborative notes in classes using Google Docs (and etherpad before it was acquired by Google to improve the experience in Docs), it was astonishing a decade ago. I recall spontaneously loading it up at an early Rails conference and taking notes with a bunch of strangers (it advertises open docs over the LAN). It was a noteworthy enough experience that one of the collaborators blogged about it. [1] It was heartening to learn that SubEthaEdit was made free and open-sourced a week ago. [2] [1] Alas, the coloured formatting didn’t survive the blogrot http://www.zenspider.com/ruby/2006/04/canadaonrails-day-1-shared-notes.html http://www.zenspider.com/ruby/2006/04/canadaonrails-day-1-sh... [2] https://subethaedit.net https://subethaedit.net
- jakeinspace 8y agoThis seems like it might be useful for hackathons, especially when working with team members who aren't well-versed in git or virtualenv.
- hayaodeh2 8y agoAbsolutely, it can be useful for online hackathons and irl hackathons. Do you usually contribute to hackathons?
- Retroity 8y agoThis is really cool! I've always dreamed of something like Google Docs for programmers.
- deleted 8y ago[deleted]
- bloopernova 8y agoI remember a few years ago I shared a Google spreadsheet among a few coworkers so we could all see and edit the same thing. The amazing utility of being able to see the location of everyone's active cell, and seeing each person as a different colour, was just wonderful. Combined with a voice channel and it was more useful than a face to face meeting in a conference room. This inspires me to try to get the editor sharing running for my tiny DevOps team.
- dfcowell 8y ago> The fact that everyone shares the same compute infrastructure means they all see the same errors and the same output — this is crucial for collaboration and something that we've found to be lacking from existing IDE's that support "collaboration". What does this do that VS Live Share [1] in VS Code doesn’t? Seems like port sharing + tty sharing has this covered. 1. https://visualstudio.microsoft.com/services/live-share/ https://visualstudio.microsoft.com/services/live-share/
- vorticalbox 8y agoWorks in a browser and has the environment set up to run the thing you're making. If you go the vs coderoute everyone needs to set up there system to match. Using node? Which version of node? Or which version of python. And everyone sees the output of the program when anyone clicks play.
- dfcowell 8y agoThat’s not true. The only setup required is installing vscode and the live share extension. The host shares their TTY and ports, all the clients see everything that happens in the host’s TTY (read-only) and ports (r/w on localhost.) Code editing syncs in real-time to the host machine P2P.
- filleokus 8y agoThis is really cool! I oftentimes use repl.it to explain a concept or something to friends learning programming, this will be really helpful! Since people are recommending other multiplayer-stuff I'll recommend Live Share for VS Code [0]. It is so useful that I've shifted to VS Code (with my teammates) for some projects just for the live sharing. I've tried Floobits (to be able too keep my regular editor), but that seems much more elaborate with persistent "projects" which is not really a fit for my more casual use case. [0]: https://visualstudio.microsoft.com/services/live-share/ https://visualstudio.microsoft.com/services/live-share/
- HelloFellowDevs 8y agoIt's funny that I had just used it in class 2 days ago. It's such a great way to communicate and work on a project without actively disrupting a lecture that is actually unrelated to the code we were writing.
- hayaodeh2 8y agoHow did you hear about Repl.it? how did you end up there?
- HelloFellowDevs 8y agoI was giving a talk about Python at a club in school and I wouldn't be able to have everyone install an IDE or Python on their computers at the moment. So in the planning phase a fellow club member suggested Repl.it, so that they could run and test the commands we showed. This was a few months ago and it didn't have the multiplayer feature then. I found myself using it recently because I wanted to help a friend with a program idea that was unrelated to the class we were in, I remembered Repl.it and it turned out to have 'multiplayer' in beta, making it easier to talk in class without repeatedly chatting though inline comments.
- evv 8y agoWay to go, repl.it team! Hard to believe 7 months have already gone by since I was working with you on this prototype! I took a peek at some of the websocket messages, and I'm glad to see its come a long way since I last saw it :-D This launch seems to perfectly cover the vision of collaborative coding that the repl.it community has been clamoring for!
- deleted 8y ago[deleted]
- hayaodeh2 8y agoHey Eric! I won't forget our brainstorming session. Multiplayer covers the needs of repl cast, and man oh man we went through so many iterations! I hope you like it and I hope it's helpful to you and to the people you teach. Let us know if you have feedback or ideas, I would love to hear them.
- lerax 8y agoThis is so good! Since codeshare turns too unstable and cloud9 it's a little cumbersome to use, having this alternative is amazing.
- hayaodeh2 8y agoAbsolutely, making it easy to share and use is a core part of our mission. We would love to see you around Repl.it and let us know if you have any feedback.
- Myrmornis 8y agoI wonder whether there's ever been much momentum within google to add programming language modes to google docs. It must have been suggested plenty of times internally. I mean, I hope not, for the sake of smaller companies like repl.it.
- kovek 8y agoAwesome! A few times I've had to code together with my girlfriend and went for repl.it as a reflex, checked if it supported this feature or not because it seemed like it could! (Great (free??) product!) We would then use cloud9, but now it seems like that won't be necessary!!
- hayaodeh2 8y agoof course, it's free. Enjoy Multiplayer and build awesome programs together. Please keep us posted with your feedback!
- ehsankia 8y agoJust as early as a year ago there was almost no good solution, but that's been changing very quickly. I really like Colab[0] by Google for a web based one, and if you have VSCode installed, their Live Share extension is pretty solid [1] [0] https://colab.research.google.com https://colab.research.google.com [1] https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare https://marketplace.visualstudio.com/items?itemName=MS-vsliv...
- orliesaurus 8y agoBeen using repl.it for so many years, glad to see it's finally getting the attention (and new features) it deserves!
- hayaodeh2 8y agoThank you for your support and kind words. We value our users and early adopters. I would love to learn more about how you've been using Repl.it and why? Please feel free to email me at haya@repl.it
- orliesaurus 8y agoMostly just running code on the fly, most times to show small snippets of code to people over the shoulder. Nothing glorious
- JJseiko 8y agoI've been using Repl.it's Multiplayer to teach people Python, I recommend it!
- hayaodeh2 8y agoNice! We value the word of mouth so much! if you have feedback for us or feature suggestions please let us know, we'd love to hear from you.
- lgessler 8y agoReally cool, Repl.it is the best online bite-sized programming platform I've ever used. The breadth of languages offered is surprising (Brainfuck and Scheme?!), and things I would have thought wouldn't be supported were supported. I say this in spite of an excruciating experience I had a few weeks ago where I led a Python for absolute beginners day-long workshop. I had tried Repl.it before writing the course materials and was mind-blown at how everything just worked, including the filesystem, which I needed for downloading NLTK modules. I decided to design the materials around Repl.it, letting me spare the class the possibly excruciating and definitely not fun experience of downloading and configuring Python and an IDE. Unfortunately, on the day of the workshop, Repl.it just didn't work for half the class, and for most of the rest, it was really, really slow. Hopefully this was just a hiccup.
- amasad 8y agoThanks so much for the kind words! And apologies for said incident. I think you might've been caught in a recently deployed intrusion & spam detection systems. We've been battling crypto miners, evil hackers trying to launch attacks, and other nasty stuff. Of course, this is nothing new and we know how to deal with it but I think we just reached a scale where no other truly open computing platform has ever reached and we had to clamp down harder on abuse. Unfortunately, the systems are not very well-tuned yet. Can you please email me some more info (amjad@repl.it) so we can debug?
- hayaodeh2 8y agoThanks for your feedback and for your kind words. I'm deeply sorry that you have experienced that. I can talk on behalf of the team and say that it should not be the case. Repl.it should work at any given time and definitely should not be slow, and the fact that you experienced that sounds like there must have been something wrong. if that ever happened to you please let us know ASAP.
- piokoch 8y ago"letting me spare the class the possibly excruciating and definitely not fun experience of downloading and configuring Python and an IDE" Aren't you afraid that class participants will have a hard time configuring later Python and IDE by themselves? Wouldn't be beneficial for them to spend some time setting up their own environment during the class? BTW I am curious in what way installing Anaconda and starting Jupyther notebook is "excruciating". Last time I did that it went kind of smooth, but maybe there are some gotchas I've missed (it was MS Windows machine, I had a admin privileges, etc.)?
- SquishyPanda23 8y agoHeh, I don't know how this keeps happening, but I literally just had this idea today. I almost sent it to a friend who's looking for project ideas, but I'm super glad repl.it is building it. This looks great.
- MetalGuru 8y agoSame here! I love seeing ideas I’ve had independently being built by others (although this idea is pretty obvious; hence, it being built by multiple parties). It’s validating. I’m working on evolving from just ideating all the time to actually building rapid prototypes. Dreaming up ideas is really fun, but so is manifesting them (with the exception of tedious minutiae, but that’s where most of the work occurs).
- amasad 8y agoWe're also hiring if you want to come work on it (and we're a pretty small team -- 6 people -- so it's sorta in the founding stage) https://repl.it/jobs https://repl.it/jobs
- sytse 8y agoI wonder what technology Repl.it is using for the multiplayer. VS code has a live coding plugin, is this what is used? Disclosure: I’m the CEO of GitLab and we’re looking at live coding ourselves as well.
- rlyshw 8y agoIt looks like Repl.it is in this thread, they might provide an exact answer. But, if they don’t, here’s my take. To me it seems like this is something that would be built in-house with the ability to leverage repl.it’s existing application infrastructure. I’d imagine this would simplify the development compared to the vscode plugin. (stand-alone desktop app) Also, long-time gitlab-CE user here. I’d love to see multiplayer as a feature.
- dman 8y agoWhat would multiplayer look like in a gitlab like app?
- rlyshw 8y agoI imagine I could edit a file in a web-based editor and my collaborators would be able to see those edits in real time. Maybe it wouldn’t be a full-fledged IDE, but I could imagine building development workflows into gitlab’s CI/CD pipeline to facilitate semi-rapid pair-programming/prototyping.
- lloeki 8y agoI can readily see how that would pan out in GitLab's Web IDE[0]. https://about.gitlab.com/2018/04/22/gitlab-10-7-released/#web-ide-is-now-open-source https://about.gitlab.com/2018/04/22/gitlab-10-7-released/#we...
- sytse 8y agoYes, this is about live coding in the web IDE and I listed some technologies to look at in https://gitlab.com/gitlab-org/gitlab-ce/issues/51116#note_123299057 https://gitlab.com/gitlab-org/gitlab-ce/issues/51116#note_12...
- joowani 8y agoThis is cool. By the way I just tried it and ran a simple infinite loop (in Python) and the whole page goes unresponsive and I don't seem to have a way to terminate the process?
- amasad 8y agoSo it's not the loop -- it's the printing of a lot of data really fast. Here's an infinite loop with a small sleep with no issue in it: https://repl.it/@amasad/forever https://repl.it/@amasad/forever It's funny, it's both a regression and an improvement. We started using XTerm.js with a PTY[1] and we stopped throttling output[2] which reintroduces the "browser locking up from too much output" bug. We'll need to introduce backpressure. [1]: https://repl.it/site/blog/stderr https://repl.it/site/blog/stderr [2]: https://repl.it/site/blog/infinite-loops https://repl.it/site/blog/infinite-loops
- feanaro 8y agoWorks for me in Firefox. Doesn't lock up, just gets a bit less responsive, but I can still press the stop button and it reacts fairly quickly.
- artursapek 8y agoCongrats, Amjad. I enjoy seeing Repl.it continue to pop up on HN years later. Keep on keeping on.
- sathishmanohar 8y agoI am excited about all those bugs everyone will add in real time. This is going to be fun.
- deepu256 8y agoSuper cool. Really wish Dart is supported on Repl.it
- amasad 8y agoIf you add it to Prybar[1] that's half the battle. We're also working on open-sourcing more parts of the system to make it easier to contribute languages etc. [1]: https://github.com/replit/prybar https://github.com/replit/prybar
- deepnet 8y agoCan my team run Godot on this ?
- mihaifm 8y agoWhat is the text editor behind repl.it? Is it custom made or does it use any open source browser editor? It’s really good.
- petters 8y agoI got inconsistent state that never resolved: https://user-images.githubusercontent.com/772305/49634210-52bd1b80-f9fc-11e8-813c-1f3b362456e5.PNG https://user-images.githubusercontent.com/772305/49634210-52... This was on the first try. :-(
- umen 8y agowhat server architecture was used for the real time collaboration ?
- kuu 8y agoI wanted to build something like this for a long time, but I never figured out the best tech & architecture to make it. I'm looking forward for a technical post :)
- avdemidov 8y agoBest app for private lessons ever!
- black-tea 8y agoCool. Something that has been possible with GNU screen for decades.
- Double_a_92 8y agoMaybe possible, but certainly not easily usable. Especially not if you would need this for tutoring beginners.
- bloopernova 8y agoYes, but the usability was pretty poor as it had very specific requirements that far-flung people would have trouble meeting. Needing SSH access, valid user accounts, and various permissions meant it was always viewed as a hassle rather than benefit.
- arendtio 8y agoI wish there was a service which allowed collaborative code editing without registration/an account. Some years ago I used Gobby/Sobby [0] for such use-cases but using a website would make the whole thing much easier than having to install some software first. [0]: https://gobby.github.io/ https://gobby.github.io/
- arendtio 8y agoI just created a repl.it account and tried the multiplayer feature. In fact, not every participant requires an account, just the host. So not as bad I as I expected and kinda reasonable. I am confident I will try that feature with some friends in the future.
- vram22 8y agoHere are some online programming sites similar to repl.it (not for the multiplayer part though) that I had come across, blogged about, and mentioned on HN some weeks ago: https://news.ycombinator.com/item?id=18277513 https://news.ycombinator.com/item?id=18277513
- troynt 8y agoI like Repl.it, but recently some of my files got mixed/lost. Be sure to backup. Would be cool if files were automatically mirrored to git.
- anderspitman 8y agoVery cool. This looks almost perfect for having a shared environment for teaching my nephews how to make browser games. Only issue is it appears the multiplayer sessions are not persistent? ie what I really need is a shared project where different participants can log in and hack on it as they have time, but also pair if someone runs into a problem and needs realtime help fixing it. I think cloud9 works this way. @amasad Any chance of repl.it supporting this case in the future (or maybe it alread y does and I'm missing it)? This is something I would gladly pay a subscription for.