News: November 2007

Anatomy of a Next Generation Text Editor

November 30, 2007 by Jon Skinner

(This is an introduction to the user interface of Sublime Text, it's the first in a series)

My background is in building tools for games. I've encountered some beautifully designed tools for artists, such as Modo, ArtRage and Silo. At the time I was using Vim in its 16 colour, 80 column glory, and the very colourful Visual Studio. It occurred to me: why couldn't the humble text editor get some of this love?

I've tried to put some of this user interface craftsmanship into Sublime Text. There are three principles I felt would be required:

  • Unobtrusive, minimal chrome. The focus should be on the text, not fourteen different toolbars.
  • Don't obscure the text with dialogs.
  • Use the pixels you've got. Full screen, multi monitor and editing files side by side should all be possible.

Below is a short tour showing how I've applied these rules in building Sublime Text. First, here's the basic day-to-day level of chrome you are presented with:

There's not much there, and it's certainly not yelling at you.

Functionality like find and replace, that would generally be implemented via dialogs, is instead presented as a panel at the bottom of the screen.

The crown jewel, however, is how it works when you start to get serious. The full screen mode does away with a maximum amount of chrome, and works seamlessly with multiple monitor setups. Here you can see Sublime Text running on two monitors, full screen on each, with five files being edited side-by side.

Here's a screenshot of the large monitor in the above photo, editing three files side by side in full screen. (Warning: 2560x1600 pixels ahead!)

Have I missed any principles? Have I adhered to the ones I set? I'd love your thoughts and feedback.

(Subscribe to the blog, so you don't miss part two!)

Building a Better Text Editor

November 30, 2007 by Jon Skinner

The text editor is a humble tool, its purpose distinct and implementation well trodden. There are a lot of people who spend a lot of time working them them: you've probably got one open right now.

I think they can be better.

Furthermore, I've got a fairly strong vision of exactly how they can be better. I left my job as a software engineer at Google to build a company, and a text editor, around this conviction.

I'd like to share my ideas for a better text editor; you'll shortly see the beginning of a series of articles describing just that. Stay tuned!

In the mean time, why not let me know what you think a better text editor should be?

Status Update

November 20, 2007 by Jon Skinner

1 week in. Weather is getting hotter. Code is being written. It's great to be seeing real progress.

To tell the truth, I've previously spent a few weeks working full time on Sublime Text, so this isn't entirely new. I'm addressing some of the bigger areas of work that I haven't had an opportunity to in the past. When you've only got weeknights available, it's harder to justify work that doesn't have an immediate result.

It all comes under the 'Things to do before launch' category, seeing that list get smaller is great.

It Pans! It Zooms! It...

November 15, 2007 by Jon Skinner

December, 2005. I had been kicking around the idea of a 3D accelerated text editor for some time. In my head I could see myself zooming in and out of files like I was in a movie. Gasps from the crowd at the smooth action! I could see myself cackling at the luddites with their tired old scrollbars.

I spent a weekend building a prototype that did just that. It zoomed! It panned! Only, it sucked. It turns out that you can't zoom very far out at all before the text becomes totally illegible. Working on files you can't read wasn't quite what I had in mind!

I did get some insight out of the prototype however, and it gradually morphed into what Sublime Text is today. You'll get to see what that is, when I finally get the bloody thing released later this year.


November 12, 2007 by Jon Skinner

Hello! New beginnings are fantastic. This one especially, because it's a beautiful spring Monday, and I didn't wake up to an alarm this morning. Today is my first day working full time on my own software project, without a paycheque parachute.

It's almost two years since I wrote the first line of code for this project. I think it's still in there somewhere. After spending so much spare time on the project, it builds up a momentum of its own, culminating to an inevitable mass. Which is why I'm sitting here at home, switching between writing this post and staring at source code, and not pushing bits at the day job.

Personally, I love reading about software startups, and if you do too, dear reader, then you may want to continue reading.