
GitHub puts their hat in the ring with a new editor written by Web developers for Web developers, hackable from the get go!
“The atom is a basic unit of matter that consists of a dense central nucleus surrounded by a cloud of negatively charged electrons.”
I am very excited to see Atom, the developer environment from Github, come out into the world. Birthing a new editor is no small feat. It is hard to know when it is “ready” because there is the potential of death due to a thousand paper cuts.
Ben and I choose to build Bespin as we wanted to show that the Web could build something worthy of being your text editor. We got part of the way there, and I am proud of the community that made that happen, as well as other people that have taken it further over the years.
The GitHub crew kindly showed me Atom awhile ago. It was awesome to see, because I always wanted Bespin to have a strong home with GitHub.
It was so obvious:
- One of the goals of Bespin was to help people build open source software. An editor of the Web could make it trivial to jump into a project and help you get productive much faster than it is possible today
- The community was at GitHub. You can do so much with that data to help people build software. I can’t wait to see a future where things like “I have seen this code before, need help?” becomes something not as bad as Clippy 😉
- GitHub’s slogan was “Social Coding” for God’s sake! (I am mad at them that it took this long ;)
In fact, one of our early hack sessions was with the GitHubbers in their “office” on the second floor of an Italian coffee shop. It was fun to show them what we were working on and share some of the vision.
We quickly realized that trying to get a developer to switch from their beloved Emacs, Vim, or now Sublime etc… is truly a religious war. Rather than waiting to build everything out, we wanted to have reasons to use Bespin as well as your main editor. We wanted to focus on what the Web could do for you.
This lead to a vision that consisted of:
- Totally hackable editor in the Web (all JavaScript). Now, with Node, folks have taken that to the next level (including Atom) where you can use the same Web developer tools on the tool itself. Awesome.
- Collaboration: Pair programming, or in general just being able to hack with folks was important. How cool would it be if you were editing something and in real-time found out “hey just so you know, Bob just commited something to his branch on that code”. There is more to “collaboration” than inline sharing
- Layers: Text is great, but what about layering on more? Show me where my hot spots are in the code so I know where to refactor. Tests are failing? show me in the editor where. I should be able to turn on and off layers depending on what I care about. There is much exploration to be done here IMO
- Forkable: I want to see what Brendan Eich’s environment is like and tweak it. I would love to watch a coding session. I would like to have a timeline and move it back and forth. I would like a chat log to be tied together with coding so you can see what people were talking about as they coded… richer documentation on the “why” than anything in a comment
I think that it is interesting to see this as github.com/atom. I love that they have done a great job and bridging the worlds of native and Web for the true best of both worlds. As with Bespin, I can’t wait to see what other people do with it since it is so hackable and the Web devs can hack on their own tools.
I also know that a first release of an editor is a delicate beast. I don’t want people to have their hopes too high, and for those hopes to be aspirational. It will take time. GitHub will give it that time, and I look forward to seeing what happens.
Congrats to the Atom team (and the other teams working on developer tools such as Brackets!)
ps. As much as I am excited about Atom and how it will actually go on to change how we develop product, I am also very excited at the hybrid stack that has been built and how it performs. If I was to write a native desktop app, I would like to do it with that ☺
pps. A number of people have commented on “is Atom open source?” @mojombo speaks up to say:
Atom won’t be closed source, but it won’t be open source either. It will be somewhere inbetween, making it easy for us to charge for Atom while still making the source available under a restrictive license so you can see how everything works. We haven’t finalized exactly how this will work yet. We will have full details ready for the official launch.