Wednesday, July 17, 2013

RDFa is (still) the best way to improve your SEO

The web is getting better and better.  Search is getting smarter.  Google's 'rich snippets' and Facebook's Open Graph Protocol are great examples of how the industry is helping web developers make their content more machine-readable.  Industry-standard 'vocabularies' like FOAF, Dublin Core Terms, Good Relations, and Schema.org are helping developers ensure that their content just makes sense. And all of those technologies are based largely upon, and designed to support other technologies that use, RDF.

What is RDF?  RDF stands for "Resource Description Framework", and an excellent overview of it is in the RDF Primer the W3C has published.  If you don't want to dig that deeply, just know that RDF is a method for describing in a very standard way the relationship between x and y.  Moreover, it can also describe the relationship between y and z.  And so on and so on, until you get all the way down to some well-known, standardized 'term' that has absolute meaning to something like the Google search engine.

How is this useful?  Well, it means in part that I can say something like "Shane McCarron is the author of this article".  And, because the concept of an author is a well-known, standardized 'term' that has an absolute meaning, and because this article has a permanent URI, anything that can understand RDF will immediately *know* this.  Further, if I also say "Shane McCarron" is identified by some other URI (e.g., http://blog.halindrome.com) RDF-aware processors will automatically associate the author with that URI.

That's all great, I hear you saying.  But how do I, as a web developer, *tell* Google things about my web pages?  Enter RDFa.  RDFa stands for "RDF in attributes" (some people might argue about that, but I was in the room and that's what I remember).  It is a way to embed RDF information right into your web page in a pretty straightforward way.  And, if you do it right, it means that search engines like Google and Facebook will know *more* about your web site and its information than they will know about your less-savvy competitors who don't bother to put this data in.

There are a lot of great resources out on the web that can help you get your annotations right.  I have included a list of some at the end of this article.  However, just to get you started, here is a simple example.

Let's say you have a picture you want to include on your web site.  You want people to be able to use that picture, but you want them to know what it is a picture of and who took it.  You could say something like:

<span about="#myPicture">
<img id="myPicture" 
     alt="Cabin on the lake"
     src="http://www.example.com/images/picture.png">
<span property="dc:title">Cabin on the lake</span> by
<span property="dc:creator">Shane McCarron</span>
</span>

In that example we use terms from the "Dublin Core" vocabulary.  These are well-known terms.  Any knowledge engine will know exactly what you are talking about.  If you wanted to be more explicit about who the creator was, you might extend that definition like:

<span about="#myPicture">
<img id="myPicture"
     alt="Cabin on the lake"
     src="http://www.example.com/images/picture.png">
<span property="dc:title">Cabin on the lake</span> by
<span rel="dc:creator"
      typeof="foaf:Person">
   <span rel="foaf:homepage"
         href="http://blog.halindrome.com"
         property="foaf:name">Shane McCarron</span>
</span>
</span>

Now we have also mixed in some terms from the "Friend of a Friend" vocabulary to say that the dc:creator we talked about before is a "Person" who has a "homepage" and a "name".  These are also well-known terms and will help the knowledge engines make better inferences about who "Shane McCarron" is.  If there are other things out there for which a 'foaf:Person' with those attributes is listed as the 'dc:creator', they were likely created by the same "Shane McCarron".  

There are LOTS of ways to use RDFa in your web pages and articles.  I plan to write more on this in the coming weeks.  For now, here are some resources that can help you get started.


Next up: How the W3C is using RDFa to help ensure its own documents are well annotated.


RDFa is (still) the best way to improve your SEO by Shane McCarron

Thursday, July 12, 2012

The Role Attribute Module - years in the making

Way back in the olden days when we were developing XHTML Modularization and then XHTML2, the group recognized that there were lots of pieces of XHTML2 that were generally useful and that it should be possible to publish them separately.  The concept was that since these were modules they would be assembled by host language authors as needed, and then at some point pulled together into XHTML2.  Obviously XHTML2 never came to be, but a lot of the pieces did get worked on and pulled into other work (e.g., RDFa, Role, all sorts of stuff in HTML5 although no one will ever admit that).


Today I wanted to talk about the Role Attribute.  This piece of XHTML2 is a deceptively simple attribute.  It's purpose is to help content authors label an element with it's role or roles within a document. Why do elements have roles?  Well  - that's complicated.  First, some (more) history...

Sometimes W3C working groups have face to face meetings.  At one such meeting of the XHTML working group (at the AOL headquarters in Virginia I think) a group member was wearing their liaison hat between the XHTML working group and the group responsible for accessibility.  They REALLY wanted to be able to have sections of the document labeled so that assistive technologies (ATs) could more easily help people with various disabilities use the web more efficiently.  In particular, things like navigation areas, headers, footers, content, sidebars...  and of course controls.  The accessibility liaison thought it was important that we define a base collection of roles, but also that it be possible to dynamically extend that collection of roles easily. The group thought this was a fine idea, and added the role attribute to XHTML2.  The base collection has been modified over time - you can see its current form in the Vocabulary Document.

Fast forward to today.  The W3C has today published the Role Attribute as a Candidate Recommendation.  A lot has happened in the W3C community since we started work on this simple attribute, but the basic form of the Role Attribute and its capabilities has not changed much at all.  There is an attribute named 'role'.  It takes a list of zero or more values.  These values are either pre-defined TERMs (the things in that vocabulary document), a URI, or a CURIE (a CURIE is a compact URI - a concept defined by RDFa Core).  Assistive Technologies can use the values of role, in conjunction with other information from the ARIA Attributes, to more-or-less automatically make pages more accessible. RDFa processors can use the information in role attributes to automatically learn more about the semantics of a page.


This specification is stable now.  The attribute works in all modern user agents now.  It's values are interpreted by many assistive technologies already.  It is already supported by some RDFa processors, with more on the way.  Even though the W3C says people shouldn't rely upon stuff in Candidate Recommendations because they might not be fully cooked yet, I say go for it.  Role works and it can't hurt.  RDFa works well, and is processed by popular search engines like Google and Bing.  Telling the browser (and any Assistive Technologies that might be looking at the browser) what the role of the various parts of your web page isn't just polite, it might help someone use your site more effectively!

Tuesday, January 31, 2012

W3C Publishes Last Call versions of RDFa Core 1.1 and XHTML+RDFa 1.1

Today the W3C published new versions of RDFa Core and XHTML+RDFa. These versions are the result of 10 months of work by the W3C RDF Web Applications Working Group, and are expected to be in their nearly-final form. You can see the full announcement at http://www.w3.org/blog/SW/2012/01/31/new-rdfa-drafts-published/

You have three weeks to look these over and raise comments.  Otherwise, forever hold your peace.  We look forward to your input!

Wednesday, January 4, 2012

W3C Publishes First Draft of Media Accessibility Requirements

The W3C's Protocols and Formats working group has been working hard to accumulate the requirements for media accessibility.  A few months ago I took over as editor of the document.  That document has now been released as a 'First Public Working Draft' to get feedback from the community.  From the abstract:

This document aggregates the accessibility requirements of users with disabilities that the W3C HTML5 Accessibility Task Force has collected with respect to audio and video on the Web.
It first provides an introduction to the needs of users with disabilties in relation to audio and video.
Then it explains what alternative content technologies have been developed to help such users gain access to the content of audio and video.
A third section explains how these content technologies fit in the larger picture of accessibility, both technically within a Web user agent and from a production process point of view.
This document is most explicitly not a collection of baseline user agent or authoring tool requirements. It is important to recognize that not all user agents (nor all authoring tools) will support all the features discussed in this document. Rather, this document attempts to supply a comprehensive collection of user requirements needed to support media accessibility in the context of HTML5. As such, it should be expected that this document will continue to develop for some time.

Please take a look.

Thursday, December 22, 2011

RDFa 1.1-related specs nearing last call

After ages of development work and negotiation, the W3C's RDF Web Applications Working Group is finally almost done with RDFa 1.1. This seemingly simple, incremental change to RDFa 1.0 has taken about a year longer than I expected it to, but the work is solid and has a lot of community support. We pushed new working drafts recently of RDFa Core 1.1, XHTML+RDFa 1.1, RDFa Lite 1.1, and the RDFa Primer. We are looking for feedback on these over the coming weeks, with a plan to progress to Last Call in mid-January.

P.S. Yes, I forgot that I had this blog I should be updating. My bad!

P.P.S. Hooray for the Oxford Comma!

Friday, December 17, 2010

Final XHTML2 Working Group documents published

After a couple of weeks of furious editing and publishing, the XHTML2 work is FINALLY done! You can see most of the gory details at the W3C. What that article does NOT say, however, is that the working group also completed its work on the RelaxNG implementations of XHTML and XHTML Modularization. You can find that work as a free-standing document.

Unfortunately, one thing that did NOT get updated is the XHTML Media Types note. There are various corrections to this that were pending, but in the end it was too difficult to get it published before the end of the year. In the near future, I plan to publish those changes independently (and maintain the document as guidance to people who want to write XHTML and have it just work in current user agents). You can see the latest draft of this document if you are interested.

Sunday, November 28, 2010

W3C XHTML2 Activity finally winding down

It's been a long road. I first started working with the W3C and it's XHTML2 (then HTML) Working Group on 27 August 1998. At the time, I didn't know that it would become the work of 12+ years. Sure, I had been involved in standards for a long time. I started with the IEEE POSIX activity before it was even called POSIX (anyone remember IEEEIX?) - sometime in 1985. That hobby spiraled into a career, and has served me very, very well.

So, it is with some regret that I look to the end of my work on XHTML at the W3C. We did a lot of good work. Some of that work has been overcome by events, of course. This industry never sits still. But, for the record, here are some of the important things this activity developed and delivered:
  • HTML 4.01 - last updated in 1999, but still the basis of most of the web.
  • XHTML 1.0 - the first baby step toward a well-formed, valid web. At its inception, we were all convinced that XML would rule the world, and HTML needed to be based upon XML if it was to survive. We were a little bit wrong.
  • XHTML Media Types - a Note that explained how to deliver the new XHTML documents to legacy user agents. Still relevant and widely used today. We have a small update for it that might still get published - you can see it here.
  • XHTML Modularization - a set of building blocks and rules that language designers could use. M12N is the basis for many activities within and outside of the W3C. It continues to be used all over the place. It started out being used only for XML DTDs, but was expanded to XML Schema (finally published recently, but complete for many years). In the next weeks we will release a final installment of this, XHTML Modularization for RelaxNG.
  • XML Events - a declarative way to define events and bind them to elements and observers. It's first version was published by the XHTML activity. It has now been taken over by the XForms activity. I hope that they will get XML Events 2 out the door at some point.
  • XHTML 1.1 - a tight, XML-centric version of XHTML based upon XHTML Modularization. We published an update to this last week, but it is a stable grammar that can be used anywhere. It is also the basis for many extended XHTML Grammars. The update last week makes it possible to validate using XML Schema, and also to use the 'lang' attribute to improve use of XHTML 1.1 documents by assistive technologies.
  • XHTML Basic - a version of XHTML targeted at the mobile community.
  • XHTML Print - a version of XHTML targeted at rendering consistently on printers.
  • XForms - an independent activity, but one that started within the XHTML activity.
  • XHTML+RDFa - another independent activity. Originally a joint task force of the XHTML2 and Semantic Web working groups. The latest version builds up this early work, but continues to take advantage of XHTML Modularization for its definitions.
  • CURIEs - a compact expression syntax for URIs. Used by RDFa, but also potentially by other specifications that need to readily reference resources without using long URIs in attributes.
  • The Role Attribute module - an independent module to add a role attribute. Useful for accessibility, but also for general semantic notation. This work has been taken on by the Protocols and Formats Working Group.
  • The Access module - an independent module to add an access element. This element would allow binding of 'keys' and events to elements. The original module has no owner, but the general work has been picked up by the Protocols and Formats Working Group.
  • XHTML 2 - a sweeping revision of XHTML. This work was never completed, but will be published in its current state as a Note.
  • XHTML Modularization 2.0 - an update to the modularization framework to accompany XHTML 2.
  • XFrames - an improvement on traditional HTML framesets.
  • XHTML 1.2 - a version of XHTML that added the role attribute, the access element, RDFa, and ARIA. This was never a formal deliverable, but was a logical extension of the work.
Wow. I have never typed that all out before! Along the way we developed an entire publication infrastructure, including our own internal markup language (xhtmlspec) for annotating sources. I am proud to have served with my colleagues on this activity. I think we did solid work. While some of this work will never come to fruition, most of it was and will continue to be used throughout the internet every day.

I will of course continue to work with this community going forward. I remain active in the RDFa and Protocols and Formats activity. I hope to assist ISO in its publication of the RelaxNG Modularization framework. And I am keeping an eye out for the next interesting 12 year project. And no, it's not HTML5!

Thursday, July 29, 2010

XHTML Modularization 1.1 updated

The XHTML 2 Working Group at the W3C has published an update to XHTML Modularization. This update is exciting for two reasons: First, because it means the XHTML 2 Working Group is finally almost done with its wrap up work and can shut down. Second, because the document is the first W3C Recommendation to be published in XHTML+RDFa - a dialect of XHTML that embeds semantic markup. There will be lots of W3C recommendations coming out in this format going forward, but... for today, I get to say "First!"

Next up: XHTML Basic 1.1, XHTML Print, and XHTML 1.1 are all being updated to address some minor issues and to add XML Schema implementations.

After that, the working group will publish notes about XHTML 2 and XHTML Modularization using RelaxNG. Then we can finally, finally, finally close the doors.

Friday, April 23, 2010

Working for yourself AND having a family

There is a thought provoking conversation starting at Working for yourself AND having a family. Even if you don't work for yourself, I bet you have ideas about how to balance life and work.

Thursday, April 22, 2010

The W3C RDFa Working Group has published first drafts of the new RDFa Core and XHTML+RDFa specifications (I am the editor on these). You can see the news at the archive.

Friday, April 16, 2010

XHTML Modularization 1.1 Second Edition published

After ages and ages, the XHTML2 Working Group of the W3C has published an updated to their core document - XHTML Modularization. This update is currently a Proposed Edited Recommendation. Assuming all goes well, it will become a formal recommendation in about a month. You can see more about it, review the changes, and comment on it via http://www.w3.org/TR/xhtml-modularization.

Wednesday, April 7, 2010

Linked Data Patterns

This publication: Linked Data Patterns has some interesting ideas and hints about how to present structured data. It dovetails nicely with my current work on RDFa and general interest in ensuring that computers can readily derive meaning from content.

Monday, April 5, 2010

Last Week in HTML5: don't let him take HTML back

Normally, I don't pay attention to Mr. Last Week. Oh, who am I kidding. I think he is hysterical. But this. This is a serious winner.

Last Week in HTML5: don't let him take HTML back

Monday, July 13, 2009

I've still got the greatest enthusiasm and confidence in the mission

(part 2 in my continuing exploration of what went wrong with XHTML at the W3C)

Okay... it's a week later, and I have a little distance from the original event. The XHTML 2 Working Group had its regular meeting on Wednesday, just as we have for the last many, many years. At that meeting, we continued to make progress on resolving issues so that we can update some of the existing Recommendations and move other documents to Note status (see our Drafts page for what is being worked on).

While we were doing that, we of course were whining a little about the announcement. Mostly because the working group was not really consulted nor informed. Everyone in the group had learned about it from the press, not from the W3C. Yet another example of the masterful mismanagement. Don't get me wrong - we all had heard inklings, but there had been no decision made that we knew about. The FAQ that was published was produced without consulting the working group either. So basically we learned about our future work by reading that document too. Unbelievable.

Despite these (typical) events, I've still got the greatest enthusiasm and confidence in the mission (Dave). No, seriously. I do. The W3C is the worst form of standards production except all the others that have been tried (apologies to Winston Churchill). The model on which the W3C is built is one that makes sense if applied correctly. Get motivated, funded professionals who are experts in their field together and ask them to achieve consensus on the codification of some technology. Then show their work to a broader collection of experts and ensure it makes sense and integrates with the overall architecture. Assuming it does, call it a "standard" and get people to support and use it.

This model is simple and clean. It probably even works when there are relatively few of these groups of experts working on a cohesive set of deliverables (The Open Group is a great example of where this has succeeded by keeping the focus tight). Where it seems to fall down is when the keepers of the architecture lose control. At its outset, the keeper of the W3C vision was TimBL. Sure, he had minions to do his bidding, but in general they were mouthpieces for Tim. As the work of the W3C got more and more complex, the responsibility for the vision was passed on to various groups who were charged with maintaining their bit.

I desperately want to believe there was a long term strategy for the web motivating all the work the W3C's Advisory Committee, Technical Architecture Group, Advisory Board, HTML Coordination Group, etc. were chartering all these years. But I think that by pushing the responsibility further and further down the stack and at the same time getting distracted by other external activities like the WHATWG and the new World Wide Web Foundation, that strategy got miscommunicated or diluted or just lost. In any event, we now have a serious problem.

What's the problem? The organization with the primary responsibility for taking the web forward has two competing sets of activities. There's the browser-centric work - this includes HTML5, CSS, and the Rich Web Client Activity (HTML DOM stuff, Widgets, XMLHTTPRequest etc.). Then there's the web-centric work - this includes XML, XPath, Xinclude, XML Schema, RDF, OWL, etc. And while these sets of activities could be designed to dovetail together, the browser-centric work seems to be ignoring the rest of the work.

I have seen some people argue that the W3C's focus on the semantic web and the XML tool chain has neglected even the most basic maintenance of its (wildly successful) previous deliverable - HTML. I think I can safely say that this is true. Moreover, I am one of the people who helped make it true. The (former) HTML Working Group had responsibility for maintaining HTML 4, and we elected not to update it. It was too much work, and we were focusing upon XHTML, XHTML M12N, XForms, XML Events, etc. We had some members who volunteered to help process incoming comments on HTML 4 and produce errata, but in the end it never seemed to happen. So yeah, I and the rest of the (former) HTML Working Group are culpable.

Thank goodness the Google and the browser vendors came to our rescue! (yes, that was sarcasm). Now we have swung completely the other direction. Rather than focusing upon the future, we are clarifying the past. Oh, and while we are at it, introducing new untested concepts into the specification, sometimes despite there being standard alternatives already deployed. Does this bother anyone else? Surely, just as it is a mistake to lose sight of the past, it is a mistake to forget about the (envisioned, architected, long planned for) future?

HTML5 is here to stay. I get that. But that doesn't mean we have to continue to repeat our mistakes. Ignoring the HTML4 specification was a mistake. Ignoring the XHTML specification(s) is also a mistake. Pretending that the "XHTML5" part of HTML5 somehow continues the evolution of XHTML as part of the XML toolchain is a gigantic mistake. HTML5 has no extensibility model. It has no way to incorporate other public or private grammars into the content model. It has no model to define and connect RDF grammars that would expand the semantics of the language. It has no behavioral rules that describe how user agents must behave that will permit this extensibility going forward.

Right now, today, we need to find the strength to say "no! This is not good enough!". We need to ensure that the extensibility that is the cornerstone of the W3C's efforts to define the future of the web is not removed. Because we all know what happens when you remove a cornerstone, right?

Thursday, July 9, 2009

I'm not *quite* dead!

Steven Pemberton (co-Chair of the XHTML2 Working Group at the W3C) posted a summary of where the activity is and where it is going. It's a worthwhile read!

Saturday, July 4, 2009

W3C, you ignorant slut!

[With apologies to Jane Curtin]

You know.... some people just don't get it. Most likely, most of the time, I am one of those people. This week, I get a pass. Because the management at the W3C have taken the cake, as it were. They have grabbed up all the "just don't get it" supply there is. The rest of us, for this week, can do whatever we want and still be as right as rain.

What did they do to achieve this? Well... They lost sight of their goals. They basically forgot that there was a plan that was going to take the web from HTML 3.2 to extensible grammars and follow-your-nose semantic magic. They forgot that there was a path to a web that was not just connected, but also accessible and meaningful. In a word, they gave in to the seductive siren call of HTML5.

(Disclaimer. I have been involved in the HTML and XHTML activities at the W3C since 1996. I am the lead editor for most of the XHTML specifications, and I have great passion for the X in XHTML - extensibility.)

What's wrong with HTML5? Nothing. Everything. Parts. Depends on what problem you are trying to solve. IMHO, at its core, HTML5 is just a really, really bad idea. The primary design principle for this language is "codify everything in use on the net, everywhere, no matter how broken, as long as Hixie has seen it at least once and thinks it is useful". How can that possibly be helpful (to anyone other than Hixie or Google)? I mean, sure... if you were writing a guide for the next browser manufacturer to come in and create a new browser that would be able to handle every broken web page on the planet, this would be a useful tool. But that's not a standard. That's an implementors guide. There are between 5 and 15 actual user agent implementors in the world. There are millions of web content authors. How is it that the 15 (I'm feeling magnaminous) are more important than the millions? I don't know. Let's ask TimBL - father of the web and master of all things W3C.

Oh. Wait. We can't. Tim recently got a promotion. Someone coughed up a bunch of money so he could form the World Wide Web Foundation (ironically, an organization that can't put up a web page that is valid!). He's off playing in a new sandbox. But I'm sure he hasn't forgotten us. After all, at the W3C the Director has absolute authority. Nothing can start or finish in the W3C without his approval. Oh Tim! Where are you when we need you most?

Or do we need you? It was under your leadership that this whole mess got started. It was you who decided to irreparably damage the brand(s) of the W3C by ceding control of the web to the WHATWG. What were you thinking? I assume you were under pressure from the browser vendors. I assume those 4 out of your ~400 members were saying "hey, we don't want to implement XML-based semantic web. It's haaaaaard (insert whine here)".

Well, guess what? It is hard. So What(WG)? The W3C has a clear mandate from its members. From its advisory committee. And that mandate is spelled out pretty well in the W3C's mission statement: "To lead the World Wide Web to its full potential by developing protocols and guidelines that ensure long-term growth for the Web." In what way is locking the web into a browser-developer controlled, non-extensible, non-XML language "ensur(ing) long-term growth for the Web?"

In my opinion, it's not. Instead, it is shackling the web content developers (like me) into the tag-soup architecture of the 90's. There is nothing about HTML5 that represents long-term growth. Nothing that represents industry consensus about how the structure of web content should mature so that it is accessible to the handicapped. Nothing that makes it easier to markup content with its semantics in an extensible way. Nothing that allows the use of long-agreed upon W3C Recommendations.

Actually, that's the saddest part of this whole story. The W3C is an organization that has spent many years developing "Recommendations" (read "standards" when I say that) that support its core architecture. XML, XML Namespaces, XHTML, MathML, SVG, RDF, OWL, etc. All of these are designed to work together to support the long term vision of the organization - one that promotes dynamic extensibility of the "web" by different groups at different times. The HTML5 activity ignores this fundamental guiding principle of the W3C. Instead, the HTML5 activity seems to believe that if it isn't written down in their specification, it doesn't exist. And if it is was written down elsewhere, but not in a way that is absolutely perfect according to the arbitrary and capricious rules of the HTML5 editor, then it needs to be re-written, solidified, and while they are at it changed in ways the original authors never intended (see their redefinition of what a URL is or their relegation of the definition of rel attribute values to the WHATWG). Or worse yet, replaced completely by something competing and incompatible (e.g., RDFa vs the much maligned microdata).

So, I was wrong. We do need TimBL, or someone in the W3C management to stand up and say "bullshit! This is wrong. The work that is going on in the HTML5 activity is inconsistent with the W3C goals for the web." The web community needs leadership with vision, not blinders. It needs an eye toward the future, not a detailed, Hubble-esque view of the distant past. Oh Sir Tim, where are you when we need you most?

Friday, January 30, 2009

XHTML 2 Media Types is updated!

Okay - this took way too long. But finally the XHTML Media Types document has been updated! This document, first released in 2002, was meant to illustrate the various media types that XHTML could be served as, and how to decide when to use which. Unfortunately, the document was not really maintained and quickly became irrelevant. This new version is much more focused than the previous one. It also gathers together in one place this guidance and the information about what to do and NOT do when writing XHTML that can be delivered to HTML user agents (like Internet Explorer) and also to XHTML user agents (like Firefox). This is a MAJOR step forward.

Still more to do, of course. The world of standards never sleeps. It does, however, rest its eyes from time to time.

Friday, January 2, 2009

Experimenting with DreamHost

I decided to go a little crazy and get a Dreamhost account. I have been using dedicated server hosting companies for years now, but they are so expensive and their hosting agreements are so draconian that I am just sick of it. So, as of today... I am trying out a shared hosting service.

I know, I know... Everyone uses shared hosting. I have been helping out with some projects that use it, and other than performance issues every now and then, it has seemed fine. Add to that the benefit of making someone else deal with the networking infrastructure, backups, and other nonsense and I suppose it was a no-brainer. I guess I am just slow.

So, for now, I am setting up "halindrome.com" in Dreamhost. I will point a subdomain from that new server here for blogging, since I really like the "Blogger" service. More about this as I learn more about the service and its hiccups.

Tuesday, December 30, 2008

What I'm Reading

I don't normally write about my life... but I am reading a really silly, mind candy book series that I think everyone who wants to escape a little from the world would enjoy.

Kim Harrison has developed the "Hollows" series - basically a detective series where the herors are supernatural. The first book, Dead Witch Walking (The Hollows, Book 1), is a wonderful romp. Fast paced, slightly racy, an easy read. Try it! You'll like it!

Thursday, September 4, 2008

RDFa is a Proposed Recommendation!

After ages of hard work, the W3C has finally promoted the XHTML+RDFa language definition and the processing rules for RDFa to Proposed Recommendation status. This document represents a substantial advance for people who want to annotate their web pages with semantic markup:
  • It is completely compatible with existing popular user agents.
  • There are lots of implementations out there already that support extracting semantics marked up via RDFa.
  • It is already in use by the Yahoo! SearchMonkey engine.
  • Popular user agent plugins such as Operator and Fuzzbot already understand it.
  • While the mechanism is not explicitly defined (yet) it is possible to use the same markup in HTML and XHTML pages and get the same semantics.
  • Unlike microformats, the idiom for annotating your content does not conflict with the normal semantics of (X)HTML (e.g., the class attribute, the title attribute, and abbr).
Why would you want to use RDFa? For the same reason you want to use microformats. Because you care about machines understanding what is on your page, not just humans.

For lots more information on how to start using RDFa right now, see the rdfa.info web site.