Synchronising notes with Simplenote, a note-taking app for iPhone/iPad with web synchronisation. Tinderbox synchronises with the web app and the web app with iPhone/iPad. The web app is free and device apps have free (with unobtrusive ads) and pay-for versions. Integration uses the Simplenote v2.0 API giving support for tags and improving reliability.
Simplenote sync, and the account details to use are set in the Document-level Preferences' Simplenote tab.
If Simplenote syncing is enabled for a document, Tinderbox syncs when the document is opened and saved. Notes synched to/from the web are placed in a root-level container called 'Simplenote'. Do not move this container whilst synching is activated as the synch process will see no notes where the container should be and will delete all Simplenote notes.
Simplenote support is added to a Tinderbox document by opening Document Preferences, Simplenote pane. Tick the 'Check Simplenote' box and enter the Simplenote account name (typically an email address) and password. It is also possible to filter the notes that will sync by nominating one or more Simplenote tags in the preferences.
Tinderbox will download copies of that Simplenote account's notes to a root-level container named 'Simplenote' (case sensitive) whenever the document is reopened or saved; the container is made if not already present. On-demand synching from TB is achieved only by saving the host TBX.
New notes and notes that have changed on an iPhone or iPad and been web-synched will be added as needed. Notes deleted from an iPhone or iPad and web-synched are removed from Tinderbox's Simplenote container.
Simplenote notes do not have separate titles, as do Tinderbox notes. Tinderbox attempts to propose a useful title from the Simplenote text.
- If the note received from Simplenote is short, TB puts the Simplenote text in both $Text and $Name.
- For longer notes, the full text goes into $Text, and the first sentence or line goes into Title. When syncing, TB syncs (only) the text.
- If a note is made in the TB Simplenote container and it has no Text, Tinderbox uploads the $Name as if it were the note text.
- For notes first created in Tinderbox do not use any punctuation symbols in $Name. Doing so results in a Simplenote using only $Text (if any) or, if no $Text, the $Name up to the first punctuation character.
- Aliases in the Simplenote container are not synched.
Only immediate children within the Tinderbox Simplenote container are treated as potential Simplenotes when synching. In other words, any grandchildren (or deeper) notes in '/Simplenote' are ignored for synching. If a note with children is deleted via synching, the note and all its descendants are deleted.
As part of the process, two attributes are used. $SimplenoteModified keeps track of the effective modification date according to the Simplenotes server. $SimplenoteKey is used to store the internal key that identifies a note to the Simplenote server. If a note deleted in Tinderbox is in the 'Simplenote' container and has a $SimplenotesKey, Tinderbox will ask the server to delete the note.
A Simplenote Preference 'Required Tags' (a semi-colon delimited list of tag names) adds an over-riding filter so that only those Simplenote notes with tags included in the list are imported to Tinderbox box and subsequently synced ( all other notes are ignored by Tinderbox.
$SimlpenoteTags stores a synched note's Simplenote tags. Two further attributes, $SimplenoteSync and $SimplenoteVersion are added for internal Tinderbox use: users should not edit them.
The Simplenote synchronisation dialog shows the overall number of notes being synched, plus a breakdown of the number to upload, download and delete; a progress bar is also shown.
If a note that is synched with Simplenote is deleted, its Simplenote key is cleared. If the deletion is undone, a new note corresponding to the Tinderbox note will be uploaded, so the deletion is effectively undone.
Aliases. Tinderbox handles the scenario where making an alias of a note inside the Simplenote container could cause both the alias and its original to be deleted from both Simplenote and Tinderbox at the next sync.
Tinderbox is alert to the possibility of Simplenote notes containing control characters (other than Carriage Return, Line Feed and Tab). Previously, syncing such notes to Tinderbox could create files that cannot be reloaded. It is not clear that Simplenote notes should contain control characters, but the app is playing safe.
Added better support for synching notes containing accented characters and other Unicode issues as well as using improved synch code.