Agile Tortoise

Drafts 3.6.6

Drafts and Drafts for iPad 3.6.6 are now available.

  • [Fix] Better handling of unexpected values in drafts export.
  • [Fix] Repaired corrupt button background asset.

Get Drafts and Drafts for iPad on the App Store.

Drafts 3.6.5

Drafts and Drafts for iPad 3.6.5 are now available.

  • [New] Bulk Drafts export feature. In Settings > Drafts Export. Allows the bulk export of drafts, filtered by inbox, archive, pinned or all, to CSV or JSON export files for periodic backup, or processing in another system. This is a bit of an experimental feature, input on formats is welcome.
  • [Fix] Improved handling of sync conflicts on current draft.

Get Drafts and Drafts for iPad on the App Store.

Phraseology 2.0.4

Phraseology 2.0.3 is now available in the App Store.

  • General performance improvements and bug fixes.
  • Added “scroll to top” (up arrow) button in upper left.
  • Fix for back/forward word keys ignoring special characters (umlats/accents, etc.).

Get Phraseology on the App Store.

Tally 1.3.3

Tally 1.3.3 is now available. Tally is also now a free app.

  • New: /increment and /decrement URL schemes now accept “retParam” parameter to provide a name for the value parameter appended to callbacks. Details in documentation.

Tally is available for free on the App Store!

Drafts 3.6.3

Drafts and Drafts for iPad 3.6.3 are now available.


  • Fix for delay displaying the “new draft” options when pressing and holding the “+” on the iPad version.
  • Fix for link text dissapearing (actually being set to black) when disabling link mode while using the dark theme.
  • Update to Facebook SDK to avoid crash in certain authentication circumstances.
  • Misc. tweaks.

Get Drafts and Drafts for iPad on the App Store.

Drafts 3.6.1

Drafts and Drafts for iPad 3.6.1 are now available. All the great new stuff from the 3.6.1 release (Google Drive actions, etc.), plus a few fixes…


  • Background App Refresh could cause sign-out issues with sync.
  • Extending text selection up from the bottom did not scroll properly.
  • Extended keyboard word skip buttons not recognizing special characters (accents, umlauts, etc.).

Get Drafts and Drafts for iPad on the App Store.

Drafts 3.6

Drafts and Drafts for iPad 3.6 are now available, some great new stuff in the release!

Google Drive Actions

Create an unlimited number of custom Google Drive actions. Similar to Drafts’ existing Dropbox and Evernote actions, you can now create/replace/append/prepend to text files on your Google Drive!

A built-in “Save to Google Drive” action will simply write to a Drafts folder in your Google Drive with a timestamp file name. Visit Settings > Custom Actions > Google Drive Actions to create customized actions. Read the docs for more details, or try these example from the Action Directory as starting points:

A couple of notes:

  • Google Drive actions work only with text files, not documents or spreadsheets. We are looking into support for additional file types, but these require separate APIs and access for handling structured documents.
  • Google Drive actions can currently write only to text files in the root of your Google Drive, or to folders directly in the root folder. There are technical reasons for this, as Google Drive’s API would require a significant number of additional HTTP requests to build the location of nested folders.

Background App Refresh Support

Drafts sync now supports background refresh, to keep you current between the iPhone and iPad versions.

Auto-Backup of Actions

A new “Enable Auto-Backup” option is available in Settings > Action Backup and Restore. If enabled, Drafts will backup your actions and settings automatically every couple of days. This is a good safeguard to enable, especially if you alter your actions regularly.

New Clipboard Actions

“Append to Clipboard” and “Prepend to Clipboard” actions. These are potentially handy in a number of workflows, but also useful for, say, merging several drafts by appending them to the clipboard, then creating a new draft from the clipboard.


  • Issue that could result in losing a synced change if you were already editing the draft when an updated version arrived.
  • Fix for issue with Terminology and Phraseology menu items not working on selected text in the first line of a draft.
  • Other misc. fixes and improvements.

Get Drafts and Drafts for iPad on the App Store.

Phraseology 2.0.3

Phraseology 2.0.3 is now available in the App Store.


  • General performance improvements and bug fixes.
  • New: Additional external keyboard commands. Phraseology now supports the following keyboard shortcuts when using and external bluetooth keyboard:
    • Cmd-N: New document.
    • Cmd-B: Markdown bold (adds ** or wraps selection with **selection** if text is selected).
    • Cmd-I: Markdown emphasis (adds * or wraps selection with selection if text is selected).
    • Cmd-H: Markdown header. Adds # at beginning of current line. Use more than once for subheads.
    • Cmd-L: Markdown link. Adds if no text is selected, or selection if selection is present.

Get Phraseology on the App Store.

Phraseology 2.0.2

Phraseology 2.0.2 is now available in the App Store.

This update adds a cool new “Show Spelling Issues” option in syntax highlighter. When used, possible spelling errors (based on the same spell checking used by auto-correct) will be highlighted in red. Tapping on one triggers the suggestion menu for replacements. The spelling issue highlighting cannot be used at the same time as part of speech highlighting, so will disable other highlights when turned on.

Other Changes

  • Change: Smoother scroll/cursor handling.
  • Fix: Improved accuracy of readability scoring.
  • Fix: Fix for “Te:Replace” Terminology integration not working for first word in a document.

Get Phraseology on the App Store.

Mimic Google Chrome’s X-callback-url Support in Mobile Safari

Not sure whether to call this a tip or a hack. Either way, this post demonstrates a way to mimic Google Chrome on iOS’s x-callback-url support in Mobile Safari through the use of some javascript and an intermediate static html page.

For those not familiar, it is possible to use x-callback-url support in Google Chrome on iOS to open a URL from another app, and have Chrome present a “Back” button to return to the app you opened the URL from. Safari does not offer this level of integration.

To mimic this feature in Safari, I have created an intermediate HTML page with a little javascript that can take a “url” and “x-success” parameter. If it gets these, it will load the “url” in an iframe that displays full screen, and present a “< Back” button in the top left of the screen, which when tapped will open the URL in the “x-success” parameter.

Here is a sample Drafts action that will use this page to open a URL from the text selection (or entire draft if no selection is made) using this technique.

The action works looks like this:

Which consists of three parts:

  • ** : URL to the static HTML page. Free free to copy this page, modify it, host it elsewhere.
  • url=[[selection]] : url parameter passed to the HTML page will has javascript that will look for this parameter. It should be a URL encoded URL, which will be loaded in an iframe. In this example I am using a Drafts’ tag that returns the current text selection or the full draft if there was no selection.
  • x-success={{drafts://}} : The URL encoded URL to open when the “< Back” button is tapped.

The page also automatically adds an “X” link that will close navigation directly to the url in the URL parameter…which is basically a “Cancel” button.

This example could easily be adapted for use in Launch Center Pro, Mr. Reader or other apps that support custom actions.

Hope it’s useful to someone. It is certainly a bit of a hack. One caveat, some websites pass the “X-Frame-Options” header to prevent them from being loaded in iframes, and this hack won’t work so well for them.