1. Background
This case study describes the experiences gained in seeking to make initial use
of microformats in UKOLN. The case study gives an introduction to microformats
and, in particular, the vCard and vCalendar microformats. The case study
then explains the reasons for making use of microformats and the approaches
taken in an initial experiment. The case study describes experiences gained
in using applications which make use of microformats. The case study concludes
with a summary of the lessons learnt and recommendations to others.
2. About Microformats
Microformats are defined on the Microformats Web site [1]:
... designed for humans first and machines second, microformats are a set
of simple, open data formats built upon existing and widely adopted standards.
Instead of throwing away what works today, microformats intend to solve simpler
problems first by adapting to current behaviors and usage patterns (e.g. XHTML, blogging).
Put simply, microformats typically make use of the <span>
and <div:gt; HTML tags with agreed <class> attribute names.
The <span> and <div> tags allow existing HTML
pages to be used with microformats without changing the appearance. The use of
agreed <class> attribute names such as <class="vevent">
allows applications to process structured data, such as processing event data
(name location and date of the event) by enabling the data to be added to calendaring
software.
hCard
hCards are defined on the Microformats Web site [2]:
... a simple, open, distributed contact information format for people, companies
and organizations, which is suitable for embedding in (X)HTML, Atom, RSS, and arbitrary XML.
A simple example of a vCard is shown below:
As can be seen, this is displayed as an conventional HTML content. However the HTML
markup used in this case is shown below (with the microformat markup highlighted):
<div class="vcard">
<p><strong><span class="fn">Brian <span class="surname">Kelly</span></span></strong><br />
Web site: <a class="url fn" href="http://www.ukoln.ac.uk/ukoln/staff/b.kelly/">Brian Kelly</a><br />
Email: <a class="email" href="mailto:b.kelly@ukoln.ac.uk">b.kelly@ukoln.ac.uk</a><br />
Phone: <span class="tel">01225 383943<span>.</p>
</div>
hCalendar
hCalendar is defined on the Microformats Web site [3]:
... a simple, open, distributed calendaring and events format, based on the
iCalendar standard, suitable for embedding in (X)HTML, Atom, RSS, and arbitrary XML.
A simple example of a vCalendar is shown below:
- Title
- Web 2.0: Addressing Institutional Barriers
- Summary
- Many institutions have an interest in exploiting Web 2.0 technologies in order
to provide richer networked services in areas such as teaching and learning,
research or administration. However the enthusiasm which delegates may have after
hearing about innovations taking place elsewhere often wains on returning to work
and encountering a variety of barriers to the use of such technologies.
- Venue:
- Building 8W Room 2.23
- Time:
- Wednesday 14th
June 16.15-17.45
The HTML markup used in this case is:
<div class="vcalendar">
<div class="vevent">
<dl>
<dt><strong>Title</strong></dt>
<dd><span class="summary">Web 2.0: Addressing Institutional Barriers</span></dd>
<dt><strong>Summary</strong></dt>
<dd><span class="description">Many institutions have an interest in
exploiting Web 2.0 technologies in order to provide richer networked services
in areas such as teaching and learning, research or administration. However the
enthusiasm which delegates may have after hearing about innovations taking place
elsewhere often wains on returning to work and encountering a variety of barriers
to the use of such technologies.</span></dd>
<dt><strong>Venue</strong>:</dt>
<dd class="location">Building 8W Room 2.23</dd>
<dt><strong>Time</strong>:</dt>
<dd><span class="dtstart" title="20060614T161500">Wednesday 14<sup>th</sup>
June 16.15</span>-<span class="dtend" title="20060614T174500">17.45</span></dd>
</dl>
</div></div>
In this case the key vCalendar markup attributes are vcalendar and
vcalendar (which define the scope of the calendar details);
summary (which gives a summary of the event);
location (which gives the location of the event);
location (which gives the location of the event); and
dtstart and
dtend (which give the start and end time of the event).
3. Processing vCard and vCalendar Microformats
It can be seen that the vCard and vCalendar Microformats can provide a simple
mechanism for markup up the semantics of people and event details. HTML authors
will also appreciate that such markup can be used without change the appearance
or existing HTML pages.
In order to exploit such semantic markup there is a need to make use of
applications which can process the microformats. In the case of vCard and vCalendar
Microformats a number of tools are available which will allow the structured data
to be added to calendaring tools and related applications. These tools include
Tails [4], a Firefox extension which allows vCard and vCalendar data to be
added to desktop software such as Microsoft Outlook; Google hCalendar [5],
a Greaseymonkey script, which allows vCalendar data to be added to a Google
calendar and Brian Suda's hCard XSLT service [6], which provides
a Web-based service for converting script vCard and vCalendar data.
(Note that a lists of vCard and vCalendar tools are provided on the Microformats.org
Web site [7] [8]).
An example of use of the Tails Firefox plugin is shown in Figure 1.
Figure 1: The Tails Firefox plugin
This example is taken from viewing the IWMW 2006 Committe page at the URL
<http://www.ukoln.ac.uk/web-focus/events/workshops/webmaster-2006/committee/>.
4. Evaluation of vCard and vCalendar Microformats
UKOLN has been evaluating the potential of microformats since attending a
session on them [9]
and speaking to a number of Microformat developers at the WWW 2006 conference
in Edinburgh in May 2006.
The evaluation was carried out for the following reasons:
- To help gain a better understanding of microformats, including their
strengths and limitations.
- To advice others on the strengths and limitations of microformats.
- To make recommendations regarding the deployment of microformats.
- To make recommendations on deployment for microformats, if this was felt to
be desirable.
- To inform the wider microformat development community on our experiences.
- To advise the wider microformats development community on our recommendations.
The initial evaluation was carried out in the following areas:
- An area of the Institutional Web Management (IWMW) 2006 Workshop Web site [10],
in particular the IWMW 2006: Microformats page [11], the
"Web 2.0: Addressing Institutional Barriers" workshop session page [12]
and the "IWMW 2006 Committee Members" [13]
- A page on "UK Web Focus: Forthcoming Events" [14]
The IWMW 2006 pages were selected for the following reasons:
- The Institutional Web Management Workshop 2006 took place on 14-16 June 2006.
shortly after the WWW 2006 conference, so this provided a timely opportunity to
evaluate microformats.
- The Institutional Web Management Workshop 2006 attracted over 190 participants,
from many of the UK higher educational institutions. It therefore provided an
opportunity to have a significant impact across the community.
- A workshop session on "Exposing yourself on the Web with Microformats!" [15]
was given at the workshop by a software developer based at the University of Bath
who had experiences in the large-scale deployment of microformats. This workshop
session enabled us to demonstrate the areas in which we were evaluating microformats
and the approaches taken and to gain feedback.
- It had been planned to use video-conferencing software to allow one of the
microformat developers to give a presentation from the US. However due to
technical difficulties this video-conference did not take place.
- Agreement was obtained for pages containing contact details to ensure that
possible issues regarding data protection could be addressed.
5. Experiences
During the evaluation we became available of a number of issues which either
caused us some confusion or we felt would be likely to cause confusion to others.
These are summarised below.
- Markup Errors
- Errors made in the microformats markup could prove difficult to track.
Although a page was HTML-compliant it was observed that applications such as
Trails were no processing the data correctly. A process of trial and error
was required in order to fix the errors.
- Confusions Over Times - BST (DST)
- Following use of vCalendar markup to specify the date and time of an event
it was notice that the time was one hour out when uploaded to local
(Microsoft Outlook) and a remote (Google) calendars. Subsequent research
revealed that the time made use of UTC time, and this would be an hour out
when British Summer Time (BST) (known more widely as Daylight Saving Time, DST)
was operational. Possibly due to the fact that the advent of BST is a political
decision (and, for example, the date was postponed in Australia in recent years
in order to avoid taking place midway through the Commonwealth Games) applications
do not appear to make use of servers which state if BST/DST is in operation.
Although this is not a limitation of microformats per se use of
the microformat applications which use vCalendar data may appear to be an hour
incorrect at certain times of the year.
- Handling Dates Without Times
- When specifying dates which have no times, applications appear to give
a default time of midnight to midnight (or 1 am to 1 am for reasons described
above). There does not appear to be a mechanism for giving a date but leaving the
time fields empty.
- Processing Multiple Occurrences
- When testing Brian Suda's XSLT Web-based service it was noticed that if multiple
vCard elements were defined the service only processed the first occurrence
(although the Tails software displayed all occurrences and allowed the end user to
select items of interest). Subsequent research revealed that a particular
(undocumented) syntax was needed to provide a unique reference to a specific vCard
instance. The expected behaviour of the script with multiple occurrences of
vCard data was also not documented.
- Processing Multiple Microformats
- In one instance a page containing vCalendar microformats also contained
links to another service which processed the <span> tag
(in this case a service which processed <span class="rss:item">
tags to produce an RSS file. It was observed that the service failed to work
correctly when the vCalendar microformats had been added. In this case the problem
is thought to be a bug in the original script which generate RSS. This again is
not a problem with microformats, but an example of how existing poorly-implemented
applications may stop working correctly after microformats have been added to a page.
6. Recommendations
Microformats are a relatively new Web development. However there has been
significant interest in exploiting the potential of microformats, which is
illustrated by there use on the World Cup 2006 Web site [16]
and their adoption by Yahoo! [17].
There would appear to be benefits to others in making use of microformats.
However, due to their relative immaturity, organisations seeking to make use of
microformats would be advised to prepare plans for a deployment strategy, in order
to minimise future maintenance efforts if changes are required to microformat
specifications of tools in light of experiences of their usage.
Recommendations are given below for potential users of microformat and
for the microformat development community.
6.1 Users Of Microformats
The following recommendations are provided for potential users of microformat.
- Have a deployment strategy
- It is important to make plans for a microformat deployment strategy, which
caters for potential changes in the microformat specifications or in microformat
tools in light of experiences. Examples of a deployment strategy which seeks to
minimise risks and future maintenance loads could include:
- Generation of microformats from server-side scripts. This is the approach
which has been taken by the University of Bath in producing vCards in its
PeopleFinder service [18] and vCalendar markup in its
What's On service [19].
- Small-scale usage. This was the approach taken on the IWMW 2006 Web site.
- Short term usage. This approach has been taken for the list of forthcoming
UK Web Focus events. In this case, changes in the vCalendar syntax will
cause minimal problems as (a) only a small number of forthcoming events will be
affected and (b) users are unlikely to wish to add the event details of past
events to their calendar.
- Read specifications and follow discussions
- From the experiences gained in use of HTML during the 'browser wars' the importance
of writing to standards should be well understood. It is therefore important
to read and understand appropriate microformat specifications. In addition,
if the specifications are unclear or ambiguous, or particular uses are recommended
it is desirable to engage with the microformats development community.
Participation in the microformats-discuss list [20]
would therefore prove valuable.
- Test your microformats
- In addition to ensuring that microformats are used in accordance with the
specification and evolving best practices, testing of the microformats is recommended
with at least two applications.
- Engage with microformats development community
- Engage with microformats development community can help the wider community.
For example, the vCard or vCalendar Wiki could be used to provide links to
your implementation of microformats.
6.2 Microformat Developers
In addition to the recommendations provided to creators of microformats, the
following recommendations are providers for developers of microformat specifications
and accompanying materials and for developers of microformat tools.
- Test Cases
- It would be useful if a range of test cases were provided which, in particular
made use of data which tested a wide variety of uses. This might include, in the
case of vCalendar, entries occurring during Daylight Saving Time / British Summer Time;
on leap years; when no times are specified; etc. It should be noted that
test cases are currently being developed [21].
However at present this information is aimed at programmers rather than
users.
- Highlight limitations
- It would be useful if limitations in existing widely deployed tools could be
documented (e.g. limitations in processing of vCard and vCalendar microformats in
tools such as Microsoft Outlook). It should be noted that a Wiki has been set up
which provides details of limitations of existing tools
[22] [23].
However at present this information is aimed at programmers rather than
users.
- Documentation of limitations of tools
- Tool developers should ensure that limitations in their tools are clearly
documented.
Implementation of these recommendations would assist authors of microformats
by ensuring that they can distinguish between limitations of the tools and errors
(or, indeed, design decisions) of the specifications.
7. Plans For Future Work
Based on our experiences our plans for use of vCalendar microformat our as follows:
- The vCalendar microformat will be used on future UK Web Focus events.
- However only events with a clearly defined start and end time will be marked up
(in order to avoid the ambiguities which can be caused by different applications
processed events without start and end times defines.
- Times will have the extra hour needed when British Summer Time is in force
added manuually.
References
- About Microformats, Microformats.org,
<http://microformats.org/about/>
- hCards, Microformats.org,
<http://microformats.org/wiki/hcard>
- hCalendar, Microformats.org,
<http://microformats.org/wiki/hcalendar>
- Tails, Don't forget to plant it
<http://blog.codeeg.com/tails-firefox-extension-03/>
- Google hCalendar, Make Data Make Sense,
<http://greasemonkey.makedatamakesense.com/google_hcalendar/>
- X2V, suda.co.uk,
<http://suda.co.uk/projects/X2V/>
- hCalendar: Implementations: Conversion and Import, Microformats.org
<http://microformats.org/wiki/hcalendar#Conversion_and_Import>
- hCard: Implementations: , Microformats.org,
<http://microformats.org/wiki/hcard#Implementations>
- Microformats, converting XHTML to vCards and vCalendars, WWW 2006 Conference,
<http://www2006.org/programme/item.php?id=d7>
- Institutional Web Management Workshop 2006, UKOLN
<http://www.ukoln.ac.uk/web-focus/events/workshops/webmaster-2006/>
- IWMW 2006: Microformats, UKOLN,
<http://www.ukoln.ac.uk/web-focus/events/workshops/webmaster-2006/microformats/>
- IWMW 2006: Web 2.0: Addressing Institutional Barriers, UKOLN,
<http://www.ukoln.ac.uk/web-focus/events/workshops/webmaster-2006/sessions/kelly/>
- IWMW 2006: Committee Members, UKOLN,
<http://www.ukoln.ac.uk/web-focus/events/workshops/webmaster-2006/committee/>
- UK Web Focus: Forthcoming Events, UKOLN
<http://www.ukoln.ac.uk/web-focus/events/>
- Exposing yourself on the Web with Microformats!, UKOLN,
<http://www.ukoln.ac.uk/web-focus/events/workshops/webmaster-2006/sessions/wilson-2/>
- World Cup '06 Kickoff,
<http://www.worldcupkickoff.com/>
- We Now Support Microformats, Yahoo! Local and Maps Blog, 21 June 2006,
<http://ylocalblog.com/blog/2006/06/21/we-now-support-microformats/>
- Person Finder: Phil Wilson, University of Bath,
<http://www.bath.ac.uk/person/819130>
- What's On, University of Bath,
<http://www.bath.ac.uk/whats-on/>
- microformats-discuss List, Microformats.org,
<http://microformats.org/mailman/listinfo/microformats-discuss/>
- changelog for tests, Microformats.org,
<http://hg.microformats.org/tests>
- vCard implementations, Microformats.org,
<http://microformats.org/wiki/vcard-implementations>
- iCalendar implementations, Microformats.org,
<http://microformats.org/wiki/icalendar-implementations>