Saturday, February 14, 2009

Work home contact integration: Outlook to Google to OS X Address Book

One of the secrets learned on the wrinkly path is that simple solutions are very hard.

Obviously, not hard to describe or apply. They're hard to invent, because there are so many solutions, simple and complex alike, and most of them aren't good.

Lately, I've been starting to tackle a gnarly problem - managing my Contacts (address book). It's a big problem ...
Gordon's Tech: Project Contacts: Integration across iPhone, Google and whatever

... There are a lot of variables in the mix, from endpoints to transition tools. Gmail Contacts, Google Apps domain shared contacts, Google Contacts API and extended Contact Kind, OS X Address Book [1], iPhone Contacts.app, Microsoft Exchange Server, ActiveSync, SpanningSync, FileMaker Pro, Bento, MobileMe, gSyncIt, iTunes sync, Google iPhone Sync, vCal, hCard, GData, OpenSocial, Windows Live, Facebook and Outlook among others. (Yes, several others.)...

... Yes, this one is the big Kahuna. Big enough that, for this project, I’ve created a new Gordon’s Tech Label of “Contacts” to help me as I work through all the options.

In the meantime, there’s one big bit of good news. Contacts don’t change as much as Calendaring events. I can get by with manual export/import for quite some time...

It took me quite a bit of thinking and playing with the variables to come up with that last sentence. I explored a lot of very complex approaches, only to be stymied by problems with data structures and a lack of adequate OS X desktop tools.

Eventually I decided to scope the problem strictly to creating a pool of Contacts in OS X Address Book that would sync to my iPhone, and a slightly different pool of Contacts in my Gmail account. Once I did that, the problem became a lot simpler. I now have 1,600 Contacts on my iPhone.

A diagram would help here, but I don't have time to make one up, so here's a skeleton of what I'm doing. It's all manual, but I only do it every few weeks, because (this is the key), Contacts don't change as much as most things.
  • Exchange Server/Outlook -> Export CSV file -> Google Gmail import into a "group" called "Work Contacts". Since this is a simple one way export I clean out this group before the import. I do this every few weeks.
  • Gmail export -> vCal file -> OS X Address Book. When you do this Address Book adds items to the main group, but it highlights those just imported. You can then carefully drag them into a "group" called "Work Contacts". Incidentally, OS X Address Book duplicate management is very sophisticated -- the best I've yet seen.
I think I'm going to discover some other interesting nuances. In particular Google Apps now provide an intriguing pooled Contacts collection that may facilitate a family Contacts pool.

Still, this is substantial progress for me.

Update: BTW, the default vCal behavior for OS X Address Book does not export photos or notes. You must turn these on in options. The vCal from Google does export notes and photos. Address Book imports the notes, but not the photos -- or at least not during a merge/update (this may be a bug).

Update 2/18/09: Oops. Corporate exchange servers often use x.500 email addresses (aka EX format, for "exchange") internally. Those aren't useful to Google or my iPhone. I recall older Palm sync solutions substituted net-standard email addresses during sync; I need something like that. So there's still some work to do. I'm not the only one dealing with this ...

Update 2/19/09: Inspecting the output file I see that Outlook 2007 exports CSV file emails in this form:
E-mail address E-mail type E-Mail Display Name
fredflintstone@bedrock.zz SMTP Fred Flintstone
/o=Megacorp/ou=North America/cn=Recipients/cn=xdf415 EX Barney Rubble (Barnie.Rubble@Megacorp.com)
So the x.500 (EX) addresses contain an employee identifier ('cn') that maps to a current email address which is stored in parentheses in the E-Mail Display Name field. The SMTP style addresses do not display the email address in the E-Mail Display Name field.

So really, we want Google to be smarter about importing. It ought to "know" to pull the email address out of the [E-Mail Display Name] column when [E-mail type] = "SMTP".

This is rather annoying.

Someone must have written a utility that reads in this export file and post-processes it to extract the SMTP address and store it in the E-mail address column for EX type rows. I'll have to look for it. Meanwhile I'll ask Google to fix their import processing.

Update 2/19/09: I tried linking from Access 2007 to Outlook 2007, but this produces a very peculiar view of email addresses. The old data model problem no doubt -- the UI for doing this looks very old, so I suspect this function is really obsolete. I then exported as Access 2003 from Outlook 2007 and got something similar to the CSV file export. On inspection, however, it became obvious that Outlook's storage of SMTP equivalents for EX email addresses is pretty erratic. Indeed, it looks like even the EX addresses stored in Outlook (vs. on Exchange server) are flaky. So I'm beginning to understand why Google doesn't want to try to get clever with processing the CSV files -- the email addresses are unreliable.

I feel so sorry for programmers who try to work with this stuff. Outlook is really decrepit.

I'll need to think about this a bit more ...

Update 5/19/09: Major progress. Among other things, I learn that if you copy .OST Contacts to a .PST file Outlook resolves the X.500 EX addresses to SMTP addresses.

Project Contacts: Integration across iPhone, Google and whatever

I was just about ready to turn my iPhone into cyber-mulch when, unexpectedly, Google saved it. Calendar nerdvana has come to my iPhone, albeit at some cost to my iPhone battery. Again, I have hope. (Yes, Andrew, I am obsessed.)

I need hope. My PIM/PDA world is still a post-Palm mess. At the moment Google is my source of Calendar Truth, my iPhone is a sync client, and iCal is not involved. I’d like to have a copy of Calendar data that I “own”, so I’ll eventually re-integrate iCal. I’m no fan of Apple’s calendaring monstrosity, so there’s not a great rush. Sometime this year though.

In any event, it’s time for a refresh of my Palm Migration Status page:

image

Things have changed quite a bit over the past few months. It’s been a lot harder than I ever expected, and there’s still a way to go. (I hope the Palm Pre is a smash success, if only for vicarious revenge upon Apple for MobileMess.)

Today my old Palm Classic PIM data is scattered across my iPhone, Google, OS X desktop, ToodleDo, Evernote and Jott. That has to get simpler! I’ve made a “strategic” family and personal commitment to Google, so if/when they integrate their inadequate Tasks with Google Calendar (here’s how to do it) I’ll drop ToodleDo from the mix.

I could drop Jott fairly easily as well, and Evernote is improving nicely, so for now my focus is Contacts. This isn’t as critical as Calendar integration, but I’d sure like to get all my work and home Contacts on my phone.

Unfortunately, Contacts are hard, much harder than Appointments, Notes, Tasks, etc. (Ok, so Appointments have their own special non-technical problems too.)

There are a lot of variables in the mix, from endpoints to transition tools. Gmail Contacts, Google Apps domain shared contacts, Google Contacts API and extended Contact Kind, OS X Address Book [1] OS X Address Book Google Sync [2], OS X Address Book Exchange Sync [3], iPhone Contacts.app, Microsoft Exchange Server, ActiveSync, SpanningSync, FileMaker Pro, Bento, MobileMe, gSyncIt, iTunes Google sync, iTunes Address Book Sync, Google iPhone Sync, vCal, hCard, GData, OpenSocial, Windows Live, Facebook and Outlook among others. (Yes, several others.)

Bad enough, but “Contact” information is a big part of vendor lock-in strategy. Yes, Data Lock, big time. We’re talking Google, Microsoft and FaceBook fighting over ownership of contact relationship networks, and everyone fighting with banks, Amazon and the phone companies for identity ownership.

Complexity, corporate combat, rapidly shifting implementations, vendors focused until recently on Calendaring …

Yes, this one is the big Kahuna. Big enough that, for this project, I’ve created a new Gordon’s Tech Label of “Contacts” to help me as I work through all the options.

In the meantime, there’s one big bit of good news. Contacts don’t change as much as Calendaring events. I can get by with manual export/import for quite some time.

In the meanwhile, I’ll be experimenting carefully. Follow the Contacts thread forward to learn what I learn …

[1] OS X iCal is miserable, but OS X "Address Book" isn't all bad. If Bento weren't so crummy I'd put the OS X "Address Book" plus Bento at the core of my strategy.

[2] Update: Since my original posting, I discovered through this thread that OS X 10.5 Address Book has its own options to synchronize with Exchange, Google, and Yahoo -- in addition to the Phone to Google synchronization built into iTunes/OS X (available for 10.4 and 10.5). The mind boggles. So one could synchronize the OS X Address Book with Google Contacts directly, or through Google's Active Sync service ...

Update 5/19/09: Major progress - I have work and home integrated and options for Google too. The cost is I may have to subscribe to MobileMe.

Friday, February 13, 2009

Adobe Reader installer quits after ODBC Setup

Adobe is the most incompetent large software company on the planet Earth.

I really can't understand why they're still in business, or why anyone pays any attention to them.

I just ran into this bug -- it was well understood in August 2008 ...

Adobe Forums - AdobeReader 9 installer quits after ODBC Setup on Vista

... In my case this was caused by the presence of a MS ODBC setup.exe file programfiles\SAP\FrontEnd\SAPgui\FILC\odbc. This file was in PATH and thus triggered, I renamed the file temporarily and the install works. Probably goes for any file named setup.exe in PATH...

No other XP installer has this kind of problem.

Why is Adobe still in business? Won't someone rid me of this company?!

Thursday, February 12, 2009

Applications for moving data out of OS X Address Book

After many years in which my address book more or less lived in a FileMaker database and Outlook/Palm I migrated it to OS X Address Book.

Now that Google is providing Exchange services for my iPhone it's time to move it again -- at least a part of it will live in Google.

This is a surprisingly gnarly task. I'm not sure what tools I'll use; I think I might end up doing some reconciliation work using Outlook 2007 and Microsoft Access 2007 because of the limitations of Address Book and FileMaker.

As I think this through, here's a list of tools I've come across for moving data from OS X Address Book (it exports VCF files).

Wednesday, February 11, 2009

Gmail contacts - now search works

It took a surprisingly long time for a search company to enable search across contacts:
Official Gmail Blog: Four changes to Gmail contacts

...Search across all contact fields
We've heard you loud and clear, and contact search now works much better: instead of just searching contact names and email addresses, it now includes phone numbers, notes fields, and mailing addresses as well. So, if you're visiting the Bay Area and looking for friends to catch up with, you could try typing '650' or '415' in the contact manager search box...
On the iPhone you can still only search by name and business, on the original PalmPilot you could search across all fields.

Google has made several changes to Contacts. In Google Apps you can now enable a "contacts" app that moves Contacts out of Gmail into their own context. Of course there's long been a secret URL to do the same thing.

I'm a bit disappointed Google has never restored the wonderful simplicity of adding email addresses in version 1 of Gmail. I recall you could post lots of addresses into a text field and Gmail would parse them.

Even so, it's good to see Contacts getting attention.

Access OS X Address Book records using OpenOffice database?

While idly browsing FileMaker forums contemplating the futility of Bento and the tragedy of FileMaker 10 and the theory that Product Managers hate me I came across a remarkable post:
Does FMP 10 have full integration with Address Book? - Using FileMaker Pro - FileMaker Forum

... I looked at addressbookmanipulator but it seems to be a development plugin. It costs $74 via credit card. It doesn't transform FMP in Bento with respect to address book integration :-( I would love to be able to select the address book as a data source in FMP.

Another promising option is OpenOffice 3.0. Its database wizard offers to connect to an existing database and lists Mac OS X Address Book as an option. When using it you get what seems a complete table for each Address Book group and includes the UID. The downside is that you can't edit the data ...
OpenOffice?

Well, yes. For example (read only, no edits):
I'll have to give OpenOffice a try! It's sad that OO can do what FM can't. Along with the A to G Address book utility this may be another tool to use in my quest to create a unified work/home Google Contacts collection that will sync via Google's ActiveSync Exchange service to my iPhone.

Soon, victory will be mine (queue insane, evil, laughter)...

Update: Dang! OpenOffice 3 is still Intel only! If you try to download you get a "bouncer" error. On the other hand, you can download a pre-release 3.01 rc2 PPC version from a dev site (this is seriously weird, and not encouraging).

On the other hand, the Java based NeoOffice 2.x and 3.x preview both have PPC versions.

Update: Wow, OpenOffice 3.0 PPC is pretty spartan. Lots of redraw artifacts on my G5. It did open the data, but I haven't yet figured out how to export from OO Database in any format. A useful tool though.

Synchronizing iPhone and Gmail contacts: getting OS X Address Book into Gmail

Google recommends this utility for transforming an OS X Address book into the (yuch) CSV format Gmail can handle: A to G The easy way to get your Mac OS X address book into Gmail. This is one possible path on the way to using Google's ActiveSync implementation to sync contacts from iPhone to Google and gSyncIt to get them from Outlook to Google.

I'm approaching the problem of integrating my work, Gmail and OS X contacts with great care. It feels like juggling antimatter -- the data models are very different. There's a lot of potential arrow-of-time entropy risk -- data loss that can't be reversed.

One big confounder is the absurd persistence of CSV as a format for moving data around. That's was nice in 1970s. We should be using an XML transaction that ought to at least preserve line feeds in text notes. Unfortunately we should also be using object-oriented personal databases too, but the last of those died in the 1990s. (Anyone remember "Arrange" for MacOS?)

Tuesday, February 10, 2009

gSyncit vs Google Calendar Sync with Outlook 2007

Now that we're in the blessed era of iPhone ActiveSync to Google Calendar and Contacts I've been comparing Syncit for Outlook 2007 ($10) to Google Outlook Calendar Sync (free).

Both of these products have had serious bugs in past experiments. gSyncIt has the big advantage that it will also sync Outlook Contacts, Google's current Outlook Sync only does Calendar items. gSyncIt also has many more customization options.

On the other hand, gSyncIt does not do meeting attendees.

Neither can handle everything one can put in an Outlook meeting of course. Attachments? Puh-lease. For this reason alone all sync must be unidirectional (either way), bidirectional sync of this sort will only end in tears. (iPhone to Google Calendar, OTOH, is much simpler and mostly works.)

I'm thinking. I want to see how the Contacts goes, and I might hunt around for a third solution ...

Update 2/11/09: The gSyncIt Add-on is definitely causing Outlook 2007 outlook.exe process hangs. Not necessarily their fault; Microsoft's Add-ons have the same problem. The Outlook 2007 Add-on architecture makes DOS 3.1 TSRs look good. I've had to uninstall gSyncIt. I suspect the only safe way to get Outlook contacts to Gmail will be to periodically wipe them from Gmail, then export from Outlook and import into Gmail. Annoying!

Update 3/17/09: Google Calendar Sync was working until recently. It started giving me error code and nonsensical "connect to internet" messages. I had to delete my Google calendar data and redo the sync to make it work; nothing related to the error messages. Fortunately I only do 1 way sync!

Monday, February 09, 2009

Google saves my iPhone

Ok, so I don't know if it works, and I do feel sorry for the Nuevasync team.

Still, I'm grateful for Google's Exchange ActiveSync service service. With MobileMe hopeless and near worthless, and my iPhone love broken-hearted, things were looking pretty damned bleak -- until today.

Perhaps in honor of this launch, Google has an iPhone device page with lots of Google related topics in one place. The Sync set is towards the bottom of the page ...

iPhone Devices - Mobile Help

... Sync

No doubt about it. Google loves me. I ain't crawling back to Apple no more.

Update: Google licensed ActiveSync from Microsoft for this. I assumed they'd cloned it. I wonder what a ten million user license of ActiveSync costs? I don't imagine Microsoft gave Google much of a discount. It's an amazing testimony to the power of Microsoft's Exchange monopoly, and a marker for how serious Google is about making this work.

Update: It worked on our iPhone touch -- Calendar and contacts alike. I then wiped everything from the iTouch and proved I could sync just the calendar, and leave the contacts alone. That worked. Then I chose my sync calendars (config site is http://m.google.com/sync, you must visit it from an iPhone). I actually ran up against the 5 calendar limit (my work, emily calendar, my personal, MN Special Hockey and US Holidays), but that's good for now. The 5 calendar limit appers to be related to an iPhone bug.

So next I will sync and backup my iPhone and create special backups of my OS X Address Book and Calendar. Then, for now, I will turn off Spanning Sync while I do my testing -- so OS X iCal will no longer be connected to my true calendar (no loss).

Update: After backing up as above I'm on to my iPhone. It was already setup to do IMAP sync with my Gmail account; I added the Exchange server connection. I got the "invalid certificate" warning during Exchange setup -- that's a known bug. I turned Exchange Mail OFF, Contacts OFF (for now) and Calendars ON. I received the warning that existing calendars would be removed from my iphone.

After setup my Mail, Contacts, Calendar settings showed two accounts: one for Mail and one for Calendars. Although NuevaSync recommends turning Time Zone support OFF for Calendars Google didn't make any recommendations, so I left it ON.

I checked Calendar, and saw one calendar was synchronized. That was curious, since I'd configured the iTouch I'd specified 5 calendars.

Here's where things get interesting. When I visited the setup page I found configurations for two devices.

So you can sync multiple devices to a single set of Calendars, and you can configure separately which calendars each one syncs to. [or maybe not - see update]

Interesting ...

Anyway, so far it works.

Update: This is so cool. I play around with an item time on my iPhone, and moments later it's switched on my wife's BB Pearl (yech) and her Google Apps Calendar (yay). I'm holding off on Contacts for now; the Google contact model is pretty sparse. I want to give that migration a bit of thought. With Google for Calendaring and soon for Contacts I can live with Todo.App, Notebook.app and Evernote for a while longer.

Google has Gmail Tasks now. How long before they, or someone else, provides an iPhone Task app that will sync with Google Tasks? If they build out the data model I'd love to see Appigo selected for the iPhone app.

Update 2/10/09: Ok, maybe it wasn't a good idea to sync two iPhones to one account. When I go to http://m.google.com/sync I can't change which five calendars I sync to.

Update 2/14/09: It may be coincidental, but a day or two after I discontinued sync with the 2nd iPhone I was again able to edit my subscription limit (still only 5 calendars pending bug fixes). Incidentally, now that I'm getting Push Calendar updates I see why people complain about the iPhone's battery life. OS X wasn't built to be a power miser.

Update 5/22/09: Every few months the calendar seems to stop updating. I turn off "calendars" in the iPhone Exchange ActiveSync screen; that removes all calendars from the phone. Then I turn it on again. They then update normally.

Saturday, February 07, 2009

FileMaker 10: if only they'd provided support for iCal and Address Book

Bento allows direct access to the SQLite tables that support iCal and Address Book.

FileMaker Pro 10 doesn't.

So sad. Bento is worthless, but earlier versions of FM weren't bad. If FM 10 had direct support for SQLite work on iCal and Address Book I'd have bought it in a heartbeat.

It does make me wonder what the heck they were thinking.

I try NuevaSync on my secondary iPhone

I've been holding off on NuevaSync. I liked the idea, but I wanted to wait until they were out of beta. It didn't help my confidence that NuevaSync, maybe deliberately, has been keeping a minimalist (amateurish really) web presence. (BTW, "neuvasync" is a typo/phishing site, so type carefully.)

So I've been waiting for about five months, even as MobileMe festered and I've grown disenchanted with Apple's iPhone and Apple's iCal alike.

Now I'm relatively fond of Google, I'm about ready to try anything that's not Apple, and I've been receiving kind comments encouraging me to try the Google/NuevaSync alternative.

So I decided I'd try NuevaSync out on our pseudo-iTouch. If it works there, I'll look at wiping what's on my iPhone. (When you switch to a MobileMe or Exchange account on an iPhone existing data is purged.)

NuevaSync puts an Exchange Server front end on Google Contacts and Google Calendar (gCal).

The spartan details can be found off of NuevaSync - Over the Air Synchronization once you've setup a free beta account (this article has much more detail, though it's dated). When NuevaSync asks for your "Google ID" they mean your Gmail email address. You don't give NuevaSync your Google password, instead you're taken to a Google page where you can give NuevaSync special read/write privileges.

When setting up your phone pay attention to the settings, esp time zone (off) and SSL (on). During initial setup the domain is left blank, so you have to wait for the phone to time out and ask for a server name.

My initial configuration worked well for the Calendar; I'm seeing all of the Google Calendars that belong to the account I used. NuevaSync is recognized by the phone as Push provider, be sure you have data updates turned on. (Mine was off to save battery life).

Contacts didn't work as well. Nothing came through.

I checked the NuevaSync Status page and Sync status page and found this message:
Your Google account contains bad data, probably added by a third-party sync application. We recommend exporting and re-importing your Google contacts to clean up the data.
Right. Have I mentioned that Synchronization is Hell? Glad I am that I'm bloodied enough to try this first on the "iTouch".

Yeah, there could be "bad data", or there could simply be legal data attributes that NuevaSync isn't expecting, or character sets it doesn't like. "Exporting and re-importing" would be quite a bit easier for a data geek like me if, for example, there were a data exchange format that preserved carriage return/line spaces in text fields.

To be continued ...

Update: The NuevaSync team doesn't rest. When I emailed them about the Contacts problem they replied Saturday night:
... The data in this case is 'bad to the bone' in that it is blowing up inside Google's own client library...
In other words they can't work around the problem since Google's code is in control -- unless they can bypass use of the Google client code. They did suggest looking for odd characters in email addresses (semi-colons, etc). So I might try exporting the data and then looking for the badness that way.

Update 2/9/09: A bad day for Nuevasync. Damn, I feel for them.

Look for the Sync topic on Google's iPhone Devices page.

Google's approach to Contact Sync is to first sync via iTunes to Google, then turn on the Exchange features and wipe out the phone. You'd backup first of course. If you want Address Book on OS X to then reflect the phone/Google you'd need to sync it to Google (Spanning Sync, for example).

I'll try this on my iTouch/iPhone device.

Update 2/9/09: Google's exchange ActiveSync service worked, including the Address Book. I am genuinely sad for the NuevaSync team.

Thursday, February 05, 2009

Synchronization case study: Address Book, the iPhone, and Google Contacts

The following is excerpted from the documentation for Spanning Sync, an application that synchronizes my OS X and iPhone Address Book contacts with Google's contacts. Read it and despair, but remember the fault is not in Spanning Sync ...
Spanning Sync - Sync iCal and Google Calendar

... The first option, “Preserve Address Book data” is recommended because it guarantees that names and street addresses in Address Book maintain their formatting. For example, a first name "Vincent" and last name "Van Gogh" doesn't become first = "Vincent", middle = "Van", last = "Gogh". The downside is that the extra formatting may keep autocompletion from working as expected in Gmail ... When editing contact names and postal addresses, do so in Address Book and not in Gmail if you're using the Address Bookcompatibility mode (recommended). Deleting these fields in Gmail is fine, as is editing other fields such as email addresses and phone numbers... Google does not allow multiple contacts to have the same email address. If you have contacts in Address Book that share the same email address, Google will reject all but one of them and Spanning Sync will notify you of the conflict.
Yes, Synchronization is Hell. Google and OS X Address books have different data models for a Contact. Full reliable synchronization is not possible.

Of course on can more or less sync Address Book Contacts with MobileMe, but MobileMe calendaring is unacceptably feeble so that's not an acceptable option. Attempting to sync Outlook contacts will produce lesser but similar conflicts -- at least until 10.6 OS X adopts Exchange Server's definition of a Contact.

I wonder if anyone at Apple understands this. I imagine someone did, but when he tried to explain the problem to Jobs he was banished to the Dark Tower ...

See also: Why you can't get your work calendar on your iPhone

Update: Read the comment from Charles Wood, one of the founders and developers of Spanning Sync. There's a reason I'm a Spanning Sync customer -- I appreciate that they tackle this terribly hard problem. Dang, but we're at a frustrating point in the general problem of 'synchronization' and data exchange. I can only hope understanding of the fundamental problem is percolating from engineering up to the executive suite ...

Wednesday, February 04, 2009

Office 2007 - the bizarre bits

I've been using Office 2007 on XP for a few months.

My overall impressions are:
  1. Excel: few real changes, maybe slightly improved
  2. PowerPoint: Using themes in PPT 2003 mode is ... a recipe for madness.
  3. Word: mostly better, but some odd new gaps
  4. Access: buggy and mostly worse for what I do (data analysis, manipulation)
  5. Outlook: almost every significant new feature is broken, some hideously broken. For heaven's sake, don't try the feed reader sync with IE 7 on a non-trivial feed list -- unless you like to see your machine meltdown. Some ancient bugs were fixed.
If you're on Office 2003 you should wait about 2 months post Office 2007 SP2.

The main benefits of Office 2007 seem to be that it does work, awkwardly, with Sharepoint 2007 document management, whereas Office 2003 is a total fail. (Non-Office applications are even worse, which suggests that the European anti-trust effort has finally collapsed.)

Which brings me to the bizarre stuff I keep running across then forget about. I'll put one in one or two then add more. These aren't bugs -- those are too numerous (esp in Outlook 2007) to list. These aren't rants on the half-baked user-customizeable quick reference bar or the new UI (which is dumb but I'm used to it now), these are just bizarre design choice.
  1. Word tables: There's a whizzy new table creator, but we've lost control over row and cell attributes. Try to copy table cell shading from one cell to another cell. The table overall didn't work; the Office team should figure out what went wrong and fix it.
  2. Word auto-format: Even more intrusive, though less often wrong.
  3. In Outlook 2007, unlike 2003, you can't
  4. PowerPoint "Theme" revision - at least when used in PPT 2003 compatibility mode. Oh, my, Lord ...
Update 11/4/09: The more I use it, the more I wish Microsoft would go away (they won't)
  1. In Outlook there's no visual indicator to differentiate between blocked times (appointments) and meetings (has attendees). When I look at my calendar I'm not sure whether I'm late for some work I set for myself or if I've got people waiting for me.
  2. I hate, hate, hate that I can't get PowerPoint to open windows on more than a single monitor. (To be fair, I think Microsoft screwed this up ages ago).
See also:

Monday, February 02, 2009

Gmail tasks grow up - slightly

I've been rather unimpressed with Google/Gmail Tasks. They remind me of Apple's disastrous Mail.app tasks, except they don't even have categories.

They're not dead yet though ...

Official Gmail Blog: Tasks: Paper vs. iPhone

We set out to fix this by making Tasks available from your phone with a version optimized for the small screen. And starting today, you can manage your task list from your iPhone or Android device...

... Just go to gmail.com/tasks from your phone's browser and log in. If you already use the version of Tasks in Gmail Labs, you'll see the same task list that's always in sync...
... so try it out and let us know.

P.S. There's a new gadget version of Tasks too -- so if you want to add your same task list to iGoogle, now you can.

I put my request list into the let us know bucket:

  • an API
  • Calendar integration (esp. something like this)
  • The "palm to do" minimal attribute set

If they get the API and calendar integration I'd love to see Appigo's iphone ToDo.app sync to Google Gmail tasks instead of to Toodledo.

Using Bloggers undocumented label (category) feeds and Yahoo Pipes to create a tech opinion feed out of Gordon's Notes

[3/14/09: See Update below. I loved how this worked, but I had to give up on it. If blogs survive, maybe Google will add Pipes-like features properly.]

Dang. What's a geek got to do to be fully informed these days?

I've only now learned that my 2nd biggest Blogger feature request, feeds on Blogger "labels" (aka categories, sometimes called tags), has been unofficially available for at least a year ...

Blogspot ... Feeds by Category / search labels

Here's the default URL for any search label in Blogger:

xxx.blogspot.com/search/label/labelname

To convert that search label into a Blogger ... feed, replace the string /search/label/ with /feeds/posts/default/-/ so the new feed URL for that search label has the following syntax:

xxx.blogspot.com/feeds/posts/default/-/labelname

For this to work, you should have enabled Site Feeds for that blogs. Blogger Label Feeds will inherit the full or partial text settings from the main feed itself.

A year! I could have easily solved the problem I flailed at only 5 months ago.

The problem is I my opinion blog, Gordon's Notes mixes both technical and liberal political opinions. The technical opinions might fit in with tech.kateva.org but the political opinions won't. In any case, I like to keep this site to the apolitical "facts", so even technology opinions are a bit out.

Now I can organize feeds however I like, using this undocumented feature and Yahoo Pipes.

To start with, here's the label for "technology"

http://notes.kateva.org/search/label/technology

and here's the feed (Atom) following the above pattern

http://notes.kateva.org/feeds/posts/default/-/technology

It's a well formed feed, except that it doesn't get a useful name like "Gordon's Notes - technology"; it just gets called "Gordon's Notes".

That's good, now we add Yahoo Pipes (best thing they've ever done).

At Yahoo Pipes I can merge multiple GN opinion feeds (Case matters, spaces are sort of ok but, you know, spaces are always a pain)

http://notes.kateva.org/feeds/posts/default/-/Apple
http://notes.kateva.org/feeds/posts/default/-/data lock
http://notes.kateva.org/feeds/posts/default/-/drm
http://notes.kateva.org/feeds/posts/default/-/Google
http://notes.kateva.org/feeds/posts/default/-/Google Apps
http://notes.kateva.org/feeds/posts/default/-/netbook
http://notes.kateva.org/feeds/posts/default/-/os x
http://notes.kateva.org/feeds/posts/default/-/palm
http://notes.kateva.org/feeds/posts/default/-/spam
http://notes.kateva.org/feeds/posts/default/-/technology
http://notes.kateva.org/feeds/posts/default/-/xanadu

The feed summation is pretty trivial ...

image

After I save and rename the YP feed I end up with:

http://pipes.yahoo.com/jfaughnan/gn_tech

Google Reader treats this as a proper feed. So, after years of blogging, I'm now able to do my own syndication.

This will be fun.

Update 2/7/09: Since I had to treat each label as a separate feed, and since a post can have multiple labels, the above design produced a lot of duplicates. It also had no sort order. I added the "Unique" (by ID) and "Sort" (pub date) operations to fix those problems.

I've also created a new feed that takes the the pipe for http://pipes.yahoo.com/jfaughnan/gn_tech and then adds (Union) the feed from Gordon's Tech (this blog) and sorts by publication date. I didn't need another unique operator because I wasn't creating more duplicates.

This new feed combines all my posts from Gordon's Tech with my technology opinions posted in Gordon's Notes. It's

http://pipes.yahoo.com/jfaughnan/tech_plus
and the new feed is
http://pipes.yahoo.com/pipes/pipe.run?_id=CGBvCFr13RG4ekbA1JzWFw&_render=rss
I might add this to my post footer but I've noticed two limitations of this type of feed.
  • The posts sort correctly when I view the generated Pipe web view, but the feed from that view gives all posts close to the same pub date.
  • The feed does not inherit the title set in properties, it gets the URL string.
Update 3/8/09: hmm. There might be a serious problem here. Lately Google isn't indexing my stuff as well as they used to. I've seen that before when Google gets confused by splogs. It indexes splogs that have harvested my posts, then it starts treating my blog as though it were also a splog. Usually it self-corrects after a few days but this time it seems to persist.

Alas, by creating Pipes from my feeds I wonder if I've created my own de facto splogs. I tried to submit a question to Yahoo about making these non-indexed but the submit forum crashed. I think I'll have to take these offline. Unfortunately it's very hard to learn Google's policy on these things.

Update 3/15/09: I never did get an answer on my Yahoo or Google Groups questions. I did find that I was getting odd results from subscribing to the Pipes I created. Google Reader persistently showed me old posts as new, probably because when a Yahoo Pipe is generated all the source posts get the same date.

In addition, even though I "unpublished" the Pipes I linked to them from various posts, and I think Google was finding and indexing them. I don't see how Google could differentiate them from spam blogs, and we know that the GoogleMind associates splog taint with the parasitized victim. (The GoogleMind is a harsh and unforgiving Yahwhite god.)

Yahoo Pipes needs a no-index tag and it needs to handle post dates differently.

I didn't want to delete my Pipes in case I wanted to work with them in the future. So I simply changed the URLs to something new and thus invisible.