Tuesday, October 27, 2009

Apple breaks Smart Playlists on iPhone and iTunes alike (yet again)

Over the past several months Apple has broken iTunes smart playlists in multiple ways …
On my iPhone the sort order of the Smart Playlists for my podcasts is consistent, but nonsensical. Setting the sort order on iTunes has no impact on the iPhone.


This is not the first time Apple's broken their Smart Playlists -- this was a big deal in 2005.
Reading the various modern posts it sounds like there are multiple interacting bugs and that playlists that reference other playlists are broken as are podcasts in particular.

It feels like someone at Apple has been messing with very old code they don’t understand, possibly as part of iTunes long, slow, migration to being a true Cocoa app. It also feels, as usual, like Apple hates their QA staff.

Some people have suggested various workarounds, some easier than others. Here are the results on a podcast list that was sorted nonsensically:
  • In the Sync tab for Podcasts turn off “Automatically include” and check playlists in “include episodes from playlists”. (no effect)
  • Recreate all smart playlists (not done)
  • Don’t use playlists that reference other playlists (not applicable in this case)
  • Hide playlists with date criteria inside a separate playlists that doesn’t have date criteria, sync the one without the date criteria (not applicable in this case)
  • Uncheck live update in smart playlists that sync with iPhone. (this worked)
Incidentally, it’s very unclear what Live Updating does now. I can’t find any good documentation on it! What does it mean to have a “smart playlists” that’s not live updated. Is it a kind of temporarily frozen Playlist?

Update:
  • iTunes 9- Smart Playlist not syncing as expected – Apple acknowledges that it’s messed up. The “copy to play order” is a new trick to try. There’s a bug with playlists that span media types (podcast and MP3)
  • Problems with "last played" not being updated and smart playlists not being updated in 2006 - and even earlier.
  • This Discussion post is telling: "...trying to synchronise Live Updating Smart Playlists with the Nano causes the Nano to freeze upon disconnection: http://discussions.apple.com/message.jspa?messageID=10469096#10469096 ... The Smart Playlist thing is an old issue that we've seen with previous iPods. It's been broken/fixed/broken/fixed so many times now. I've spoke directly with Apple Level 2/3 about this back in 2006, and it does take a critical mass of people to report it before it's considered serious enough to be fixed: http://discussions.apple.com/thread.jspa?threadID=179445 ... However, be aware that Apple never considered Pod-board Live Updating to be a supported feature - legacy KB article 61686 - see the 179445 link for the wording - and, as I was told - if it was never officially present, it can't ever be officially broken (or fixed!)...
  • On review of the long, long Discussion thread (Apple used to terminate these more aggressively) it's clear that Apple breaks Smart Playlists in many ways over many years. It's such a fabulous feature, but sometimes it seems like every Brain at Apple went to work on the iPhone. Maybe they just don't have anyone able to manage features this clever.
Update 9/29/09: Still broken after 9.02. I've done some further testing, and the only fix that works is to turn off Smart Playlist auto-update -- which basically turns them into dumb Playlists.

Update 11/8/09: See Comments. One fix is to create a filter smart list that separates the library into music and non-music, then to use this as a playlist source. Feels like this is related to a problem with different media types being stuffed into Apple's data model.

Update 11/11/09: Glashu has an interesting post on Apple's Discussion thread for this topic. He talks about Playlists vanishing from his iPod however, which isn't what I see (emphases mine)
Facing the exact problem as many are describing here, but I found something that absolutely fixed this. All my Smart playlists worked great until I went to iTunes v9. I use a very sophisticated series of nested smart playlists .. only one playlist that I listen to on my iPod and so I was very annoyed when it no longer worked. Ironically, it's probably not actually a bug, but probably the result of Apple fixing a bug.

The common denominator was a single standard playlist that would prevent ANY smart playlist associated with it to not show up on my iPod or the sync list in iTunes. I copied the problem playlist, built a smart playlist pointing to it and went through and deleted one song at a time until the smart playlist magically appeared on the sync list for my iPod and the rotation and updates worked.

It turns out that one song was messing up EVERYTHING. When I right clicked and chose Info for the song, the one thing that was different was that somehow, under the options, it had been classified as a podcast instead of a song and the "Skip when Shuffling" box was checked. Switching the Media Kind back to Music from a Podcast fixed it but I would clear the skip check box,too. Changing that one song back to a song fixed ALL of my playlists that depended on that one base playlist...
It's not the problem I have, but it continues to point at problems with Apple applying common rules across entities with different attributes.

Update 2/3/2010: iTunes 9.0.3 was supposed to fix some smart playlist bugs, but it didn't fix this one. To retain sort order I have to disable Live Updating. Still waiting for a fix.

Update 4/7/2010: iTunes 9.1 does not fix this bug. Perhaps the next iPhone OS update?

Update 7/4/2010: iTunes 9.2 doesn't fix it. I finally tested on another iPod, this is now just an iPhone bug. I'll retest when I get my iPhone 4.

Update 9/11/10: It's almost right with iPhone 4.1 and iTunes 10, but now some podcasts won't sync. This bug will be continued at that link ...

Update 7/8/11: Still a problem with the In Our Time playlist, which is a mixture of podcast and non-podcast files. I exported all of the tunes, deleted everything in iTunes, emptied trash, quit and restarted iTunes and reimported all. Along the way I found some odd behaviors, like two files that were hard to delete.

On restore I of course lost all of my Last Played and Date Added metadata, but I can sort them by year. I had to set all types back to Podcast, and to check the 'Remember playback ...' option.

Then I played the start of a Podcast. Then I synched. Still doesn't work; last played is not updated.

Ahh. I think it's only updating the Last Played date if I play all the way to the end. I also changed the tune type to Music rather than Podcast however.

Mouse funky? Try washing the mouse pads

Our four year old Microsoft mice were feeling kinda funky - on XP and iMac alike. Mouse feet intact, but hard to move, kinda erratic.

Actually the feet looked a bit ... gunky. They cleaned up easily, but not for long.

Right. Mouse pads are both about 15-20 years old. They were last washed ... never.

They must be biohazards by now. Imagine the lifeforms.

My mice fly post-scrubbing.

--
My Google Reader Shared items (feed)

Saturday, October 24, 2009

Import Calendar data into Google Calendar via CSV files

You can import CSV files into an existing Google Calendar (but watch the time zones). Here's the format outline ...
About CSV files - Google Calendar Help

Subject,Start Date,Start Time,End Date,End Time,All Day Event,Description,Location,Private
Final Exam,05/12/08,07:10:00 PM,05/12/08,10:00:00 PM,False,Two essay questions that will cover topics covered throughout the semester,"Columbia, Schermerhorn 614",True
The above example omits the usual CSV quotes from most of the strings, but elsewhere we're told they're optional. (In practice you should use them for all strings.)

The documentation is unclear, but looking at my Google Calendar settings it looks like you import into an existing calendar. I don't know if it appends or replaces, I'm guessing append.

I expect to try this soon for our hockey org calendars.

Update 11/1/09: This was an absolute bugger to get to work. Google is pissily picky about the precise format and there are no useful error messages. During the times I was attempting this Google Calender went briefly AWOL -- something that happens far too often.

Here's the header and first row of the CSV file that I was finally able to import. It looks like you need the bloody seconds in the date. I worked with Excel for Mac, used the convert functions to turn text into numbers, then chose the precise format, then exported.
Subject,Start Date,Start Time,End Date,End Time,All Day Event,Description,Location,Private
Edgumbe Peewee Hockey,10/24/09,2:10:00 PM,10/24/09,3:10:00 PM,FALSE,Practice, Highland North,FALSE
Google must have given this chore to an intern who they hated. The feeling was evidently mutual.

Update 11/29/09: There is no way to correct a mistake. I imported 40 events into an existing calendar, and realized I'd made a mistake. I couldn't rapidly remove them, nor could I purge the calendar and reimport. I had to delete the calendar -- and all the subscriptions -- so I could start over. To think some people wonder why I hate the cloud ...

--
My Google Reader Shared items (feed)

Friday, October 23, 2009

MobileMe: Integrating Work and Personal Contacts

It can be exceedingly difficult to get corporate Exchange Server contacts to an iPhone if you don’t have ActiveSync access to the Exchange Server.

In this setting you can’t sync work Contacts with MobileMe (you used to be able to, but no longer. I’ve never heard an explanation of why Apple pulled this capability). I don’t think you can use iTunes sync either, though I don’t want to sync my iPhone at work anyway.

There are several software solutions that claim to be able to extract these Contacts. I’ve tried most of them – they were either buggy or they couldn’t resolve EX style corporate email references. In Outlook 2003 you could fairly readily export Contacts as vCards, but when I do that with Outlook 2007 I get weird formatting problems. (Of course this is export, not sync, but we can’t be picky here).

The only solution I’ve gotten to work thus far is to put my corporate contacts into a PST file, take them home, put them in non-Exchange Outlook at home, and sync to MobileMe. [1]

I sync my OS X Address Book to MobileMe as well, then sync my iPhone to OS X Address Book. That gives me work and home addresses both on my iPhone, on my desktop machines, and on my laptop. [2]

Here are the details of the initial setup. Once you’re done with that maintenance isn’t too bad.

Notes

  • The “source of truth” for the work contacts is corporate Outlook, the “source of truth” for my home contacts is OS X Address Book.
  • This is not synchronization. It is publishing one way. Updates after initial sync are discussed below.

There are two sources of data that will sync to MobileMe.

  1. Outlook 2003 home: Starts with an empty Contacts Folder. An external data folder (PST) holds material copied from work including all Contacts.
  2. OS X 10.5 Address Book: Has several Groups, but one Group has no members. It is is called Contacts_Work. (Warning: If you’re cleaning out a Group in Address Book it’s easy to “remove from group” when you want to delete.)

Step one: Sync OS X Address Book to MobileMe

  1. Sync OS X Address Book to MobileMe.
  2. Sync iPhone to OS X Address Book through iTunes.

Step Two: Sync Outlook to MobileMe

  1. Open MobileMe Control Panel.
  2. Set to Sync with Outlook.
  3. Click Sync now. On a first sync you will be asked if you want to overwrite the computer or MobileMe. Choose to overwrite the computer.
  4. When you are done you will see an Outlook “folder” for each "OS X Group” beneath the original (empty) Outlook Contacts folder. [3] The one called Contacts_Work will be empty.

Step Three: Copy work Contacts into empty Contacts_work

  1. Move (or copy) Contacts from the work PST file to Contacts_Work. I select all, then right click and drag.
  2. Clean up the Contacts_Work folder. Remove lists, etc.
  3. Sync to MobileMe. Now Outlook and MobileMe are done.

Step Four: Finish Syncs

  1. Sync OS X Address Book to MobileMe
  2. Sync iPhone to OS X Address Book [4] via iTunes.
  3. Sync to additional OS X machines as desired.

Addendum - Updates

This is all 1 way, so there’s no sync back to the office. This works fairly well for me however. My corporate contacts don’t change that much, but each time I do an update like this I record the date. Then contacts added or modified after that date are periodically carried home, used to update Outlook, and then I sync as above.

Problems to expect

Synchronization is Hell, but even messaging across databases is Heck. There are attributes and properties in Outlook that Address Book can’t support. There’s location information in Address Book Outlook can’t support. An Address Book contact can belong to many groups, an Outlook contact can belong to only one folder. I try to edit the Work Contacts only in Outlook, everything else only in Address Book.

See also

-- Footnotes --

[1] I’ve not tried synching my iPhone via iTunes to two machines at home – XP/Outlook and OS X/Address Book. I just didn’t think of that one until I wrote this post! I know there’s some multi-machine sync capability with the iPhone.

[2] I also sync my iPhone to Google by ActiveSync (Exchange server) protocol. So I have my Google contacts on the iPhone too. There’s a ton of duplication on the phone between the OS X source and the Google source. Resolving that is a future task.

[3] The symmetry is misleading. A single Address Book entry can belong to multiple Address Book groups, but an Outlook Contact can only belong to one folder. (Acyclic Graph vs. Tree)

[4] This is what I currently do. I may try just synching wirelessly to MobileMe.

[5] I assume Contacts that belong to several OS X Groups are duplicated when they go to Outlook. I wonder why they don’t proliferate, breeding with each sync.

Thursday, October 22, 2009

Microsoft Access 2007 - it's still lousy

I'm back using Access 2007 a year after I wrote about Microsoft Access 2007 reliability issues and suggested workarounds.

In the interim I've been using Access 2003 again.

There are some good things about 2003 (ok, just Sharepoint support), but, by and large, it's busted. It's broken in deep and inexplicable ways. Heaven be your friend if you should change a column name -- you may get weird and persistent side-effects.

Since nobody can imagine Microsoft going away, this kind of thing is more than a bit depressing. It's like spending an eternity in Limbo ...

Update 10/22/09: A bit more detail on the two latest bugs, now that I've figured them out.

I was getting a common and useless error message: The setting you entered isn't valid for this property every time I ran a query on a link to a Sharepoint List who's schema had changed since I'd created the link. In particular a field had gone from memo to string. I had to delete the link and create new one. Access 2007 is supposed to be able to regenerate its link on command, but it turns out that doesn't work.

The other bug I got was related to creating an alias to a Sharepoint List column name where the alias happened to be identical to another Sharepoint Column name that wasn't part of the query. Turns out it sort of works, but not really.
--
My Google Reader Shared items (feed)

Wednesday, October 21, 2009

MobileMe - Sharing Contacts and Calendars in a Family account

If you have a MobileMe Family Account you probably want to share your Contacts or Calendars among family members.

You can't.

Use Google Apps.

See: The MobileMe Massacre begins

Mobile Me back to my Mac for remote maintenance – a complete fail

I’ve had some luck so far with MobileMe, but this time I ran into a complete fail. It wasn’t completely unexpected.

I’ve been using LogMeIn to do remote maintenance of my mother’s Mac Mini, often using my old XP machine. It connects at the machine level; I can log out of her account and connect to the admin account in one session. Today performance using the Firefox plugin was excellent.

MobileMe’s Back to My Mac works very differently. It connects at the account level, and it’s designed as it’s named – to connect between two OS X machine-user-accounts that share the same MobileMe name. In other words, to connect to one’s own account – at the machine level, not the account level.

I had to setup an account on one of my machines with the same MobileMe user name as my mother. Then I could try the connection. As promised it did show her machine in my Shared device Finder display, but when I tried to connect I got a “connection failed” message. I assume my mother’s cable modem/router configuration is not supported.

Even if it had worked though I wouldn’t have been able to switch to her Administrator account, B2MM is an account level connection only.

OS X remote maintenance is certainly unimpressive. I’m even more impressed now with LogMeIn. This MobileMe feature failed.

See: The MobileMe Massacre begins