Tuesday, May 24, 2022

OPML-Compatible Apps

Dave Winer:

The list was started by Jesse Grosjean of Hog Bay Software, as part of the development of his Bike outliner for the Mac.

I, Dave Winer, offered to transcribe the list and provide a means for it to grow here on opml.org.

This page is of course an outline, so you should be able to open it in any of these outliners.

OmniOutliner can also directly open and save OPML files, although opening the same file at the same time as Bike doesn’t work the way it does between Bike and BBEdit. Bike sees changes made by OmniOutliner, but OmniOutliner doesn’t see changes made by Bike. [Update (2022-05-25): I think this is a Bike bug.]

Dave Winer:

Outliners will have compatible apps that render them.

Right now the renderers are specific to the outliner.

It’s as if you could only use one word processor with a printer.

As we get more interop between outliners, based on OPML, it will be possible to write renderers that work with all of them.

You could even mix outlines from different writing tools in a single presentation.


6 Comments RSS · Twitter

@Aristotle I don’t really agree with that. OPML is still quite useful even with only the text attribute. Allowing other attributes without specifying what they mean makes it possible for applications to store their own state, thus making it possible to use OPML as a file format rather than just for interchange. It’s OK if other apps don’t know what to do with those. Some apps like OmniOutliner can display and preserve attributes that they don’t understand, which is great. Arbitrary XML would be less useful. Restricting OPML to only Winer’s original attributes would also be less useful.

I'm not sure what's going on with Bike and BBEdit, but OmniOutliner uses the system's standard File Coordination APIs to coordinate edits between itself and other apps. If you use TextEdit to edit the OPML, for example, you'll see that OmniOutliner immediately sees saved changes in the OPML. (This is also how edits propagate between devices when you save your OPML in iCloud Drive or OmniPresence and edit it on another device.)

@Ken TextEdit/BBEdit and OmniOutliner each see each other’s changes perfectly. Bike sees OmniOutliner’s changes, but edits in Bike sometimes cause OmniOutliner to refresh the window but still show the old content. Digging into this some more, it looks to me like there’s a bug in Bike that’s not specific to OmniOutliner. In certain cases (editing the same row rather than creating a new row) saving updates the modification date without writing the new content into the file.

Jesse Grosjean

This is definitely a Bike bug, thanks for finding it. It was only showing up I after you save and then reopen an OPML file. So that's likely why it appeared to do right thing in one app and wrong in the other. I've posted a fix in Bike (54) https://www.hogbaysoftware.com/bike/releases/

@Jesse The new build does seem to fix it. Thanks!

Leave a Comment