Thursday, October 06, 2011

iTunes Playlists: manually set the played and unplayed list

[This tip doesn't save much time, but it's a reminder that iTunes is one of the last "power user" apps in the Apple consumer catalog.]

Starting in 2009 I began having problems with smart playlists. Sort order in iTunes wasn't being respected on the iPhone, playlists metadata didn't update correctly, and the last played and play count attributes weren't behaving as expected.

The problems seemed to vary over time, but podcasts were always a problem. Since I'm a huge In Our Time fan I felt this more than many.

Eventually I resigned myself to the bugs. Few people use iTunes' astoundingly well done smart playlists; they're a power user feature. Fixing them was never going to be an Apple priority.

Looking back I also wonder if Apple quietly changed the definition of "last played" around 2009, so that it was set only when a tune was completely finished. For music this would make sense; but the last minute of most podcasts is taken up with closing music and the like. Since I skip that for the next podcast, I would never "complete" a 45 minute program.

Without a working last played attribute I had to manually manage the list of podcasts that went to my iPhone. This minor chore bugged me until it occurred to me that the wonderous Doug's Apple Scripts for iTunes site might have a script solution. They do - New Play Count v2.0 will script the last played setting.

In the midst of doing this, however, I realized that the current context menu for a tune includes "reset plays" and "mark as Played"/"Mark as Unplayed". It's not a new feature -- I found a 2006 Google reference on this. I just missed it.

So I set all the podcasts I'd listened to as "played"; I didn't need the AppleScript. I created a simple playlist that only included IOT programs that were unplayed. Now I let my podcasts run to the end, so I'm hoping I'll eliminate that little chore.

Sunday, October 02, 2011

Email to Task: Remember the Milk gets it wrong, Appigo and Toodledo do it right

I use Toodledo's task service every day; sometimes through Appigo's ToDo.app, sometimes through their web interface. I'm a customer, but not a fan. I need Toodledo to add full text search with the web UI, a feature that ToDo.app has provided since day one. I've been asking for it for years, but it's only recently that Toodledo told me they have something in the works.

Toodledo does have one killer feature. I BCC my toodledo mail-to address when I send email with an important f/u task and toodledo creates a task with the subject line as the task name. I use this all the time. It's the analog of Outlook's ability to create a task by dragging and dropping an email, note or Calendar item to the task icon. (Surprise! Bet you didn't know Outlook did that.)

Since I'm no fan of Toodledo I considered setting up Emily with their primary competitor -- Remember the Milk. First thing I did was evaluate Services / Remember The Milk for Email.

They got it totally wrong. Their primary use case is not task creation, it's importing tasks en masse. Every line in the email becomes a task, including the email sig. At a high level they support "emailing tasks", but it's completely useless for my purpose.

Sigh. If I were wealthy, I'd build a task/web app that works.

In the meantime, I'm evaluating toodledo's web app. It's supposed to do search, but did they make the same mistake they made with their online service?

Update: Stop the presses. Appigo's own cloud service, which I've never take seriously, supports Creatings tasks via email, and they do it right:

When an email is sent to Todo Online, the subject line becomes your task's title/name and the body of the email will become your task's note.

Except it's not working. I created the mailto address for Emily but the emails aren't turning into tasks. I'll give it a bit more time before I open a trouble ticket. Opening a trouble ticket, of course, is a great way to evaluate a service.

Another bad sign. There's no "Help" or "Support" link in the Appigo Todo Online UI.

Update 2: The task to email problem was a 'confirmation message filtered into spam folder' problem. The bounces were going to Emily's email so i missed them. On the other hand, this is a good way to test a service. When I tried to cancel my ticket I got "Fatal error: Call to undefined function mcrypt_get_iv_size() in /var/www/kayako/includes/functions.php on line 3434".

They are missing Help and Support links in their Todo Online UI.

Update 10/7/11: Appigo's mail-in support requires authentication of the sending email address; users can have only one sending service email. Toodledo lets any address work. Appigo's support network seems to have been down for two days. Lastly, the more I see the absence of a help or documentation link on the online service they less I feel they are a real company. I am also, somewhat laggardly, realizing that Appigo has NO data export service at all.

Update 10/7/11b: I switched Emily back to Toodledo. She is continuing, for now, to use the Appigo Todo.app. It only took a minute to make the switch; there were a few duplicate tasks to delete. Emailing a task now works as it should. FWIW this is a free feature with Toodledo, but a Pro feature with Todo online.  I miss full text search; I'm back to waiting for Toodledo to enable this. In the end though the functionality, the mailto implementation, and data freedom brought me back. We'll get the Pro account if it works for Emily.

Saturday, October 01, 2011

Tinderbox, Simplenote, MindNode and data freedom

I really think Tinderbox ($250!) should have said something about this earlier ...

Tinderbox: The Tool For Notes

.... Tinderbox shares notes with with Simplenote for Web and iPhone access...

The big (Big) problem with apps like Tinderbox, Evernote, or MindManager and its kin is data freedom. Specifically, the absence of data freedom. There's no standard for the representation of attributes and relationships in a nodes and arcs graph app -- it's a fundamental knowledge representation problem [1][2]. Years of rich data get flushed away when an app dies.

When, not if. All software dies. Ask Lotus Agenda users. Or the users of, and this is far from a complete list, Ecco Professional, InfoCentral, PackRat, Sidekick, Arrange (Common Knowledge - MacOS), InfoDepot, In Control, Cross-Ties, Palm Notes, Commence, Ascend, Arcadia (OS/2!), GrandView and MORE, Inspiration, Outlook Notes, and so manymany, many more.

Assyrian clay tablets from the library of Ashurbanipal have endured for thousands of years, my GrandView notes didn't do so well.

Data can outlive software -- but only if it's portable. Not forever of course, but maybe until the end of civilization [3]. JPEG images are in the running, video not so much. UTF-8 text files are serious contenders.

The SimpleNote ecosystem is based on UTF-8 text and RTF files with optional markdown formatting. That's why I like it - the core data store can endure. It's accessible from iOS device, OS X, XP, W7, Dropbox [4] web -- everywhere.

Still, notes alone, even with tagging and search, are not enough. I want a way to layer arcs upon the text nodes.

I could almost do it using MindNode Pro. I could attach SimpleNote notes to MindNode nodes and keep both MindNode file and SimpleNote files on Dropbox. Problem is, it's awkward to attach and create files to MN nodes. The icons are too large and the node doesn't inherit the file name -- and I need a keyboard shortcut to create an external text file on demand.

Screen shot 2011 10 01 at 9 57 41 AM

Doesn't that text icon seem a bit big to you? It can be resized, but it always defaults to enormous.

I haven't given up hope that Markus Muller will accept my suggestions, but I'm reluctantly leaving MindNode Pro on the shelf while I watch where he goes with it.

Tinderbox though -- if it could actually use SimpleNote ... and if it could become Dropbox compatible ... and if I'm careful about how I manage and distribute Tinderbox specific metadata ... That's interesting. It's a heck of a lot of money though, and I fear using its full power would put me into deep data lock.

See also:

Update: MaysonicWrites points us to Dave Winer's World Outline project, I think as an example of a liberated data solution to managing some kinds of information.

- fn -

[1] Consider HL7 RIM 3 and the challenges of CDA/SNOMED model integration. Ok, so nobody knows what I mean by that. Trust me, it's relevant.
[2] Ok. There is a standard. It's called the hyperlink and HTML. This post is long enough, but I'm tempted to look for late 1990s book on hypertext I have somewhere, and to summon a BYTE article on a hypertext version of Gopher from the 1990s. I suppose software archeology is a hobby now. I am disappointed that we don't have wiki-like personal information tool that uses HTML/RTF/text and hyperlink as the information store, WordPress API as an authoring option, and the ability to migrate the repository from local drive to cloud.
[3] Outrageous you say! What could last that long? Well, yes.
[4] I'm a late adopter, but increasingly a fan.

Friday, September 30, 2011

Consolidating Contacts: From Outlook to Address Book via MobileMe and the 5th Circle

This option is, for now, only open to the few people who have MobileMe accounts. Maybe iCloud will add something like this. I'll pass it on for the record.

The time had come to consolidate my work and personal contacts. No, I'm not changing jobs. A change in work policy meant I could no longer sync my iPhone to Exchange. I need my work contacts on my iPhone to do my job, so I needed to consolidate.

This is what I did. I bit imperfect perhaps, but it was reasonably fast.

  1. Using Outlook 2007 at work I copied all my Contacts to a PST file. That copy action makes Outlook resolve Exchange format email into standard email format. Took the PST home.
  2. Use Address Book export to save an archive. Turned off MobileMe sync on all machines. Put iPhone into Airport mode.
  3. Started up my VMWare Fusion XP with Outlook 2007 standalone. Using MobileMe on XP I did a sync to MobileMe.
  4. In Outlook 2007 standalone I imported the PST file Contacts (1012 items) from the external PST file into a new subfolder of Contacts. I then did another sync to MobileMe.
  5. Switched to OS X then turned MobileMe sync back on. It said there were 1007 (not 1012) items to install. When it was done, there 1002 "cards" in a new "Group"

Note that, at face value, I lost 10 contacts during the import process. However, Outlook still showed 1012 even after I repeated a sync there. It's mostly likely 10 contacts won't sync, but it's also possible Address Book does some kind of duplicate merging on import -- but doesn't add the correct recreate Group-Name relationship.

I then ran Contacts Cleaner from Spanning Tools (App Store, cheap). It found 635 "conflicts" (issues, really), of which a surprisingly small number were duplicates. I set to work cleaning that up (Contacts Cleaner has an annoying habit of flagging academic suffixes as "bad".

After an initial cleanup I went back and forth between OS X and XP/VM, each time repeating a sync then running Contacts Cleaner. It only took a few minutes to find problems and settle things down.

Some data is lost of course. Sync must have its price. I made liberal use of 'Categories' (now we'd call these 'tags') to slice and dice my Outlook Contacts. They are all gone now. That is sad.

On the other hand, OS X allows a Contact to be associated with more than one Group. I can make use of that. It's too bad MobileMe Sync didn't try to turn Categories/tags into Groups. (And too bad you can't edit group assignments on an iOS device!)

There was only one funny thing. I've seen this once before. I created a Smart Group for all Cards that had no Group assignment. Over 1,000 showed up unexpectedly. I quit and restarted and all was well. It's a good idea to quit and restart Address Book after a large update.

Once I had things sorted out between my XP and OS X sources I turned on my iPhone and let it reconcile to the new addresses. I found some oddities on searching while Spotlight sorted out the additions.

The iPhone sync added more duplicates! Yes, Synchronization is Hell. I'd almost be disappointed if it weren't.

Back to Contact Cleaner again and I returned to 1805 total contacts. Even so, I readily found a contact that wouldn't sync to my iPhone. I made another backup of my Address Book.

So I turned off MobileMe Contacts sync. That should have removed all Contacts from my phone, but quite a few remained. I had to remove my MobileMe accounts and add it back. Yes, even though we've yet to develop artificial sentience, we have developed artificial dementia.

All were back on my iphone, but we were back to 1043. Clearly, we had a problem. I removed more duplicates but ended up with only 1804. So I restored from backup.

I was in the 5th circle of sync hell, but I've been here before. Call me Dante. I used advanced MobileMe sync to forcibly replace everything on MobileMe with what I had on my home server. I confirmed MobileMe had 1805 contacts, then reenabled Contact sync on my iPhone. Then I forced sync from MobileMe to my other two Macs. At last all showed 1805 contacts [1].

For now. Synchronization is Hell. I don't think iCloud will be any better. In fact, I expect it to be worse.

[1] I'd written previously that Address Book for Lion didn't show a count of cards. It does; you have to scroll to the very bottom of the address (card) list to see it.

Thursday, September 29, 2011

Google App upgrade heck: conflicting email accounts

Google continues to upgrade old Google Apps accounts. It's part of their mandate to unify identities. The new Google (G+) is ruthlessly focused on owning our identities. That's not all bad, because the alternative is probably Facebook.

Still, it's pretty bad.

This has unexpected consequences. I used to use a Google Apps email address as a backup for my personal gmail address. Different accounts mind you.

Now Google doesn't seem to allow that. They seem to be enforcing a 1:1 relationship between Google Account and email address....
Alternate email addresses can only be associated with one Google Account at a time. In some cases, a person who shares an item with your alternate email address will be able to see your primary email address
This seems borderline insane, so perhaps this is a conversion bug.

Or not ...

PS. To make things even more interesting, the Google Apps account was a Dreamhost managed (ISP) extension to their services, and it wasn't supposed to have any email (DH managed email). Yech.

Update: Even though there was no gmail service associated with my Google Apps email, it was newly associated with a Google account. So it had to be. I created a new email address through Dreamhost and made that a recovery account for my primary gmail account.

Lion points: easy connection to Enterprise WEP

I won't be upgrading my 10.6 machines to Lion (10.7) until sometime in the spring or summer of 2012 - at the earliest. When it comes to Apple's OS updates, I've never regretted joining the 3rd wave of adoption.

Still, Lion does some things well - like killing Intuit's Quicken and opening up the market for better alternatives. Mission Control  and Full Screen are a big part of why the MacBook Air 11" is the world's best personal computer. Some of the best features, though, don't get much publicity.

Take, for example, Enterprise WEP. I don't know the full details of how this works, but I think it's some kludge that runs a VPN like connection through insecure WEP authentication. It's a bear to configure with XP, and I'm not sure Windows 7 is much better.

I didn't think my MacBook would connect to it. Sure enough, my manual configuration efforts all failed. Then, as a lark, I tried the "automatic configuration".

Poof. It connected. Works great.

You're not all bad Lion, even if you are a memory hog.

Sunday, September 25, 2011

Tables for Blogger: newly buggy Google Spreadsheet embedding

One of my frustrations with MarsEdit is the lack of table support. (Another is the weak management of images. Windows Live Writer has the reference design for both.)

Blogger's newish editor is no better. No table support. Tables are a bit of a lost art [2]; recently I had to summon the ghost of Netscape Composer (SeaMonkey) to add tables to a blogger post. [Update: I think AppleWorks used to 'save as HTML'. Pages doesn't. However, I discovered, Apple's bundled TextEdit.app for does tables (fixed widths only, 10.6 and 10.7) and exports as pretty clean HTML.]

This morning, apropos of nothing, it occurred to me there might be an alternative. Google Spreadsheet does tables (including, now, both vertical and horizontal cell merge) ... I found a reference (warning - the reference is obsolete)

Publishing Google Spreadsheet to Blogger - Google Docs Help

Go to the top of right of the spreadsheet view. Press the 'Share' button. Then, click "publish as a webpage". Then, click "publish this document". At this point, it is published. If you want to embed it, click "more publishing options at the top of the mock pop-up. Then, choose 'html for embedding'. Finally, generate the embedding code."

The reference, of course, is obsolete and so is Google's online documentation. I call this the Facebooking of tech -- there is no more documentation.

Here is how it works with the new editor.

  1. Click on the Google Spreadsheet "Collaborate" menu item.
  2. Choose "Publish as web page"
  3. Click "automatically republish" and enable publishing (top half of dialog as of today).
  4. Then, from bottom half of same dialog, where it says "get a link" click on the "web page" drop down and choose "HTML to embed in a page" from the intriguing list of options [4]

It publishes as an iFrame [3]. It's only partly implemented -- the obvious Named Range drop down was empty even though I created a Named Range. I tried the undocumented range specification as below ...

Named range

But although that worked when I viewed the shared web page I still got the entire spreadsheet when I tried their generated embed code. So there's a bug in there somewhere.

------

Yech. Since this functionality is clearly not finished in the new editor, I hope they'll get this one together sometime soon. I suspect it worked better in the old spreadsheet editor.

BTW, this is what the generated HTML sort of renders as. The markup is CSS infested and hence unreadable. In the old days FrontPage would have generated easy to follow table markup.

.

cell A1 B1 + C1

.

cell A2 and A3 B2 C2

.

B3 C3

.

A4

 

 

-----

[1] It sucks that they use div tags instead of p tags to mark paragraphs.
[2] The web made a bad decision when we started using CSS rather than table embedding for dynamic layout.
[3] Incidentally, how I embed iframes for Google feed lists into an old web page.
[4] Interesting list of web publishing options!

publish options