[feature request] URL's with offsets - www.sample.com/interview.mp3#time=32:05

Adobe's PDF Viewer, as much as it bugs me, does have one really cool feature I'd like to see spread - it allows you to link directly to a page within a PDF:
<a href="http://www.sample.com/document.pdf#page=42">see page 42</a>
Scott Hanselman posted about it recently, although I first learned about it while working with a website search product (iPhrase) that spiders PDF's and jumps to the page with the text you searched for.

What a great idea. So let's take it a step further...
<a href="www.sample.com/interview.mp3#time=32:05">hear Jon Stewart make fun of bowties</a>
Most audio / video players can skip ahead in a file they're streaming, so why not let me link to a starting point? I've been thinking about this while forming an opinion on Podcasting. One of the main features that's made weblogs and rss successful is that they're so easy to reference and interlink. Podcasts aren't, but if I could link to an interesting part halfway through a DotNet Rocks show, for example, they might be more useful as an information and discussion resource.

Any media player (WMP, Winamp, iTunes, Real Player, Quicktime, etc...) could add this support in today, just as Adobe did with their PDF Viewer.

It needn't stop there, either. I think being able to reference a portion of a file resource could open some new doors. Sure, it's not as dirt simple in most cases as asking for a specific byte range in a file (which is natively supported in HTTP). But the HTTP Content-Range supports multiple range types and could be extended quite a bit. I could, for example, request a pixel range on a GIF and the server could handle this for me. Not appropriate in some cases, but helpful in others. It's a trade-off: the server does a bit more processing, but now I'm able to link to a face within a group photo: <img src=www.sample.com/images/group.gif#pixels:180,200,580,600> Servers always have the option not to support this HTTP Content Encoding / Range Type (it's built into the spec), but there's a lot more flexibility if we make it possible.

This gets more important as we move beyond HTML and images to a technology infrastructure that runs over HTTP (SOA, RSS, etc.). Being able to request a specific segment of a resource opens some new possibilities.

To come back to reality a bit (assuming they're not going to extend HTTP at my blog request), there are still some cool applications in addition to media time references. What about linking to a section of a web page that didn't happen to put an anchor right where I'd like to link. What about http://www.sample.com/page.html##byte:3580 or http://www.sample.com/page.html##vertical-position:1500px, etc.? The browser would load the whole page and scroll to the proper position. Sure, I might link to a byte range in the middle of a javascript function, so either scroll to the nearest HTML or refuse the anchor as invalid don't scroll. I'd be no worse off than I am now.

I think linking to a time offest in a media file just makes sense. The other ideas are intended to spark further thought, but seem to be semi-viable to me. What do you think?

7 Comments

  • It shouldn't be too hard to write an HttpHandler to do some of that, no? Or at the very worst an ISAPI filter...



    Let me know if ya want to give it a try, I might chip in.

  • Addy -

    Cool idea. I hadn't thought of looking that at that level; I'd looked at it as either the client application (browser, media player) or the HTTP / server level. Interesting to do this at the HttpHandler / ISAPI level.



    I don't think this would get my my top feature request, though, which is time anchors in media files. I don't think you could just scroll ahead in an audio file without confusing the media player, but maybe I'm making this too complicated.



    - Jon

  • That's a pretty cool idea.

  • Hi Jon, I agree, cool request, but I can't think of any other content types than you've listed (audio/video/image, pdf). The browser pixel position sounds a bit dodgy...but, speaking of dodgy ideas, what about a &quot;duration&quot; parameter for getting precise clips? Cheers,

  • Thomas -

    Agree - I think the media skip is a no brainer, but processing images on the server is a bit touchy. I mostly listed that in an attempt to spark some discussion and hopefully get someone to recommend a better application. I do feel like allowing &quot;deeper&quot; linking in internet references could open up some new possibilities.



    Duration is a good idea, too.

    - Jon

  • Amazing!This idea has big potential. What about extracting a file from an archive?

  • rebeca dice que quiere ser millonaria

Comments have been disabled for this content.