I like Zed. I pay for pro. I like the integrated agent stuff (though my usage model has changed a bit after 5 months of use).
I'm happy that others can type in each others' space, but this post reveals a tension here. They are building a tool for building the tool, and their own team. I think that's cool, but at a 2-3 person shop heavy polyglotted across 4 OSes and 5+ programming languages, this is not what I really need.
What I'm looking for is a snappy tool (check) that lets me explore, understand, modify code at a next level (marginal). And I want it to not only be snappy by virtue of execution efficiency, but cognitive load. I want the less-is-more experience. I don't need it to do Swift, Kotlin, or Python, because there are bespoke IDEs for each of those that focus on the environments where I deploy them best. What I mostly want from Zed is the ability to see the outline panel at the same time as the directory panel, and to separate the search outline from the file structure outline. I spent too much time toggling views in Zed.
I _really really_ want to try this feature, but only if I can selfhost the collaboration server. If there is any way to do this, it's not obvious. Given that as I understand it, lots of project details will pass through Zed's servers, I can't imagine any enterprises would knowingly allow this without some kind of SLA with Zed.
> Despite attempts to make Atom—an Electron application—more responsive, it never reached the performance standards the team yearned for.
This feels like an attempt at deflecting blame. VSCode is another Electron application that ended up having better performance than Atom. There's another Electron adjacent application that has good performance, the one you're probably using right now to read this page.
These are definitely some interesting features, though not sure I'm in any position to take advantage of them at all.
The multi-user editing is kind of cool... there's an ANSI art tool (PabloDraw) that you can run a host session so multiple artists can create text art, and I thought back when I first saw it, that it might be cool to be able for multiple editors to work on a project. I've used some of the collab stuff with VS Code, but haven't done enough to even begin to compare.
Not to mention that in a lot of workplaces, self-hosting or otherwise layers of bureaucracy stand in the way.
I would love to see collab servers take the same path as LSPs in being standarized and integrated across various editors and IDEs. I would love to work more closely with my VSCode peers, for example. Of course some features may be outside the standard and only supported with likewise editors, e.g. voice chat perhaps, but having shared cursors and a text chat would be a good start.
It would have been good to include a link to the collaboration docs https://zed.dev/docs/collaboration in the article. There were a lot of links in that article and a lot of assumptions that I knew how things worked. And I daily drive and like Zed, but I had so many questions.
Very cool idea, and helps promote owning your own data, and it being highly interoperable (plain text!)
I do wonder if we need a term for shoe-horned dogfooding though. Like sure, you can do this. You could do this in Figma! Or in Notion! Or in LEETCODE if you wanted to.
At least with Zed though, its plain text. If you find another way to collab realtime on plain text, you're not bound to 1 vendor.
Zed is lovely and I hope it becomes super successful but this kind of mass collaboration might be ok for meeting minutes... maybe. But thinking of it for coding it gives me shingles. Code by mass live committee. Yikes.
This will intentionally sound farcical, but sometimes there is a benefit from temporarily embracing a wantonly crazed alternative reality... Imagine a production application deployed directly from a non-version-controlled directory. Anyone on the team can edit the files, at any time.
The disadvantages are easy to think of, but there would also be a lot of positive pressures: 1. make small, granular testable changes; 2. use feature toggles [FT]; 3. refactor intensely and concurrently; 4. always work on the latest code; 5. to use in-code documentation instead of GitHub/etc workflows; 6. explore continuous, incremental, hot-swappable code deployment [BEAM]
I think it's a fun and interesting idea for training junior engineers and possibly for other use cases. Suggesting alternatives to (perceived) bad practices the instant you see them could be helpful for many people, and also save a lot of future time for reviewers.
I could also see it as a potential productivity aid. Person 1 sees Person 2 is writing something and they don't want to be seen as idle, so they start working as well. This might sound oppressive but a lot of people who struggle with ADHD/procrastination/akrasia actually receive great benefit from that structure. Similar to that startup that forces you to code while screensharing with a stranger in order to push you to work, or people who code in cafes/libraries to be more productive.
As long as it's not an organization requiring it for senior engineers, I could see promise to it as an eventual common new paradigm.
Pair programming can be really great. Or horrible. Depends entirely on the people.
This would be good for code-walks too though. Instead of having to share your screen and hope the video comes through well. Everyone can follow along in the comfort of their own editor.
it's probably subjective, but I find these collaboration features can be overused for this kind of thing.
If someone is walking me through something, I just want to see what they see so I can focus entirely on what they're saying and no part of me is distracted by having to follow along or seeing other code.
I know typically these collab modes have an auto follow feature, but it's not as simple as just read only video being streamed to you, there's loads more ways it can go wrong and add noise / distraction that provides no benefit.
Pair programming usually has a single "driver" on the keyboard to keep things controllable. Here, everybody is driving: "dozens of cursors are concurrently editing the same file in real-time."
my understanding is that this is the dynamic in modern college classrooms. everyone opens a big shared google doc for notes and they all collaboratively edit a set of notes in real-time.
or at least that's what i've heard, no idea if they actually do it.
it is nice to see a crdt backed editor tool for markdown and code though. gdocs markdown support has been lacking for years.
a few years ago our company used Screenhero which allowed editing with multiple cursors while screensharing.
The experience was actually quite nice for two-three people but we always had the "ok let me type now" flow. Multiple changes happening at once sounds hyper distracting.
If you've been a developer long enough, you might recall the teletype package for Atom—both built by Zed's founders.
I first experienced this in SubEthaEdit in 2013 or so, but it has been around since the early 2000s:
Appropriately working together on a truly collaborative tool, Martin Ott, Martin Pittenauer, Dominik Wagner, and Ulrich Bauer of Technische Universitat Munchen won the Best Mac OS X Student Project for Hydra 1.0.1, a Rendezvous-based text editor that enables multiple people to contribute to a shared document. (Adam and about ten other attendees at MacHack used Hydra to take notes during this year’s Hack Contest.)
It seems like the "unlock" here that makes it different this time is organization-wide sharing.
People have been doing collaborative text editing since the 60s actually! See, The Mother Of All Demos[0], referenced in our first blog post[1] :D
I'd say CRDTs are also a big change. CRDTs make live collaboration much more robust for all parties involved, and they only started to reach maturity in the mid-late 2010s
SubEthaEdit was a very inspiring software project for me. The fact that a small team could, in a few months, produce an amazing app that solved real problems and gained notoriety was amazing.
As time goes on it feels like much of the low hanging fruit opportunities in software is disappearing faster and faster. I'm also a fan of Zed and everything they're doing, but it's notable that shipping next-gen editor software takes a lot more developer effort now than it did in the 2000s.
> it feels like much of the low hanging fruit opportunities in software is disappearing faster and faster.
Yes I agree but so many things that might seem "done" (and in someways I think software/SaaS as an ecosystem is "done" compared to where we came from).
BUT - so many companies just bloat themselves and their products. I think the end of ZIRP is going to have an effect on that (more enshitification / rent seeking for sure) and I think there will be an opportunity to iterate and make copyware that doesn't take the higher development efforts.
We really need a winning electron alternative that is more resource friendly. That, IMO, will be a big game changer and I know there are lots of promising alternatives already.
I'd forgotten all about it but SubEthaEdit was such an amazing tech when we were using to collaborate internationally back in about '04. It went off my radar but I am glad to see its still available as a free app.
I tried the collaborative features to pair program with a colleague a few months ago, but it was bad. It was very flaky in establishing a connection. In the cases we were able to establish a connection, the voice chat would not work. We tried to make it work for a couple of days, and then we gave up. Has there been lots of work in the past few months on the collaborative features?
Technically really impressive. In practice, completely unpractical in any medium to large organization. And although I adore Zed's speed and reliability, I still don't understand why we need these features at all.
I'd say it's medium gray on white, which is not too bad in my subjective opinion. I have seen far worse. Light gray on white was "trendy" for a while and dark gray or dark green on black has always been popular among the edgy crowd.
Here is where I've settled on for Zed. I initially thought it might be a Sublime replacement for one-off files, but it seems it's geared towards projects. It's not as powerful as Jetbrains (RustRover, PyCharm etc), but is much faster. So here's how I'm using Zed:
- On my Tablet, which is too slow for Jetbrains IDEs to run smoothly
- On certain projects I have which choke Jetbrains IDEs. (Due to macro use maybe?)
I think its' a much nicer experience than VsCode, which I admittedly haven't figured out to run in a project-oriented way.
I'm also trying their GPUI library, but am in the early stages, so can't really comment on how it compares to EGUI.
Zed is the only modern IDE-like editor which is fast enough to replace (n)vim for me. I plan to use it for more and more projects, but I've had minor issues with it's Vi-mode.
I'll always remain someone plugged into vim because I need it sometimes when shelled over a terminal. Editing files over SSH can work with editor support, but is often less reliable or fast than jumping through whatever hoops I need to to get an SSH connection once and then doing everything from there.
I just have a few plugins which help. Mainly the LSP for gotodef and popovers for type info, etc. This was what finally made me transition to neovim. Also a tree viewer, Startify, and :Rg for ripgrep integration. Those are my big ones.
Sadly my workflow of using `!` to get back to my terminal and things like `!make` or `!cargo build` is fucked in neovim. So I do a lot of ctrl-z and the a lot of killing stopped processes I forgot I suspended. I've complained about this in various threads and chats, but the developers aren't interested in letting us use the old vim `!` which is super lame.
I was very surprised to find a "forum" integrated in Zed when I first opened it. But to be honest, it is not something I ever felt the need for and overall I don't like having this in my text editor. So far it never got in my way and that's a good thing, I hope it stays that way :)
I’ve been using “The Notioning” for the last few years to refer to the convergence of tools like slack adding notion like features, clickup adding notion and slack type features, and so on. There seems to be a stable set of features that retains teams in an org
Your company has a user pool, you sign a BAA or start working with a partner company that has their user pool. Instead of creating slack accounts in both you can share external slack rooms that only people that are invited in/from their respective orgs can join without having to co-mingle employee user pools.
I could imagine that in ten years git will feel strangely slow and ceremonial. Why not just continuously work and continuously deploy live-edited software
I feel the opposite way, that git branching and merging will become a bigger part of the job as more code is written by agents in parallel and then accepted by other agents or humans.
for now yes absolutely. but I’m already hearing rumblings that some people are having luck letting multiple agents edit the same directory simultaneously instead of putting changes through PR merge hell. It just needs coordinations tools, see https://github.com/Dicklesworthstone/mcp_agent_mail as one (possibly insane) prototype
for example it’s not out of the question that we could end up with tooling that does truly continuous testing and integration, automatically finding known-good deployments among a continuously edited multiplayer codebase
we’d have to spend a lot more energy on specifications and acceptance testing, rather than review, but I think that’s inevitable - code review can’t keep up with how fast code gets written now
Yes, but does it need all the ceremony surrounding it? If, every time I saved the file, the changes were analyzed and committed to git, and a useful commit message included, and commits squashed automatically and pushed and tested and tagged (using magic, let's say); if the system existed in the background, seamlessly, how would our interactions with source control and with other developers look?
automated commit message will tell you the "what" not the "why".
In any circle of "what makes a good commit message and why even do it" discussions, invariably the recommendation is to explain the "why" and leave out the self-evident "what".
If your stance is that commit and commit messages can be automated away then we might as well not even have them.
I don't share this view, but yeah in this world we don't need AI to do things that shouldn't be done in the first place.
increasingly, the automated systems have access to the original ticket or bug report, and maybe even the conversation while implementation is happening. They can record the “why”
I love it when I have a tool that’s “done” but the software I work on in my career is never, ever done. It’s almost like there’s two different things we call “software”. there are tools like, idk, “curl” where you can use and old version and be happy. and there are interactive organizations in the world, like, eg, Hacker News, which mutates as the community’s needs change
Software for evolving business-needs is the same for me. What's insightful is that we (I) take continuously evolving software as just that: evolving. It's a defacto virtue to continuously tinker.
Doing away with check-ins entirely is the extreme end-game of that pov. I'm in product and every day and every week yes we very much continually change the product!
But I'm growing less convinced that the natural end-state of this methodology produces obviously better results.
it doesn't work quite well for complex projects that require integration with other teams/software.
You would need to either have separate versions running at the same time or never do breaking changes or devise some other approach that makes it possible.
I think that’s a tooling problem. Maybe we do end up running a lot more versions of things in the future. If we believe that code has gotten cheaper, it should be easier to do so.
Imagine if someone clicks the deploy button when you're in the middle of typing something and then the service goes down due to a syntax error. To prevent this, we will need some sort of way to set a global lock to indicate that "I'm not done typing yet" and you can only deploy once everyone has released this lock.
Or you don't deploy unless it makes it through at least testing, and a build started while someone was editing the code would probably fail fast unless you coincidentally hit the button right when it's valid, but wrong, code.
I have been trying to figure out how this works in concert with Git (or SCM in general). Is one of the developers in the session merely responsible for it?
I mean, you have the same "problem" when peer coding in person. Whoever is officially working on the fix will commit it. I've helped devs get around a hump for ages, you don't get "credit" for all the work you do. It's why I hate most ticketing systems (when management starts to ask why your tasks fell behind), they don't let you correctly track multiple people when they work together.
The collaboration tools built into Zed have basically existed since the product launched. It is one of the primary drivers behind the product - they wanted to build the best editor for remote code collaboration.
I think the most difficult question are going to be how do you constraint that core feature without ever wanting to add more to it?
For instance, collaboration is a huge topic. You can have coding collaboration on the file, and that would be basic and appropriate, you can then replicate slack and you'll have chat rooms, which is entering creep territory, but it's natural! Then soon the chat room will need to link with issues and you can now have TODOs linked to some kanban board and we should be able to speak while we code on the same file! And this goes on and on.
It's exceedingly rare that the organization found hard courage to specifically avoid features that looks like easy pickings for the purpose of avoiding them.
Ever since Apple Silicon macs came out, it's been a real struggle. Almost 6 years later and there is still nothing on the market that:
* Has the same level of performance
* With the same or better battery life
* With the same quality of screen
* With the same quality of speakers and touchpad
* Runs as quiet or as cool
as the Apple Silicon macbooks. If you add in "needs to be able to run Linux" your choices go down from maybe 1 or 2 to 0.
They all have some sort of compromise. Either the speakers, screen, keyboard, touchpad, build quality, battery life, or thermals.
I have a Surface Laptop 7 with the Snapdragon X Elite, and it's pretty close. Checks the boxes for Screen, build quality, and touchpad. Loses out on speakers and battery life, and the fans need to run a lot more than my M4 Pro MBP does. It also loses on performance, and it doesn't run Linux. Windows on Arm also still has a lot of little quirks and bugs that start to become daily annoyances.
It's incredibly frustrating. I want, essentially, my 14" M4 MacBook Pro, but in a Linux laptop, and there's no OEM out there that's fulfilling that need without compromises.
Apple keeps pulling ahead in silicon and every other laptop OEM is just being left in the dust, shrugging their shoulders, and putting out the same old 1200p 16:9 plastic garbage they have always been putting out.
As long as I don't have to use, feel free to include it. It is really not essential feature for editor.
I run update and Collab requires you to sign in... which again, it is fine if you want it. I don't, so it can be dormant, icon is really tiny, doesn't take much space.
The feature of Zed that is most annoying yet essential is frequent updates. Pretty much daily when I switch to Zed window, I can expect update and restart, which messes up my window layout, so this is annoyance. Getting updates and knowing you guys are shipping good stuff is what is essential.
I think integrating terminal ai's is great move and useful. Sometimes I use it like that, often I use it in terminal (like the outside of the editor terminal) and switch to editor to review or update stuff. Same with git. I am old-fashioned.
I love Zed. I, mostly, love the direction they are taking the editor in.
But. There are now two times I see Zed going in the wrong direction. The AI integration was one. This feels like the wrong direction again.
I never really liked the AI integration. It felt off to me. I do love coding with Claude and I think I know why. It presents the "information I need to know" in a way my puny brain can handle it. Colored diffs. Summaries of what happened. It isn't perfect, but it has been incredibly productive for me. I never got that from Zed's AI integration; perhaps this has been improved, but I was up and running with Claude in a way that I never was with Zed.
This write-up sounds like "slack in my editor." If it is that, I hate it. Slack has destroyed company culture and communication. People, who are inherently lazy (I'm an old Perl programmer, so I can say that), have stopped thinking carefully and writing carefully, and in that void just throw the first thing in their head into a slack channel and think that is "collaboration" and "communication." It's toxic.
For example, this comment rubs me the wrong way: "Staff members hop in, volunteer to show off a cool feature or bug fix they worked on, and get real-time feedback from the rest of the team." I don't think our human brains work well with "real time feedback" UNLESS we have the information presented in a way that gives us massive clues on what's right and what's wrong. Reading a wall of text is not the way. A colorized git diff, or a video, or an entirely new way of presenting information might make real time feedback possible, but I am highly skeptical a text editor is the way or place to do that. And, I'm an emacs user and love text UIs, don't get me wrong.
Do I want to have "generalized one off rooms for things that don't fit anywhere?" I definitely don't want that. I want you AS THE AUTHOR to be really intentional about what's important and fit that into the proper channels. I need to know that information, but I don't want to know about, nor have the unspoken expectation that I SHOULD have known, about the other stuff. And, I want "managers" (if that still exists) to be carefully thinking about those channels and how the company is organized and push that structure down to people in the organization.
As Zed is the office, having one off rooms instead of in person coffee time feels very dangerous. That's the world a lot of people live in, but I don't like that office.
If this comment is the guiding light, then I'm worried: "We're building toward a future where collaboration is continuous conversation, not discrete commits—where every discussion, edit, and insight remains linked to the code as it evolves, accessible to both teammates and AI agents." I'm human, I have kids, I have other interests. A continuous conversation is impossible for me. I want discrete ideas, and right now, discrete commits and PRs are better, IMHO, than what I hear here. It's hard, but setting the expectation that to be successful I need to be paying attention to a river of information flowing by seems like a bad idea to me. I don't buy that Zed solves the problem of hiding the pieces of information that I don't need to see.
Oh hey! I have an idea. Why not use AI to summarize those conversations into discrete pieces! </joke>
I do love Zed. It is the best GUI editor out there. I know they will get it right. I just am skeptical about this direction and feel it misses the forest for the trees.
Man, Im like the total opposite in terms of preferring the Zed UI vs claude code. I really try to avoid raw claude when possible. I very rarely pull it up to do concurrent sessions when I have Zed open already working on something else. Or if I need to do something quick while in the CLI in a random directory. Otherwise, I think just the "files modified" feature is worth using Zed as the primary interface.
You make some good points, and I need to revisit Zed+AI to see where things are at. This probably proves you are a better developer than me.
But, also, after reading your comments, I'm just not sure I need an "editor" anymore. I love that I can npm install claude anywhere. Zed does not exist for ARM servers yet, but I can install claude there, and it can troubleshoot my database connections, and edit code, and grep files. Those are all the things I used an editor for, because an editor has better ergonomics than using the CLI. I'm sad to say "misspelled prompts" might have better ergonomics for me.
I like Zed. I pay for pro. I like the integrated agent stuff (though my usage model has changed a bit after 5 months of use).
I'm happy that others can type in each others' space, but this post reveals a tension here. They are building a tool for building the tool, and their own team. I think that's cool, but at a 2-3 person shop heavy polyglotted across 4 OSes and 5+ programming languages, this is not what I really need.
What I'm looking for is a snappy tool (check) that lets me explore, understand, modify code at a next level (marginal). And I want it to not only be snappy by virtue of execution efficiency, but cognitive load. I want the less-is-more experience. I don't need it to do Swift, Kotlin, or Python, because there are bespoke IDEs for each of those that focus on the environments where I deploy them best. What I mostly want from Zed is the ability to see the outline panel at the same time as the directory panel, and to separate the search outline from the file structure outline. I spent too much time toggling views in Zed.
I really really don't want comms or multiplayer tools in my IDE.
Don't bring the attention economy to my cave of solitude, it's where I go to escape all that noise
I _really really_ want to try this feature, but only if I can selfhost the collaboration server. If there is any way to do this, it's not obvious. Given that as I understand it, lots of project details will pass through Zed's servers, I can't imagine any enterprises would knowingly allow this without some kind of SLA with Zed.
It could be easier, but it is supported AFAIK: https://github.com/zed-industries/zed/issues/8260#issuecomme...
Unfortunately, we no longer support self hosting. We're planning on reintroducing it once we've polished the single player experience a bit more :)
Oh, that's unfortunate. Why not support it at all, even if just for people who are kinda hacking it in?
Thanks for the update. Can't wait to hear more!
> Despite attempts to make Atom—an Electron application—more responsive, it never reached the performance standards the team yearned for.
This feels like an attempt at deflecting blame. VSCode is another Electron application that ended up having better performance than Atom. There's another Electron adjacent application that has good performance, the one you're probably using right now to read this page.
Depending on page content of course
These are definitely some interesting features, though not sure I'm in any position to take advantage of them at all.
The multi-user editing is kind of cool... there's an ANSI art tool (PabloDraw) that you can run a host session so multiple artists can create text art, and I thought back when I first saw it, that it might be cool to be able for multiple editors to work on a project. I've used some of the collab stuff with VS Code, but haven't done enough to even begin to compare.
Not to mention that in a lot of workplaces, self-hosting or otherwise layers of bureaucracy stand in the way.
I would love to see collab servers take the same path as LSPs in being standarized and integrated across various editors and IDEs. I would love to work more closely with my VSCode peers, for example. Of course some features may be outside the standard and only supported with likewise editors, e.g. voice chat perhaps, but having shared cursors and a text chat would be a good start.
It would have been good to include a link to the collaboration docs https://zed.dev/docs/collaboration in the article. There were a lot of links in that article and a lot of assumptions that I knew how things worked. And I daily drive and like Zed, but I had so many questions.
Very cool idea, and helps promote owning your own data, and it being highly interoperable (plain text!)
I do wonder if we need a term for shoe-horned dogfooding though. Like sure, you can do this. You could do this in Figma! Or in Notion! Or in LEETCODE if you wanted to.
At least with Zed though, its plain text. If you find another way to collab realtime on plain text, you're not bound to 1 vendor.
Zed is lovely and I hope it becomes super successful but this kind of mass collaboration might be ok for meeting minutes... maybe. But thinking of it for coding it gives me shingles. Code by mass live committee. Yikes.
> Code by mass live committee. Yikes.
This will intentionally sound farcical, but sometimes there is a benefit from temporarily embracing a wantonly crazed alternative reality... Imagine a production application deployed directly from a non-version-controlled directory. Anyone on the team can edit the files, at any time.
The disadvantages are easy to think of, but there would also be a lot of positive pressures: 1. make small, granular testable changes; 2. use feature toggles [FT]; 3. refactor intensely and concurrently; 4. always work on the latest code; 5. to use in-code documentation instead of GitHub/etc workflows; 6. explore continuous, incremental, hot-swappable code deployment [BEAM]
[FT]: https://martinfowler.com/articles/feature-toggles.html [BEAM]: for example, BEAM (Erlang, Elixir)
I think it's a fun and interesting idea for training junior engineers and possibly for other use cases. Suggesting alternatives to (perceived) bad practices the instant you see them could be helpful for many people, and also save a lot of future time for reviewers.
I could also see it as a potential productivity aid. Person 1 sees Person 2 is writing something and they don't want to be seen as idle, so they start working as well. This might sound oppressive but a lot of people who struggle with ADHD/procrastination/akrasia actually receive great benefit from that structure. Similar to that startup that forces you to code while screensharing with a stranger in order to push you to work, or people who code in cafes/libraries to be more productive.
As long as it's not an organization requiring it for senior engineers, I could see promise to it as an eventual common new paradigm.
Pair programming can be really great. Or horrible. Depends entirely on the people.
This would be good for code-walks too though. Instead of having to share your screen and hope the video comes through well. Everyone can follow along in the comfort of their own editor.
> code-walks
it's probably subjective, but I find these collaboration features can be overused for this kind of thing.
If someone is walking me through something, I just want to see what they see so I can focus entirely on what they're saying and no part of me is distracted by having to follow along or seeing other code.
I know typically these collab modes have an auto follow feature, but it's not as simple as just read only video being streamed to you, there's loads more ways it can go wrong and add noise / distraction that provides no benefit.
Problem is video is expensive and compression can get bad.
I agree being able to see the pointer is important, since not everyone is good about moving the cursor around.
It's just pair programming when you're doing it on code so if you can bear pair programming you'll be fine. Personally, I hate it.
Pair programming usually has a single "driver" on the keyboard to keep things controllable. Here, everybody is driving: "dozens of cursors are concurrently editing the same file in real-time."
The concept of sharing and taking turns has been lost on the software engineer here....
my understanding is that this is the dynamic in modern college classrooms. everyone opens a big shared google doc for notes and they all collaboratively edit a set of notes in real-time.
or at least that's what i've heard, no idea if they actually do it.
it is nice to see a crdt backed editor tool for markdown and code though. gdocs markdown support has been lacking for years.
a few years ago our company used Screenhero which allowed editing with multiple cursors while screensharing.
The experience was actually quite nice for two-three people but we always had the "ok let me type now" flow. Multiple changes happening at once sounds hyper distracting.
That's not how they, or anyone else, uses it on code though - that's on their notes. This is just a feature, it's up to you how you use it.
The metaphorical infinite monkeys on typewriters.
Actively programming in pairs (or more) is also not for me. Reviewing work async is great IMO though.
https://en.wikipedia.org/wiki/SubEthaEdit
https://tidbits.com/2003/06/30/apple-announces-design-awards...
People have been doing collaborative text editing since the 60s actually! See, The Mother Of All Demos[0], referenced in our first blog post[1] :D
I'd say CRDTs are also a big change. CRDTs make live collaboration much more robust for all parties involved, and they only started to reach maturity in the mid-late 2010s
[0] https://en.wikipedia.org/wiki/The_Mother_of_All_Demos
[1] https://zed.dev/blog/crdts
SubEthaEdit was a very inspiring software project for me. The fact that a small team could, in a few months, produce an amazing app that solved real problems and gained notoriety was amazing.
As time goes on it feels like much of the low hanging fruit opportunities in software is disappearing faster and faster. I'm also a fan of Zed and everything they're doing, but it's notable that shipping next-gen editor software takes a lot more developer effort now than it did in the 2000s.
> it feels like much of the low hanging fruit opportunities in software is disappearing faster and faster.
Yes I agree but so many things that might seem "done" (and in someways I think software/SaaS as an ecosystem is "done" compared to where we came from).
BUT - so many companies just bloat themselves and their products. I think the end of ZIRP is going to have an effect on that (more enshitification / rent seeking for sure) and I think there will be an opportunity to iterate and make copyware that doesn't take the higher development efforts.
We really need a winning electron alternative that is more resource friendly. That, IMO, will be a big game changer and I know there are lots of promising alternatives already.
> but it's notable that shipping next-gen editor software takes a lot more developer effort now than it did in the 2000s.
Yes, the scope increase is vast, due to more languages, more tooling, more features, higher expectations, and more competition.
I'd forgotten all about it but SubEthaEdit was such an amazing tech when we were using to collaborate internationally back in about '04. It went off my radar but I am glad to see its still available as a free app.
I tried the collaborative features to pair program with a colleague a few months ago, but it was bad. It was very flaky in establishing a connection. In the cases we were able to establish a connection, the voice chat would not work. We tried to make it work for a couple of days, and then we gave up. Has there been lots of work in the past few months on the collaborative features?
Technically really impressive. In practice, completely unpractical in any medium to large organization. And although I adore Zed's speed and reliability, I still don't understand why we need these features at all.
Because Zed is not somebody's side project, it's a business looking for ways to pay everybody's salary
> Collaboration as it stands today is considered alpha, and for the time being, is free for all to use! Peruse the source code.
/offtopic
Is it just my vision, or are websites getting super low contrast these days, esp the text-heavy ones?
I feel like that's been a trend for the past decade at this point. I don't think this one is particularly egregious but it ain't great either.
Could be your monitor as well.
I'd say it's medium gray on white, which is not too bad in my subjective opinion. I have seen far worse. Light gray on white was "trendy" for a while and dark gray or dark green on black has always been popular among the edgy crowd.
Here is where I've settled on for Zed. I initially thought it might be a Sublime replacement for one-off files, but it seems it's geared towards projects. It's not as powerful as Jetbrains (RustRover, PyCharm etc), but is much faster. So here's how I'm using Zed:
I think its' a much nicer experience than VsCode, which I admittedly haven't figured out to run in a project-oriented way.I'm also trying their GPUI library, but am in the early stages, so can't really comment on how it compares to EGUI.
Zed is the only modern IDE-like editor which is fast enough to replace (n)vim for me. I plan to use it for more and more projects, but I've had minor issues with it's Vi-mode.
I'll always remain someone plugged into vim because I need it sometimes when shelled over a terminal. Editing files over SSH can work with editor support, but is often less reliable or fast than jumping through whatever hoops I need to to get an SSH connection once and then doing everything from there.
Incidentally, I use Vim for editing files via SSH as you do, or if I'm in WSL, but haven't figured out how to use it for projects!
I just have a few plugins which help. Mainly the LSP for gotodef and popovers for type info, etc. This was what finally made me transition to neovim. Also a tree viewer, Startify, and :Rg for ripgrep integration. Those are my big ones.
Sadly my workflow of using `!` to get back to my terminal and things like `!make` or `!cargo build` is fucked in neovim. So I do a lot of ctrl-z and the a lot of killing stopped processes I forgot I suspended. I've complained about this in various threads and chats, but the developers aren't interested in letting us use the old vim `!` which is super lame.
Why would you use a tablet for this type of work? Honest question.
I was very surprised to find a "forum" integrated in Zed when I first opened it. But to be honest, it is not something I ever felt the need for and overall I don't like having this in my text editor. So far it never got in my way and that's a good thing, I hope it stays that way :)
Is this the new Zawinski's Law? Instead of extending to read email, Zed extends to enable chat and voice-video. :)
I’ve been using “The Notioning” for the last few years to refer to the convergence of tools like slack adding notion like features, clickup adding notion and slack type features, and so on. There seems to be a stable set of features that retains teams in an org
I lost all faith and interest in Zed after they introduced AI features.
I feel the opposite way, but fwiw you can turn off all AI features in Zed by adding `"disable_ai": true` to your settings.json.
Why? Its still incredibly plug and play, by default you don't even see it
The AI features work well but to each their own
That's alright, there's always Sublime Text.
you dropped this king
I ... don't like this one bit. I hope Slack doesn't start including a text editor.
There are canvases.... Some similarities if you squint. Clearly not for code use but for shared durable notes....
You guys need to figure out how to create Slack shared channels in Zed and we're all switching until they won't be needed anymore.
Can you share more on this.
While I do not work at Zed, I'm curious to hear more about this use case for my own company needs.
Your company has a user pool, you sign a BAA or start working with a partner company that has their user pool. Instead of creating slack accounts in both you can share external slack rooms that only people that are invited in/from their respective orgs can join without having to co-mingle employee user pools.
I could imagine that in ten years git will feel strangely slow and ceremonial. Why not just continuously work and continuously deploy live-edited software
I feel the opposite way, that git branching and merging will become a bigger part of the job as more code is written by agents in parallel and then accepted by other agents or humans.
for now yes absolutely. but I’m already hearing rumblings that some people are having luck letting multiple agents edit the same directory simultaneously instead of putting changes through PR merge hell. It just needs coordinations tools, see https://github.com/Dicklesworthstone/mcp_agent_mail as one (possibly insane) prototype
for example it’s not out of the question that we could end up with tooling that does truly continuous testing and integration, automatically finding known-good deployments among a continuously edited multiplayer codebase
we’d have to spend a lot more energy on specifications and acceptance testing, rather than review, but I think that’s inevitable - code review can’t keep up with how fast code gets written now
That’s a very optimistic outlook for the future.
Often projects need a history of stable checkpoints, and source control is one way to provide that.
Yes, but does it need all the ceremony surrounding it? If, every time I saved the file, the changes were analyzed and committed to git, and a useful commit message included, and commits squashed automatically and pushed and tested and tagged (using magic, let's say); if the system existed in the background, seamlessly, how would our interactions with source control and with other developers look?
automated commit message will tell you the "what" not the "why".
In any circle of "what makes a good commit message and why even do it" discussions, invariably the recommendation is to explain the "why" and leave out the self-evident "what".
If your stance is that commit and commit messages can be automated away then we might as well not even have them.
I don't share this view, but yeah in this world we don't need AI to do things that shouldn't be done in the first place.
increasingly, the automated systems have access to the original ticket or bug report, and maybe even the conversation while implementation is happening. They can record the “why”
Counter argument to living software is that it treats "never done" products as a virtue instead of a failure of design.
Here's a thread where the person replying to me makes this case: https://news.ycombinator.com/item?id=45455963
I love it when I have a tool that’s “done” but the software I work on in my career is never, ever done. It’s almost like there’s two different things we call “software”. there are tools like, idk, “curl” where you can use and old version and be happy. and there are interactive organizations in the world, like, eg, Hacker News, which mutates as the community’s needs change
Software for evolving business-needs is the same for me. What's insightful is that we (I) take continuously evolving software as just that: evolving. It's a defacto virtue to continuously tinker.
Doing away with check-ins entirely is the extreme end-game of that pov. I'm in product and every day and every week yes we very much continually change the product!
But I'm growing less convinced that the natural end-state of this methodology produces obviously better results.
I wonder how many nines of uptime your team is required to have..
it doesn't work quite well for complex projects that require integration with other teams/software.
You would need to either have separate versions running at the same time or never do breaking changes or devise some other approach that makes it possible.
It's not always feasible to do it this way
I think that’s a tooling problem. Maybe we do end up running a lot more versions of things in the future. If we believe that code has gotten cheaper, it should be easier to do so.
Imagine if someone clicks the deploy button when you're in the middle of typing something and then the service goes down due to a syntax error. To prevent this, we will need some sort of way to set a global lock to indicate that "I'm not done typing yet" and you can only deploy once everyone has released this lock.
Or you don't deploy unless it makes it through at least testing, and a build started while someone was editing the code would probably fail fast unless you coincidentally hit the button right when it's valid, but wrong, code.
Haha it's like Google Wave!
I hadn't realized Zed was built from the ground up to support collaborative programming. I liked it already, and I like it even more now.
Zed's dead, baby, Zed's dead
I have been trying to figure out how this works in concert with Git (or SCM in general). Is one of the developers in the session merely responsible for it?
I mean, you have the same "problem" when peer coding in person. Whoever is officially working on the fix will commit it. I've helped devs get around a hump for ages, you don't get "credit" for all the work you do. It's why I hate most ticketing systems (when management starts to ask why your tasks fell behind), they don't let you correctly track multiple people when they work together.
Does a `Co-authored-by:` trailer in the commit message not resolve this issue?
Don't tell the Posthog guys about this. Far too much collaboration going on here!!!
commence feature creep
The collab editing stuff was Zed's original gimmick. The AI stuff is the real feature creep.
Without AI, the company would be dead in the water. You can very easily disable all AI features.
I think Tuple is a better collab app, but far more expensive.
Many of these features were in Zed since first release.
Also Zed was announced as a closed source comercial tool.
The collaboration tools built into Zed have basically existed since the product launched. It is one of the primary drivers behind the product - they wanted to build the best editor for remote code collaboration.
I think the most difficult question are going to be how do you constraint that core feature without ever wanting to add more to it?
For instance, collaboration is a huge topic. You can have coding collaboration on the file, and that would be basic and appropriate, you can then replicate slack and you'll have chat rooms, which is entering creep territory, but it's natural! Then soon the chat room will need to link with issues and you can now have TODOs linked to some kanban board and we should be able to speak while we code on the same file! And this goes on and on.
It's exceedingly rare that the organization found hard courage to specifically avoid features that looks like easy pickings for the purpose of avoiding them.
Haha: Can't find a good Windows laptop.
It's true, most of them are bad. Galaxy Book5 Pro or Microsoft Surface are OK.
Ever since Apple Silicon macs came out, it's been a real struggle. Almost 6 years later and there is still nothing on the market that:
* Has the same level of performance
* With the same or better battery life
* With the same quality of screen
* With the same quality of speakers and touchpad
* Runs as quiet or as cool
as the Apple Silicon macbooks. If you add in "needs to be able to run Linux" your choices go down from maybe 1 or 2 to 0.
They all have some sort of compromise. Either the speakers, screen, keyboard, touchpad, build quality, battery life, or thermals.
I have a Surface Laptop 7 with the Snapdragon X Elite, and it's pretty close. Checks the boxes for Screen, build quality, and touchpad. Loses out on speakers and battery life, and the fans need to run a lot more than my M4 Pro MBP does. It also loses on performance, and it doesn't run Linux. Windows on Arm also still has a lot of little quirks and bugs that start to become daily annoyances.
It's incredibly frustrating. I want, essentially, my 14" M4 MacBook Pro, but in a Linux laptop, and there's no OEM out there that's fulfilling that need without compromises.
Apple keeps pulling ahead in silicon and every other laptop OEM is just being left in the dust, shrugging their shoulders, and putting out the same old 1200p 16:9 plastic garbage they have always been putting out.
As long as I don't have to use, feel free to include it. It is really not essential feature for editor.
I run update and Collab requires you to sign in... which again, it is fine if you want it. I don't, so it can be dormant, icon is really tiny, doesn't take much space.
The feature of Zed that is most annoying yet essential is frequent updates. Pretty much daily when I switch to Zed window, I can expect update and restart, which messes up my window layout, so this is annoyance. Getting updates and knowing you guys are shipping good stuff is what is essential.
I think integrating terminal ai's is great move and useful. Sometimes I use it like that, often I use it in terminal (like the outside of the editor terminal) and switch to editor to review or update stuff. Same with git. I am old-fashioned.
This looks more like a collab note-taking app. Don't know about code since i don't code anymore inside an editor but for collab things who knows
Just another fence for monkeys :)
I love Zed. I, mostly, love the direction they are taking the editor in.
But. There are now two times I see Zed going in the wrong direction. The AI integration was one. This feels like the wrong direction again.
I never really liked the AI integration. It felt off to me. I do love coding with Claude and I think I know why. It presents the "information I need to know" in a way my puny brain can handle it. Colored diffs. Summaries of what happened. It isn't perfect, but it has been incredibly productive for me. I never got that from Zed's AI integration; perhaps this has been improved, but I was up and running with Claude in a way that I never was with Zed.
This write-up sounds like "slack in my editor." If it is that, I hate it. Slack has destroyed company culture and communication. People, who are inherently lazy (I'm an old Perl programmer, so I can say that), have stopped thinking carefully and writing carefully, and in that void just throw the first thing in their head into a slack channel and think that is "collaboration" and "communication." It's toxic.
For example, this comment rubs me the wrong way: "Staff members hop in, volunteer to show off a cool feature or bug fix they worked on, and get real-time feedback from the rest of the team." I don't think our human brains work well with "real time feedback" UNLESS we have the information presented in a way that gives us massive clues on what's right and what's wrong. Reading a wall of text is not the way. A colorized git diff, or a video, or an entirely new way of presenting information might make real time feedback possible, but I am highly skeptical a text editor is the way or place to do that. And, I'm an emacs user and love text UIs, don't get me wrong.
Do I want to have "generalized one off rooms for things that don't fit anywhere?" I definitely don't want that. I want you AS THE AUTHOR to be really intentional about what's important and fit that into the proper channels. I need to know that information, but I don't want to know about, nor have the unspoken expectation that I SHOULD have known, about the other stuff. And, I want "managers" (if that still exists) to be carefully thinking about those channels and how the company is organized and push that structure down to people in the organization.
As Zed is the office, having one off rooms instead of in person coffee time feels very dangerous. That's the world a lot of people live in, but I don't like that office.
If this comment is the guiding light, then I'm worried: "We're building toward a future where collaboration is continuous conversation, not discrete commits—where every discussion, edit, and insight remains linked to the code as it evolves, accessible to both teammates and AI agents." I'm human, I have kids, I have other interests. A continuous conversation is impossible for me. I want discrete ideas, and right now, discrete commits and PRs are better, IMHO, than what I hear here. It's hard, but setting the expectation that to be successful I need to be paying attention to a river of information flowing by seems like a bad idea to me. I don't buy that Zed solves the problem of hiding the pieces of information that I don't need to see.
Oh hey! I have an idea. Why not use AI to summarize those conversations into discrete pieces! </joke>
I do love Zed. It is the best GUI editor out there. I know they will get it right. I just am skeptical about this direction and feel it misses the forest for the trees.
Man, Im like the total opposite in terms of preferring the Zed UI vs claude code. I really try to avoid raw claude when possible. I very rarely pull it up to do concurrent sessions when I have Zed open already working on something else. Or if I need to do something quick while in the CLI in a random directory. Otherwise, I think just the "files modified" feature is worth using Zed as the primary interface.
You make some good points, and I need to revisit Zed+AI to see where things are at. This probably proves you are a better developer than me.
But, also, after reading your comments, I'm just not sure I need an "editor" anymore. I love that I can npm install claude anywhere. Zed does not exist for ARM servers yet, but I can install claude there, and it can troubleshoot my database connections, and edit code, and grep files. Those are all the things I used an editor for, because an editor has better ergonomics than using the CLI. I'm sad to say "misspelled prompts" might have better ergonomics for me.
Don't want to sound negative, yet when I read "it's in our DNA", I immediately lose interest.