24 hours with my new MacBook

As some of you may know already from my tweets, I recently acquired a shiny new MacBook.  My goal with this was to become as accustomed to the various Apple software pre-installed on the machine as possible.  This meant ditching iTerm, Firefox, Thunderbird, and Adium, which comprise about 90% of what I spend time using on my iMac at work on a daily basis (Camino doesn’t count, as I only use that for Pandora, so I can crash Firefox without interrupting my music!)
Anywho, so far things have been going quite well.  I haven’t yet torn my hair out, and I haven’t yet installed any of the 5 aforementioned software packages (although I will install Firefox at some point, for sure, simply because I do web development, so I kinda have to :)  Today I even braved using it for work all day.  The only thing I didn’t have is email, and that’s fine I didn’t really want to read any email today anyways, plus I have a feeling I’m still going to hate Mail.app.
Here’s a bit of a rundown of my first full day with my MacBook.

Safari

I’m liking Safari well enough, even finding some things to equal some of the features I love (and miss) from Firefox and the various extensions.  Its speed is very nice, the sites I frequent work and render just fine, and everything seems to be ok.  Occasionally I’ll accidentally close a tab and dearly miss the Undo Close Tab function from Firefox, but on the whole it’s been pretty successful.

Terminal.app 

Terminal.app was one of the big ones for me.  I didn’t think I could go more than a few hours without switching back to iTerm.  I had tried it since Leopard release (pre-leopard it was simply unusable for any sort of real work, lacking tabs and all) but didn’t like it then.  The time I’ve spent on my computer these past 24 hours, I’d say roughly 50-60% of it was spent in Terminal.app.  For the most part, it has been a fantastic experience.  I immediately switched to the pre-made ‘Pro’ theme, set the default window size to something a little more appropriate, and increased the opacity somewhat so I could see what I was trying to read :)  The more I used it, the more I grew accustomed to its strange keybinding for switching tabs (cmd-shift-{ and cmd-shift-}) and the more I got used to cmd-` for switching between windows.  After discovering that each window has a unique number assigned to it, accessible via cmd-(number), I started using it, and I must say, it is a MUCH better way to switch between windows than the counter-intuitive sequential-only switching that cmd-` provides.
One thing I’ve always had issues with on terminals is backspace, delete, page up, page down, and  arrow keys (in certain situations).  Even iTerm had some of those issues.  Now, before you scream at me “fix your termcap!” or “fix your terminfo” or whatever you want to tell me saying that it’s probably not iTerm’s fault (or any other terminal, for that matter), I would just like to say that I honestly don’t have the time, nor do I care enough to spend time learning the ins-and-outs of terminal emulation and how to tweak them on various systems.  I want a terminal that Just Works.  And Terminal.app has done very well with that.  One issue I did have was when I was inside a screen session on my Debian Etch box, backspace didn’t work.  On another Debian Etch box, backspace inside the screen worked.  Fortunately, changing the terminal type in Terminal.app from xterm-color to simply xterm fixed everything right up, and so far I have had 0 problems with backspace, page up, page down, arrow keys, nothing.  It has all Just Worked, exactly as I want it, and exactly as I expect.  I did have to swap the keybindings around between shift-page-up/down and page-up/down because I prefer that my page-up/down goes to the application I’m working with in the terminal, and that I use the shift modifier key if I want to do it in the terminal itself.  I did the same with the home/end keys as well.  I am not faulting the Terminal.app developers in any way because I had to do this.  The default settings are consistent with The Way Macs Work, and I like that, and I’m happy that they give me the option to change it :)
The only real thing I have against Terminal.app right now is that the tab titles are always set to the current command you’re running.  Since I’m almost always roaming around on various servers on our network, fixing things, or logged into our development server working on some code changes, the tab title most frequently seen is ’ssh’ which, when you have 10+ tabs open is pretty much worthless.  I’m just hoping that Apple remedies this in a future update (read: pre-10.6).
One other thing I’d like to see is a keyboard action to scroll up in the buffer a line (or a few) at a time (rather than a full page) so I can bind that to shift-up and shift-down.  Most of the time I use the ‘less’ pager to do this inside the shell itself, but that isn’t always convenient, and sometimes I get a lot of unexpected output, that I all of a sudden would like to scroll through. 
Otherwise, Terminal.app has worked nearly flawlessly for me.  A couple of minor changes, and voila, it’s a great application.  Kudos to Apple for making an excellent next step from Tiger’s Terminal.app. 

Mail.app

Honestly, because of past negative experiences with Mail.app, I didn’t really even try to use it all that much.  I simply went without email (which was good, as I got a lot more work done!).  However, nearing the end of the day I decided I needed to sign up for a mailing list for a software package I was working with, and decided I should finally set up my email within Mail.app.  I set up my personal email account in Mail.app and started playing around with it.  I still really hate how Mail.app handles threads.  I despise it with a passion.  I didn’t work with threads all that much on my personal account tonight, simply because I haven’t really been active on external mailing lists lately and just decided to purge my mailing list directories, but what little I did experiment with, I found the same old problems.

Threading by subject is bad

I get a lot of email with the same subject.  We have monitoring systems which send emails periodically and often have the same subjects.  Sometimes I’ll get an email which just happens to have the same subject as something I got MONTHS ago.  Sometimes subject lines change mid-thread.  Instead of doing all this subject parsing which incorrectly groups some messages, and incorrectly fails to group others, why not use the message headers already included in the email by almost every email client on the Internet: Message-Id, In-Reply-To, and References.  Those 3 headers are there for the purpose of relating threaded messages to each other.  Think about it, an email thread is a one to many situation.  Message-Id headers are designed to be unique, so there’s your primary key.  Then you have the In-Reply-To header, which basically says “This message is a direct reply to this other message.”  Assuming you have the message with that message-id header, you can associate the two easily.  The references header provides some additional glue, in case a message gets lost, accidentally deleted, intentionally deleted, or plonked, so you can still have a rough relationship between parent and child posts.  Can we at least make the subject-based grouping optional, like in Thunderbird? (yes, you have to go into the config editor and change something manually.  I’m ok with that, just give me the damn option!)

Threads are not flat 

Yes, with the current generation of computer users using forums constantly and using their gmail accounts, the beautiful simplicity of the treed thread seems to have been lost on the Mail.app developers.  And to be fair to gmail, this threading issue predates gmail by some time.
Threads are not flat.  If I’m in a long and heated discussion on a mailing list, I want to see the replies in context.  I don’t want to see someone’s reply to the third message in the thread show up at the bottom of a flat line of messages.  I want to see it right next to the third message in the thread.  Especially with people mis-quoting (which has always been a problem, and more-so since Outlook graced us with its presence), understanding what exactly someone is referring to in such a situation can be quite troubling.  However, to be fair, it appears that the fine art of ‘proper’ threading has been lost on the internet nowadays.  Very few forums actually have proper threading: Slashdot, The DreamHost Discussion Forums, anything using SlashCode or wwwthreads, and a handful of blogs with custom comment threading plugins, or completely hand-written ones.  Everything else has taken the route of the flat thread, which to me is a shame, since it makes it a lot harder to read, in my opinion.

Unified Inbox

I really, really don’t like the unified inbox they’ve added.  When I’m at work I try to avoid looking at my personal email as much as possible (especially with how much spam I get lately).  When I’m at home, I definitely don’t want to see my work inbox.  I may be a rare breed who uses his laptop for work AND for personal use, but I think there are others out there with me.
These things pretty much make Mail.app unusable for me, which is unfortunate, because Mail.app provides excellent integration with tons of other features in the OS, as well as having a great look, and very ‘native’ feel to it.  I just wish they would make it more than a more secure Outlook Express and give it something for us email power users to enjoy. 

iChat

What can I say?  It works.  It looks very much like Adium (or rather, Adium looks very much like it) and works quite similar as well.  One thing I wish it had was a real quick and easy way to switch between conversations in the conjoined chat window (it might actually have this and I just haven’t found it, I’m unsure), but otherwise it works well enough for me.  My boss told me some other issues with it, but I haven’t experimented long enough to be able to have an opinion.  Honestly, I really like Adium, and it has a *very* native look and feel, and has a lot of great features.  I will probably switch back to Adium at some point and call it good.  iChat is neat and neither application really “wows” me, so I’ll go with the one I’m most used to and most comfortable with, which is Adium.

1 comment so far ↓

#1 Tobia on 04.21.08 at 2:46 am

I agree 100% on all the points you make about Terminal.app

One thing I found useful is this dirty hack to change the ANSI text colors:
http://www.culater.net/software/TerminalColors/TerminalColors.php
I use settings similar to the builtin Pro, as you do, and I found the default text colors less than optimal: they are too dark. Fortunately this plugin lets you set as bright colors as your screen can display, giving excellent readability.

About Mail.app threads: yes, it’s frustrating, but you can enable and disable threading per folder (enabling it on discussion mailing list, disabling it in your inbox and logwatch folders…)

Leave a Comment