As a writer, one utility that I simply can’t live without is some sort of text expansion app. These tools are simply invaluable to my workflow and save me hours of typing every month. I personally am a huge fan of TextExpander. It’s my go to text expansion app and it simply blows away the competition. I wouldn’t dream of switching.
That being said, I realize that not everyone can justify dropping $34.95 for a snippet expander. Newbies to this specific app genre might want to cut their teeth on a free app, so today we’re going to compare two such apps from the Mac App Store: xType (formerly Presto) and DashExpander. How are these two apps different? Which is the best for your needs? Read on to find out.
Aren’t They All the Same?
In the end, text expansion utilities all have the same basic format. In order to save you time, they watch what you’re typing in any app and when you enter certain key combinations, the small snippet of text is automatically expanded into something larger.
For instance, let’s say you have a crazy long email address that you hate typing out manually: email@example.com. With a text expansion app, you could set it up so that every time you type “em#”, it will be replaced with your email address.
As you can imagine, once you have a bunch of these types of macros set up, you really start to notice the benefits. This is especially true of longer snippets. I have HTML and CSS code, dummy text and even entire emails in TextExpander.
Both of the apps that we’ll look at perform this same functionality, so you might be tempted to think that all text expansion tools are created equal. Unfortunately, that’s simply not the case. Some have more powerful and advanced features such as the ability to incorporate clipboard contents and precisely position the cursor, others are implemented as a menu bar only item or even a dock only item. Even the UI between the various options can vary pretty dramatically.
For this reason, choosing the right text expander for your needs is an important decision. Let’s jump into the two apps we’re examining today to see which is better for you.
Right off the bat you’ll find a major difference between DashExpander and xType. DashExpander is a menu bar app that doesn’t appear in your dock. Any time you need it, you can just hit Option+Space to bring it up.
xType on the other hand is a normal app that sits in your dock coupled with an invisible background process. Even if you quit the app, the background process will still keep running and your snippets will keep expanding.
The clear winner here for me is DashExpander. I’m used to the idea of text expansion preferences residing in my menu bar and don’t like devoting space in my dock to it.
It’s also a little odd to know that even when you quit the app, xType is still going, meaning you have to bust out Activity Monitor if you really want to kill it. This format has a clunky feeling to it that I don’t connect with.
Design and UI
As a reviewer, I always try to be respectful to every app that I try, no matter how bad. That being said, I simply can’t skirt around the fact that the DashExpander interface is a train wreck.
The cat is super creepy (I don’t like his head in my menu bar either) and those thick black borders are just horrible. I can see how they might have been going for an Alfred like appeal here but I think the designers really missed the mark.
While DashExpander’s interface is extremely customized, xType once again takes the opposite route, this time to its credit. The interface uses the default Lion UI elements and doesn’t try to be fancy in any way. The result is something simple and straightforward.
The winner for this one is obvious. Maybe you’ll like DashExander if you’re a cat person but otherwise you’ll probably think that xType is the better visual experience.
Setting Up Macros
Now that we know what each looks like on the surface, let’s dive in and see how easy it is to set up and browse through macros.
With DashExpander, your keyboard shortcut actually brings up a search field that lets you search through the existing snippets. If you’d like to add a new one, the area for doing so is right underneath the search bar.
Predictably, you can quickly enter the abbreviation to be expanded and the resulting text, but there are some other cool features here as well such as adding tags and choosing the location for the snippet file for easy Dropbox integration.
To find or edit a macro in DashExpander, you can either use the main search bar or the tag cloud on the left side. Both of these options will bring up a list like the one below where you can view and edit existing macros.
In xType, this process is a lot more like other apps that you’ve tried. For starters, the window for adding and browsing macros is one and the same.
To find a specific macro, you can either use the search bar or simply browse through the list. To add one, just hit the little plus button at the bottom. You can also organize your snippets into groups to keep them nicely organized.
This one was a close call. I get what DashExpander is trying to do with the search-driven interface and upfront new macro form, the attempt is innovative and I appreciate it.
However, the single window format that shows you everything at once feels quicker and more intuitive in this case. There’s a reason it’s a fairly standard UI pattern: it works. Also, as much as I dig tags, I don’t think they replace a proper folder system and I really liked having this ability in xType.
I’ve already mentioned a couple of DashExpander’s custom functions such as tagging and Dropbox integration. The main trick that it has up its sleeve though is placeholder functionality. This is a really nice feature that you’ll definitely miss if you choose to go with xType.
Basically, this feature allows you to insert variables into your snippets that can be decided upon at the time of expansion. These are created using a double underscore syntax. So if you insert __name__ anywhere in your macro, when you expand that macro you’ll get the option to fill in your name.
In the example above, the entire sign off is written automatically except for the name portion, which I’ve chosen to insert manually.
In addition to placeholders, DashExpander has a few really useful custom data types that can be inserted: @clipboard inserts the clipboard contents, @cursor positions the cursor, @date inserts the current date and @time inserts the current time.
xType doesn’t support placeholders, but it does support the time and date custom data types. It also has a few tricks of its own. For starters, you can format the text in a macro however you like and choose whether or not that formatting is carried over when the snippet is expanded. You can also choose whether or not the snippet is case sensitive. Another great feature here is the ability to exclude apps on a per-snippet basis. Finally, xType can insert images in addition to plain and rich text.
xType has a lot going for it with custom date and time macros along with rich text formatting and image insertion, but DashExpander really knocks it out of the park with placeholders and even more custom data types such as clipboard and cursor insertion point.
Both of these apps work as advertised and don’t seem to have any major bugs or quirks. They both save you lots of time and expand your macros in an instant, so which should you download?
The results above are split half and half with both DashExpander and xType taking two wins. However, if we evaluate where each wins, you can easily choose the option that’s best for you.
If you want simple text expansion capabilities in an easy to use interface, go with xType. It’s much easier to look at, works like and charm and has the bonus of working with images.
However, if you want something that’s closer to the advanced functionality you’ll find in apps like TextExpander, and can get past the hideous interface, DashExpander is the app for you. For me, the placeholder and custom data type features really bring this one to the front of the race.
As icing on the cake, there’s an alternate version of DashExpander, simply known as Dash, for coders that supports syntax highlighting (Dash is free also). If the other features hadn’t snagged me, this would.
Ultimately, if I could take the features and menu bar format found in DashExpander (or even better, Dash) and insert them into the xType interface, I’d do it in a heartbeat. Given a choice between the two though, I’d probably go with the functionality boost provided by DashExpander. At least until I could no longer stand the ceaseless stare of the evil floating cat head in my menu bar.
TextExpander Is Still the King
It’s important to note that even with all of the great features inside of DashExpander, TextExpander still comes out on top. It simply has a ton of functionality: more custom data types and placeholders, stat tracking to see how much time you’ve saved, the option to choose between menu bar and dock modes, iOS apps with Dropbox sync, the list goes on and on.
What Do You Think?
Now that you’ve seen our analysis of these two applications, it’s time for you to chime in. If you had to choose one free text expansion utility, which would it be?
Would you go for the simple and straightforward xType or the super functional but aesthetically impaired DashExpander?