By josh / May 5, 2014

What’s next, GitHub, “Flappy Octocat”? The Atom text editor is a shameful Sublime Text ripoff

Subscriber Steve S. recently asked me a question on something I’ve wanted to address for a few weeks now:

What do you think of atom.io? It looks very much like Sublime. If I didn’t know any better, I’d think that they stole the source code! I know that the development is slow on Sublime, and the community has asked the dev to consider open sourcing the code, but he hasn’t agreed to that.

So … taking a few deep breaths into a paper bag here…

Frankly, the Atom announcement initially made me nervous. What was going on? Did the Sublime team sell to GitHub? Was Atom going to kill Sublime?

I spent a little time looking at the documentation while I waited for my invitation to arrive, and as I read, I started to get mad.

Then downloaded and played with Atom a bit, and I got furious. If I were Jon Skinner, I’d be doing everything I could to sue GitHub over this. (Unfortunately, I’m not sure what, if any, recourse he has.)

Let’s get one thing straight: Atom is a complete ripoff of Sublime. GitHub took all of Sublime’s innovations and used them as is. They didn’t even bother to rename features or come up with their own keyboard shortcuts. In fact, you could take most blog posts about Sublime Text and “port” them to Atom versions with a simple find-and-replace.

Sure, every editor has derived feature ideas from those that came before, and Sublime is no exception. For example, Sublime borrowed the inspiration for the GoTo feature from TextMate.

But as any high school student learns in writing class, picking the best ideas from multiple sources and combining them in new and interesting ways is a long way from copy-and-pasting an entire term paper and calling it your own.

GitHub crossed the line from flattering imitation to plagiarism–even intellectual property theft with this one.

Unfortunately, the Sublime Text team’s lack of communication has left the door wide open for this type of thing. Hardly a week goes by that I don’t hear from concerned developers asking “Is Sublime Text dead?”

If people weren’t terrified that Sublime was going to suffer the same fate as TextMate, GitHub’s clone would have a lot less appeal.

I don’t think for a minute that Sublime is going to die anytime soon. All indications are that Jon plans to keep working on it.

Regardless, what’s done is done. GitHub is going forward with Atom. That raises the question: Is Atom a Sublime Text killer?

After playing with Atom a bit and talking to several other developers who have used both editors, here’s what I think.

There’s a lot to like about Atom. It obviously shares most of Sublime’s strengths, and GitHub has addressed a few common complaints that devs have voiced about Sublime, such as the lack of a visual preferences editor. I personally like the JSON-based configurations in Sublime, but I can see why it would be nice to have a GUI to work with at times.

GitHub also did a nice job with the native Git integration.

But is Atom a real improvement?

The answer is no, and ironically this is due to one of Atom’s most touted “features.” This will probably get me in trouble, but …

Atom is inferior to Sublime because it’s written in HTML.

Now, before the pitchforks come out … I’m not disrespecting the web or web technologies. The web is a great platform, and JavaScript and HTML can do amazing things.

But I want my text editor to feel rock solid. I’ve yet to use an HTML and JavaScript-based app that achieves this.

A few months back, I tried out Mou.app, which is a dedicated Markdown editor. It had some nice features: It shows a live preview as you work, and you can even style the rendered output anyway you want. Being a total Markdown fanboy, I was really excited when I first fired it up.

Within 30 seconds, I was disappointed. I could tell almost instantly that I was dealing with an HTML-based app. It felt fragile. It was glitchy. The code didn’t scroll smoothly.

What a disappointment.

I’ve yet to see an HTML-based app that creates a native-feeling experience. You can always tell. (It’s possibly that I’ve used some without knowing it, but I usually make it a point to check out any HTML apps that I see held up as examples.)

Atom feels the same way to me. It doesn’t feel solid. There are weird rendering glitches.

I need to trust my tools without question, and I haven’t found an HTML app yet that engenders the same level of trust as a native app.

Atom might steal some marketshare from Sublime. I think it’s a strong possibility that it’ll win Sublime some new fans–people who are initially attracted to Atom by it’s “hackable” appeal, only to find that they prefer the original to the clone.

Time will tell.

Josh

P.S. If you’d like to level up your Sublime Text skills be sure to sign up for the Sublime Text Tips newsletter, where I go deeper into many of those awesome features that GitHub so carefully copied. Worst case scenario, you can always just apply your newfound knowledge to Atom!

Either way, get it here:

http://sublimetexttips.com/newsletter

About the author

josh

4comments
Sebastian - May 6, 2014

Agree with you, but the big appeal of Atom is that plug-ins are written in JS/CS as opposed to python in Sublime, also the Sublime documentation for writing plug-ins is terrible, while the Atom one is pretty good. I believe that this alone can make Atom super popular in the future.

Reply
bor - May 11, 2014

In Atom’s API there is a View inheriting from… jQuery! WTF is there jQuery for? Atom, in fact, is WebKit – a modern, SINGLE engine. I think that putting there jQuery is like adding a fifth wheel to a car. And CoffeScript? Whyyyy? I love pure JS, I like Python (Sublime’s API), but I will not write even one line of plugin for this Sublime’s ripoff.

Reply
David - May 12, 2014

I think you are not aware of how much of a ripoff was ST from TextMate.

Reply
CB - June 18, 2014

Uh, so you’re not sure what recourse there is for ripping off his rip-off of Textmate?
Seriously, if you think Goto is the only thing Sublime Text copied, you
need to take a closer look. (You can start with figuring out why ST is compatible with Textmate bundles instead of the other way around.)

Reply
Click here to add a comment

Leave a comment: