Thursday, August 25, 2011

Supporting TextExpander in My Application


With version 2.0, the Massage Therapist Notebook now supports TextExpander snippets. A great deal of information about a session can be recorded just by dragging stones onto various parts of the body images. However, notes are handy as well. Because of the way that the iPad deals with special characters (like colons and semi colons that are hidden on an auxiliary keyboard) we realized that entering a lot of notes was going to be a big problem. Additionally, when customers want to create an expansive narrative either for themselves or for an insurance claim, the MTN would stand in the way rather than being helpful.

For the first version, we added a single text macro of .SOAP. that will create the text of
in any note field. This boilerplate text is to help those practitioners who use the SOAP method to document their sessions. However, the CARE method is also in use and in other languages, neither of these is used widely. We realized that we needed a way for anyone to be able to create a series of sentences or paragraphs that they could call up from the application.

That just happens to be the primary function of the TextExpander application.

Setting up TextExpander:
On a desktop computer it is simple to have one program that makes itself available to all other programs. However, on an iOS device (like an iPad) this is much more difficult. The application providing the service has to be written in a particular way and any application that wants to consume the service must also be written in a particular way. Fortunately, to set up TextExpander for sharing a customer just needs to change one setting in TextExpander. They need to turn "Share Snippets" on.
The Massage Therapist Notebook is always checking to see if TextExpander is running. If Text Expander is running then the Massage Therapist Notebook lets it monitor all of the notes as they are typed. When a macro snippet is typed then TextExpander will immediately replace it and even provide a nice whooshing sound to let you know a change has been made (it would be nice if autocorrect did something like this).

Making a snippet:
To make a snippet in TextExpander, we just need to decide on a character sequence we will type and the words that will replace the sequence. Here we have made a snippet in TextExpander to describe neck injuries. For longer paragraphs and phrases, TextExpander supports copying and pasting from other locations. For those people who have the desktop version snippets can be created and shared even faster. If you create a lot of snippets, it would be wise to create a naming convention so that you don't accidentally type one when you don't mean to and so that you can remember all of them.

Adding the snippet to a Note:
Type the Macro
For our example snippet of nkinj1 we add the snippet just by typing. As soon as we type the last character of the macro name (as soon as we type the 1) we hear the whooshing and the new phrase appears. Woosh!
Using the SDK:
Following along with the sample application in the SDK that Smile! provides couldn't have been easier. We simply added a few calls to our delegates for the note taking screens. We were even able to preserve our little .SOAP. macro because as soon as TextExpander does its thing it hands control right back to our program. We are so excited about this integration. We hope our customers find it as valuable as we think they will.

Wednesday, August 24, 2011

Massage Therapist Notebook 2.0 Submitted for Review

We have submitted the latest version of the Massage Therapist Notebook to the store for review. Hopefully it will get approved without requiring any major changes.

There are three big, new features of this app. The first is support for Text Expander. We are excited about this and the SDK that Smile provided made this really easy. In essence, Text Expander will let you type out words, sentences or even whole paragraphs and then assign those to a set of keystrokes.

In the first versions of the app we rolled our own macro (go ahead and type .soap. into any of the session notes, stone notes or clients notes). However, we realized that this was going to be a never ending issue. Thankfully we found Text Expander.

The next is a change in how we draw the stones. When a stone has an associated note (do a long press on any stone to add a note) it will now get a little halo instead of the stripes icon. We have done this because we are working on setting up a symbol editor in a future version so the therapist can add any symbol they desire to the stones. We are also considering letting a therapist edit the colors of the stones themselves, but one thing at a time. We have also added enough new colors so that there is more variety.

We have added a PDF export of any session as our final big feature. This will create a pdf with the body figures and their stones, all of the stone notes and session notes as well as any client notes. This was by far the hardest new feature to add. Once the PDF is created it attaches itself to an email. In future versions we will probably have to rework this part the most so that it is more usable.

There were some other minor bug fixes and UI enhancements. The most common question we got over these past few months was "how do I delete clients". The functionality has always been there but now we've made it more obvious.

What didn't make it into this version:
Client intake forms. This is going to take some thought since there are lots of different ways to make intake forms and lots and lots of questions that might be specific to a single practice.
Multiple body figures. We want to have the ability to have just hands or feet and different body figures with pressure points and other markings. It just wasn't ready.
Stone editor. As mentioned above, we are shooting to have more customization over the stones.
Universal (iPhone) version. We want the product to settle down just a little before we go adding this.