Saturday, November 9, 2013

Converting Notespark data to Simplenote

Notespark app users like myself face the scheduled 12/31/13 closure of the Notespark service. I am currently converting to other apps and services, but my commentary may help others with their own choices. When I was able to grab chunks of time, I painstakingly converted the majority (over 1000) of my Notespark data (notes and tags) manually via copy-and-paste into Simplenote clients using the Simplenote service. During that work, I unexpectedly stumbled upon this prescient 6/8/13 Notespark note to myself: "Simplenote might be a viable substitute (which actually may have a superior search capability) if Notespark server ever disappears".

I have also already bulk-converted a mutually exclusive subset of my Notespark data (about 400 notes) into a paired PlainText WriteRoom app + Dropbox app and service solution, about which I hope to write in a future blog entry. Those notes are understandably not connected to my Simplenote data, so cannot share tags (or the quasi-equivalent). There are issues with using Chinese vocabulary notes (I had bulk-converted over 200) in this solution, but there seem to be some viable workarounds; hopefully I won't later have to switch them to Simplenote via manual copy-and-paste.

This blog entry, moreso than any others here, will likely be subject to frequent updates, at least until 12/31/13. I'll try to add immediately below, in reverse chronological order, dated summaries of materially significant updates, if I don't incorporate them into a more suitable place further below.
11/21/13: Changed my other solution mentioned above from PlainText to WriteRoom from the same developer. The latter was serendipitously temporarily free during my investigations, and it has more features (and no ads!). (11/17/14: I discovered rather late that in a 1/6/14 blog entry, the developer announced that he would stop selling both of those iOS apps, mentioning PlainText 2 by 433 Labs as a replacement for both. That is likely to be my solution at whatever point I can no longer use [probably due to an iOS upgrade] my 3.3.5 version of Simplenote.)
11/18/13: Described my workaround for keeping the contents of Trash (and device-local notes) in sync across iPod and iPad.
11/16/13: Recently finished this data conversion. Updating and adding various details (including, among other things, starting my promised list of web client issues, and further discussing ResophNotes), and expect to continue doing so for a while yet.
11/9/13: This blog entry first posted. Due to time constraints, I'm leaving out a number of already-known details, but hope to add them later.

Particulars about my situation

For the "Your Mileage May Vary" department.

Note data

  1. More than 1500 Notespark notes, most of which I want to keep.
  2. About 60 Notespark tags; many notes have multiple tags.
  3. Used + (plus character) in some tag names, including as the final character. With hindsight, using + was a bad choice, which also led to some (rare) inconsistent behavior in Notespark. When converting, I would have done better to switch to some other "regular" character when I created the analogous Simplenote tag; I had to deal with tag fallout from not having done so. I found it difficult/impossible (had to do it more than once, and I don't remember all details) to delete such a tag (and also, later, my test tag [zz上面z] which contained Chinese characters) from the iOS app unless I first changed its name to have only "regular" characters (e.g., from "A+" to "Aplus").

Hardware and software

    1. iPod 4th generation (primary iOS device for note usage)
    2. iPad 2
    3. Older, weaker PC running Windows XP is my primary computer. With Firefox/Chome/Opera browsers, that seemed to be unable to effectively use the Simplenote web client after I had loaded several hundred notes. Although I've only done a small number of tests, ResophNotes looks promising as an alternate client; I'm using the portable 1.5.7 version. When editing a larger note, I sometimes find it helpful to write it, or at least part of it, separately in a text editor (e.g., an older version of EmEditor Free or Notepad++) to avoid the lag that comes with syncing to the Simplenote server; I did the same thing with respect to the Notespark server. When I'm finished, I copy the new text into ResophNotes (or Notespark's web interface previously). The ResophNotes programmer welcomes donations to support future development; it's already been very useful to me and I'm convinced it will continue to be, so I contributed.

      Related comments: http://help.simplenote.com/customer/portal/questions/1479733-simplenote-on-www-and-resophnote-unusable-slow
    4. Staying with iOS 5.1.1 because of particular functionality which is lost in iOS 6 (and presumably iOS 7 as well).
    5. As a consequence of (4), using the older 3.3.5 version of the Simplenote app (the newest version which runs under iOS 5).
    6. Using the older 1.3.2 version of the Notespark app. I seemed to have better results with it than with 1.4, the latest version (although all versions have been removed from the Apple App Store in anticipation of the closure of the Notespark service).

    Note management functionality important to me

    Having a clear idea of what's important can help you decide where you're willing to accept compromises, which may include handling some of your note needs in other ways (e.g., using other software and/or services). I probably left out some note management functionality which is sufficiently basic that any "self-respecting" note management app would have it. My need/desire for the following functionality is what makes manually copying and pasting what may ultimately be more than 1000 notes worth doing.
    1. iOS app with fast, efficient note management, limited to text only. Extra features like text formatting (bold, italic, etc.) would probably impede my own note usage.
    2. Ability to sync data from iPod/iPad to a "master" data copy on a server over wifi; that master data copy serves as an ongoing backup.
    3. Ongoing consistent data across different client software.
    4. Ability to view notes grouped by tag.
    5. Ability to apply multiple tags to a single note (traditional folder-type grouping of notes is not ideal).
    6. Ability to search through notes, ideally either as a tagged group or all notes, for one or more text strings.
    7. Web client which enables copying text into and out of any note in the master data copy on the server.
    8. Ability to bulk-export a local backup of data from either the master data copy on the server or from iPod/iPad. The Notespark service is closing; one must be prepared for a future similar occurrence which would force you to again find a replacement solution.
    9. Ability to handle French (ideally Spanish as well), Chinese characters, and Chinese "Pinyin-toned" vowels (e.g., the ā and ē in kāfēi), which presumably means Unicode.
    10. Avoid the need for notes to be created as operating system files. Such files require assignment/maintenance of a file name for each note, which is unnecessary and counterproductive for the way I use notes.

    Some issues I encountered with the above:

      Re: (2) above:
      • When I copy-pasted 30 or so notes from Notespark to Simplenote without wifi, then later connected to wifi, I got 30 or so blank notes in Simplenote after that automatic sync. Now I try to avoid adding larger amounts of data when I lack a wifi connection, in hopes of minimizing such problems.
      Re: (3) above, I unexpectedly found myself willing to accept shortcomings in ongoing data (note/tag) consistency.
      • Fresh reloads of data from scratch often failed to load hundreds of notes. Perhaps their server load (and/or changing server configurations?) was a factor, but I sometimes saw, e.g., 89 total notes when hundreds more should have been loaded. After about a dozen or 20 fresh reloads, I finally got the proper, matching number of notes loaded onto my iPod and iPad. One tag was out of order on the iPad (11/15/13: and more have gotten out of order since), which I could live with (unfortunately, more got out of order later). I'm hoping to avoid needing fresh reloads as long as I can (perhaps until device hardware failure). The (beta) export capability (http://simplenote-export.appspot.com) may confirm that the service "knows" the correct number of notes, even if you can't get them to the iOS client reliably during fresh reloads. I haven't yet investigated http://ziptest-dot-simple-note.appspot.com, which is mentioned on the Simplenote blog here.
      • Tag order often inconsistent across software clients. Simplenote allows you to order your tags (instead of alphabetically ordering them, as Notespark does), but Simplenote clients don't reliably order tags as they are ordered on the Simplenote server (at least I imagine the server has some defined order of tags). Each client might show tags in a different order.
      • Tag duplicates sometimes showed up after I changed tag names and/or tag order.
      • Blank tags sometimes appeared in the tag list.
      • Sometimes, a note deleted while using a client other than the iPad (definitely at least using the iPod) had to be subsequently deleted on the iPad as well, although I believed it would/should have been deleted there by the automatic sync.

        11/18/13: To reduce (maybe even eliminate) chances of mismatched deleted notes on 2 (or more) iOS devices, create a special tag (e.g., ToDelete) and attach it to notes to be deleted on any device (or a combination thereof). Then, only when both devices are connected to the Internet and are both running Simplenote in the foreground, delete all those notes from each device as needed: I've experienced the full gamut of sync consistency. Once, it was sufficient to delete them from only one device, and they were properly deleted from the other device as well. On another occasion, all those notes needed to be deleted from both devices. On yet another occasion, deleting them all from one device deleted all but one of them from the other device. Finally, tap the Empty button in the Trash (which should only need to be done on one device, and the other[s] should automatically update).
      • For note usage, the iPod is my primary device, so I make some effort to make note changes on it instead of on the iPad when I have a choice. My idea is that whenever note/tag inconsistency is introduced, it would be better to occur on my secondary note usage device, the iPad.

      General user interface issues observed in the iOS app

      1. On the iPod (though not less so on the iPad), impossible must be very fast and precise (much more so than in Notespark) to use the two-finger tap to select a line -- neither of your fingers should be moving appreciably up or down (or probably even side-to-side) when they contact the screen, and they can't linger on the screen, either (contact the screen and get off FAST). You can alternately use rapid quadruple tap to select a line. Possibly due to the automatic syncing and device sensitivity.
      2. When creating a new note or editing an existing one, the "Tag:" input area is sometimes inaccessible, so it is impossible to assign any additional tags to a note. The solution that has worked for me is to quit the app, expel it from RAM, then restart it. I'm already used to using that workaround for recurring problems with Apple's Calendar app and other third party app(s), so doing so is second nature to me.
      3. On the iPod, when pasting 5 lines of text into an existing note which had been accessed via a tag "folder", the note's single tag was lost. As in (2), the "Tag:" input area was blank and inaccessible, though I'm not sure if that occurred when the note was opened, or perhaps after the pasting in of text. Check your note's tag situation after you are done editing if you need to confirm its tag(s).

        11/16/13: Having at this point seen similar behavior on numerous occasions, I believe that when starting (or perhaps switching to) the app and opening a note, I believe the "Tag:" input area functionality can fail for any write operations (note/tag/pin). The reason for this might be that the device is running low on usable RAM. As long as you do not edit the note/its tags/its pinned status, the note will not lose its pre-existing tag(s), so there should be no need to fear tag loss if you are only reading the note. The fix is exactly as described for (2) immediately above.
      4. On the iPod, I pasted text into a new tagged note (tagged by virtue of my having been in that tag's "folder" when I created the note), tapped the end of the first line, typed in a two word parenthesized phrase and was surprised to see Simplenote remove(!) the two word phrase. Amusingly, it was "(didn't happen)". This happened to me on another occasion, and I think the issue is that you should not do further edits if you see the rotating "throbber" reflecting ongoing syncing activity.
      5. I wish they had put the Settings button in the upper right corner (which is empty) instead of in the upper left, and for that screen had left the upper left corner as a no-operation zone. The upper left corner is the same place shared by the Back button (on a preceding screen). The Back button doesn't necessarily effect a prompt change in the app (and after being tapped, the button's visible appearance changes only a modest amount), leading me to sometimes tap that area twice, wondering if I actually made a proper first tap. The app's delayed response often enough means that I land in Settings instead of simply back one level. Notespark's equivalent tap-functionality was better designed: the Note*spark and the All Notes/Starred/Tags/Shared/Trash buttons occupied the upper left corner, but Settings was in the upper right corner. Notespark's speed of response when tapping those buttons was also normally/always immediate, which meant I would never tap such buttons twice just to make sure that the app had registered a tap.
      6. On the iPad, when using landscape orientation, you can't always get to the lower ones if you have a larger number of tags. The fix that worked for me was to temporarily switch the iPad's orientation to portrait, then switch back to landscape.
      (More issues to be filled in later. This list is intended to be separate from issues with data consistency, which I should have listed earlier in this blog entry.)

      General user interface issues observed in the web app

      1. If a tag contains Chinese characters, when you create a new note while inside that tag "folder", everything from the first Chinese character on in the tag is inserted into the note.

        Aside: if you name such tags with an ASCII character[s] at the beginning, e.g., zz上面z [ZZ Top, ha ha], you will be able to add such tags even from a browser where you lack access to enter Chinese characters. I added the trailing z to zz上面z to test if that would change the above-mentioned behavior, but it didn't.
      (More to be filled in later. This list is intended to be separate from issues with data consistency, which I should have listed earlier in this blog entry.)

      Miscellaneous comments

      1. No way to see all notes lacking a tag (unlike Notespark's untagged "pseudo-tag"). This is more of a problem because of both item (2) above in General user interface issues observed in the iOS app, which can lead to your inadvertently making a note without a tag (though not for lack of trying to add such a tag), and also because my belief is that more than one of my notes has seemingly lost a tag for no obvious reason. The ResophNotes Windows client mentioned above has a "No-Tag Notes" pseudo-tag through which you can see such notes, which is helpful. (6/4/14: Per http://help.simplenote.com/customer/portal/questions/5820090-can-we-have-a-no-tag-filter-, tag:untagged works on the website.)
      2. Note-pinning capability, which keeps notes at the top of all others, can be more useful to me than Notespark's note-starring capability, e.g., to keep a frequently modified grocery shopping list near the top of All Notes. As part of my conversion from Notespark, I discovered I had starred so many notes that the star had become largely meaningless for some (primarily older notes, which had aged out of my usual "radar screen" of notes -- out of sight, out of mind). Pinning does change the Modified date of notes, which can affect you if you are using that characteristic for ordering of notes (Notespark starring did not affect the By date sort order).
      3. Unlike Notespark, has in-note search, which has unfortunately proven rather buggy in my experience (1/13/14: It appears that if a note is "long" [not sure what the character count threshold for "long" is], the in-note search fails to highlight occurrences of the search string in it, although Simplenote should correctly have returned the list of notes that do have the search string in them. If all your notes were "long", the functionality would be no more than what is in Notespark). My using "more-rarely-used" ASCII characters and/or Chinese characters in my notes might be causing or contributing to this problem. (Evernote highlights all occurrences of the search string within a note).
      4. Functionality differs between iOS client and web client; sometimes one can fix an issue that the other cannot.

      Other recommendations

      Make yourself one or more Simplenote accounts and do your own testing with a subset of the data you intend to import to better gauge how well it might work for you. I did preliminary testing that way, which guided my subsequent real conversion efforts. Simplenote's account deletion process seems to be quite thorough and complete; I think I made and deleted the same test account (defined to be associated with an e-mail address) about half a dozen times. Regrettably, my preliminary testing did not reveal all of the issues I would eventually face.

      If you're manually converting hundreds of notes, it's probably most reasonable to convert them in groups (tagged groups, presumably). If you want to preserve at least the chronological order of last update from Notespark, copy and paste the notes into Simplenote from oldest to newest; when doing so on iOS, take advantage of Notespark's left/up triangle button to go to the previous note (presuming you sort your notes By date).

      If you're keeping notes about the conversion during the conversion, keep them in Notespark instead of in Simplenote. That presumes that you're satisfied with Notespark to date and that Simplenote is new to you. I did not think of this aspect when I started my conversion, and to some extent regretted keeping some such notes in Simplenote, where I was bitten on multiple occasions by unexpected, sometimes inconsistent, behavior.

      Browse their Support Center at http://help.simplenote.com; you might find (or provide!) some useful information.

      Friday, November 1, 2013

      Less frequently encountered Pinyin combinations

      There are indubitably charts detailing all possible Pinyin combinations (ignoring tones). Having a fair amount of experience with Chinese, I'm interested when in everyday usage I encounter combinations of which I haven't previously known. It's sort of like when you first learn that there's a country called Qatar, and you realize that the letter q isn't always followed by the letter u.

      jiong:
      I saw this in an e-mail message as part of someone's name, and although the Chinese character wasn't included, I imagine it was 炯 (jiǒng; bright, shining)

      miu:
      荒謬 (huāngmiù; absurd)