Linkback your apps

by Giles Turnbull

Related link:

Isn't it great when you discover something unexpected hidden away in an application, something that delights you because it's just what you needed, but you had no idea it was there?

Wouldn't it be equally great to find a way of editing objects within documents, no matter what application those objects had been created within?

Linkback heralds the start of a fascinating project to turn that thought into reality. Backed by some of the best-known names in third party Mac development, it promises users the chance to paste a chart or diagram from one app into another, such as a word processor; then double-click the chart to edit it again in the app used to create it. Changes are automatically reflected in the pasted version. Neat, huh?

I'm excited by this because I've been using something similar in recent weeks. As part of my efforts to publish every day on a Moveable Type-powered blog, I've already described my use of MarsEdit as a blog editing tool. What I discovered shortly after posting about it before is that by hitting Command+J while drafting a new post, it opens in BBEdit. MarsEdit is nice but it's a world away from the powerful text and HTML capabilities of BBEdit, which is also a much faster editing environment.

My routine changed after this discovery; now I could start a new post in MarsEdit, write it in full with BBEdit, and simply save to see the changes instantly available in MarsEdit again. Editing is super-fast and about as efficient as posting to a blogging app on a remote server is going to get. I love it.

The clearest explanation of Linkback's inner workings uses the good old client/server model. In this case, individual applications are servers (providing data about objects) or clients (acting as recipients of those editable objects). When the user activates Linkback, they effectively trigger a series of negotiations between the two apps, sharing data via the built-in Cocoa pasteboard. It's neat because it's such a simple idea and uses the tools readily available, rather than trying to implement something new to do the same job.

And simplicity is one of primary motivating factors here. That's the key. After all, the concept of sharing data between apps isn't new; the idea of creating a Really Simple Framework to enable it is. According to the guys at Nisus, some developers might only need to add a few dozen lines of code to make their products Linkback-friendly.

What do you make of Linkback?


2005-03-07 07:25:48
Shades of System 7
Sounds like a more sophisticated and seamless version of "Publish and Subscribe," which, unfortunately, never worked quite as smoothly as one might have hoped.

Seems like a very promising idea (and no wonky "Editions" files).

2005-03-07 09:41:47
Apple buy-in?
No one seems to mentioning how this would be affected by Apple's stance - don't you need Apple's buyin for their apps to make this really valuable?
2005-03-07 10:01:15
Shades of OLE 1, for that matter
This is also similar to the first version of Microsoft's OLE (Object Linking and Embedding), which like Apple's publish/subscribe also dates from circa 1991.

It's nice to see this functionality, but hopefully we will eventually get some form of application communication that's a little more modern, such as the ability to edit the content in-place inside the destination app. (That would still make it 1996-era technology, a la Apple's OpenDoc or Microsoft's OLE2.)

I worked on OpenDoc and I'll be the first to admit it had a fatally flawed architecture and a terrifyingly complicated API. But with the Cocoa GUI frameworks and OS X's fairly robust bundle plug-in mechanism, it wouldn't be too hard to build something roughly similar and much more approachable.