Smarter Typing Through Text Expansion

text expanderIn last Friday’s post on developing an electronic communication policy, Ethan mentioned that he was considering adopting SmileOnMyMac’s TextExpander to respond quickly to student emails. This was a fortuitous (dare I say well-planned?) comment, as I was working on this post even as I read his article. TextExpander has become such an integral (and even subconscious) part of my routine that, quite honestly, I often forget it’s not a part of my computer’s operating system.

There are quite a few text expansion applications out there, including Texter (for Windows), Activewords (for Windows), Typinator (for OS X), and TypeIt4Me (for OS X). The latest version of OS X even includes rudimentary text substitution (though the “Language and Text” preference pane), though it’s less robust that these other solutions. I’ve been using TextExpander for several years now, and so will draw my examples from it, but the suggestions I make should apply across applications and platforms (in other words, I hope this won’t be a Mac-only post).

Why expand your text?

So what exactly does a text expansion application do? In short, it’s an extended clipboard where you can store and access lines, paragraphs, and even pages of frequently-used text. TextExpander automates dull or repetitive typing tasks so that you have more time to think about and write new things.

TextExpander in action

[NOTE: All images in this post are linked to larger versions.]

We like to think of academic work as endlessly fascinating and new (and it is!), but the fact is that we repeat ourselves all the time: in emails responding to common student questions like those Ethan described; in periodical announcements for activities and clubs; in letters to journals, institutes, or grant foundations; in letters to applicants to our journals, institutes, or grant foundations; even in grading. Above you can see the boilerplate description of my Hawthorne project that I keep in TextExpander. I use this as a template whenever I need a short description of the site in a paper proposal, grant application, or the like.

I don’t want to spend much time describing how to use TextExpander. SmileOnMyMac provides a wonderful series of tutorials that will show you how the program works. The short version is this: while TextExpander is running, you can access your snippets through a menu bar icon, through the application icon in your dock, or through typed abbreviations. You assign these abbreviation in TextExpander, and afterward whenever they’re typed (in any program), TextExpander will automatically expand the abbreviation into the full snippet.

TextExpander gives you lots of control over how these abbreviations work: whether they’re case sensitive, whether they work in all programs or only a select few, etc. (Don’t assign abbreviations that might be parts of regular words, or you’ll have text expanding when you don’t want it to). I typically assign abbreviations that are case sensitive, and use combinations of capital and lowercase letters that aren’t found in the wild. So for me, “RcC” expands into my personal email signature, while “rCC” expands into my academic/professional email signature. All of the snippets I use regularly have abbreviations assigned to them. Typing these quickly become habitual, and I save minutes every day typing abbreviations instead of repetitive lines or paragraphs of text.

In addition to plain text, snippets can include formatted text, images, or even AppleScript or Shell Script (these latter two are, I confess, beyond me). The newest version of TextExpander even allows you to insert “Fill-in” placeholders within a snippet:

using placeholders

When you insert a snippet with one or more “Fill-in” placeholders, a box will pop up that prompts you for the correct text in each spot. This feature is very new, and I’ve only played with it some, but I can see it further streamlining my day as I update templates with “Insert X Here” to include automatic Fill-in placeholders.

I’ve spent long enough explaining TextExpander. I want to turn now to some academic use cases for text expansion.

1. Selling yourself and your work

I often write to people to whom I need to quickly introduce myself or my work. Retyping these introductions wastes both time and mental energy. Instead, if I need to describe my digital Hawthorne project I type “CRspiel” in mail,

and TextExpander automatically replaces “CRspiel” with the full, saved description of my project:

I find that every time I redescribe a project, I reconceptualize it in the process. It’s probably worthwhile to do this every few weeks or months, but it’s a waste of time and energy to do this every time I send an email about it. Instead, I keep a series of snippets in Text Expander: a personal bio, an academic bio, a description of my dissertation project, a description of my digital project(s), and separate overviews of my teaching and scholarship. When I teach a new class I also add its course description to this same snippet folder. All of these descriptions are then close at hand when I need them.

2. Responding to student (and teacher and administrator) requests

This is the use case that Ethan already hinted at. I get quite a few email every day. It’s surprising, upon reflection, how few responses will address all of them. Which is to say, it’s surprising how few questions get asked so frequently. TextExpander allows me to manage my email much more efficiently, responding to common questions with a few keystrokes.

For instance, this year I’m the director of UVA’s Writing Center. Despite the fact that our online scheduling system is very easy to use, I get emails from students at least a few times a week asking when we have openings. Rather than responding to each of these emails, “The University of Virginia Writing Center uses an online scheduling system, etc., etc.” I instead type “WCinfo” and TextExpander fills in the rest. All I have to do is change “Dear Student” to include the name of the student to whom I’m responding (this is a spot where TextExpander’s new Fill-in feature will shorten an already short process), and then hit send.

3. Grading

It’s a well-known secret that not all student papers are rhetorical snowflakes, and that our comments on different students’ papers are often variations on familiar themes. This shouldn’t surprise us—students at the same grade level or in the same class will invariably struggle with similar problems and need similar advice.

Once I accepted this truth, I started using TextExpander to speed up my commenting process. I keep a “grading” folder in TextExpander. I add to it boilerplate comments for typical student writing issues. When I’m commenting on a batch of papers (in the margins in Word or on a numbered “comments” sheet in Scrivener or Google Docs), I use TextExpander to pull in boilerplate comments when those common issues arise.

I want to tell this student, for example, that his in-text citation can be shortened. So I type “citeSimple,”

and TextExpander replaces “citeSimple” with my boilerplate comment about in-text citation, complete with a link to the page on Purdue’s OWL about MLA citation:

I can then tweak this boilerplate comment as needed to fit the specific paper I’m evaluating.

I don’t have the abbreviations memorized for all of my commenting snippets; there are simply too many, and I don’t use them every day. I usually use the menubar to access my commenting snippets while grading, which still saves significant time over rethinking and retyping them with every paper. I’ve also considered creating a separate grading folder for each of the classes I typically teach, so that I can separate common comments that only apply to certain specialized courses from those that apply broadly across the student writing I evaluate.

If you decide to use TextExpander for commenting on student papers, it’s important to discuss your grading process with your students before handing back the first batch of papers (a discussion I highly recommend having in any case). For me, I’ve found that honesty works wonders. I say, “You’ll no doubt notice similar wording in my comments on your papers. This won’t be because I don’t read each one thoroughly. This will be because you’re students in the same class and you’re working on similar skills.” Students take such explanations in stride, especially when they see that you are paying attention to what their individual papers most need. Indeed, using TextExpander has made it possible for me to comment in more detail than I likely would were I creating each comment from whole cloth.

4. Markup

If you work on digital projects (for research or teaching), text expansion can dramatically speed markup.

Have a standard TEI header that you use for all the documents in a digital humanities project? Create a snippet from the header, and you can insert it with a click of the mouse or a few keystrokes. Always forget to close your paragraph tags? Set TextExpander so that each time you type <p> it will automatically append </p>. You can even tweak the snippet so that TextExpander will place the cursor in between the tags after expanding (such advanced options for snippets are found in the drop-down menu circled below):

A number of popular web design programs allow users to build snippet libraries for just this purpose: Panic’s Coda and MacRabbit’s Espresso both come to mind. However, managing snippets through a system-wide text expansion program means I can access them from any program in which I happen to be working. My markup snippets work when I’m tagging a Hawthorne story in Espresso, but also when I’m writing a WordPress post in Chrome.


TextExpander includes a pane called “Statistics” that details how many snippets it has expanded since I installed the program, how many characters it has typed, and how many hours of typing it has saved me. Unfortunately, I reinstalled my operating system recently, and so don’t know precisely how much time TextExpander has saved me in the years I’ve been using it. However, I can say that in the weeks since I reinstalled it the program has saved me 6.60 hours of typing (and I know that the count was quite a few days of typing before I reinstalled).

For me the hours TextExpander saves justifies the $34.95 price tag. [Edited to Add: Amy Cavender points out in the comments that SmileOnMyMac offers a $10 educational discount, so Chronicle readers should be able to buy TextExpander for $24.95] Prices vary among other text expansion programs. SmileOnMyMac offers a 30-day, fully-functioning trial of TextExpander, so try it out and see how much time it saves you.

If you’re an iPod touch/iPhone user, SmileOnMyMac also sells TextExpander Touch for $4.99. This app will sync libraries with your desktop application, and allow you to cut-and-paste lengthy snippets instead of typing them on the iPhone’s tiny virtual keyboard. A number of iPhone apps have built-in support for TextExpander touch, and can access its snippets without switching applications.

Obligatory Bonus Dropbox Tip

ProfHacker readers have heard quite a lot about the brilliant folder-synching program Dropbox. In my previous posts on Things and Scrivener I described using Dropbox (and some hackerish tinkering) to sync these programs between multiple computers. In contrast to Things or Scrivener, however, the latest version of TextExpander has Dropbox syncing built right in:

For me, this means that it’s very easy to build one library of snippets that I can then use on my iMac at home or my MacBook at work. Moreover, because Dropbox support is built in I can run TextExpander simultaneously on both computers while sharing the snippet library. Kudos to SmileOnMyMac for building Dropbox syncing into their software.

Return to Top