<?xml version="1.0" encoding="UTF-8"?> <rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule"><channel><title>Disruptive Library Technology Jester &#187; accessibility</title> <atom:link href="http://dltj.org/tag/accessibility/feed/" rel="self" type="application/rss+xml" /><link>http://dltj.org</link> <description>We&#039;re Disrupted, We&#039;re Librarians, and We&#039;re Not Going to Take It Anymore</description> <lastBuildDate>Mon, 06 Feb 2012 20:04:22 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <cloud domain='dltj.org' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' /> <creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/us/</creativeCommons:license> <item><title>Thursday Threads: Website Accessibility Reporting Service and Remixes in Film</title><link>http://dltj.org/article/thursday-threads-2011w6/</link> <comments>http://dltj.org/article/thursday-threads-2011w6/#comments</comments> <pubDate>Thu, 10 Feb 2011 11:52:40 +0000</pubDate> <dc:creator>Peter Murray</dc:creator> <category><![CDATA[Thursday Threads]]></category> <category><![CDATA[accessibility]]></category> <category><![CDATA[copyright]]></category> <category><![CDATA[culture]]></category> <category><![CDATA[video]]></category><guid isPermaLink="false">http://dltj.org/?p=2548</guid> <description><![CDATA[Receive DLTJ Thursday Threads:by&#160;E-mailby&#160;RSSDelivered by FeedBurnerThis week&#8217;s DLTJ Thursday Threads has just two pointers. First, a new volunteer web service to report problems with websites, which may be useful for not only our own sites but for the sites our &#8230; <a href="http://dltj.org/article/thursday-threads-2011w6/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<abbr class="unapi-id ignore noPrint" title="http://dltj.org/?p=2548"></abbr><div id="feedburner-thursday-threads-email-2011w06" class="wp-caption alignright noprint noFrontPage" style="width: 230px;;  border: 1px solid #dddddd; background-color: #f3f3f3; padding-top: 4px; margin: 10px; text-align:center; float: right;"><form style="border: 1px solid rgb(204, 204, 204); padding: 3px; margin: 0pt; text-align: center;" action="http://feedburner.google.com/fb/a/mailverify" method="post" target="popupwindow" onsubmit="window.open('http://feedburner.google.com/fb/a/mailverify?uri=thursday-threads', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true"><p>Receive <i><acronym title="Disruptive Library Technology Jester">DLTJ</acronym></i> Thursday Threads:</p><p>by&nbsp;<a href="http://feedburner.google.com/fb/a/mailverify?uri=thursday-threads&amp;loc=en_US" title="D.L.T.J. Thursday Threads Email Subscription">E-mail</a><br /><input style="width: 140px;" name="email" value="Your e-mail address" onfocus="if (this.defaultValue==this.value) this.value = ''" type="text"/><input value="thursday-threads" name="uri" type="hidden"/><input name="loc" value="en_US" type="hidden"/><input value="Subscribe" type="submit"/></p><p>by&nbsp;<a href="http://feeds.dltj.org/thursday-threads/" title="D.L.T.J. Thursday Threads RSS Feed">RSS</a></p><p style="font-size: 80%;">Delivered by <a href="http://feedburner.google.com" target="_blank" title="Google Feedburner Service">FeedBurner</a></p></form></div><p>This week&#8217;s <a href="http://dltj.org/category/thursday-threads/"><i><acronym title="Disruptive Library Technology Jester">DLTJ</acronym> Thursday Threads</i></a> has just two pointers.  First, a new volunteer <a href="#p2548-accessibility">web service to report problems with websites</a>, which may be useful for not only our own sites but for the sites our patrons visit.  Second, a <a href="#p2548-remix">nine-minute video</a> that illustrates the reuse of themes and ideas in motion pictures across time.</p><p>If you find these threads interesting and useful, you might want to add the <a href="http://feeds.dltj.org/thursday-threads/" title="RSS Feed for DLTJ Thursday Threads">Thursday Threads RSS Feed</a> to your feed reader or subscribe to e-mail delivery using the form to the right.  If you would like a more raw and immediate version of these types of stories, watch <a href="http://friendfeed.com/dltj" title="Peter Murray - FriendFeed">my FriendFeed stream</a> (or subscribe to <a href="http://friendfeed.com/dltj?format=atom" title="Atom feed for Peter Murray's FriendFeed account">its feed</a> in your feed reader).  Comments and tips, as always, are <a href="http://dltj.org/contact">welcome</a>.<br /><span id="more-2548"></span><br /><h2 id="p2548-accessibility">Addressing Accessibility, from Fix the Web</h2></p><blockquote><p>Web accessibility is not improving very quickly despite the efforts of many experts. The scale of the problem is huge and there is a need for culture change amongst web developers and website owners.</p><p>Our solution is to make it super easy for disabled and older people to report problems with websites. Volunteers do the work of contacting the website owners and signposting them to support. In doing this work, volunteers will understand more about e-accessibility for themselves, as well as giving crucial information to website owners. Everybody wins!</p><p>Details of how the process works are explained for the different roles (<a href="http://www.fixtheweb.net/being-volunteer" title="more about being a volunteer">volunteering</a> and <a href="http://www.fixtheweb.net/reporting-websites" title="information about reporting websites">issue reporter)</a> and in the <a href="http://www.fixtheweb.net/faq" title="frequently asked questions">FAQs.</a></p><p>You can get involved in three different ways:</p><ol><li><a href="http://www.fixtheweb.net/reporting-websites" title="Information about reporting websites">Report issues</a> you are having with websites.</li><li><span class="removed_link" title="http://www.fixtheweb.net/more-about-being-volunteer">Volunteer</span> to help liaise with website owners.</li><li>Support the development of the project: <a href="http://www.fixtheweb.net/contact" title="Contact | Fix the Web">contact the coordinator</a>.</li></ol></blockquote><p>This <a href="http://www.fixtheweb.net/" title="Addressing accessibility | Fix the Web">project</a> intersects with libraries in two ways.  First, we must make sure our websites are available to all populations &#8212; including users browsing the web with alternate (large screen, color neutral, and/or audio-driven) browsers.  (If this intersection is of interest to you, then check out the 1-hour webinar from Infopeople on an <a href="http://www.infopeople.org/training/webcasts/webcast_data/502/index.html" title="title - Infopeople.org">ADA Update: Revised Regulations for Disability Accommodations for the Public</a>.)  The second place it might intersect with libraries is assisting patrons browsing the web.  Although reporting a site won&#8217;t fix it for that patron, if it is a common site for your patrons then <a href="http://www.fixtheweb.net/reporting-websites" title="Information about reporting websites">reporting the issue</a> will <a href="http://www.fixtheweb.net/being-volunteer" title="more about being a volunteer">engage</a> a group of volunteers that can help site owners fix the accessibility problems.</p><p><h2 id="p2548-remix">Everything is a Remix Part 2</h2></p><blockquote><p><iframe src="http://player.vimeo.com/video/19447662" width="400" height="225" frameborder="0"></iframe><br />An exploration of the remix techniques involved in producing films. Part Two of a four-part series.</p></blockquote><p>Where did George Lucas get ideas for Star Wars? <a href="http://vimeo.com/19447662" title="Everything is a Remix Part 2 on Vimeo">Watch this 9 minute video</a> that shows side-by-side comparisons of Star Wars with movies that the creator of this video says were Lucas&#8217; sources.  The creator also describes other examples of ideas and images are drawn through film.  This video is the <a href="http://www.everythingisaremix.info/?p=58" title="Everything is a Remix Part 2 | Everything Is a Remix">second part</a> (and latest available) of an eventual <a href="http://www.everythingisaremix.info/?page_id=30" title="Watch | Everything Is a Remix">four-part series</a>.  [Via Ron Murray]<p style="padding:0;margin:0;font-style:italic;" class="removed_link">The text was modified to remove a link to http://www.fixtheweb.net/more-about-being-volunteer on June 9th, 2011.</p>]]></content:encoded> <wfw:commentRss>http://dltj.org/article/thursday-threads-2011w6/feed/</wfw:commentRss> <slash:comments>6</slash:comments> </item> <item><title>Thursday Threads: Kindle Singles and Kindle Accessibility, Sped-up Discourse, ISBN Troubles</title><link>http://dltj.org/article/thursday-threads-2011w4/</link> <comments>http://dltj.org/article/thursday-threads-2011w4/#comments</comments> <pubDate>Thu, 27 Jan 2011 11:50:30 +0000</pubDate> <dc:creator>Peter Murray</dc:creator> <category><![CDATA[Thursday Threads]]></category> <category><![CDATA[accessibility]]></category> <category><![CDATA[Amazon]]></category> <category><![CDATA[ebooks]]></category> <category><![CDATA[identifier]]></category> <category><![CDATA[ISBN]]></category> <category><![CDATA[Kindle]]></category> <category><![CDATA[Kindle Singles]]></category> <category><![CDATA[preservation]]></category> <category><![CDATA[scholarly communication]]></category><guid isPermaLink="false">http://dltj.org/?p=2408</guid> <description><![CDATA[Receive DLTJ Thursday Threads:by&#160;E-mailby&#160;RSSDelivered by FeedBurner This week Amazon takes center stage of DLTJ Thursday Threads with a report of their new Kindle Singles program for medium-form digital content and a screen-reader-aware version of the Kindle reader application for PCs. &#8230; <a href="http://dltj.org/article/thursday-threads-2011w4/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<abbr class="unapi-id ignore noPrint" title="http://dltj.org/?p=2408"></abbr><div id="feedburner-thursday-threads-email-2011w04" class="wp-caption alignright noprint noFrontPage" style="width: 230px;;  border: 1px solid #dddddd; background-color: #f3f3f3; padding-top: 4px; margin: 10px; text-align:center; float: right;"><form style="border: 1px solid rgb(204, 204, 204); padding: 3px; margin: 0pt; text-align: center;" action="http://feedburner.google.com/fb/a/mailverify" method="post" target="popupwindow" onsubmit="window.open('http://feedburner.google.com/fb/a/mailverify?uri=thursday-threads', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true"><p>Receive <i><acronym title="Disruptive Library Technology Jester">DLTJ</acronym></i> Thursday Threads:</p><p>by&nbsp;<a href="http://feedburner.google.com/fb/a/mailverify?uri=thursday-threads&amp;loc=en_US" title="D.L.T.J. Thursday Threads Email Subscription">E-mail</a><br /><input style="width: 140px;" name="email" value="Your e-mail address" onfocus="if (this.defaultValue==this.value) this.value = ''" type="text"/><input value="thursday-threads" name="uri" type="hidden"/><input name="loc" value="en_US" type="hidden"/><input value="Subscribe" type="submit"/></p><p>by&nbsp;<a href="http://feeds.dltj.org/thursday-threads/" title="D.L.T.J. Thursday Threads RSS Feed">RSS</a></p><p style="font-size: 80%;">Delivered by <a href="http://feedburner.google.com" target="_blank" title="Google Feedburner Service">FeedBurner</a></p></form></div><p> This week Amazon takes center stage of <i><acronym title="Disruptive Library Technology Jester">DLTJ</acronym> Thursday Threads</i> with a report of their new <a href="#kindle-singles">Kindle Singles program</a> for medium-form digital content and a <a href="#kindle-accessibility">screen-reader-aware version</a> of the Kindle reader application for PCs.  After that is a look at how <a href="#trial-by-twitter">scholarly discourse is changing</a> &#8212; radically! &#8212; with the availability and use of near-real-time feedback loops.  And we close out with a peek at <a href="#ebook-isbn">shaky ground</a> in the world of ISBN identifiers.</p><p>As a sidenote to last week&#8217;s comment about this blog migrating to Amazon&#8217;s service&#8230;there are still a few hiccups.  For instance, last week&#8217;s edition of <i><acronym title="Disruptive Library Technology Jester">DLTJ</acronym> Thursday Threads</i> wasn&#8217;t published via the RSS feed until late in the day and it wasn&#8217;t until Friday that the e-mail subscribers received it.  I think those issues are ironed out now, but if you notice any other problems <a href="http://dltj.org/contact">please let me know</a>.</p><p><h2 id="kindle-singles">Kindle Singles — Compelling Ideas Expressed at Their Natural Length — Now Available in the Kindle Store</h2></p><blockquote><p>Before the advent of digital reading, writers often had to choose between making their work short enough for a magazine article or long enough to deliver the &#8220;heft&#8221; required for book marketing and distribution. Three months ago, Amazon made a call to serious writers, thinkers, scientists, business leaders, historians, politicians and publishers to join Kindle in making a new kind of content available to readers—Kindle Singles. Typically between 5,000 and 30,000 words, each Kindle Single is intended to allow a single killer idea &#8212; well researched, well argued and well illustrated &#8212; to be expressed at its natural length. Today, Amazon is introducing the first set of Kindle Singles to the Kindle Store. &#8230;</p><p>The new Kindle Singles section of the Kindle Store is now available at <a href="http://www.amazon.com/kindlesingles" title="Kindle Singles | Amazon.com">www.amazon.com/kindlesingles</a>. Available to both Kindle device and app users, and priced between $0.99 and $4.99, the first set of Kindle Singles include original reporting, essays, memoirs and fiction. Amazon plans to frequently launch many more Kindle Singles over time.</p></blockquote><p>Is there room for commercial content between &#8220;short enough for a magazine article&#8221; and a full-fledged book?  Amazon seems to think so with this <a href="http://www.businesswire.com/news/home/20110126006018/en/Kindle-Singles" title="Kindle Singles -- Compelling Ideas Expressed at Their Natural Length -- Now Available in the Kindle Store | Business Wire">announcement of the Kindle Singles</a> program.  Among the first are <a href="http://blog.ted.com/2011/01/26/introducing-tedbooks/" title="Introducing TED Books | TED Blog">three works from TEDTalk speakers</a> priced at $2.99 each.  The content is only available in digital form and only in the proprietary Kindle format.  This may be a problem for a library trying to acquire this content for its collection (although this is just a subset of the more general issue of acquiring content saddled in proprietary formats with restrictive digital rights management).  What makes this problem more acute, though, is that Amazon is seeking high quality content for the Kindle Singles channel (&#8220;Singles will be a highly curated group of content they feel is valuable to their readers&#8221; <a href="http://www.kindleexpert.com/kindle-singles-are-coming%E2%80%A6-and-here%E2%80%99s-what-you-need-to-know/" title="Kindle Singles are coming | Kindleexpert.com">according to the Kindle Expert website</a>).  That might make the content more desirable by patrons and more likely to be considered preservation-worthy.  (You can read about <a href="http://www.zdnet.com/blog/btl/review-my-amazon-kindle-single-publishing-experiment/43911" title="My Amazon Kindle Single publishing experiment | ZDNet">one author&#8217;s perspective</a> on publishing in the Kindle Singles program.)</p><p><h2 id="kindle-accessibility">Kindle for PC with Accessibility Plugin</h2></p><blockquote><p>Kindle for PC with Accessibility Plugin is a free application for your Windows PC. It provides the following accessibility features:</p><ul><li>Text-to-speech reading with adjustable voice settings</li><li>Voice-guided menu navigation</li><li>Large font sizes</li><li>High contrast reading mode</li><li>Keyboard navigation</li><li>Accessible shortcuts</li></ul><p>Because this software is an assistive technology, there are no restrictions on text-to-speech reading. In order to use the text-to-speech feature, an external screen reader program must be installed and running on the Windows PC.  Tested screen readers include: JAWS and NVDA. An external screen reader is used to read aloud menus and navigation items, while book text is read by a built-in text-to-speech engine.</p></blockquote><p>Although I&#8217;m hard pressed to find the formal announcement, a version of the <a href="http://www.amazon.com/gp/feature.html/ref=kin_pcacc_surl&#038;docId=1000632481" title="Kindle for PC with Accessibility Plugin">Kindle for PC with Accessibility Plugin</a> was made available earlier this month.  The National Federation of the Blind has a <a href="http://www.nfb.org/nfb/NewsBot.asp?MODE=VIEW&#038;ID=751" title="Amazon Kindle for PC | National Federation of the Blind">review of the software</a> with some constructive criticism that hopefully Amazon will take to heart.  What is interesting is that one can use a screen reading program such as the commercial <a href="http://www.freedomscientific.com/products/fs/jaws-product-page.asp" title="JAWS for Windows Screen Reading Software | Freedom Scientific">Jaws for Windows</a> or the open source <a href="http://www.nvda-project.org/" title="NVDA homepage">NonVisual Desktop Access</a> (NVDA) to have the text of the book read aloud &#8220;regardless of a publisher&#8217;s [text-to-speech] &#8230; choice.&#8221;  If you are serving a population of users with a sight impairment, this may be an option to look at to expand the universe of accessible materials to everything available in the Kindle store.</p><p><h2 id="trial-by-twitter">Peer review: Trial by Twitter</h2></p><blockquote><p>For many researchers, the pace and tone of this online review can be intimidating — and can sometimes feel like an attack. How are authors supposed to respond to critiques coming from all directions? Should they even respond at all? Or should they confine their replies to the conventional, more deliberative realm of conferences and journals? &#8220;The speed of communication is ahead of the sheer time needed to think and get in the lab and work,&#8221; said Felisa Wolfe-Simon, a postdoctoral fellow at the NASA Astrobiology Institute in Mountain View, California, and the lead author on the arsenic paper. Aptly enough, she circulated that comment as a tweet on Twitter, which is used by many scientists to call attention to longer articles and blog posts.</p><p>To bring some order to this chaos, it looks as though a new set of cultural norms will be needed, along with an online infrastructure to support them. The idea of open, online peer review is hardly new. Since Internet usage began to swell in the 1990s, enthusiasts have been arguing that online commenting could and should replace the traditional process of pre-publication peer review that journals carry out to decide whether a paper is worth publishing.</p></blockquote><p>This <a href="http://www.nature.com/news/2011/110119/full/469286a.html" title="Peer review: Trial by Twitter : Nature News">article in Nature News</a> points out the problem when commentary on scientific studies moves at Twitter speed.  The old mechanisms of published peer-reviewed articles followed by commentary in later issue of the same journal in the form of published letters is being challenged by the internet world of blogs and tweets.  As the author says, a new form of cultural norms is required as well as mechanisms to track the discourse.  [Via Eric Schmell]</p><p><h2 id="ebook-isbn">eBook Identifier Confusion Shakes Book Industry</h2></p><blockquote><p>Last Thursday, I was fortunate to be at a presentation of the Book Industry Study Group (BISG) about identification of eBooks. BISG hired Michael Cairns, the principal of <a href="http://infomediapartners.blogspot.com/" title="Information Media Partners" class="broken_link" rel="nofollow">Information Media Partners</a>, to do a study of the use, issues and practice surrounding assignment of ISBNs in the US book industry. Think of him as a structural engineer hired to inspect the damage to the supply chain&#8217;s supporting infrastructure after an earthquake. Cairns conducted 55 separate interviews with a total of 75 industry experts from all facets of the industry. (I was interviewed for my expertise in the use of ISBN in library linking systems).</p><ul><li>BISG eBook ISBN Study Findings Released <a href="http://personanondata.blogspot.com/2011/01/bisg-ebook-isbn-study-findings-released.html" title="BISG eBook ISBN Study Findings Released | Personanondata">Michael Cairns&#8217; blog</a></li><li>Summary of BISG Presentation <a href="http://www.bisg.org/docs/BISG_identification_of_e-books_research_project_summary_findings.pdf" title="Book Industry Study Group's Identification of E-Books Research Project, Summary of Report Findings">From BISG, PDF 730 KB</a></li></ul><p>Cairns (<a href="http://twitter.com/#%21/personanondata" title="personanondata on Twitter">@personanondata</a> on Twitter) is an industry veteran- he&#8217;s held senior executive positions at Bowker and other companies. His presentation was clear and direct, and he quickly went to the heart of the matter. He found very little support for the policy set forth by the 2005 revision of the ISBN standard regarding when to assign a new ISBN to an ebook.</p></blockquote><p>Eric Hellman writes about <a href="http://go-to-hellman.blogspot.com/2011/01/ebook-identifier-confusion-shakes-book.html" title="eBook Identifier Confusion Shakes Book Industry | Go To Hellman">his views of the dysfunction surrounding ISBN assignments for ebooks</a>.  &#8220;What problems?&#8221; you might ask &#8212; Eric writes has an example of how Barnes and Noble was enhancing some ebooks for their Nook platform.  By itself, this activity wouldn&#8217;t result in assigning a new ISBN.  But because publishers are now exerting more control over setting the prices of ebooks (the so-called &#8220;<a href="http://www.libraryjournal.com/article/CA6721294.html" title="Macmillan CEO Explains &#039;Agency Model&#039; for Selling Ebooks | Library Journal">agency model</a>&#8220;) the existence of these Nook-enhanced versions needs to cross back-and-forth between the publisher&#8217;s and retailer&#8217;s electronic systems.  The only commonly agreed upon identifier?  The ISBN.  And this proliferation of ISBN assignments is making trouble for library&#8217;s efforts to effectively identify material &#8212; which is to say nothing about what it is doing to our efforts to shoehorn these distinctions between various works into the MARC format used by our catalogs.  Is that a separate record for that manifestation with a different ISBN?</p>]]></content:encoded> <wfw:commentRss>http://dltj.org/article/thursday-threads-2011w4/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Defining Metadata and Making Metadata Accessible</title><link>http://dltj.org/article/defining-metadata-accessibility/</link> <comments>http://dltj.org/article/defining-metadata-accessibility/#comments</comments> <pubDate>Wed, 17 Nov 2010 01:40:20 +0000</pubDate> <dc:creator>Peter Murray</dc:creator> <category><![CDATA[L/IS Profession]]></category> <category><![CDATA[accessibility]]></category> <category><![CDATA[description]]></category> <category><![CDATA[Karen Coyle]]></category> <category><![CDATA[MARC]]></category> <category><![CDATA[metadata]]></category> <category><![CDATA[Resource Description and Access]]></category><guid isPermaLink="false">http://dltj.org/?p=1842</guid> <description><![CDATA[In preparation for the last webinar of the three-part series &#8220;Using RDA: Moving into the Metadata Future&#8220;, I&#8217;m reading again Karen Coyle&#8216;s &#8220;Library Data in a Modern Context&#8221; &#8212; the first chapter of Understanding the Semantic Web: Bibliographic Data and &#8230; <a href="http://dltj.org/article/defining-metadata-accessibility/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<abbr class="unapi-id ignore noPrint" title="http://dltj.org/?p=1842"></abbr><p>In preparation for the last webinar of the three-part series &#8220;<a href="http://www.alastore.ala.org/detail.aspx?ID=3125" title="Using RDA: Moving into the Metadata Future (A Three-part ALA TechSource Workshop) - ALA Store">Using RDA: Moving into the Metadata Future</a>&#8220;, I&#8217;m reading again <a href="http://www.kcoyle.net/" title="Karen Coyle's home page" rel="homepage">Karen Coyle</a>&#8216;s &#8220;Library Data in a Modern Context&#8221; &#8212; the first chapter of<cite><a href="http://alatechsource.metapress.com/content/g212v1783607/" title="Understanding the Semantic Web: Bibliographic Data and Metadata - ALA TechSource">Understanding the Semantic Web: Bibliographic Data and Metadata</a></cite>.  Right at the start she has a clear and useful definition of this thing we call &#8220;metadata.&#8221;<br /><span id="more-1842"></span></p><blockquote><p>The most common definition of <i>metadata</i> is “data about data.” This short, catchy definition is worthy of a successful advertising campaign. Unfortunately, it doesn&#8217;t really help us understand metadata, and is actually somewhat incorrect. A more useful definition is decidedly less snappy, but can help us understand the helpful role that metadata can play in facilitating information access. In fact, a functional definition gives us a viable roadmap for our own studies of metadata utility and quality.</p><p>So here it goes—metadata is constructed, constructive, and actionable:</p><ul><li><b>Constructed:</b> Metadata is not found in nature. It is entirely an invention; it is an artificiality.</li><li><b>Constructive:</b> Metadata is constructed for some purpose, some activity, to solve some problem. The proliferation of metadata formats that seem similar on the surface is often evidence of different definitions of needs or of different contexts. We may dream of a universal set of metadata for some set of things, like biological entities, printed books, or a calendar of events, but are likely to be disappointed in practice.</li><li><b>Actionable:</b> The point of metadata is to be useful in some way. This means that it is important that one can act on the metadata in a way that satisfies some needs.<sup><a href="http://dltj.org/article/defining-metadata-accessibility/#footnote_0_1842" id="identifier_0_1842" class="footnote-link footnote-identifier-link" title="Coyle, Karen. &ldquo;Library Data in a Modern Context.&rdquo; Library Technology Reports 46.1 (2010): 5-13.">1</a></sup></li></ul></blockquote><p>A little further on Karen focuses on the actionablity of metadata.  I have a heightened awareness of the need for other-than-visual access to information based on the last few months of activity with my previous employer, so I reread this section with &#8220;new eyes&#8221; (so to speak):<br /><blockquote>&#8230;today&#8217;s metadata must be in a form that can be processed by computers, and the sense that it is “actionable” really needs to be interpreted as being “actionable by electronic machines.” Even when the final goal is to display the data to humans in an understandable form, the data will undergo some machine processing on the way to its destination on a screen [or] in printed form <strong style="font-style:italic">or when read aloud by a screen reader</strong>.</p></blockquote><p>I added that last part.  The transformation of the meaning of the metadata into a visual form is but one possible sensory input across the human-computer divide.  It is important to also design interfaces that bring meaning to data by supplying labels to values in alternate ways.  For the <a href="http://www.loc.gov/marc/bibliographic/bd300.html" title="MARC 21 Format for Bibliographic Data: 300: Physical Description">MARC 300 field</a>, it is the difference between &#8220;ix, 74 p. : ill. ; 23 cm&#8221; and &#8220;9 pages of introductory material followed by 74 numbered pages. Includes illustrations. 23 centimeters high.&#8221;  If the only way to transmit this information was auditory, which one of these would you like spoken to you?  Is it: &#8220;eye-ex, seventy four pee. ill. twenty three cem&#8221;?</p><p>Now let&#8217;s try to engineer that backwards.  Is the auditory version easier to do with:</p><div class="wp_syntax"><div class="code"><pre class="txt" style="font-family:monospace;">300    |aix, 74 p. :|bill. ;|c23 cm</pre></div></div><p>or something like this made-up, <a href="http://www.loc.gov/standards/mods/" title="Metadata Object Description Schema: MODS (Library of Congress)"><acronym title="Metadata Object Description Schema">MODS</acronym></a>-like markup:</p><div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;physicaldescription<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;extent<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;pagination<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
       <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;pages</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;introductory&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>9<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/pages<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
       <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;pages</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;numbered&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>74<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/pages<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/pagination<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;illustration</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;height</span> <span style="color: #000066;">unit</span>=<span style="color: #ff0000;">&quot;cm&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>23<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/height<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/extent<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/physicaldescription<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div><p>With the second, we can produce something like the first &#8212; or even the abbreviated display version.  But it is considerably more difficult to create the auditory version from the first, particularly with the wide variation of punctuation encoding <acronym title="International Standard Bibliographic Description">ISBD</acronym> offers.  It just isn&#8217;t machine actionable, which makes it difficult to transform, reuse, and translate that data in another context.</p><p>I&#8217;m reminded too of <a href="http://bibwild.wordpress.com/2010/11/03/alcts-rda-presentation/" title="ALCTS RDA presentation &laquo; Bibliographic Wilderness">this recent quote from Jonathan Rochkind</a>:  &#8220;Of course, our legacy environment is even worse, with the ‘data model’ being supplied by an unholy combination of ISBD &#8230; and MARC&#8230;.&#8221;  It would be good to stop doing our data entry in the language of the computer (e.g. MARC).  Based on the chat from the first webinar in the series, we wouldn&#8217;t expect catalogers to type out the XML fragment above.  There should be computer-assisted workflows to capture the data and store it with all the required semantics.  That XML would be used for machine-to-machine communication and transformation into the output desired by the user &#8212; be it a short-hand visual display or an auditory reading of information.</p><h2>Footnotes</h2><ol class="footnotes"><li id="footnote_0_1842" class="footnote">Coyle, Karen. “Library Data in a Modern Context.” Library Technology Reports 46.1 (2010): 5-13.</li></ol>]]></content:encoded> <wfw:commentRss>http://dltj.org/article/defining-metadata-accessibility/feed/</wfw:commentRss> <slash:comments>11</slash:comments> </item> <item><title>Preserving Digital Video</title><link>http://dltj.org/article/preserving-digital-video/</link> <comments>http://dltj.org/article/preserving-digital-video/#comments</comments> <pubDate>Tue, 08 Apr 2008 20:22:14 +0000</pubDate> <dc:creator>Peter Murray</dc:creator> <category><![CDATA[Raw Technology]]></category> <category><![CDATA[accessibility]]></category> <category><![CDATA[digitization]]></category> <category><![CDATA[preservation]]></category> <category><![CDATA[standards]]></category> <category><![CDATA[video]]></category><guid isPermaLink="false">https://dltj.org/?p=348</guid> <description><![CDATA[My place of work is looking to acquire educational videos in a digital form with an eye towards long-term preservation. At this point we receive a physical form (preferably DVD, but sometimes VHS) and digitize it to a very lossy &#8230; <a href="http://dltj.org/article/preserving-digital-video/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<abbr class="unapi-id ignore noPrint" title="https://dltj.org/?p=348"></abbr><p>My place of work is looking to acquire educational videos in a digital form with an eye towards long-term preservation.  At this point we receive a physical form (preferably DVD, but sometimes VHS) and digitize it to a very lossy access format (RealMedia, in this case).  With this change, we would get a preservation-worthy digital copy from the producer/distributor and forego the physical version.</p><p>There is quite a lot written on preserving video, but I wanted to distill the requirements down into statements that vendors could reasonably provide today.  I think these are pretty sound requirements, but I&#8217;m looking for feedback.  In particular, I&#8217;m not quite sure how to handle the transfer of closed caption text from the publisher/distributor; suggestions are welcome.<br /><span id="more-348"></span><br />[Jester's note:  I just realized that an earlier version of this posting went out to the net about two hours before this "final" version.  Sorry about publishing the work-in-progress early; I must have hit the wrong button in the new version of WordPress...]</p><p><h2>File Formats</h2><br />Some of the clearest guidance on file formats comes from this short excerpt from the Moving Image section of the <a href="http://www.ahds.ac.uk/" title="The Arts and Humanities Data Service homepage">U.K. Arts and Humanities Data Service</a> <a href="http://www.ahds.ac.uk/preservation/ahds-preservation-documents.htm" title="AHDS Repository Policies and Procedures">Preservation Handbook</a>:</p><blockquote><p>Guidance on the preservation of digital video should, by necessity, change over time. [...] The MPEG-2 and MPEG-4 formats are better suited to high-quality digital video. MPEG-2 is better known for its use as a format for DVD-Video, which encourages confidence when considering the likelihood that the format will be readable in the long-term. The format has an average transfer rate of 2-5 megabits per second, but there may be disk space restraints and the software tools necessary to convert and store this format are costly. MPEG-4 has a lower transfer rate of 1-2 megabits per second and is intended for streaming video. Other codecs, such as QuickTime, Windows Media, Real Video and Open DIVX, are useful for specific purposes, but not suitable for preservation. <sup><a href="http://dltj.org/article/preserving-digital-video/#footnote_0_348" id="identifier_0_348" class="footnote-link footnote-identifier-link" title="Knight, G., &amp;amp; McHugh, J. (2005). Preservation Handbook: Moving Image.  p. 3.">1</a></sup></p></blockquote><p>The Library of Congress Sustainability of Digital Formats site has <a href="http://www.digitalpreservation.gov/formats/fdd/fdd000028.shtml" title="http://www.digitalpreservation.gov/formats/fdd/fdd000028.shtml">an entry for MPEG-2</a> (also known as H.262) and <a href="http://www.digitalpreservation.gov/formats/fdd/fdd000155.shtml" title="MPEG-4 File Format, Version 2">an entry for MPEG-4</a> (more completely, MPEG-4 file format version #2) that give the nitty-gritty details for the file formats.</p><p>The preservation master copies we want to store has a frame size of 720 pixels by 480 pixels.  (That size is for NTSC format videos, common in USA, Canada and Japan.  Master copies of PAL-format videos, common in Australia, New Zealand, the United Kingdom and most of Europe, is 720 x 576.)  This is the standard resolution used in MPEG-2-compressed commercially distributed DVD movies.<sup><a href="http://dltj.org/article/preserving-digital-video/#footnote_1_348" id="identifier_1_348" class="footnote-link footnote-identifier-link" title="Audio/Video Capture and Management (2002).">2</a></sup> These frame sizes are appropriate for analog video signals.  (&#8220;As defined by ITU-R Recommendation BT.601, more commonly know by the abbreviations Rec. 601 or BT.601 or its former name, CCIR 601. [It is] a standard published by the CCIR (now ITU-R) for encoding interlaced analogue video signals in digital form.&#8221;<sup><a href="http://dltj.org/article/preserving-digital-video/#footnote_2_348" id="identifier_2_348" class="footnote-link footnote-identifier-link" title="&amp;#8220;Rec. 601&amp;#8243; (2008).">3</a></sup> )  The audio is 48KHz stereo at 224 kb/s or better.</p><p><h2>Captioning Text</h2><br />There appears to be two primary schemes for binding closed captioned text with video files.  One from the W3C is <a href="http://www.w3.org/AudioVideo/" title="http://www.w3.org/AudioVideo/">Synchronized Multimedia Integration Language</a> (or SMIL) is an XML format and is used by many media players.  The other is Microsoft&#8217;s <a href="http://msdn2.microsoft.com/en-us/library/ms971327.aspx" title="Object moved">Synchronized Accessible Media Interchange</a> (or SAMI), a pseudo-HTML format that is only read by Windows Media player.</p><p>To make matters more complicated, a whole set of different schemes are used for DVDs.  (On VHS recordings, closed caption text was encoded in one of the non-visible lines that make up the video signal.  Since the DVD format only included visible lines, other schemes were required.)  The most popular seems to be the <a href="http://www.fileinfo.net/extension/scc" title="SCC File Extension - Open .SCC files">Scenarist Closed Caption (SCC) format</a>.  This is a binary file that exists on the DVD along side the video files.</p><p><h2>Resources Consulted</h2></p><div style="line-height:1.1em;margin-left:0.5in;text-indent:-0.5in;margin-top:1.5em;"><p style="margin:0">Arms, C. R., &amp; Fleischhauer, C. Sustainability of Digital Formats: Planning for Library of Congress Collections. <span style="font-style:italic;">National Digital Information Infrastructure and Preservation Program</span>. Retrieved April 8, 2008, from <a href="http://www.digitalpreservation.gov/formats/" title="Sustainability of Digital Formats: Planning for Library of Congress Collections">http://www.digitalpreservation.gov/formats/</a>.</p><p style="margin:0"><span style="font-style:italic;">Audio/Video Capture and Management</span>. (2002).In <span style="font-style:italic;">NINCH Guide to Good Practice</span> (1st). Retrieved April 8, 2008, from <a href="http://www.nyu.edu/its/humanities/ninchguide/VII/" title="NINCH Guide to Good Practice">http://www.nyu.edu/its/humanities/ninchguide/VII/</a>.</p><p style="margin:0">Guideline H: Provide access to multimedia presentations for users with sensory disabilities. <span style="font-style:italic;">Accessible Digital Media: Design Guidelines for Electronic Publications, Multimedia and the Web</span>.  Retrieved 14-Apr-2008 from <a href="http://ncam.wgbh.org/invent_build/web_multimedia/accessible-digital-media-guide/guideline-h-multimedia" title="Accessible Digital Media: Guideline H: Multimedia">http://ncam.wgbh.org/publications/adm/guideline_h.html</a>.</p><p style="margin:0">Knight, G., &amp; McHugh, J. (2005). <span style="font-style:italic;">Preservation Handbook: Moving Image</span>. AHDS Preservation Handbook. 8 p. Arts and Humanities Data Service. Retrieved April 8, 2008, from <a href="http://www.ahds.ac.uk/preservation/video-preservation-handbook.pdf" title="AHDS&#039;s Preservation Handbook: Moving Image">http://ahds.ac.uk/preservation/video-preservation-handbook.pdf</a>.</p><p style="margin:0">Rec. 601. (2008, April 8).<span style="font-style:italic;">Wikipedia, the free encyclopedia</span>. Retrieved April 8, 2008, from <a href="http://en.wikipedia.org/wiki/Rec._601" title="http://en.wikipedia.org/wiki/Rec._601">http://en.wikipedia.org/wiki/Rec._601</a> (<a href="http://en.wikipedia.org/wiki/Rec._601?oldid=204278564" title="http://en.wikipedia.org/wiki/Rec._601?oldid=204278564">version at time of citation</a>).</p></div><p style="padding:0;margin:0;font-style:italic;">The text was modified to update a link from http://ahds.ac.uk/ to http://www.ahds.ac.uk/ on January 28th, 2011.</p><p style="padding:0;margin:0;font-style:italic;">The text was modified to update a link from http://ahds.ac.uk/preservation/ahds-preservation-documents.htm to http://www.ahds.ac.uk/preservation/ahds-preservation-documents.htm on January 28th, 2011.</p><p style="padding:0;margin:0;font-style:italic;">The text was modified to update a link from http://ahds.ac.uk/preservation/video-preservation-handbook.pdf to http://www.ahds.ac.uk/preservation/video-preservation-handbook.pdf on January 28th, 2011.</p><p style="padding:0;margin:0;font-style:italic;">The text was modified to update a link from http://ahds.ac.uk/preservation/video-preservation-handbook.pdf to http://www.ahds.ac.uk/preservation/video-preservation-handbook.pdf on January 28th, 2011.</p><p style="padding:0;margin:0;font-style:italic;">The text was modified to update a link from http://ncam.wgbh.org/publications/adm/guideline_h.html to http://ncam.wgbh.org/invent_build/web_multimedia/accessible-digital-media-guide/guideline-h-multimedia on January 28th, 2011.</p><h2>Footnotes</h2><ol class="footnotes"><li id="footnote_0_348" class="footnote">Knight, G., &amp; McHugh, J. (2005). <span style="font-style:italic;"><a href="http://www.ahds.ac.uk/preservation/video-preservation-handbook.pdf" title="http://ahds.ac.uk/preservation/video-preservation-handbook.pdf">Preservation Handbook: Moving Image</a></span>.  p. 3.</li><li id="footnote_1_348" class="footnote"><a href="http://www.nyu.edu/its/humanities/ninchguide/VII/" title="Audio/Video Capture and Management chapter of NINCH Guide to Good Practice">Audio/Video Capture and Management</a> (2002).</li><li id="footnote_2_348" class="footnote">&#8220;Rec. 601&#8243; (2008).</li></ol>]]></content:encoded> <wfw:commentRss>http://dltj.org/article/preserving-digital-video/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>Resource for Improving Higher Education Instruction</title><link>http://dltj.org/article/fame/</link> <comments>http://dltj.org/article/fame/#comments</comments> <pubDate>Sat, 03 Mar 2007 22:14:22 +0000</pubDate> <dc:creator>Peter Murray</dc:creator> <category><![CDATA[Meta Category]]></category> <category><![CDATA[accessibility]]></category> <category><![CDATA[higher education]]></category> <category><![CDATA[section508]]></category><guid isPermaLink="false">http://dltj.org/2007/03/fame/</guid> <description><![CDATA[A few months back I referred to a project that used video to present information about accessibility needs in the classroom. That article was about how difficult it is to create markup for embedded video that is universally accessible and &#8230; <a href="http://dltj.org/article/fame/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<abbr class="unapi-id ignore noPrint" title="http://dltj.org/2007/03/fame/"></abbr><p>A few months back I referred to a project that used video to present information about accessibility needs in the classroom.  That article was about <a href="http://dltj.org/2006/09/standards-compliant-web-video/">how difficult it is to create markup for embedded video that is universally accessible and valid HTML</a>.  Late last month the larger project that used that work was released.  Called the <a href="http://www.oln.org/ILT/ada/Fame/" title="FAME (Faculty &amp; Administrator Modules in Higher Education) Homepage">Faculty &#038; Administrator Modules in Higher Education</a>, or FAME, it is a professional development tool for use in higher education with information on how college faculty, administrators, disability service providers, and students can work individually and collaboratively to improve the accommodations, teaching-learning process, and overall campus environment for students with disabilities.  The content on the website is broken up into five modules:</p><ul><li><a href="http://fame.oln.org//rr/f1_1_1.html" title="FAME: Introductory Video &lt; Introduction &lt; Rights &amp; Responsibilities">Rights and responsibilities</a> of faculty, students, and disability service providers in the accommodations and instructional process;</li><li><a href="http://fame.oln.org/udl/f2_11_145.html" title="FAME: Introductory Video &lt; Introduction &lt; Universal Design for Learning">Universal Design for Learning</a> (UDL) approach to instruction;</li><li><a href="http://fame.oln.org/web/f3_13_150.html" title="FAME: Introductory Video &lt; Introduction &lt; Web Accessibility &amp; Assistive Technology">Web accessibility</a> and assistive technology;</li><li><a href="http://fame.oln.org/cw/f4_14_151.html" title="FAME: Introductory Video &lt; Introduction &lt; College Writing">College writing</a> challenges and effective teaching practices; and</li><li><a href="http://fame.oln.org/ca/f5_15_152.html" title="FAME: Introductory Video &lt; Introduction &lt; Climate Assessment">Assessment of the campus climate</a> towards students with disabilities.</li></ul><p>Each module contains a video introduction, practitioner-oriented commentary, interactive case studies, and references to other material.  One can even <a href="http://fame.oln.org/help_5.html" title="FAME Help: Instructions for Download">download the FAME content</a> to be personalized and mounted on an institution&#8217;s own site.  (OhioLINK has offered to host the streaming video content for FAME even if an institution downloads and personalizes the content, and we can also make the video files available to institutions in Quicktime, Windows Media, and Real Media formats to mount on their own servers as well.)</p><p>I invite you to take a look at the site.  It was a pleasure to work with the project team to bring the work of the researchers, writers, editors and technologists to bring the project to this stage.  The FAME Project came about through training grant awarded to The Ohio State University from the Office of Post-Secondary Education, U.S. Department of Education (P333A020033-03).  The FAME Project Director was <a href="http://replay.web.archive.org/20080705040726/http://nisonger.osu.edu/bios/izzo.htm" title="The Nisonger Center - Dr. Margo Izzo Bio">Dr. Margo Izzo</a> at The Ohio State University.<p style="padding:0;margin:0;font-style:italic;">The text was modified to update a link from http://www.oln.org/ILT/ada/Fame/rr/f1_1_1.html to http://fame.oln.org//rr/f1_1_1.html on December 31st, 2010.</p><p style="padding:0;margin:0;font-style:italic;">The text was modified to update a link from http://www.oln.org/ILT/ada/Fame/udl/f2_11_145.html to http://fame.oln.org/udl/f2_11_145.html on December 31st, 2010.</p><p style="padding:0;margin:0;font-style:italic;">The text was modified to update a link from http://www.oln.org/ILT/ada/Fame/web/f3_13_150.html to http://fame.oln.org/web/f3_13_150.html on December 31st, 2010.</p><p style="padding:0;margin:0;font-style:italic;">The text was modified to update a link from http://www.oln.org/ILT/ada/Fame/cw/f4_14_151.html to http://fame.oln.org/cw/f4_14_151.html on December 31st, 2010.</p><p style="padding:0;margin:0;font-style:italic;">The text was modified to update a link from http://www.oln.org/ILT/ada/Fame/ca/f5_15_152.html to http://fame.oln.org/ca/f5_15_152.html on December 31st, 2010.</p><p style="padding:0;margin:0;font-style:italic;">The text was modified to update a link from http://www.oln.org/ILT/ada/Fame/help_5.html to http://fame.oln.org/help_5.html on December 31st, 2010.</p><p style="padding:0;margin:0;font-style:italic;">The text was modified to update a link from http://nisonger.osu.edu/izzo.htm to http://nisonger.osu.edu/bios/izzo.htm on January 20th, 2011.</p><p style="padding:0;margin:0;font-style:italic;">The text was modified to update a link from http://nisonger.osu.edu/bios/izzo.htm to http://replay.web.archive.org/20080705040726/http://nisonger.osu.edu/bios/izzo.htm on May 17th, 2011.</p>]]></content:encoded> <wfw:commentRss>http://dltj.org/article/fame/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Update to &#8216;Embedded Web Video in a Standards-Compliant, Accessible, and Successful Way&#8217;</title><link>http://dltj.org/article/update-to-embedded-web-video/</link> <comments>http://dltj.org/article/update-to-embedded-web-video/#comments</comments> <pubDate>Wed, 21 Feb 2007 20:41:09 +0000</pubDate> <dc:creator>Peter Murray</dc:creator> <category><![CDATA[Raw Technology]]></category> <category><![CDATA[accessibility]]></category> <category><![CDATA[digital libraries]]></category> <category><![CDATA[perl]]></category> <category><![CDATA[section508]]></category> <category><![CDATA[video]]></category> <category><![CDATA[web standards]]></category><guid isPermaLink="false">http://dltj.org/2007/02/update-to-embedded-web-video/</guid> <description><![CDATA[With the release of Microsoft&#8217;s Windows Media Player version 11, the Microsoft Media Server (MMS) protocol is officially no longer supported. (Except, of course, for the confusing/amusing footnote on that page that says &#8216;mms://&#8217; URIs are &#8220;highly recommended&#8221; as a &#8230; <a href="http://dltj.org/article/update-to-embedded-web-video/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<abbr class="unapi-id ignore noPrint" title="http://dltj.org/2007/02/update-to-embedded-web-video/"></abbr><p>With the release of Microsoft&#8217;s <a href="http://www.microsoft.com/windows/windowsmedia/player/11/default.aspx" title="Windows Media Player 11">Windows Media Player version 11</a>, the Microsoft Media Server (MMS) protocol is <a href="http://www.microsoft.com/windows/windowsmedia/licensing/netprokit.aspx#WindowsMediaNetworkingProtocolsCompatibility" title="Windows Media Porting Kits: Other Windows Media Technologies">officially no longer supported</a>.  (Except, of course, for the confusing/amusing footnote on that page that says &#8216;mms://&#8217; URIs are &#8220;highly recommended&#8221; as a <a href="http://msdn2.microsoft.com/en-gb/library/aa390673.aspx" title="Protocol Rollover">protocol rollover URL</a> &mdash; only Microsoft can at the same time make something deprecated and highly recommended.)  As <span class="removed_link" title="http://blog.ryaneby.com/archives/windows-media-player-11-and-mms/">Ryan Eby noted earlier this year</span>, those generating ASX files for Windows Media Player need to adjust their scripts.</p><p>Last year I published an entry called <a href="http://dltj.org/2006/09/standards-compliant-web-video/">Embedded Web Video in a Standards-Compliant, Accessible, and Successful Way</a> on how to embed (without using the non-standard &lt;EMBED&gt; tag) video on an HTML page.  It has been one of the most widely read articles on <i>DLTJ.org</i>, and so I wanted to publish an updated version of the script from that article to take into account this new wrinkle from Microsoft.  The change is at line #41 below:</p><div class="wp_syntax"><div class="code"><pre class="perl" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/usr/bin/perl -w</span>
<span style="color: #666666; font-style: italic;"># Copyright (C) 2006-2007 OhioLINK</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># This file is part of the OhioLINK Digital Resource Commons (DRC) Project.</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># The OhioLINK DRC is free software; you can redistribute it and/or</span>
<span style="color: #666666; font-style: italic;"># modify it under the terms of the Affero General Public License as</span>
<span style="color: #666666; font-style: italic;"># published by Affero, Inc. -- either version 1 of the License, or</span>
<span style="color: #666666; font-style: italic;"># (at your option) any later version.</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># The OhioLINK DRC Project is distributed in the hope that it will be</span>
<span style="color: #666666; font-style: italic;"># useful, but WITHOUT ANY WARRANTY -- without even the implied warranty</span>
<span style="color: #666666; font-style: italic;"># of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span>
<span style="color: #666666; font-style: italic;"># Affero General Public License for more details.</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># You should have received a copy of the Affero General Public</span>
<span style="color: #666666; font-style: italic;"># License in the LICENSE.txt file that comes with the DRC project;</span>
<span style="color: #666666; font-style: italic;"># if not, write to DRC Development Team, OhioLINK, 2455 North Star Rd,</span>
<span style="color: #666666; font-style: italic;"># Suite 300, Columbus, OH 43221, USA.</span>
&nbsp;
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #0000ff;">$ENV</span><span style="color: #009900;">&#123;</span>PATH_INFO<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #000066;">print</span> <span style="color: #ff0000;">&quot;Location: http://no-path-info-given/<span style="color: #000099; font-weight: bold;">\\</span>r<span style="color: #000099; font-weight: bold;">\\</span>n<span style="color: #000099; font-weight: bold;">\\</span>r<span style="color: #000099; font-weight: bold;">\\</span>n&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$format</span><span style="color: #339933;">,</span><span style="color: #0000ff;">$id</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$ENV</span><span style="color: #009900;">&#123;</span>PATH_INFO<span style="color: #009900;">&#125;</span> <span style="color: #339933;">=~</span> <span style="color: #000066;">q</span><span style="color: #666666; font-style: italic;">#^/+(.*?)/(.*)$#;</span>
&nbsp;
  <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$format</span> <span style="color: #339933;">=~</span> <span style="color: #009966; font-style: italic;">/Quicktime/i</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000066;">print</span> <span style="color: #ff0000;">&quot;Location: http://video.ohiolink.edu/blah/Quicktime/$id<span style="color: #000099; font-weight: bold;">\\</span>r<span style="color: #000099; font-weight: bold;">\\</span>n<span style="color: #000099; font-weight: bold;">\\</span>r<span style="color: #000099; font-weight: bold;">\\</span>n&quot;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">elsif</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$format</span> <span style="color: #339933;">=~</span> <span style="color: #009966; font-style: italic;">/Real/i</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000066;">print</span> <span style="color: #ff0000;">&quot;Location: http://video.ohiolink.edu:8080/ramgen/blah/Real/$id<span style="color: #000099; font-weight: bold;">\\</span>r<span style="color: #000099; font-weight: bold;">\\</span>n<span style="color: #000099; font-weight: bold;">\\</span>r<span style="color: #000099; font-weight: bold;">\\</span>n&quot;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">elsif</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$format</span> <span style="color: #339933;">=~</span> <span style="color: #009966; font-style: italic;">/Windows/i</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$winType</span><span style="color: #339933;">,</span><span style="color: #0000ff;">$winFile</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$id</span> <span style="color: #339933;">=~</span> <span style="color: #000066;">q</span><span style="color: #666666; font-style: italic;">#^(.*?)/(.*)$#;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$winType</span> <span style="color: #339933;">=~</span> <span style="color: #009966; font-style: italic;">/asx/i</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #0000ff;">$winFile</span> <span style="color: #339933;">=~</span> <span style="color: #009966; font-style: italic;">s/\\..*$//</span><span style="color: #339933;">;</span>
      <span style="color: #000066;">print</span> <span style="color: #339933;">&gt;&gt;</span> <span style="color: #ff0000;">&quot;EoMarkup&quot;</span><span style="color: #339933;">;</span>
Content<span style="color: #339933;">-</span>type<span style="color: #339933;">:</span> video<span style="color: #339933;">/</span>x<span style="color: #339933;">-</span>ms<span style="color: #339933;">-</span>asf
&nbsp;
<span style="color: #339933;">&lt;</span>asx version<span style="color: #339933;">=</span><span style="color: #ff0000;">&quot;3.0&quot;</span><span style="color: #339933;">&gt;</span>
<span style="color: #009999;">&lt;copyright&gt;</span><span style="color: #009900;">&#40;</span>c<span style="color: #009900;">&#41;</span> <span style="color: #cc66cc;">2005</span> <span style="color: #339933;">-</span> xxx<span style="color: #339933;">&lt;/</span>copyright<span style="color: #339933;">&gt;</span>
<span style="color: #009999;">&lt;entry&gt;</span>
<span style="color: #339933;">&lt;</span>ref href<span style="color: #339933;">=</span><span style="color: #ff0000;">&quot;mms://video.ohiolink.edu/blah/Windows/$winFile.wmv?SAMI=http://rave.ohiolink.edu/dmc/blah/windows/smi/$winFile.smi&quot;</span><span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>ref href<span style="color: #339933;">=</span><span style="color: #ff0000;">&quot;http://video.ohiolink.edu/blah/Windows/$winFile.wmv?SAMI=http://rave.ohiolink.edu/dmc/blah/windows/smi/$winFile.smi&quot;</span><span style="color: #339933;">/&gt;</span>
<span style="color: #009999;">&lt;copyright&gt;</span><span style="color: #009900;">&#40;</span>c<span style="color: #009900;">&#41;</span> <span style="color: #cc66cc;">2005</span> <span style="color: #339933;">-</span> xxx<span style="color: #339933;">&lt;/</span>copyright<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>ref<span style="color: #339933;">&gt;&lt;/</span>entry<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>asx<span style="color: #339933;">&gt;</span>
EoMarkup
    <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">elsif</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$winType</span> <span style="color: #339933;">=~</span> <span style="color: #009966; font-style: italic;">/wmv/i</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #000066;">print</span> <span style="color: #ff0000;">&quot;Location: mms://video.ohiolink.edu/blah/Windows/$winFile<span style="color: #000099; font-weight: bold;">\\</span>r<span style="color: #000099; font-weight: bold;">\\</span>n<span style="color: #000099; font-weight: bold;">\\</span>r<span style="color: #000099; font-weight: bold;">\\</span>n&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">elsif</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$winType</span> <span style="color: #339933;">=~</span> <span style="color: #009966; font-style: italic;">/smi/i</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #000000; font-weight: bold;">use</span> LWP<span style="color: #339933;">::</span><span style="color: #006600;">UserAgent</span><span style="color: #339933;">;</span>
      <span style="color: #0000ff;">$ua</span> <span style="color: #339933;">=</span> LWP<span style="color: #339933;">::</span><span style="color: #006600;">UserAgent</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">new</span><span style="color: #339933;">;</span>
      <span style="color: #0000ff;">$ua</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">agent</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;$0-lwp/0.1 &quot;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">$ua</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">agent</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #0000ff;">$req</span> <span style="color: #339933;">=</span> HTTP<span style="color: #339933;">::</span><span style="color: #006600;">Request</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">new</span><span style="color: #009900;">&#40;</span>GET <span style="color: #339933;">=&gt;</span> <span style="color: #ff0000;">&quot;http://video.ohiolink.edu:8080/blah/Windows/$winFile&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #666666; font-style: italic;"># send request</span>
      <span style="color: #0000ff;">$res</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$ua</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">request</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$req</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #666666; font-style: italic;"># check the outcome</span>
      <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$res</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">is_success</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000066;">print</span> <span style="color: #ff0000;">&quot;Content-type: application/smil<span style="color: #000099; font-weight: bold;">\\</span>r<span style="color: #000099; font-weight: bold;">\\</span>n<span style="color: #000099; font-weight: bold;">\\</span>r<span style="color: #000099; font-weight: bold;">\\</span>n&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #000066;">print</span> <span style="color: #0000ff;">$res</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">decoded_content</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000066;">print</span> <span style="color: #ff0000;">&quot;Location: http://error-from-remote-server/$winType/$winFile/&quot;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">$res</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">code</span><span style="color: #339933;">.</span><span style="color: #ff0000;">&quot;/&quot;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">$res</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">message</span><span style="color: #339933;">.</span><span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\\</span>r<span style="color: #000099; font-weight: bold;">\\</span>n<span style="color: #000099; font-weight: bold;">\\</span>r<span style="color: #000099; font-weight: bold;">\\</span>n&quot;</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #000066;">print</span> <span style="color: #ff0000;">&quot;Location: http://invalid-Windows-format-given/$winType/$winFile<span style="color: #000099; font-weight: bold;">\\</span>r<span style="color: #000099; font-weight: bold;">\\</span>n<span style="color: #000099; font-weight: bold;">\\</span>r<span style="color: #000099; font-weight: bold;">\\</span>n&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000066;">print</span> <span style="color: #ff0000;">&quot;Location: http://invalid-format-given/$format/$id<span style="color: #000099; font-weight: bold;">\\</span>r<span style="color: #000099; font-weight: bold;">\\</span>n<span style="color: #000099; font-weight: bold;">\\</span>r<span style="color: #000099; font-weight: bold;">\\</span>n&quot;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div><p>Thanks to Neil Bennett at the University of Southern Maine for contacting OhioLINK about the problem, providing some very helpful diagnostics, and pointing us to the URL to the protocol table mentioned above.  It is also worth noting that the A List Apart website posted a new article about <a href="http://alistapart.com/articles/flashembedcagematch" title="A List Apart: Articles: Flash Embedding Cage Match">sane ways of embedding Flash content</a> that builds upon the same work in the original &#8216;Embedded Web Video&#8230;&#8217; article.  It might be time to update some of the techniques used in the original article, but that&#8217;ll need to wait for another time.<p style="padding:0;margin:0;font-style:italic;" class="removed_link">The text was modified to remove a link to http://blog.ryaneby.com/archives/windows-media-player-11-and-mms/ on January 19th, 2011.</p>]]></content:encoded> <wfw:commentRss>http://dltj.org/article/update-to-embedded-web-video/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Embedded Web Video in a Standards-Compliant, Accessible, and Successful Way</title><link>http://dltj.org/article/standards-compliant-web-video/</link> <comments>http://dltj.org/article/standards-compliant-web-video/#comments</comments> <pubDate>Tue, 26 Sep 2006 00:59:14 +0000</pubDate> <dc:creator>Peter Murray</dc:creator> <category><![CDATA[Raw Technology]]></category> <category><![CDATA[accessibility]]></category> <category><![CDATA[section508]]></category> <category><![CDATA[video]]></category> <category><![CDATA[web standards]]></category><guid isPermaLink="false">http://dltj.org/2006/09/standards-compliant-web-video/</guid> <description><![CDATA[The word &#8220;Successful&#8221; in the title, when juxtaposed with &#8220;Standards-Compliant&#8221; and &#8220;Accessible,&#8221; should be big, bold and flashing (except that the flashing style would then go against web accessibility best practice). The goal is to embed a video clip into &#8230; <a href="http://dltj.org/article/standards-compliant-web-video/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<abbr class="unapi-id ignore noPrint" title="http://dltj.org/2006/09/standards-compliant-web-video/"></abbr><p>The word &#8220;Successful&#8221; in the title, when juxtaposed with &#8220;Standards-Compliant&#8221; and &#8220;Accessible,&#8221; should be big, bold and flashing (except that the flashing style would then go against web accessibility best practice).  The goal is to embed a video clip into a web page that validates as &#8220;XHTML4.01 Transitional&#8221;, includes a Closed Captioning text track to be displayed in the web page, and could be viewed in one of three flavors:  Windows Media, QuickTime, and Real.  And the content being presented is about using accessible technologies in the classroom, so it had to be &#8220;right.&#8221;  This task was much harder than I thought, and I&#8217;ll offer much harder than it should have been.  Piecing together sources too numerous to mention, I managed to make it happen &#8230; with just a few caveats.  Here, documented for all time, or at least until dltj.org goes away or the next major browser/streaming-client revision (which ever comes first) is how it can be done.</p><p><h2>The Content</h2><br />I hope someday soon to actually post a link to this content online where you can see at least the public face of this solution at play.  The content is for a series of web-based modules for faculty and administrators to help improve the quality of education for students with disabilities.  It is top-notch stuff, and it has been a real honor to work with the team that put it together.  For my piece of it, though, they gave me a set of directories, broken out by media type, with this content:</p><dl><dt>Windows/</dt><dd>.wmv (the video) and .smi (the closed caption text track)</dd><dt>Real/</dt><dd>.rm (the video), .rt (the closed caption text track) and .smi (the container that pulls the first two together)</dd><dt>Quicktime/</dt><dd>.mov (the video)</dd></dl><p>Now right out of the gate we&#8217;re fudging things a little bit.  For whatever reason the team developing the content decided to punt when it came to the text track in Quicktime.  I don&#8217;t know if there was an insurmountable barrier or some other reason, but the practical upshot is that the Quicktime version of the video includes the text track an &#8220;open caption&#8221; encoded right into the video stream.  That makes Quicktime, from my perspective, very easy to deal with.</p><p>Those with a keen eye will notice that both the Windows Media and the Real Media version have  a .smi file.  This is true, but they are not identical.  Windows media wants to use a .asx file as its container object and only uses the .smi for the text stream.  The Real Media version has the text stream in .rt files.  Could these be combined?  Perhaps, but I&#8217;ve got real-world problems to solve and this is what I was given.  In any case, I don&#8217;t think it makes the end result any easier or harder than it would be otherwise.</p><p><h2>Serving Up the Content</h2><br />We use a Helix Streaming Media server from Real Networks, Inc., as our content server, but that isn&#8217;t the really interesting part of this quest.  Another requirement, was that the URLs to these various media files needed to be persistent, <em>is</em> an interesting problem.  The HTML that will include the URLs could be copied and distributed to hundreds if not thousands of sites eventually, so updating the URLs in web pages because a machine name changed or we decide to use a Darwin Streaming Server rather than a Helix Streaming Server for Quicktime would be impossible to get done right.  OhioLINK (my employer), being a content provider for member libraries, created a persistent URL service years ago for its content called &#8220;RAVE&#8221; (or <b><u>R</u></b>andom <b><u>A</u></b>ccess to <b><u>V</u></b>irtually <b><u>E</u></b>verything), so it made sense to have the URLs to the media pieces be &#8220;RAVE URLs&#8221;.  RAVE URLs are handled by PERL scripts running on an Apache virtual host called &#8220;rave.ohiolink.edu&#8221;.  These PERL scripts read the parameters of the request and issue an HTTP 302 (&#8220;Moved Temporarily&#8221;) redirect to the real location of the content.  In doing so, we only need to change the address of the content in one place &#8212; the RAVE script &#8212; when the location moves (rather than in the hundreds of web pages or bookmarks or what-have-you).</p><p>For the purposes of this project, these RAVE URLs were defined as this (the http protocol prefix is omitted so over-anxious RSS readers will not attempt to turn them into hyperlinks; &#8220;blah&#8221; is a placeholder for the project name; and [id] represents the identifier for the video segment):</p><dl style="margin-left: 3em"><dt>rave.ohiolink.edu/dmc/blah/quicktime/[id]</dt><dd>Redirects to the location of the Quicktime file (a hinted .mov file, so it starts playing in the browser right away)</dd><dt>rave.ohiolink.edu/dmc/blah/real/[id]</dt><dd>Redirects to the location of the .smi container file via the mms protocol through the Helix streaming server</dd><dt>rave.ohiolink.edu/dmc/blah/windows/wmv/[id]</dt><dd>Redirects to the location of the wmv video file via the mms protocol through the Helix streaming server</dd><dt>rave.ohiolink.edu/dmc/blah/windows/smi/[id]</dt><dd>Pulls the .smi file off of the streaming server and sends it back to the browser with the appropriate MIME type</dd><dt>rave.ohiolink.edu/dmc/blah/windows/asx/[id]</dt><dd>Dynamically creates a .asx container that pulls together the <code>windows/smi</code> and the <code>windows/wmv</code> files</dd></dl><p>Here are the first of the tricky bits.  First, it seems like Windows Media Player can&#8217;t cope with a 302 redirect message in response to its request for a .smi file.  &#8220;Can&#8217;t cope&#8221; can be restated as &#8220;ignores&#8221;; it doesn&#8217;t throw an error, it just plays the file as if there was no closed captioning text.  To get around this, the RAVE script has a bit of PERL where it asks like a web client to pull the .smi file off of the video server and send it back out to the media player.</p><div style="padding 1em; border: 1px solid red; margin: 1em; background: yellow; color: black;">Note &mdash; the Perl script included below was updated in February 2007 to include <a href="http://dltj.org/2007/02/update-to-embedded-web-video/">a fix for the deprecation of the MMS protocol</a> in Windows Media Player.</div><p>Second &#8212; again for those with eagle eyes &#8212; is the dynamic generation of an .asx file.  As it turns out, one can relate a .smi text-track file with a .wmv video file by including it as a SAMI parameter on the URL.  By far the best practice for doing this seems to be to relate the .smi and the .wmv files in a .asx container file.  So we create one on-the-fly.  The PERL code looks like this:</p><div class="wp_syntax"><div class="code"><pre class="perl" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/usr/bin/perl -w</span>
<span style="color: #666666; font-style: italic;"># Copyright (C) 2006 OhioLINK</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># This file is part of the OhioLINK Digital Resource Commons (DRC) Project.</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># The OhioLINK DRC is free software; you can redistribute it and/or</span>
<span style="color: #666666; font-style: italic;"># modify it under the terms of the Affero General Public License as</span>
<span style="color: #666666; font-style: italic;"># published by Affero, Inc. -- either version 1 of the License, or</span>
<span style="color: #666666; font-style: italic;"># (at your option) any later version.</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># The OhioLINK DRC Project is distributed in the hope that it will be</span>
<span style="color: #666666; font-style: italic;"># useful, but WITHOUT ANY WARRANTY -- without even the implied warranty</span>
<span style="color: #666666; font-style: italic;"># of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span>
<span style="color: #666666; font-style: italic;"># Affero General Public License for more details.</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># You should have received a copy of the Affero General Public</span>
<span style="color: #666666; font-style: italic;"># License in the LICENSE.txt file that comes with the DRC project;</span>
<span style="color: #666666; font-style: italic;"># if not, write to DRC Development Team, OhioLINK, 2455 North Star Rd, </span>
<span style="color: #666666; font-style: italic;"># Suite 300, Columbus, OH 43221, USA.</span>
&nbsp;
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #0000ff;">$ENV</span><span style="color: #009900;">&#123;</span>PATH_INFO<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #000066;">print</span> <span style="color: #ff0000;">&quot;Location: http://no-path-info-given/<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$format</span><span style="color: #339933;">,</span><span style="color: #0000ff;">$id</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$ENV</span><span style="color: #009900;">&#123;</span>PATH_INFO<span style="color: #009900;">&#125;</span> <span style="color: #339933;">=~</span> <span style="color: #000066;">q</span><span style="color: #666666; font-style: italic;">#^/+(.*?)/(.*)$#;</span>
&nbsp;
  <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$format</span> <span style="color: #339933;">=~</span> <span style="color: #009966; font-style: italic;">/Quicktime/i</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000066;">print</span> <span style="color: #ff0000;">&quot;Location: http://video.ohiolink.edu/blah/Quicktime/$id<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">elsif</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$format</span> <span style="color: #339933;">=~</span> <span style="color: #009966; font-style: italic;">/Real/i</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000066;">print</span> <span style="color: #ff0000;">&quot;Location: http://video.ohiolink.edu:8080/ramgen/blah/Real/$id<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span> 
  <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">elsif</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$format</span> <span style="color: #339933;">=~</span> <span style="color: #009966; font-style: italic;">/Windows/i</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$winType</span><span style="color: #339933;">,</span><span style="color: #0000ff;">$winFile</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$id</span> <span style="color: #339933;">=~</span> <span style="color: #000066;">q</span><span style="color: #666666; font-style: italic;">#^(.*?)/(.*)$#;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$winType</span> <span style="color: #339933;">=~</span> <span style="color: #009966; font-style: italic;">/asx/i</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #0000ff;">$winFile</span> <span style="color: #339933;">=~</span> <span style="color: #009966; font-style: italic;">s/\..*$//</span><span style="color: #339933;">;</span>
      <span style="color: #000066;">print</span> <span style="color: #339933;">&gt;&gt;</span> <span style="color: #ff0000;">&quot;EoMarkup&quot;</span><span style="color: #339933;">;</span>
Content<span style="color: #339933;">-</span>type<span style="color: #339933;">:</span> video<span style="color: #339933;">/</span>x<span style="color: #339933;">-</span>ms<span style="color: #339933;">-</span>asf
&nbsp;
<span style="color: #339933;">&lt;</span>asx version<span style="color: #339933;">=</span><span style="color: #ff0000;">&quot;3.0&quot;</span><span style="color: #339933;">&gt;</span>
<span style="color: #009999;">&lt;copyright&gt;</span><span style="color: #009900;">&#40;</span>c<span style="color: #009900;">&#41;</span> <span style="color: #cc66cc;">2005</span> <span style="color: #339933;">-</span> xxx<span style="color: #339933;">&lt;/</span>copyright<span style="color: #339933;">&gt;</span>
<span style="color: #009999;">&lt;entry&gt;</span>
<span style="color: #339933;">&lt;</span>ref href<span style="color: #339933;">=</span><span style="color: #ff0000;">&quot;mms://video.ohiolink.edu/blah/Windows/$winFile.wmv?SAMI=http://rave.ohiolink.edu/dmc/blah/windows/smi/$winFile.smi&quot;</span><span style="color: #339933;">&gt;</span>
<span style="color: #009999;">&lt;copyright&gt;</span><span style="color: #009900;">&#40;</span>c<span style="color: #009900;">&#41;</span> <span style="color: #cc66cc;">2005</span> <span style="color: #339933;">-</span> xxx<span style="color: #339933;">&lt;/</span>copyright<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>ref<span style="color: #339933;">&gt;&lt;/</span>entry<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>asx<span style="color: #339933;">&gt;</span> 
EoMarkup
    <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">elsif</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$winType</span> <span style="color: #339933;">=~</span> <span style="color: #009966; font-style: italic;">/wmv/i</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #000066;">print</span> <span style="color: #ff0000;">&quot;Location: mms://video.ohiolink.edu/blah/Windows/$winFile<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">elsif</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$winType</span> <span style="color: #339933;">=~</span> <span style="color: #009966; font-style: italic;">/smi/i</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #000000; font-weight: bold;">use</span> LWP<span style="color: #339933;">::</span><span style="color: #006600;">UserAgent</span><span style="color: #339933;">;</span>
      <span style="color: #0000ff;">$ua</span> <span style="color: #339933;">=</span> LWP<span style="color: #339933;">::</span><span style="color: #006600;">UserAgent</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">new</span><span style="color: #339933;">;</span>
      <span style="color: #0000ff;">$ua</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">agent</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;$0-lwp/0.1 &quot;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">$ua</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">agent</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #0000ff;">$req</span> <span style="color: #339933;">=</span> HTTP<span style="color: #339933;">::</span><span style="color: #006600;">Request</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">new</span><span style="color: #009900;">&#40;</span>GET <span style="color: #339933;">=&gt;</span> <span style="color: #ff0000;">&quot;http://video.ohiolink.edu:8080/blah/Windows/$winFile&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #666666; font-style: italic;"># send request</span>
      <span style="color: #0000ff;">$res</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$ua</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">request</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$req</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #666666; font-style: italic;"># check the outcome</span>
      <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$res</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">is_success</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000066;">print</span> <span style="color: #ff0000;">&quot;Content-type: application/smil<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #000066;">print</span> <span style="color: #0000ff;">$res</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">decoded_content</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000066;">print</span> <span style="color: #ff0000;">&quot;Location: http://error-from-remote-server/$winType/$winFile/&quot;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">$res</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">code</span><span style="color: #339933;">.</span><span style="color: #ff0000;">&quot;/&quot;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">$res</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">message</span><span style="color: #339933;">.</span><span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #000066;">print</span> <span style="color: #ff0000;">&quot;Location: http://invalid-Windows-format-given/$winType/$winFile<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000066;">print</span> <span style="color: #ff0000;">&quot;Location: http://invalid-format-given/$format/$id<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div><p>The first part of the script parses the PATH_INFO variable &#8212; everything left over from the <i>blah</i> script name &#8212; and if what is requested is the Real Media or the Quicktime version of the video it sends the redirect back to the client (in the form of the &#8220;Location:&#8221; header with Apache HTTP daemon handling the 302 response code).  If what is requested is the Windows variety, it further parses the PATH_INFO piece for the file type and acts according to that:  for wmv, it redirects; for asx, it generates the .asx file; and for .smi, it pulls the content off the video server and returns it to the client.</p><p><h2>The Markup</h2><br />So now that we can serve up the video content with persistent URLs, we need to tackle the HTML markup.  As a general rule, we can&#8217;t use the <a href="http://www.webstandards.org/learn/articles/askw3c/may2005/" title="Adding Multimedia in Web Documents (part 2) - The Web Standards Project">popular yet non-standard <code>&lt;embed&gt;</code> tag</a>; since it is not part of any formal specification, validation will always fail.  As a consequence, use in future browsers is less assured.  So we need to use <code>&lt;object&gt;</code> &#8212; and unfortunately due to varied, if not outright broken implementations of the <code>&lt;object&gt;</code> tag, we need to be a little tricky in how we code it.  Other tricks are in play here as well &#8212; check the list of &#8220;Resources Consulted&#8221; below for more information.</p><p>Also note that many of the recommendations out there start off with something like &#8220;if you have media to show, <em>don&#8217;t</em> embed it into your web page; but if you must, here is one way to do it.&#8221;  The reason for this is pretty simple, if not obvious after a little thought:  folks using alternate browsing/computing techniques (e.g. keyboard only for limited mobility, auditory only for sight impaired, visual only for the hearing impaired, etc.) lose much of their ability to control the flow of information because it is tied up in the functionally-limited browser rather than the native media player.  These same recommendations go on to say that if you do embed the media into the web page, provide a link for the user to access it using the native media player.</p><p>So based on the URLs to the media objects described above, this is what the HTML markup looks like:</p><p><h3>Quicktime</h3><br /><br clear="all" /></p><div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;object classid=&quot;clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B&quot; codebase=&quot;http://www.apple.com/qtactivex/qtplugin.cab&quot; width=&quot;320&quot; height=&quot;380&quot;&gt;
  &lt;param name=&quot;src&quot; value=&quot;http://rave.ohiolink.edu/dmc/blah/quicktime/[id].mov&quot; /&gt;
  &lt;param name=&quot;controller&quot; value=&quot;true&quot; /&gt;
  &lt;param name=&quot;autoplay&quot; value=&quot;true&quot; /&gt;
  &lt;!--[if !IE]&gt;--&gt;
    &lt;/object&gt;&lt;object type=&quot;video/quicktime&quot; data=&quot;http://rave.ohiolink.edu/dmc/blah/quicktime/[id].mov&quot; width=&quot;320&quot; height=&quot;380&quot;&gt;
     &lt;param name=&quot;autoplay&quot; value=&quot;true&quot; /&gt;
     &lt;param name=&quot;controller&quot; value=&quot;true&quot; /&gt;
    &lt;/object&gt;
   &lt;!--&lt;![endif]--&gt;
&nbsp;
&amp;lt;br /&amp;gt;
&lt;a href=&quot;http://rave.ohiolink.edu/dmc/blah/quicktime/[id].mov&quot; title=&quot;View in Native Player&quot;&gt;View Video with External Player&lt;/a&gt;</pre></div></div><p><h3>Windows Media</h3><br /><br clear="all" /></p><div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;object classid=&quot;clsid:6bf52a52-394a-11d3-b153-00c04f79faa6&quot; type=&quot;application/x-oleobject&quot; width=&quot;320&quot; height=&quot;304&quot; id=&quot;Player1&quot;&gt;
  &lt;param name=&quot;url&quot; value=&quot;http://rave.ohiolink.edu/dmc/blah/windows/asx/[id].asx&quot; /&gt;
  &lt;param name=&quot;src&quot; value=&quot;http://rave.ohiolink.edu/dmc/blah/windows/asx/[id].asx&quot; /&gt;
  &lt;param name=&quot;autostart&quot; value=&quot;true&quot; /&gt;
  &lt;param name=&quot;showcontrols&quot; value=&quot;true&quot; /&gt;
  &lt;param name=&quot;uimode&quot; value=&quot;mini&quot; /&gt;
  &lt;param name=&quot;captioningID&quot; value=&quot;CapText&quot; /&gt;
  &lt;param name=&quot;SAMIFileName&quot; value=&quot;http://rave.ohiolink.edu/dmc/blah/windows/smi/scott.smi&quot; /&gt;
    &lt;!--[if !IE]&gt;--&gt;
     &lt;/object&gt;&lt;object type=&quot;video/x-ms-wmv&quot; data=&quot;http://rave.ohiolink.edu/dmc/blah/windows/asx/[id].asx&quot; width=&quot;320&quot; height=&quot;304&quot; id=&quot;Player2&quot;&gt;
     &lt;param name=&quot;src&quot; value=&quot;http://rave.ohiolink.edu/dmc/blah/windows/asx/[id].asx&quot; /&gt;
     &lt;param name=&quot;autostart&quot; value=&quot;true&quot; /&gt;
     &lt;param name=&quot;showcontrols&quot; value=&quot;true&quot; /&gt;
     &lt;param name=&quot;uimode&quot; value=&quot;mini&quot; /&gt;
     &lt;param name=&quot;captioningID&quot; value=&quot;CapText&quot; /&gt;
     &lt;param name=&quot;SAMIFileName&quot; value=&quot;http://rave.ohiolink.edu/dmc/blah/Windows/smi/[id].smi&quot; /&gt;
    &lt;/object&gt;
   &lt;!--!&lt;[endif]--&gt;
&nbsp;
&amp;lt;br /&amp;gt;
&lt;a href=&quot;http://rave.ohiolink.edu/dmc/blah/windows/asx/[id].asx&quot; title=&quot;View in Native Player&quot;&gt;View Video with External Player (including captions)&lt;/a&gt;</pre></div></div><p><h3>Real Media</h3><br />One last caveat.  As if the shenanigans above weren&#8217;t bad enough, apparently as part of a court settlement against Microsoft a number of years ago, there was an injunction placed against the creator of Internet Explorer that prevented that browser from automatically launching content embedded in a web page.  For whatever reason (I didn&#8217;t have time to investigate <em>why</em> this happened), it only impacts Real Media content.  Somehow, though, it is okay for the browser to start it if the action is called from an external piece of JavaScript.  Go figure.  You can read more about it at Real Media&#8217;s support site for <a href="http://www.realnetworks.com/resources/howto/embedded/iechanges/index.html" title="">Web Page Embedding &gt; Internet Explorer Changes</a>.  In actuality, though, it makes the Real Media part of the equation pretty easy:</p><div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;script language=&quot;JavaScript&quot; type=&quot;text/javascript&quot;&gt;
  AC_RunRealContent( 
	&quot;id&quot;, &quot;player&quot;,  
	&quot;width&quot;, &quot;320&quot;,  
	&quot;height&quot;, &quot;280&quot;,  
	&quot;CONTROLS&quot;, &quot;imagewindow&quot;,  
	&quot;CONSOLE&quot;, &quot;radio&quot;,  
	&quot;AUTOSTART&quot;, &quot;TRUE&quot;,  
	&quot;type&quot;, &quot;audio/x-pn-realaudio-plugin&quot;,  
	&quot;SRC&quot;, &quot;http://rave.ohiolink.edu/dmc/blah/real/[id].smi&quot;
  );
  window.document.write('&amp;lt;br /&amp;gt;');
  AC_RunRealContent( 
	&quot;id&quot;, &quot;controls&quot;,  
	&quot;width&quot;, &quot;320&quot;,  
	&quot;height&quot;, &quot;36&quot;,  
	&quot;CONTROLS&quot;, &quot;ControlPanel&quot;,  
	&quot;CONSOLE&quot;, &quot;radio&quot;, 
	&quot;type&quot;, &quot;audio/x-pn-realaudio-plugin&quot;,  
	&quot;SRC&quot;, &quot;http://rave.ohiolink.edu/dmc/blah/real/[id].smi&quot;
  );
&lt;/script&gt;
&amp;lt;br /&amp;gt;
&lt;a href=&quot;http://rave.ohiolink.edu/dmc/fame/Real/scott.smi&quot; title=&quot;View with Native Player&quot;&gt;View Video with External Player (including captions)&lt;/a&gt;</pre></div></div><p><h2>Conclusion</h2></p><ol><li>It seems to work for me and the machines I test with; your mileage may vary.</li><li>If you know of a better way to do it, please let me know!</li></ol><p><h2>Resources Consulted</h2><br />Here is a short list of the most helpful resources used to accomplish this feat:</p><ul><li>&#8220;<a href="http://alistapart.com/articles/byebyeembed" title="A List Apart: Articles: Bye Bye Embed">Bye Bye Embed</a>&#8221; by Elizabeth Castro on A List Apart</li><li>&#8220;<a href="http://www.webaim.org/techniques/captions/" title="WebAIM: Web Captioning Overview">Web Captioning</a>&#8221; in the Web Accessibility In Mind project</li></ul>]]></content:encoded> <wfw:commentRss>http://dltj.org/article/standards-compliant-web-video/feed/</wfw:commentRss> <slash:comments>8</slash:comments> </item> </channel> </rss>
<!-- Served from: dltj.org @ 2012-02-11 12:29:56 by W3 Total Cache -->
