First off, happy 2010! I hope you all have great things planned for this year! As for me, I plan to graduate from Brigham Young University - Idaho with a B.S. in Computer Information Technology (I know, it's a mouthful...).

As some of you are aware, I'm taking part in Project52 this year, and I plan on participating until August 31st, which breaks out to be 32 posts. Here are some of the first topics I intend to write about, so you know generally what to expect. (But, the last time I checked, schedules change.)

Why am I not participating the entire year?

This is the year of my nineteenth birthday, an important year for active members of the Church of Jesus Christ of Latter Day Saints, as we typically leave on a two year mission spreading the gospel of Jesus Christ, and sharing our faith and testimonies with others. If you'd like to learn more about the LDS missionary program, or what I'll be doing for the next two years, please check out the official church information page on missionary service.

January

  • WebKit vs. Gecko (and why I prefer WebKit)
  • Things.app Review (Mac and iPhone)
  • Billings.app Review (Mac and iPhone)
  • Apple Event Review (was it worth the hype?)

February

  • Cloud.app Review (hopefully they'll release it by February)
  • .htaccess for Mere Mortals
  • LaunchBar.app Review
  • Basic jQuery AJAX forms

Permalink…


When people ask me what code editor I use, I always tell them Espresso by MacRabbit. And often, they ask me why. This post will attempt to explain some of the reasons I prefer it over alternatives such as Coda or TextMate. However, I'm confident some of the reasons are ambient, and are therefore hard to write down (similar to some of the reasons that make a Mac better then a PC. ;)

Reason #1: It's beautiful.

Espresso is beautiful, elegant, simple, delightful, charming, graceful, and many other words that connote the general aesthetics of the app.

When you open the app, you're greeted with this wonderful illustration of a coffee cup with different inspirational words intertwined with code elements. Every time I open the app, it makes me want to develop something awesome.

Beyond that, the icons are charming, the UI elements are well thought out, and the editor looks stunning.

Reason #2: The Editor is awesome.

The editor is simple, yet powerful. It allows me to do everything I need, without being bogged down by extra fluff.

Similar to Coda, you have a code navigator, which gives you a birds-eye view of the code, and easily shows you if you're missing a closing tag somewhere. You also have the ability to publish your files individually, or in groups, allowing for easy syncing between your Mac and server (more on this later).

However, Espresso has full support for the TextMate snippet syntax, which allows you to have multiple input points, mirroring, and even console access. (Coda only has support for one input point.)

That's only scratching the surface of the Espresso editor. It also has easy third party expandability to allow not only different syntax highlighting/suggestions/tab-completions, but also allows developers to use first-class Objective-C code to add additional functionality. (I'm not exactly sure how this works, but I've spent enough time on the ##Espresso IRC to know it's there)

Reason #3: The workspace works.

I don't know why someone didn't implement it sooner, having your "tabs" stored in a vertical fasion makes perfect sense, and it's executed very well in Espresso.

There's almost never a time I have more files open then can fit in my workspace, yet when I used Coda or TextMate, I was constantly having to press the "More" button, looking for the tab I wanted. A tab takes up more space horizontally then vertically, so it makes sense to store them in the most space effecient way.

And, when I do have that random day where I'm editing every file on my site, the list scrolls effortlessly with the hover of a mouse. No more hunting and pecking just because I have more then 7-8 files open at a time.

Reason #4: The built in FTP client is powerful.

Espresso's built in FTP client is more powerful than many (if not all) standalone FTP clients on OS X. In addition to that, it's integrated with the rest of the app so flawlessly that it's simple to keep the server code in-sync with your local copy.

Like many other web developers, I have my own local Apache server installed for testing and development. Then, when I want to test it online, I have to selectively "push" the files to a webserver. That part isn't that hard, just select a few files in Finder, drag them over to Transmit and they're there. The tricky part comes in afterwords.

You now have 2 copies of the same code, one on your local machine, one on the server. How do you keep track of what you edit? How do you know which one is the version with the changes? That's where Espresso's Update, Merge, and Mirror functions come in.

Update:

You've probably already guessed what update does, it takes anything that's changed on your local machine, and pushes it to your web server, without taking into account any changes on the web. It will also remove anything on the remote server that's been deleted in your local project.

Merge:

Merge is where most of the power is in my opinion. It will look at the modification date of files on your machine as well as the server, and make an intelligent decision to update the server with new content, as well as update your local copy with new content. This makes it painstakingly easy to get your most recent work automagically transferred.

Mirror:

Mirror essentially works as the inital upload of your site. It checks the local folder structure and uploads any and all documents that don't already esist on the server, mirroring the local directory structure.

Another thing I haven't mentioned about the FTP client in Espresso, is that it doesn't perform any of these changes immediately. Instead, it displays pertenant information so you know exactly what is going to be done to both the local and remote folders. Oh, and it's one of the fastest FTP clients I've ever used.

Reason #5: It's supported.

Not to point any fingers, but the world of Mac text editors has been surprisingly void of any major updates, except Espresso.

Espresso was released less then a year ago and they've already released a major 1.1 update which adds many features such as Find in Project, a nice new Project Manager, Smart Paste, and much more. If you're going to invest your time in learning the ins and outs of any text editor, you should make sure the developer isn't going to jump ship.

MacRabbit has been around since 2004, and CSSEdit won an Apple Design Award, I don't think they're going anywhere soon.

In conclusion...

There you have 5 reasons I think Espresso is the best web-editor on Mac OS X. I still find myself jumping into TextMate once in a while to work on some Ruby or Python, but I'm confident that the existing Ruby, Rails, and Python "Sugars" will grow to rival TextMate.

To be clear, I was not paid or reimbursed in any way for writing this (favorable) post of Espresso. I purchased, and sequentially fell in love with the app before writing about it.

If you have any thoughts, questions, gripes or additions to what I've written, please leave a comment below.

Permalink…


Notify 2 is a brand new iteration of the popular menubar email notifier by Vibealicious. It includes full IMAP support for MobileMe, Gmail/Google Apps, and Rackspace built in, as well as the ability to connect to a custom IMAP server. In short, it's a full-blown email client that lives in your menubar. These are my thoughts on version 2.

The main Notify view is the inbox, which displays a subset of each unread message. One gripe I have about the app is that there's no option to keep a cache of say, 50 messages, instead of just the unread. This is slighty mitigated by the fact a message isn't marked as read as soon as you select it, you have to press the "Mark Read" button (or ⌘-M.), but I'd still like to have a few read messages displayed.

If you'd like to view the entire message, just press the space-bar and the "Preview" window will open up, displaying the entire message, whether it's HTML or plain text.

Notfy 2 also offers you the ability to compose messages/replys without having to open up Mail.app. The compose view is very simple, which is nice if you just need to send a quick reply, or basic email, but doesn't offer nice text formatting like lists, bold, italic, underline, etc.

The only other thing I'd mention is that Notify doesn't support attachments. At all. It doesn't even put a paperclip in the message view to let you know you should probably open up Mail.app to download the presentation before you email your co-worker back that he forgot to attach it ;) If there was at least a notification that an attachment existed, I think it would be a lot nicer.

Overall though, this is a great app, and at $10 for a pro license, I think it's a great way to move some of the heavy-lifting off of Mail.app, and in to your menubar. Plus, it's a great way to support great independent Mac developers.

Thoughts? Follow-up questions? Have another app you'd like me to review? Feel free to leave a comment!

Permalink…


I had the privilege of beta-testing Tapbots' latest app, Pastebot, and I loved every minute of it. It's a wonderful app and lives up to the high standard that they set with their first two apps. Below, you'll find my review of the app, as well as info on how to win an iTunes promo code for it.

Review

The app's premise is simple, a easy to use clipboard manager for your iPhone. You can copy text or images in one app, then open up PasteBot and add markup to text, modify, crop, or rotate images, and much more.

In addition to the wonderful interface to handle your iPhone's clipboard, they have also developped a simple Mac sync utility, allowing you to sync your clipboard between your Mac and your iPhone, whether that means images, URLs, or plain text.

There are so many awesome things in this app that you won't even realize until you start playing around with it. One of my favorite parts of the app is when you first set up your iPhone to sync with the desktop. We've all seen Bonjour syncing, but TapBots actually made it cool. (I'm intentionally not telling you what's cool about it. *teaser*)

Giveaway

The folks at Tapbots were nice enough to give me a single promo code, and I've decided to give it away to one lucky person. The rules are simple:

  1. Leave a comment with the name of a Mac application you'd like me to review on this blog before 11:59PM MST (-7) today (12/15/09).
  2. Make sure you enter a valid email address so I can send you the promo code if you win.
  3. There is no 3!

I'll choose a comment using a random number generator and update my Twitter account when I choose a winner, which should be sometime tomorrow morning. Thanks for reading! And good luck!

Congrats to Andre! You've won the promo code!

Permalink…


I participated in SiteSprint II this holiday season, which basically means I commited to redesign and launch my site in 30 days. I started with 57 others on the 15th of November, 29 days ago, and I'm finally finished. This post will hopefully give you a peek into what I did when approaching the decisions behind, and some of the insights I've gained from this new design. Enjoy!

Initial Thoughts

My primary goal in redesigning was to develop a nice, easy to read dark theme. I chose a very similar color-scheme to mclaughlin.me v2 (pictured below), but overhauled the typography.

In mclaughlin.me v2, I played around with the @font-face CSS property, and decided that it's not quite mature enough for my tastes. Because of that, I started looking for nice, widely used (read: web-safe) fonts that complimented each-other. I settled on Myriad Pro (defaulting to Helvetica) for headers, and 10pt Cambria for the body copy.

After I had the typography figured out, the rest of the design fell into place really quickly.

Templating

At this point, I took my ideas into Photoshop, and had to make some interface choices. One of the key features of the design, is the minimal, but always-there header. Along with that, I decided to make the sidebar persistant (a choice that I'm not quite 100% on, but it's OK for now.)

I sliced some PNGs by hand, and mocked up the HTML/CSS until I was satisfied. I added a couple features that were never part of the PSD, like the per-post share links below the date. (The gorgeous icons are by Komodo Media.)

Coding

Accompaning the complete redesign of the front-end, the back-end was rewritten from the ground up. This blog isn't powered by WordPress, or ExpressionEngine, or even TextPattern. It's powered by a simple PHP publishing platform that I wrote because I wanted complete control over exactly what took place behind the scenes.

Among the features that were added to the rewrite, were some awesome short URLs for the posts. Granted, they're not as short as is.gd or u.nu, but they're personal, which is worth the extra charectars to me. The short link for this post is http://mclaughlin.me/2/, where '2' is simply the post's unique ID.

There are numerous other under-the-hood changes that you guys will never see, but hopefully the site is more responsive as a result of my optimizations.

Wrap up

There are still many additional things that I need to do to have the site at 100%, but then again, there're always improvements to be made, right? You've got to ship the code sometime.

As always, feel free to leave your comments. I really appriciate all the feedback I get, whether it be negative or positive (as long as it's constructive.)

Permalink…


The dock is one of the central features of Mac OS X, and is very useful right out of the box, but there are several tweaks (hacks) that you can use to increase your productivity on OS X. This post will cover the ones I find the most useful.

Dock Spacers

These help you organize your dock into easily identifiable segments. For example, on my dock, I have Finder, spacer, Web and Communication Apps, spacer, Web Development apps, spacer, Running apps. This makes it easy to identify which section each app would be in.

To accomplish this, you simply need to type (or copy) this line into your Terminal:

defaults write com.apple.dock persistent-apps -array-add \
'{ "tile-type" = "spacer-tile"; }' && killall Dock

You can create multiple spacers at the same times, (by omitting the second line) but they won't show up on your dock until you execute killall Dock (which restarts your dock).

Transparent Icons

I've written about this before, it causes a hidden application icon to be semi-transparent, showing you that you have that application hidden.

Again, a simple trip to the Terminal will give you this effect.

defaults write com.apple.dock showhidden -bool true \ 
&& killall Dock

Use 2D Dock in (Snow) Leopard

If you don't like the look of the 3D dock introduced in Leopard, but would like to keep it on the bottom (the left and right docks are automatically 2D), this line in the Terminal makes the switch:

defaults write com.apple.dock no-glass -boolean YES \ 
&& killall Dock

Use the New List Style in Snow Leopard

In Snow Leopard, Apple added a secret, "experimental" list view for Stacks. To enable it, type (or copy) this line into the Terminal. Thanks to Abraham Vegh for reminding me of this great tip!

defaults write com.apple.dock use-new-list-stack -bool YES \
&& killall Dock

If you have any tips on using the Dock in Mac OS X, feel free to contact me and I'll happily add it with a link to your site.

Permalink…