Wednesday, December 03, 2008

Camino - the best of Safari and Firefox

I've been using Camino on our ancient G3 iBook for ages. Amazingly, it runs pretty well!

More recently, I gave up on using Firefox 3 on a G5. I think it really expects a dual core CPU; it's dog slow on a single core machine. I use it on my MacBook, but on my G5 iMac I use Camino.

There are some page issues -- especially with Google's more obscure applications (Page Creator). Some sites serve up 2nd rate pages because they don't recognize the browser; in most cases Camino would do fine with their Firefox stuff.

Mostly, though it's been great. Since it's a Cocoa app you get OS X services, classy looks, use of the system dictionary, use of the Keychain etc.

Now we have Camino 1.6 with some great features. Among them are excellent AppleScript support and feed detection (but, happily, not a feed reader) that works with your preferred reader.

There's only one little glitch with 1.6. Sometimes Camino windows get "stuck" to a (Spaces) Space. I can't easily move them to new "Spaces" the way I do my Firefox windows. It's inconsistent, but annoying. Since it's erratic I assume it's a bug, not a misguided feature. Mostly I can move the windows.

I'm sure it will be fixed soon.

Camino is a great piece of open source software.

Update: It's supposed to work with Google Reader, but danged if I can make it work using the Feed Reader preferences setting! There's zero documentation other than the mention of the feature, and I found nothing in my web searches.

Update 12/4/08: See comments for a recommendation about optimized builds and this terrific site. I'm still trying to figure out how we're supposed to be able to subscribe to a feed using Google Reader!

Share anything in your Google Reader Share feed

I'm addicted to Google Reader on my desktop and my iPhone. I love the ability to share posts and add quick comments; I wish more people advertised their shared posts (here's mine: web version and feed version).

GR is really a work of genius. There are so many fine touches, like navigating a feed list by spacebar, great keyboard shortcuts, search options, etc. The only thing I miss is Yahoo! Pipes compatibility.

I've become so accustomed now using GR's shared items option that I resent being unable to comment on plain-old 20th century web pages.

I dimly remembered there was a way around that problem. Sure enough ...
Official Google Reader Blog: Share anything. Anytime. Anywhere.

... Share anything with a bookmarklet - Just drag this link from the Notes page up to your browser's bookmark bar and click, click, click your way to easy, no-subscription sharing in Reader. You can share any content from any web page, even if the site doesn't have a feed. For even more control over what gets shared, select some text from the page before clicking the 'Note in Reader' bookmarklet and your selection will appear as the item's body. There's also a space for you to add an editorial note when you need to let your friends know why you are sharing something. You can always uncheck 'Add to shared items' if you want to add something to Reader without also adding it to your shared items...
I just tried it. If you look at my shared pages web view on 12/3/08 you'll find an excerpt from a NYT article on a peculiar health insurance initiative.

It's a great middle-path between simply reading and blogging. Now if Google would only add a "starred item" option ...

Tuesday, December 02, 2008

EMC Retrospect's fake Mozy online backup integration

A recent update to my Retrospect Professional for Windows [1] put a Mozy link on my Retrospect left sided navigation bar.

Well that seemed interesting. I followed the link to setup a free Mozy account. Mozy would be interesting if I could treat it like any other Retrospect backup set. A Google search turned up a plausible explanation ...
EMC’s Iomega and Mozy Divisions Offer Combined Desktop and Cloud-Based Backup | Xconomy

The three units are Walnut Creek, CA-based Dantz Development Corporation (acquired by EMC in 2004), makers of Retrospect backup software for Windows and Macintosh computers; Utah-based Mozy (acquired last September), which offers online backup services for consumers and businesses; and San Diego-based Iomega (acquired in April), which makes external hard drives. The organizations said that starting this summer, new portable and desktop hard drives from Iomega will come with instructions on how to download a free version of Retrospect Express that also helps buyers sign up for the free or premium versions of Mozy’s online service
I sign up for the free 2GB account. Of courses I'd never buy without testing.

Ok, now to fire up Retrospect Pro and ...

And Mozy does not show up in my Backup Set options. It doesn't appear in the Help file. There's a page on Retrospect's site but, you know, it isn't very precise about how the two "work together" ...

No. It can't be. I've been conned! It's just a stupid hyperlink! There's really no integration. Argghhhhh.

And I was just starting to think kindly about Retrospect. It's much less buggy than it was two years ago. Still way too complex for non-geeks, but reliable is good.

That'll teach me to think kind thoughts of software vendors! EMC just ripped off 20 minutes of my too-short time on earth.

How bloody annoying.

[1] It mostly backups my Macs, but it works so I keep it on my ancient XP box.

Sunday, November 30, 2008

Google Apps calendars - need to display current time-zone in the UI

A few weeks ago I noticed issues with Google Calendar synchronization related to how Google Mobile Apps Calendar vs. Google Apps Calendar handled time zone assignment.

Around that time Google changed their Calendar App behavior to display events in the user-specified settings time zone (not, I think, by IP address location assignment).

The problem is, they don't display the time zone information in the user interface. The only place to set time-zone is in the Settings, and then you have to remember to change it back as you travel.

They need to change their display from
Nov 30 – Dec 6, 2008
to
Nov 30 – Dec 6, 2008 Central Time
where a click on "central time" would allow time zone to be changed. When appointment details are shown the applicable time zone should be included.

It's disturbing that Google implemented the time zone behavior changes without making these very obvious UI changes.

Saturday, November 29, 2008

Using SiteSucker to backup my Blogger blogs - and my extended memory

For several years I've used Teleport Pro to create local searchable and browsable copies of my Blogger blogs.

That way, if Google falls to the The Dapocalypse I'll at least have my own copy of my extended cybernetic memory. More recently Google has added the ability to export one's blog in a google-readable format, so I do that as well.

Recently Teleport Pro ran out of gas. I hit a 65K limit for its URL database. TP has great support, and the author referred me to a $165 upgrade to their professional web spider. I've been very pleased with TPP, so if I weren't (with occasional regrets) primarily an OS X shop these days I'd pay for the upgrade.

Instead I decided to re-evaluate an OS X spider I'd tested years ago: SiteSucker for OS X. It's donationware (Paypal, sigh) and a quick download with no nasty system side-effects. I'd used it years ago, but even back then my much smaller blogs broke it. I had to set it aside.

I used it to download the site that broke Teleport Pro. It's not nearly as fast as TP Pro, and it wasn't able to handle blogger's tag links (I need to contact the author) but, overnight, it completed the download of over 15,000 separate files related to about 4,000 posts occupying 560MB of disk space (clearly the actual text is the least of the content). The download doesn't include any images, they're included by reference since I constrained the spider to my blogger path.

The first time I did the download I forgot to localize my links, so I couldn't navigate internally. The localization seems to work for some links, but not, as mentioned earlier, for the tag links.

I suspect Teleport Pro is a more robust solution -- but it's XP only and it can no longer handle my blog. Site Sucker looks very promising. I'm going to try tuning it and corresponding with the author about the tag links. If it passes my further tests I'll add configuration notes to this post and I'll be making a donation (much as I dislike using PayPal!).

Friday, November 28, 2008

Entourage perspective on OS X Sync Services

Ths article by a Program Manager in Microsoft's Mac Business Unit gave me some new insights into OS X sync services. It illustrates how very hard it is to do synchronization of any sort between disparate products. Perfection is impossible, the best vendors can do is reduce the outrage rate.

Synchronization is Hell.

Andy Ruff includes a discrete link to a section of Apple's developer documentation on the Sync Services Truth Database. To the bloodied sync veteran every word in these paragraphs could be written in blood (Entourage, according to Andy Ruff, defined a schema for Notes since Apple didn't have one. I find Apple's approach to schema definitions interesting.) ...

... The truth database contains an aggregate of all the client’s records. Consequently, the truth database uses a canonical schema that is an aggregate of all the schemas used by all the clients.

A sync schema is based on an entity-relationship model similar to that used by other Cocoa technologies. Read Cocoa Design Patterns in Cocoa Fundamentals Guide to learn more about entity-relationship models and terms such as entity, property, attribute, relationship, to-one, and to-many.

You can use one of the existing sync schemas—for example, for contacts, calendars, and bookmarks— extend one of these schemas or create your own. If you extend a schema or create your own, then you need to create an entity model for your custom objects and save it in a schema format that Sync Services understands.

This format, called sync schema, is a property list that specifies details about the entities in your model. For entities, you might specify the name of the entity and names of its attributes and relationships (collectively referred to as its properties). For attributes, you might specify the name of the attribute and its data type. For relationships, you might specify the name, destination entity name, cardinality, and delete rule. See “Creating a Sync Schema” for a complete description of the sync schema property list.

A sync schema defines a template for records stored in a database whose records are of a particular type (records belong to an entity) and may have relationships to other records. Records stored in the truth database are dictionary objects with key-value pairs, one for each property defined in the entity. Each record dictionary also has an entity name property and an associated unique record identifier. The record identifier is not stored with the record but is instead used by the client and sync engine when referring to a record. The truth database can also store custom fields in a record that are not defined in the schema. For example, these fields can be used to store client information added by a device.

The truth database doesn’t store arbitrary key-value coding-compliant objects—it stores record dictionaries. Therefore, unless all your entities are dictionaries, you typically transform records back and forth between the sync engine’s record representation and your client’s object representation. However, when fast syncing, you can apply changes only to properties—you don’t need to push and pull entire records when only a few property values changed.

Because the truth database is an aggregate of all the client schemas, it can contain a lot of information that your application doesn’t care about. Your client can filter the records that it pushes and pulls in several different ways...

The more I suffer with Apple's approach to Calendars, Tasks (phhhtt!) and Notes/Memos the more I'm interested in Entourage. The problem is there's no way for a 3rd party to sync directly with the iPhone Calendar. Microsoft would have to create a complete Entourage-friendly iPhone PIM suite, and I rather doubt they're going to do that.

Update: Macintouch has a great, meaning despair-filled, thread on Entourage to iPhone synchronization. Synchronizing disparate data models is not a soluble problem. Even a deity-equivalent AI can't perfectly reconcile disparate data models.