Sunday, November 09, 2008

Appigo and Toodledo – nasty emergent design flaw makes a mess of my iPhone Notes and Tasks

This is about the worst design flaw / bug /emergent interaction I’ve encountered in the past few years.

Here's the story from my rejected post to the Appigo Todo Google Group [1]

When I added Notebook to Todo, and after I'd imported hundreds of notes Toodledo, I ended up with a set of categories (aka folders) for my iPhone Appigo Notes and Tasks that were the sum of the Palm categories I had used for Notes and the Palm categories I had used for Tasks.

Since my Palm Notes and Tasks had different categories, there were empty folders that showed in Notes (but not empty in Tasks) and vice-versa. They cluttered up my folder list.

So I deleted the empty folders on both sides.

Can you guess what happens next?

It took a surprisingly long time after the deletion, perhaps due to Toodledo synchronization issues, but I now have hundreds of Tasks and Notes that no longer belong to any category…

… At least when synchronizing with Toodledo, Tasks and Notes share a common set of categories/folders. If you remove a folder from Notes that is empty, you remove the matching folder from Tasks. All contained Tasks go into the inbox (at least they aren't deleted).

This is the single worst bug or design flaw or bizarre emergent synchronization behavior I've run into in several years. I don't know how I'll sort this out.There’s no way to undo this behavior, and there’s no good UI on either the iPhone or Toodledo for manipulating sets of Tasks or Notes.

Man, do I hate synchronization.

What a bloody mess.

Update 11/9/08: To clarify why the problem is so bad. If the data lived in Outlook, this would be a nuisance problem. It would take some time, but I could select swathes of items and assign them to new categories. Neither Appigo nor Toodledo support multi-select operations.

I did some further testing. I created a folder in Toodledo tasks, and verified it did not, at first, appear in Toodledo Notes. I did the same with Toodledo notes. However after Appigo Notes synchronization, the Toodledo TASKS folder appeared in Appigo Notes. After a cycle of Appigo Tasks and Notes synchronization the new Toodledo Notes and Tasks folders appeared in both Appigo Tasks and Notes and then synchronized back to Toodledo Notes and Tasks.

Which brings me back to two critical points I keep relearning:

  1. Synchronization is Hell.
  2. Reliable service requires a single vendor to control the client and the server. Differences in folder models between Toodledo and Appigo are at the root of this exquisitely nasty bug.
  3. There is a vast and perhaps unbridgeable gap between the capabilities of a robust desktop client like Outlook and what the Cloud can offer.

Update 11/12/08: Although Appigo did not publish my email they did respond to another complaint. They say it's not their design, it's a result of how Toodledo manages categories.

I suspect Toodledo stores notes in the same tables they use for tasks, hence the shared categories.

So this is an example of an emergent bug arising from synchronization between different application models.

Everything I need to know about Health Care messaging and synchronization I learned from my PDAs.

Update 11/13/2008: I looked into alternatives to Appigo such as Things.app and OmniFocus. The first is pre-release and has no import/export capabilities and the second, though released, has no useful import/export capabilities.

Neither meets my minimal data freedom requirements.

Since the category-loss bug arises from the combined use of Appigo's Todo.app and Notebook.app synchronizing against Toodledo's single Task/Note store, one workaround is to keep Todo.app and Toodledo Tasks but look for another solution for Notes, such as Evernote.

Alternatively, since Evernote now has a published API, Appigo could use Evernote as their note store instead of Toodledo. Their Notebook app is far more stable and useful than the Evernote iPhone client.

I'd suggest this to Appigo, but the last post I submitted to the Appigo support Group was not published. [1]

I don't have better options for the moment, so I'll stick with Appigo iPhone Todo.app and Notebook.app for the next few months. Things.app may be ready for my use by February 2009, assuming they have a robust set of import/export capabilities on the client.

Of course Google could create a Task companion for Google Calendar at any time. If they do that then the deck will be reshuffled and we'll have more options. I don't expect any solutions from Apple; I think they're in much worse organizational shape than we realize.

[1] Appigo declined to publish my post to their Google Group based support forum. If my most recent note on this thread doesn't appear, I'll have to conclude that Appigo is aggressively censoring their customer posts -- at least on this very sensitive topic.

Update 11/13/08: My posts are not appearing in Appigo's Google Group.

Update 2/24/2010: Appigo did eventually introduce warnings into their apps, so that you're less likely to fall into this trap.

Friday, November 07, 2008

Appigo Todo now has search

As of tonight the Appigo - Todo - Overview doesn't describe all the great new features, but they're listed on the App Store site.

They've added a LOT to one of my favorite apps. The killer addition is search -- now I can search in Appigo Tasks just as I've been able to search in Appigo Notebook. Tags and contexts have been added and they sync to Toodledo.

Terrific update. Highly recommended iPhone application.

Update 11/9/2008: As of today, not so highly recommended! Lord, what a screw-up.

OmniOutliner Pro's impressive outliner to HTML feature

OmniOutliner Pro is an old OS X app -- been around forever. I wouldn't be surprised to learn it started out on the NeXT workstation.

I've owned it for years, but I've never quite fit it into my workflow. The main value for me has been that it does a terrific job of opening my ancient Symantec MORE 3.1 outlines. That's handy, since 10.5 orphaned many of my old papers.

Years ago I thought I'd use it to create web pages, but it did a lousy job -- back then. Happily the OMNI Group keeps improving it, and they've never asked me for more money. A recent update mentioned something about 'dynamic html outlines', so I gave it a try.

Impressive! You can create very nice dynamic HTML outlines. Since OmniOutliner can open RTF documents it's not a bad way to put some documents on a web site -- assuming you have FTP access.

I might get some new use from my old app.

Scribd iPaper: a Flash based alternative to PDF

Today Brad DeLong's web site included one of his lectures -- hosted using Scribd iPaper.

It's supposed to be an alternative to PDF; another way to make Microsoft Office documents accessible to a broad audience. Where as PDF is optimized for print, iPaper is optimized for web display.

There's some support for non-Office documents as well ...
Upload Your Documents | Scribd

.... Microsoft Word Files doc, docx Microsoft Powerpoint Files ppt, pptx, pps
Microsoft Excel Files xls, xlsx
PDF PDF pdf, ps
Open Office Open Office Documents odt, odp, sxw, sxi, etc.
Text Text Documents txt, rtf
There's only a few wee little catches.
  1. iPaper documents are pegging my browser (Camino on OS X at this time).
  2. iPaper is a descendant of Adobe's FlashPaper. It uses Flash for display. Yes, Flash, the buggiest, most insecure rendering platform known to the 21st century.
  3. iPaper appears to be a totally proprietary format, in fact it's not clear if one can download an iPaper file or if they have to be hosted at Scribd.
I prefer to avoid Flash whenever possible, so Scribd isn't a good answer for me.

gSyncit for Outlook 2007 to Google Calendar and Contacts Sync

Looking through the archives I see I've written several posts about gSyncit (ex: gSyncit and SyncMyCal: not compatible with Lookout for Outlook). Each experiment ended up with me giving up on the topic.

Most recently I was trying Google Calendar Sync again with Outlook 2007. It worked for a week or so, then stopped with a cryptic error. I've a history of disappointments with Google Calendar Sync, so I decided to try gSyncIt again.

It's grown quite a bit since my earliest experiments. At one time I see I was asking for control over the sync process; they now provide a lot of tweaks and controls. More than most people could tolerate, but I'm a veteran of Sync Hell. I want 'em all.

I've enable unidirectional sync - Outlook Calendar to Google calendar and Outlook Contacts to a specific Google Contacts group. It will be a long time, if ever, before I dare to try true bidirectional sync.

So far, so good.

I registered this time, so they've got my $10.

Update 11/9/08: Not yet characterized, but there are time zone problems. I think Google Calendar tries to be "smart" about the time zone one is currently in. Big mistake. Correction -- this isn't a gSyncit/Outlook problem. I think this is a Google Calendar quirk depending on the time zone settings on the web client host machine.

Update 11/11/08: It's not exactly a quirk, more like a feature that's a bit too obscure. I've a f/u post on this dated 11/11/08.

Update 12/8/2008: gSyncIt has a bug with all-day events that span multiple days. It replicates them. I've seen this before; Outlook has a very nasty internal representation of an "all-day" event. I'm surprised gSyncIt hasn't fixed this bug, it's not subtle.

MobileMe trial ending - cancel now or never

I'd thought my Apple MobileMe trial account was going to expire at the end of the trial period.

I'd looked for that when I signed up; I don't sign up for trials that auto-enroll if not canceled.

Well, either I missed something or Apple has changed the rules. I received a notice today that Apple was going to convert me to a full account in 14 days.

I canceled immediately. MobileMe does not offer what I need. It's not even close. I'd only hung around in case Apple had a huge MobileMe update in the works, but I'm not going to pay for what they have now.

That's Rule #3 of Gordon's Rules of Acquisition. Don't buy on promises.

To cancel your MobileMe account you go to www.me.com and click the headshot icon to edit account settings. In account settings choose Cancel.

At that point all your MobileMe data will be vaporized, so if you've actually been using the service you'll have to decide what to do with your data.

Wednesday, November 05, 2008

Workaround for Lego Star Wars install bug

I really dislike buying desktop computer games. The software quality is poor, and the vendor support is lousy.

Unfortunately my 9yo prefers Mac games to Wii games, so when he's earned a big incentive for overcoming a real challenge, we end up with another OS X game.

It's just as well there are so few of them.

The latest problem came with Aspyr's Lego Star Wars (DVD) (Mac) (2005). After I'd installed it my son couldn't play. It started up oddly, with a long video loop. A key press produced a gray screen, then the loop resumed. Finally it crashed.

So what was the problem? There's nothing like this on the Aspyr site and the only update patch is a long delayed and apparently troublesome fix supporting native execution on Intel Macs.

I suspected a security/privileges bug. Game vendors, who usually outsource development to very junior engineers in international markets, rarely bother with security models. They build to the usual XP assumption (everyone runs as admin) then port the game to OS X.

Sure enough, from my admin account the game worked. I suspect the game tries to write to the Application folder. That's a no-no. Non-admin users on my system, including my usual account, don't have write privileges in the global Application folder.

I could have reinstalled to the user-specific application folder, but then the other kid accounts on the family machine would need their own installs. Since Leopard gives more control over permissions, I could have installed in a folder that everyone could write to.

In our case though I have an external drive with open space. OS X doesn't enforce permissions on external drives, so after installing there everyone could use it.

Shame on Aspyr for building a crummy application, and double-shame for not documenting the problem and a workaround.

Monday, November 03, 2008

Controlling what iTunes video goes to an iPod or iPhone

This is a bit weird. I think there's an iTunes OS X bug involved.

I wanted to control what TV shows went to my iPhone. My son wants to go to the polls with me early tomorrow, and he will need entertainment if we have a long wait. (Minnesota polls, however, are extremely well run. Waits are unusual.)

There are a lot of controls on what Music goes to the iPhone, but, oddly enough, fewer controls for space hogging TV shows.

The Library "checkbox" selector method breaks down when one has multiple devices -- those are library settings, not user or device settings. There are checkboxes for Movies that are device specific, but not for TV Shows.

One trick is to choose to sync "unwatched" episodes, then use the context menu "set new" option to mark watched episodes as "unwatched". (The new/watched term incongruity is a bug.)

Another is to follow this author's advice: Syncing the Next n Unwatched TV Shows to your iPod, AppleTV or iPhone using iTunes.

What worked for me was to create a simple playlist of the TV Shows I wanted and to use the "Selected playlists" option in TV Show sync.

Obvious in retrospect. Here's the odd part though.

When I first created my Videos folder, it didn't show up as a playlist I could select -- maybe because it also held some home movies. I created a smart playlist of an series of TV shows to see if that would work better; when I next checked BOTH appeared as playlists I could check.

Weird.

Anyway, the Simple playlist approach works fine for my TV Shows. That should get Tim through the voting wait.

We interrupt our programming for this political message

Gordon's Tech, this blog, is where I put my geek experience. It's apolitical, and even my geek business opinions stay out of it.

Those sorts of things go into Gordon's Notes, along with some opinions on other topics.

Topics like American politics, technology opinions, and the Enlightenment. Yeah, I'm a fan of the Enlightenment.

They go into Gordon's Notes, with the exception of this political message.

If you're a rational Republican, who'd have been happy with McCain 2000 but is struggling with McCain 2008 and Palin the Dominionist, please consider the latest endorsement from a rationalist Republican - a former publisher of the National Review, including an endorsement from the daughters of Goldwater's vice-presidential nominee.

Add that to de facto endorsement from David Brooks, explicit endorsements from George Will, the famous Colin Powell endorsement, Christopher Buckley's job-ending plea, endorsements from myrias of conservative newspapers and GOP governors ...

Well, you have a lot of respectable Republican conservative company if you vote for Obama tomorrow.

Consider it a downpayment on the rehabilitation and reform of the GOP.

We post-liberal Democrats need a respectable opposition. We need a reformed GOP. If you vote for Obama, you can join fellow Republicans who want to reform the GOP, and retrieve it from the Paliniacs.

We now return to our regular programming.

Joys of Google Calendar - in Gmail and the toolbar

I've become a Google Calendar fanboy.

Now that Spanning Sync has integrated our glorious family domain Google Calendars with OS X's pathetic and lethargic iCal I can view my work and home calendar, Emily's calendar, and the Google Calendars for Minnesota Special Hockey and more.

I can view and edit them on any browser, and on my iPhone. (Albeit with a once daily sync, please ask Apple to open the iPhone Calender API and invite Google in.)

It's fantastic; the work/home calendar integration is almost worth the pain of my Palm to iPhone conversion by itself.

Now I get the bennies, like attaching my calendar to the Firefox Toolbar or embedding my unified Google Calendar Gadget in the sidebar of my Gmail view. Even iGoogle is getting interesting now that I can create a portal with all my embedded Google Gadgets [1].

Thanks Google.

[1] Which would even more useful if Google's directory would clearly separate Google-authored gadgets from the rest of them!

Update 11/7/08: Had to swap out Google Calendar Sync and swap in gSyncit.

Sunday, November 02, 2008

iPhone sync to Google contacts - 3 methods and work/home implications

[Before you do this, ready my update!]

Why, among all the OS X blogs I read, have I not come across much discussion of this July 2008 iTunes 7.7 Apple knowledge base article: iTunes: Syncing address book contacts with your Google contacts?

For that matter, why does iTunes OS X have no relevant Help articles on the topic?

Maybe it's because synchronization in OS X/XP/Address Book/Outlook/iTunes/iPhone/MobileMe/Exchange/Google Apps/Yahoo! is just ... you know ... a wee bit complex? Maybe I'm not the only one lost in the mine field?

Well, it's time to explore this particular quadrant. I hope to update this post over the next few days, but here's the first draft.

I have made progress lately with Work/Home integration. I use Google Sync to one way sync work calendar information to a secure calendar outside my family domain. I found traditional "subscription" (.ics) to this calendar failed due to Google Calendar problems, but that I could acquire the data via either iCal CalDAV support or Spanning Sync. The latter seems faster and more reliable and I'm using that.

So what about Gmail contacts?

There are several options:
  1. gContacts for iPhone - pulled from the App store but supposedly to relaunch without trademark issues. I have this, I use it for read-only access to my Google Contacts. No search however.
  2. Spanning Sync for OS X: This will pull Google Contacts into the OS X Address Book. The problem here is duplicate resolution -- I don't know how it works. Note that OS X Address book has a Merge facility I've never tested.
  3. iTunes 7.7+ will supposedly sync Google Calendar contacts to the iPhone directly (not via the Address Book). On XP this will replace your iPhone Address Book, but on OS X it apparently creates a separate "account" so you can sync the iPhone via iTunes and the USB cable to both the OS X Address Book and Google Calendar. Note the iPhone Contacts has a limited search capability.
I'm going to try #3 after I back up my OS X Address Book and my Google Contacts. Be warned, however, that the Google Contacts backup is CSV based and does not include relationships to mailing lists. It is impossible, given the format, to completely restore the data should anything go wrong. At best you will restore an approximation to your original Google Contacts.

The interesting possibility is that one could synchronize Outlook work contacts with Google, then sync that to the iPhone via iTunes, and, on OS X iPhones only, have some integration of work and personal Address Books/Contacts.

Did I mention than Synchronization is Hell?

PS. Despite the lack of documentation, the very existence of this option, and it's implementation as a separate 'account', is encouraging. It suggests Apple may eventually support Google Apps synchronization as a (far better) alternative to MobileMe. Maybe.

Update 11/2/08: Ok, didn't work. I've restored my OS X Address Book from backup.
If you active iTunes sync with multiple sources, it combines them ALL into a SINGLE source, which it then broadcasts back to all sources. So my OS X Address Book, iPhone and Google Contacts all had the sum of all addresses -- without much attempt at reconciliation (though OS X Address has an interesting "detect duplicates" function). I left my Gmail contacts as the sum of all sources, it's never been a very controlled data set so this probably won't cause too much harm. I turned of Gmail synchronization. Someday I'll fix things up, but for today the project is on hold.

Update 12/1/08: See the comments for a bad outcome from one experiment. Synchronization is Hell.

Friday, October 31, 2008

Google calendar iCal share fails - CalDAV or Spanning Sync instead

Google recently announced a quality of service guarantee for their apps:
The official update feed from the Google Apps team: SLAs available for Gmail, Google Calendar, Google Docs, Google Sites and Google Talk:

... Google Apps Premier Edition now includes a 99.9% uptime guarantee for Gmail, Google Calendar, Google Docs, Google Sites and Google Talk....
Google has been comparing their App up time to traditional services, and boasting how much better they are.

My experience is different.

For example, today sharing stopped working from one my Google Calendars. Very annoying.

I run into a variation of this sort of failure every few weeks. Of course my XP work environment is also unreliable, but I ask more of it.

Personally, I'd give Google a "B" grade for reliability. Not B+, but not B-. Just B.

Update 11/2/08: The iCal calendar continued to show an update error icon, and I couldn't connect to the gCal share with a browser. I recalled that Google Calendar has CalDAV support and so does iCal, so I followed the subscription directions.

That worked.

Around that time it finally occurred to me that I own Spanning Sync. Now Spanning Sync only syncs with one Google account (our family domain), and that's not the account that has my work calendar, but that's no problem. My family domain account has read/write privileges with my personal gmail account calendar, so I could reach it through this indirect route.

It seems to work fine. Spanning Sync support means I could theoretically update the work calendar from iCal or even my iPhone, but I don't plan to try that -- ever. The arrangement is too rickety to support true synchronization. Publication is fine.

I have given up on .ics subscription.

PS. I like the way the CalDAV accounts work in iCal Leopard. It's a positive sign in several ways ...

Create your own Quartz filter to reduce OS X PDF size

If you scan a B&W text page at 600 dpi into Adobe Acrobat, and apply fax-style run length compression you'll get a file of about 60K.

Use OS X to create the PDF and the size will be 2MB.

The difference is compression choice. Lossless run-length compression works very well for B&W, OS X is probably using JPEG or TIFF.

What you want are better ways to control PDF size in OS X. The default "Reduce Filesize" quartz filter is lousy, but this page tells you how to create your own filters: Shrinking and Compressing PDF's - Yeraze's Domain.

The trick is to use the ColorSync utility.

I'll have to see if I can create a good one for B&W text ...

iPhone consumer polling app - interesting

Vote for your preferred iPhone fix: Most wanted ever | Please fix the iPhone.

Don't forget:

1. Cut, copy, paste.
2. Search.
3. Sync with Google Calendar and Contacts.
4. External keyboard.

However, do note that many of top requests are silly. (In that they require new technology or address things that the App Store could provide if we had push notification.)

Thursday, October 30, 2008

Safari - still a 2nd class client in Google land

Firefox 3 isn't bad on my MacBook, but it still pegs the CPU on my G5 iMac (PPC). The Mozilla team broke PPC support with FF 3, and I guess they're not going to fix it.

So I'd like to make more use of Safari. Problem is, Safari is still a 2nd class client in Google-Land.

Today I tried using Safari with Blogger in Draft. The results looked ok and first, but on review line feeds are missing. An old problem, still there.

Google has a lot of work to do before Safari is a good alternative to FF. Of course even their own Chrome browser failed when I tried it with Google Docs and Spreadsheets, so Safari's not entirely alone.