podlove / podlove-specifications

Specfications by the Podlove Project in MultiMarkdown format
20 stars 7 forks source link

Deep linking: TimeJump compatibility #7

Closed mahemoff closed 11 years ago

mahemoff commented 11 years ago

I'm hoping PodLove might support/require the same deep-linking format as TimeJump, for compatibility purposes. Specifically, this would need the inclusion of:

CGI-style query: ?t=1:23:45

YouTube-style hms: ?t=1h23m45s

t=1h23m45s

I note the CGI-style query is also declared in http://www.w3.org/TR/2012/PR-media-frags-20120315/, though the YouTube style isn't.

(see also https://github.com/davatron5000/TimeJump/issues/10)

timpritlove commented 11 years ago

The Podlove Deep Link specification (http://podlove.org/deep-link/) doesn't make any assumption on what the delimiter is. You just pass a base URL in the "href" attribute that might end in "#" or "?" or whatever makes you happy. As long as the web player supports it, it should work. So you can do it "CGI-Style" if you like.

The Podlove Web Player requires the URL to end in "#" but this is just how that Player does it. Other players can do it any way the prefer or require.

The Deep Link spec only assumes that

  1. there is a "t" parameter specifying a point in time or a time range
  2. you allow more parameters to be added with "&" to support additional functionality

The YouTube-style time notation however is not yet specified. Is there a official specification (BNF or other) how this actually is supposed to work?

We might or might not add that format to the spec but this would put additional requirements on the client and I don't see what you can do with YouTube-time that you can't do with NPT.

mahemoff commented 11 years ago

Thanks, good to know spec supports both formats.

I doubt there's any official spec for what the TimeJump creators refer to as YouTube/Quirks mode. I can see the merits of it, as a more natural format for humans and one people are familiar with from YouTube.

That said, feel free to close this issue; I can understand why you wouldn't want to add extra burden on implementors to support the format. While I can imagine boundary cases for TimeJump and PodLove to be completely compatible, the most important thing is that a deep link can be constructed without knowing whether the publisher is using TJ or PL. And that's already possible thanks to #t=.

timpritlove commented 11 years ago

It's not that we were not willing to discuss this. But without a proper specification exactly WHAT we should support I don't see how we can do that. Apart from that, I think the NPT time code is not that unnatural to humans and it is not tied to a particular language too.

As far as I know TimeJump has adopted NPT so it is currently compatible with the Podlove Deep Link specification.

I am closing this now but do not hesitate to come up with new information and/or ideas regarding this issue.