Hacker News new | past | comments | ask | show | jobs | submit login

I've had this vision for over a decade and it is awesome to see we are finally making measurable progress towards it.

What I'd really like to see is a WebRTC type interface that overlays this to provide some kind of collaborative environment on top of it. I'm thinking of a built in voice chat as well as multi-author editing within the same codespace. Imagine it like pair programming. I'm in FileA.ts and I can see a little avatar icon of another dev in FileB.ts (maybe surfaced through the Explorer and/or the file tab bar). The voice chat could even be location aware so if we are in the same file/package then we are able to chat. I'd go so far as to allow multiple editors to affect the same file within the codespace so I could see the other dev edit the file in realtime (like coderpad or other interview tools).

I imagine a workflow where a feature/ticket is mapped to a codespace. One or more devs are assigned the codespace and they work together until the feature is completed. Incremental changes are stored up until a "build" action is submitted, resulting in the current contents of the codespace being built and deployed to an internally/publicly accessible endpoint. This might also result in a "snapshot" which could represent a commit to a sandboxed repo. The codespace goes away once the feature is completed resulting in a single check in to a master branch which would go through regular code review type processes (probably a squashed version of their local snapshot's changes).




See Englebart’s mother of all demos.

I think he had everything in your first couple paragraphs working in 1968!

https://www.youtube.com/watch?v=B6rKUf9DWRI


Did he really? Classic example of demo driven development


> _I'm thinking of a built in voice chat as well as multi-author editing within the same Codespace._

You should try Live Share! VS Code Live Share enables you to collaboratively edit and debug with others in real time, regardless what programming languages you're using or app types you're building. It also supports voice chat:

https://marketplace.visualstudio.com/items?itemName=MS-vsliv...


This isn't exactly what I'm proposing since it seems to be based around sharing my code. I may be misunderstanding the documentation and examples however. Live Share appears to be me inviting people to connect to my personal session.

I see a codespace as a shared destination. It lives independently of any individual. I can hop in and out whenever I want and it continues to live.

To expand on this, it reminds me of how way back in the day we used to use MSN Messenger (and then Skype) to facilitate work chat. The model there was a contact list, a list of individuals I could reach out to and connect. There were group chats as well, but the primary mental model was closer to a phone call. Then Slack came and changed the model so that channels were the default, shared spaces were preferred over personal chats or ad-hoc groups. I don't want the default to be "I have my session and may invite others to join". I want the default to be "there is a shared workspace I connect to that others might be currently active in".

You might even imagine an interface similar to Slack channels (or Teams if that is your world). I could have multiple codespaces as channels that I can switch between. Within each codespace there may be active several devs. I can jump in and out. You could even setup permissions like "read only" spaces or whatever.


There is 'Discussions' for this, which you can enable per repo on GitHub, and have a sort of chat / forum as part of the repo



Isn't that what repl.it is? (I've never actually used it, so forgive me if I got it wrong)


I thought that Cloud9 IDE had that.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: