broadcast-brainstorming

Jump to: navigation, search

Contents

Brainstorming for a Broadcast Microformat

This is a brainstorm for Internet radio and TV streams i.e real-time streams corresponding to radio and TV stations rather than individual items or collections of content (as currently proposed for hAudio).

The scope could also encompass broadcast radio and TV if this is considered to be useful in an Internet context.

Examples can be found here broadcast-examples

Contributors

The Problem

The web provides an alternative transmission medium for radio and TV stations, enabling these to reach a global audience. New Internet-only services have also appeared. A large number of services are now available and there are many web-based directories listing Internet radio and TV stations under various categories. These directories have to be maintained by hand because the information cannot easily be collected automatically from web sites. The information these directories provide is not easily extracted by web browsers and devices such as Internet Radios.

Elements that come up often in practice

The metadata is either general information (e.g. station name) or technical information (e.g. bandwidth)

General information

Technical information

Issues

Possible approaches

New microformat

Define a broadcast microformat.

As with hAudio we could consider splitting content information from format information i.e. define a stream format microformat:

Example:

   <a class="hstream" type="audio/vnd.rn-realaudio" href="http://www.bbc.co.uk/radio1/realaudio/media/r1live.ram">
   Real Audio (<abbr class="bitrate hmeasure" title="196608 bit/s">192 Kbps</abbr>, <span class="delivery">multicast</span>)</a>

For television and radio stations we could have:

Examples:

<div class="vcard">
	<strong class="fn org">Rádio Nacional do Alto Solimões</strong>
	<div class="adr">
		<span class="region">Amazonas</span>
		<span class="country-name">Brazil</span>
	</div>
	<div class="broadcast">
		<span class="frequency">
		96.1<span class="band">FM</span>
		</span>
		<span class="frequency">
		670<span class="band">AM</span>
		</span>
	</div>
</div>
<div class="vcard">
<strong class="fn org">Rádio Nacional do Alto Solimões</strong>
<div class="adr">
<span class="locality">Amazonas</span>
<span class="country-name">Brazil</span>
</div>
<div class="broadcast">
<div class="frequency">
<span class="band">FM</span> 
<span class="measure">
<span class="num">96.1</span>
<abbr class="unit" title="MegaHertz">MHz</abbr>
</span>
</div>
<div class="frequency">
<span class="band">AM</span> 
<span class="measure">
<span class="num">670</span>
<abbr class="unit" title="kiloHertz">kHz</abbr> 
</span>
</div>
</div>
</div>
<div class="vcard">
    <div class="adr">
      <div class="org fn">
      <span class="organization-name">BBC</span> <span class="organization-unit">One</span>
      </div>
      <div class="country-name">UK</div>
      <div class="category"><a href="http://en.wikipedia.org/wiki/Mixed" rel="tag">Mixed</a></div>
      <img class="logo" src="http://www0.rdthdo.bbc.co.uk/services/api/res/images/BBCOne_small.gif" 
  alt="BBC One" />
      <a class="url" href="http://www.bbc.co.uk/bbcone/">BBC One Homepage</a>
    </div>
      <div class="broadcast">
          <div class="channel">
          <span class="provider">Freesat</span> channel <span class="value">101</span>
          </div>
          <div class="channel">
          <span class="provider">Freeview</span> channel <span class="value">1</span>
          </div>
          <div class="channel">
          <span class="provider">Sky Digital</span> channel <span class="value">101</span>
          </div>
          <div class="channel">
          <span class="provider">Tiscali</span> channel <span class="value">1</span>
          </div>
          <div class="channel">
          <span class="provider">Virgin Media</span> channel <span class="value">101</span>
       </div>
     </div> 
</div>
<div class="vcard">
<strong class="fn org">TV Cultura do Amazonas</strong>
<div class="adr">
<span class="locality">Manaus</span>
<span class="region">Amazonas</span>
<span class="country-name">Brazil</span>
</div>
<div class="broadcast">
<span class="channel">
<span class="band">VHF</span>: Channel <span class="value">2</span> 
</span>
<span class="channel">
<span class="band">SDTVB</span>: Channel <span class="value">4</span>
</span>
</div>
</div>
<div class="vcard">
<b class="fn org">Heart Radio in Sussex</b>
<div class="broadcast">
<i class="frequency">
<span class="value">102.4</span>  and 
<span class="value">103.5</span>
<span class="band">FM</span>
</i>
</div>
(<abbr title="50.9761;0.2293" class="geo">Eastbourne</abbr>)
</div>

but it would be easy to put the units in:

<div class="vcard">
<b class="fn org">Heart Radio in Sussex</b>
<div class="broadcast">
<i class="frequency">
<abbr class="value measure" title="102.4 megaHertz">102.4</abbr>  and 
<abbr class="value measure" title="103.5 megaHertz">103.5</abbr>
<span class="band">FM</span>
</i>
</div>
(<abbr title="50.9761;0.2293" class="geo">Eastbourne</abbr>)
</div>
<div class="vcard">
<strong class="fn org">
<a href="http://www.bbc.co.uk/radio3/" class="url">BBC Radio 3</a>
</strong>
<div class="broadcast">
<span class="frequency">
<span class="low">90.2</span> - <span class="high">92.6</span>
<abbr class="band" title="Frequency Modulation broadcast">FM</abbr>
</span>
</div>
<span class="adr">
<span class="country-name">UK</span>
</span>
</div>
<div class="vevent">
   <strong class="summary">Morning</strong>
   <span class="dtstart" title="9:00+08">9 a.m.</span> - <span class="dtend" title="12:00+08">midday</span>
<div class="broadcast">
   <p class="frequency">
       <span class="band">SW</span>: 
       <span class="value">9660</span>, 
       <span class="value">15230</span>, 
       <span class="value">15240</span>, 
       <span class="value">21725</span>
   </p>
</div>
</div>

if you wanted to use hMeasure, this could be(?)

<div class="broadcast">
   <p class="frequency">
       <span class="band">SW</span>: 
<span class="measure">
       <span class="num">9660</span>, 
       <span class="num">15230</span>, 
       <span class="num">15240</span>, 
       <span class="num">21725</span>
       <span class="unit">kHz</span>
</span>
   </p>
</div>
<div class="vcard">
<p><span class="fn org">Radio 4</span> can be found on the following channels, frequencies and websites:</p>
<ul class="broadcast">
<li class="frequency">
<strong class="band">DAB</strong> Listed as <q class="value">BBC Radio 4</q>, <q class="value">BBC R4</q>, or <q class="value">Radio 4</q> (more info)
</li>
 
<li class="frequency">
<strong class="band">FM<strong> <span class="low">92</span> - <span class="high">95</span>, <span class="low">103</span>-<span class="high">105</span>
</li>
<!-- I know the ranges don't quite "work" - how would one get around this without lots of tags though?? -->
<li class="frequency">
<strong class="band">LW</strong> 198
</li>
 
<li class="frequency">
<strong class="band">MW</strong> Medium Wave is only available in some locations: 
<span class="value">
<abbr class="geo" title="51.507222;-0.1275">London</abbr> 720
</span>; 
<span class="value">
<abbr class="geo" title="50.371397, -4.142431">Plymouth</abbr> 774
</span>; 
[...etc.]
</li>
[...]
</ul>
</div>

Extend scope of hAudio and hVideo

Depending on the degree of overlap between the required metadata fields it may be practical to extend the scope of the proposed hAudio and hVideo microformats. However, it would not be beneficial to the development process, or to end-users, if this adds additional complexity.

Use RDF

The potential number of publishers of this information seems fairly small. (Broadcast licences aren't handed out like candy, but sold for enormous amounts of money to, in practice, a fairly small number of organisations.) Most of the publishers are going to be well-financed either by government or commercial interests, so are likely to have large web publishing teams of experienced designers, programmers and system administrators. The "newbie factor" is less relevant here, so the barrier to entry for RDF is lowered.

RDF is not a format, but a set of concepts which can be serialised in several standardised formats, including RDF/XML, eRDF, RDFa, Turtle, RDF/JSON, etc. An example of describing broadcast information using RDFa embedded in HTML is:

<div xmlns:tv="http://example.com/schema/tv#" typeof="tv:Station">
  <h1 property="tv:stationName"><span property="tv:broadcaster">BBC</span> One</h1>
  <p property="tv:description">Public service broadcaster based in the
  <span property="tv:location">United Kingdom</span>.</p>
  <p>Link: <a href="http://www.bbc.co.uk/bbcone/" rel="tv:url">http://www.bbc.co.uk/bbcone/</a>.</p>
  <p>View: <a href="http://www.bbc.co.uk/iplayer/" rel="tv:playerUrl">http://www.bbc.co.uk/iplayer/</a>.</p>
</div>

This could easily be combined with hCard too:

<div xmlns:tv="http://example.com/schema/tv#" typeof="tv:Station" class="vcard">
  <div class="fn org">
    <h1 property="tv:stationName" class="organization-unit">
      <span property="tv:broadcaster" class="organization-name">BBC</span>
      One
    </h1>
  </div>
  <p property="tv:description" class="note adr">
    Public service broadcaster based in the
    <span property="tv:location" class="country-name">United Kingdom</span>.
  </p>
  <p>
    Link:
    <a href="http://www.bbc.co.uk/bbcone/" rel="tv:url" class="url">
      http://www.bbc.co.uk/bbcone/
    </a>.
  </p>
  <p>
    View:
    <a href="http://www.bbc.co.uk/iplayer/" rel="tv:playerUrl" class="url">
      http://www.bbc.co.uk/iplayer/
    </a>.
  </p>
</div>

Allowing specialist TV-station software to be able to parse the RDF information out, while naive generalist parsers would simply see an hCard, giving them access to most of the same information, but perhaps in lesser fidelity. That is, the RDF parser will understand that the thing being described is a TV station, whereas the hCard parser will only be able to identify that it's an organisation; the RDF parser will know which URL is intended for general information on the station and which is for viewing programmes, the hCard parser will simply see two URLs.

RDF (especially RDFa) offers a good general purpose solution for marking up this kind of specialist information - information which might be too specialised to justify its own microformat. It can easily be combined with microformats, as per the example above, offering a good hybrid solution.

Combining with other microformats

Examples of how a broadcast microformat could be combined with other microformats.

hAudio & hVideo

"Now Playing" information could be provided using hAudio for radio (e.g. to represent the current song) and hVideo (e.g. to represent the current film) for TV.

hCalendar

An event or a schedule of events for a channel could be signalled using vEvent or hCalendar as child elements.

hCard

Broadcaster / station details could be marked up with hCard.

<div class="vcard">
 <div class="adr">
  <div class="org fn">
   <div class="organization-name">BBC</div>
   <div class="organization-unit">One</div>
  </div>
  <div class="country-name">UK</div>
 </div>
 <div class="category"><a href="http://en.wikipedia.org/wiki/Mixed" rel="tag">Mixed</a></div>
 <img class="logo" src="http://www0.rdthdo.bbc.co.uk/services/api/res/images/BBCOne_small.gif" 
  alt="BBC One" />
 <a class="url" href="http://www.bbc.co.uk/bbcone/">BBC One Homepage</a>
</div>

Measure

A proposed measurement microformat could be used for the frequency.

hReview

Rating could be marked up using hReview.

Comments

The fields listed under technical information are common to the proposed but moribund file microformat proposal.

Related Pages

broadcast-brainstorming was last modified: Wednesday, August 18th, 2010

Views