[TextMate] TextMate first impression (longish)

Luc Heinrich lucsky at mac.com
Wed Oct 6 22:32:09 UTC 2004


Greetings,

(this was cc-ed to feedback at macromates.com and contains screenshot 
attachments, which I hope the ML server won't strip out).

A little background first: I'm a long time BBEdit user, I think that 
it's a great product but I also think that it really starts to show its 
age. It really looks like the BareBones guys are trapped in the 
technology they used from day 1 and that if they'd want to get fresh, 
they'd have to restart from scratch, which they probably won't. That's 
why TextMate looks promising, and because it's built on top of modern 
technologies it has the potential to become really great.

However, this v1.0 looks like nothing more than a good draft to me. 
Yeah, shoot me, but that's David's hyping machine fault... :p

So here's a first batch of random comments about my first impressions. 
They are mostly cosmetic and usability related, since I didn't really 
used the product a lot yet, but I'm pretty sure I'll have some more as 
time goes by.

- Ok so, I'm one of those who was very surprised not to find a 
preferences dialog. When you think about configurability, you usually 
think about preferences. I just saw a post about this on the MacroMates 
blog, so let's just avoid this subject right now.

- Now let's go straight to the GUI itself. Here's a screenshot of a 
TextMate default window (with my own default background color):

-------------- next part --------------
A non-text attachment was scrubbed...
Name: TMDefaultWindow.png
Type: image/png
Size: 34459 bytes
Desc: not available
URL: <http://lists.macromates.com/textmate/attachments/20041007/da1a4709/attachment.png>
-------------- next part --------------


What I see here:
   + The color contrast between the gutter and the text area is pretty 
low so the distinction is hard.
   + The gutter can only have 4 digits line numbers (no, files larger 
than 9999 line are not that rare).
   + The (orange) wrap column line is almost invisible.
   + The lower status bar has loads of useless empty space.
   + The empty corner at the intersection of the scroll bar looks, well, 
empty.

Here's my (photoshop) take on this:

-------------- next part --------------
A non-text attachment was scrubbed...
Name: TMDefaultWindow2.png
Type: application/applefile
Size: 16845 bytes
Desc: not available
URL: <http://lists.macromates.com/textmate/attachments/20041007/da1a4709/attachment-0001.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: TMDefaultWindow2.png
Type: image/png
Size: 36197 bytes
Desc: not available
URL: <http://lists.macromates.com/textmate/attachments/20041007/da1a4709/attachment-0002.png>
-------------- next part --------------


   + A simple gray line to separate the gutter from the text area.
   + The gutter is a bit larger to allow 5 digits line numbers.
   + The outside limit of the wrap line is drawn in the same color than 
the text area but with a lower brightness (that's currently how BBEdit 
8 does it, it looks really nice imho).
   + The status bar is collapsed and put at the same level than the 
horizontal scroll bar, saving lots of empty space. The left indicator 
is the current line number, the right indicator is the column number 
(again, that's how BBEdit does it, but they do it for a good reason). 
Small icons could be added to make this more obvious.
   + No more weird empty corners.

Doesn't this look much tidy and cleaner like that ?

Let's move on to the project window. Here's how a basic project 
currently looks in TextMate:

-------------- next part --------------
A non-text attachment was scrubbed...
Name: TMProjectWindow.png
Type: application/applefile
Size: 17560 bytes
Desc: not available
URL: <http://lists.macromates.com/textmate/attachments/20041007/da1a4709/attachment-0003.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: TMProjectWindow.png
Type: image/png
Size: 46173 bytes
Desc: not available
URL: <http://lists.macromates.com/textmate/attachments/20041007/da1a4709/attachment-0004.png>
-------------- next part --------------


What we have here:
   + Weird looking tabs. They're not even tabs actually, and they really 
look like they're quick hacks to me.
   + Weirdly sized icons in the drawer list.
   + (same comments than above for the text window itself).

Here's my take on this:

-------------- next part --------------
A non-text attachment was scrubbed...
Name: TMProjectWindow2.png
Type: application/applefile
Size: 16845 bytes
Desc: not available
URL: <http://lists.macromates.com/textmate/attachments/20041007/da1a4709/attachment-0005.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: TMProjectWindow2.png
Type: image/png
Size: 76586 bytes
Desc: not available
URL: <http://lists.macromates.com/textmate/attachments/20041007/da1a4709/attachment-0006.png>
-------------- next part --------------


   + Tabs looking like tabs (actually stolen from NetNewsWire and 
resized a bit).
   + Smaller icons in the drawer list allowing for a more balanced look 
(quite impressive to see what a couple more pixel space can do uh ?).
   + Folder name is bold.
   + (same modifications than above to the text window).

Let's move on to features:

- Find and replace feature:
   + There should be a "Use selection for replace" menu shortcut.
   + There should be a "Replace" menu shortcut.
   + There should be a "Replace all" menu shortcut.
   + There should be a "Replace and find next" menu shortcut.
All these would allow to perform basic search & replace operations 
straight from the keyboard, *without* having to open the find panel at 
all.

- I guess that you guys already know that and are already preparing 
something to fix this problem, but I'll say it anyway: having to 
manually go and edit plist files from the guts of the app to have some 
decent colors (relax, I'm kidding, I just don't like thos ugly black 
backgrounds) is ridiculous. Tell me you're working on something before 
I start my own Cocoa 'tmbundle' editor.

- Something which I found pretty weird: each tmbundle defines its very 
own color settings right ? So if I want to have the same background 
color for *all* languages I have to change *all* tmbundle syntax files, 
right ? Wouldn't it be much simpler to have "default" settings which 
each tmbundle would inherit from and could then override or not ? So 
just like CSS elements can inherit from their parents, a syntax file 
could either inherit attributes from the defaults, or override with its 
own values. That would greatly simplify the whole coloring settings I 
think. Thoughts ?

- Another pretty obvious one: there is no "function popup", or any 
other way to quickly navigate through the list of functions or methods 
of a code file, or the structure of a markup file.

- Snippets are great, but the snippet menu is already pretty crowded. I 
think that allowing snippets to be grouped in families (based on the 
tmbundle they're coming from, to begin with) or categories or whatever, 
could help minimize the clutter. Ditto for macros and commands.

- How about the ability to have the snippets, macros and commands in a 
palette ?

- How about giving some basic abilities to a command to specify when it 
is actually applicable ? A command menu item (or palette entry ;)) 
could then be disabled if it is not. For example, the "Compile" command 
does not make sense for a '.html' file, or the "Reload in Safari" 
command does not really make sense for a '.rb' file.

- Being able to write commands in something else than shell scripts 
could be cool. Like, being able to directly write applescript instead 
of having to go through 'osascript' commands.

- Hey, you seem to have pretty good text editing widget (that 
OakTextView thingy), so why not also use it for command editing ? Heck, 
why not even also use it for colored regexp editing in the find panel ?

- Detail: it seems like a lots of ATSUI related debug messages are 
still being sent to the console.

- Snippets, macros and commands are good ways to automate a lot of 
stuff, but are there any plans to allow TextMate plugins, for those 
tasks which would require an elaborate GUI ?

Oh, and one final comment: I *R*E*A*L*L*Y* *H*A*T*E* the icon. It's 
butt ugly. Really. Heck, you have John 'Magic' Marstall on the mailing 
list, I'm pretty sure he could do something about this :))

-- 
Luc Heinrich - lucsky at mac.com - http://www.honk-honk.com


More information about the textmate mailing list