TextExpander Wants

The cloud-based cross-platform release of TextExpander has been around for over a year having launched in early April 2016. Whilst there has undoubtedly been a lot of progress on the apps (the Windows version in particular) the promise of the cloud platform I still don’t think has been realised and there’s still a lot of scope for improvement.

In this post, I’m offering up a handful of ideas of where I’d like to see an improvement or offering from TextExpander. Most of these have already been shared with TextExpander, but the more consumer interest in a feature the more likely they’ll be to implement it and the sooner they’ll consider doing so.

Here are five of my ideas for TextExpander enhancements in no particular order.

1. More cursor position options

The first suggestion I’m going to make is for additional options on cursor positioning after a snippet had been expanded. TextExpander snippets can specify a specific position or multiple single cursor key navigations (up/down/left/right).

I’d like to see more options available. These could include options to navigate to the start or end of an adjacent line at the end of a snippet expansion. It could also be used to automatically place delimiting snippet parts at different ends of the line. Useful for say commenting out a line in XML/HTML or adding a task paper attribute from any area on the line.

As a result, I’d like to see options to move by word (equivalent to CTRL+cursor key / OPT+cursor key) and to specify jumping to the start or end of lines (HOME / END).

2. External push updates to snippets

Currently, if you need some information from an online source then you probably have to consider scripting it on the Mac to use it in a TextExpander snippet. It’s effectively a pre-fetch but it leaves iOS and Windows users high and dry.

Now if you are so inclined you can use a Mac to schedule a script that will run and then update a TextExpander snippet using AppleScript and sync that back to the cloud storage so everyone is up to date.

But this is a cloud system. The ideal solution should be to use web-based triggers to update the cloud-stored snippets directly. There’s the potential for a whole ecosystem around API integrations and triggers to provide near-instant updates through push technologies. IFTTT and Zapier are obvious starting points, but I’m sure there are many more.

Push updates would allow for quicker expansions and updates to devices that could not easily fetch information themselves.

3. Version History

Whilst full version control would be an ultimate goal, a simple version history would be really useful. Consider a couple of scenarios.

Perhaps you have an e-mail signature snippet that you updated to include details of an upcoming annual conference you attended. A year later you would like to revise your signature snippet use the same format.

Currently, you would have to go back and check out your sent e-mails and then copy and paste the details into your snippet. If however, you had snippet version history you could restore/copy it into active use.

From a team perspective, it becomes even more useful where there are multiple users who might administer a snippet. Being able to recover an old snippet that someone else has updated where you might not have an out of system back-up copy available is even more useful.

This would also give you a way to recover from update failures from any automated snippet updates that might be incurred from the previous suggestion of external push updates to snippets.

Cloud storage of snippets should make this a viable enhancement and honestly, I’m surprised not to have seen this introduced already.

4. Validity Dates

Building in a sense of version history is the idea of validity dates. In the example above regarding the conference info in the e-mail signature snippet, this could be prepared ahead of time if TextExpander supported the specification of date/time ranges on snippets. This means that you can set and forget it and not have to swap over to the new content at exactly the right time.

This functionality is technically possible right now by using multiple snippets and a master JavaScript based snippet (to make it multi-platform) that is scripted to choose to insert and expand another snippet based on the current date. A simplified version could be achieved with a single snippet but this restricts to an extent what can be done with the expansions.

Below is a fairly simple example of validity dates based on JavaScript & multiple snippets. Even with just a three options and a couple of date ranges you can see how this can quickly become complex to manage.

Perhaps creating a new type of date-optional section would be even more flexible if a little more complex for the average user to take advantage of.

5. Windows & Shell Scripting

The final area is the one I think I actually passed to Smile (the authors of TextExpander) first. I make judicious use of scripting and automation throughout my use of technology. After all, that’s what it’s for.

Whilst most of my scripting in TextExpander is in JavaScript, not everything is suited to JavaScript. Certainly, on my Mac, I have a number of shell scripts that I use to automatically retrieve and output information. These are primarily written in Bash, Perl and AppleScript. These are not currently options for me on my Windows PC but I could certainly use DOS batch, VBScript and PowerShell to retrieve a lot of equivalent information. Unfortunately, right now, TextExpander does not support anything other than JavaScript on Windows.

Obviously, I’d like to see the same level of shell integration as on the Mac. Being able to shell out and get some information back which can be inserted automatically would be fantastic.

More than this though I’d also like to see something to help scripters determine which flavour of operating system (OS) is being used. Imagine the TextExpander JavaScript object being expanded to include an OS indicator. This could be used to expand another snippet (see validity dates above for a similar conditional selection of a snippet) that is specific to an OS and shells out to a script appropriate to that specific OS.


Hopefully, at least one of these ideas appeals to you and might be something you would consider supporting. Please reach out to Smile via their TextExpander Contact Page to let them know what you would like to see included in future releases of TextExpander. Also please share this page on social media or directly with other TextExpander users to get their support of these potential features and/or ideas of your own. In fact, why not add any ideas of your own as a comment to this post and hopefully others will support your suggestion(s) too.

Author: Stephen Millard
Tags: | textexpander |

Buy me a coffeeBuy me a coffee

Related posts that you may also like to read