News for hackers. Stuff that matters.
Re:TextMate 2.0 by jacobolus on Sunday September 15, 2019 @06:58PM (#20979956)
I feel at least slightly responsible, as I imagine many people from the TextMate community circa 2006–2010 do. I think the decline of TextMate was mostly a community problem rather than a technical problem, and it’s a bit hard to untangle exactly what happened.

Allan had been making very fast progress on TextMate for the first several years, and the community was full of excited “early adopter” types, who were very chatty and supportive, and were actively engaged in improving the TextMate language “bundles”, trying out new features, etc. I found the ##textmate IRC channel at the time to be the best place to get technical help with pretty much any programming language.

Then at some point Allan decided that he had made some suboptimal design choices in pretty much every component of TextMate 1, and wanted to improve those with new designs. But he thought it would take more work to incrementally swap new parts in that were compatible with all of the other stuff he wanted to eventually replace, so he started in on what was a substantial rewrite of everything.

That (a) took away his incremental improvement of TextMate 1, (b) took his time away from being as responsive to user questions/ideas, (c) caused bundle authors to slow down on improvements to TM1 bundles while they waited to see what new features TM 2 had in store.

At the same time, the creation of an "insider" IRC channel took away some of the activity from the main IRC chat, the migration from one big SVN repository to a bunch of separate per-language Git repositories damped a lot of the bundle development activity as people were no longer exposed to every change to every bundle, so the bundles didn’t cross-pollinate as much.

Many of the core people in the community gradually drifted away, and weren’t being replaced by new people, from some combination of existing bundles being good enough, and less overall buzz.

As Allan was getting less feedback about the code he was working on, and less interaction overall from users, he became less motivated. As the TextMate 2 project dragged past its original timeline, both Allan and others in the community started to get discouraged. I would speculate he started to feel like more of the work was a chore rather than a joyful adventure.

There are many great TextMate 2 features which have still not been properly explored by bundle authors all these years later. It could use more screencasts, more technical documentation, more people testing zany things and making feature requests...

For my money TextMate is still the best editor available, from a purely technical perspective. The experience of customizing one’s own editor environment has less friction than pretty much anything else out there. Almost completely nontechnical people can do amazing things with it. But the community isn’t the same as it was.

* * *

Aside: Sublime Text was an unauthorized (and for at least the first few years half-baked) rip-off which borrowed TextMate bundles wholesale without contributing anything back whatsoever. In early versions [and maybe still?] people couldn’t actually edit all of the bundle items in Sublime, so its users were disempowered from customizing their own experience, arguably the main point of TextMate’s design. In the early days many of them came to complain at us about TextMate bundle items which didn’t work in Sublime. In my opinion the Sublime author profoundly missed the point of what TextMate was about and why it was special, and viewed it as nothing more than a convenient pile of existing work he could exploit to kickstart his own app.

Re:TextMate 2.0 by JohnBooty on Monday September 16, 2019 @01:36AM (#20981383)
Wonderful write-up.

> Aside: Sublime Text was an unauthorized (and for at least the first few years half-baked) rip-off

This puzzles me though. What "authorization" should Sublime's author have sought?

I don't know why application XYZ would/should need permission/blessing to be compatible with application ABC's plugins.

To me it's just a completely sensible decision; why would the author(s) of application XYZ want to force users to reinvent the while to write a plugin to do Ruby or Javascript or HTML or whatever highlighting, when this work has already been done so many times over?

> In the early days many of them came to complain at us about TextMate bundle items which didn’t work in Sublime.

Well this was certainly exasperating I'm sure. Sorry you had to deal with that.

> In my opinion the Sublime author profoundly missed the point of what TextMate was about and why it was special

Sublime's author has never really engaged the community much like Textmate's author, which is a shame. Though I would have to point out that a small team (both were single-man teams for most of their lives) can only accomplish so much, and I would say that ST's development has greatly outpaced TextMate's. Also I think ST has somebody working full-time on package management stuff now, not sure.

Re:TextMate 2.0 by jacobolus on Monday September 16, 2019 @02:02AM (#20981476)
I think it’s unethical to copy an existing program’s features one by one, as precisely as possible, while adding nothing novel. If you want to make software, get your own ideas. Copying something is a lot easier than inventing it for yourself, which requires doing real research.

If you try ripping off large companies, you run the risk of getting sued. But if you do it to a 1-person company, you can generally get away with it. Still scummy.

> completely sensible decision

From a purely selfish “how can I profit without doing my own work” perspective, sure. Same is true of many types of unethical shortcuts in the world.

> ST's development has greatly outpaced TextMate

I haven’t looked in years, but when Sublime was about 4–5 years old (when I last spent some time examining it) this was nowhere close to true.

I would say instead that the man-on-the-street external impression of ST’s development has been faster.

Re:TextMate 2.0 by jakobegger on Monday September 16, 2019 @03:56AM (#20981950)
> I think it’s unethical to copy an existing program’s features one by one, as precisely as possible, while adding nothing novel. If you want to make software, get your own ideas. Copying something is a lot easier than inventing it for yourself, which requires doing real research.

I'm not a fan of this argument. We all build upon the work of those who came before us, and usually even the most blatant rip-offs add something.

I'd even argue the opposite: We should copy good ideas. There's no point in re-inventing the wheel over and over again. If we copy good ideas, we can build on them, and we can spend time inventing new things, rather than re-inventing everything just to make sure it's all original.

(And I say this as someone whose work has been shamelessly ripped off multiple times in the past.)

Re:TextMate 2.0 by JohnBooty on Saturday September 21, 2019 @03:10AM (#21033965)

    I think it’s unethical to copy an existing program’s features one by one, as precisely as possible
Completely disagree that this is what ST did. Implementing TextMate's bundle/syntaxes APIs != creating a clone.

I'd argue that conceptually, TextMate borrowed at least as much from Emacs and BBEdit as ST did from TextMate.

After all, what was TextMate's raison d'être? It was not some totally new idea. It was a successful iteration of existing ideas. It was lightweight like a text editor, but highly extendable via scripting.

So, it was like Emacs, except not quite as infinitely extendable, but more friendly and had a native OSX GUI interface. And it was like BBEdit, except more extendable. (Correct me if I'm wrong on this -- I used BBEdit a bit back in the day but never dove too deeply into it)

ST iterated further upon TM's ideas and others. Yes, it implemented TM's bundles and syntaxes for compatibility reasons, which I would call a very good thing because why invent those wheels again. Any new entry into an existing software category certainly should leverage the existing ecosystem to the fullest extent possible, unless there is a very good reason not to.

It's been years since I used TM but I think ST's command palette was a big innovation over TM, and more keyboard-friendly. ST's integrated Package Control is also something I don't believe TM has an equivalent for. And ST is of course cross-platform: it's not like using TM is even an option if you're on Windows/Linux.

So I really reject the talk of ST being a "ripoff". Good software should borrow ideas and leverage existing work whenever possible. And it's demonstrably false to claim that ST offered nothing new, or that TM itself didn't borrow very heavily from other editors.

Re:TextMate 2.0 by jablan on Monday September 16, 2019 @06:49AM (#20982783)
> while adding nothing novel

AFAIK, Sublime is/was cross-platform? I wouldn't call that nothing novel.

Re:TextMate 2.0 by shp0ngle on Monday September 16, 2019 @06:44AM (#20982754)
Textmate for me is the best example of "second system effect". Allan decided to rewrite everything, which killed the community.

(I also don't think SublimeText "just ripped off" TextMate and didn't add anything new. They added Windows and Linux support, for one.)

Re:TextMate 2.0 by bethling on Monday September 16, 2019 @07:46AM (#20983093)
The thing that caught my attention and I found useful enough to really give SublimeText a chance was the mini-map. I see that in a lot of places now, but as far as I can recall, the first place I saw it was ST.
Re:TextMate 2.0 by setpatchaddress on Sunday September 15, 2019 @11:07PM (#20980799)
As a fellow early TextMate contributor, I find your take 100% accurate to the extent I was around for it. I personally drifted away because I got a new job that took up all my available time.

I might have found time here and there to contribute to TextMate after the open sourcing, but my company won't let me even look at GPL3 source. I don't even dare look at the bundles.

Re:TextMate 2.0 by cycomachead on Tuesday September 17, 2019 @02:55AM (#20992398)
I still love TextMate -- but I have to be honest, I switched to VSCode recently. The community around VSCode is hard to pass up, and thanks to documentation (and it being JSON), I've found it fairly easy to configure, and in a few ways, it's much easier to configure the whole UI. (pros and cons there...)

I won't say VSCode as stable as TextMate, and it certainly doesn't feel like a native Mac app in the same way, but it's simply easier for me to find plugins that I need.