Monthly Archives: January 2007

LinkedIn Launches hResume

It is with great pleasure that I announce LinkedIn has republished all Public Profiles marked up in the hResume microformat.

LinkedIn has approximately 9 million registered users. By default, a user’s Public Profile is set to Basic View. The Basic View consists of the following information (the relevant hResume fields are emphasized):

  • name
  • current job title
  • geographic region
  • number of recommendations
  • number of connections
  • industry

While the user has the ability to turn off Public Profile publishing altogether, only a small percentage have chosen to do so and with just the information listed above, the minimum requirement for hResume is met. In essence, we just launched ~9 million hResumes.

Admittedly, the information in Basic View amounts to little more than a glorified hCard. It’s when you choose to activate Full View that hResume really gets a workout. In Full View we are able to implement just about everything available to us in the hResume schema:

  • summary
  • contact info
  • experience
  • education
  • affiliations

If you’re familiar with the hResume draft schema, you will notice that the missing fields are skills and publications.

Unfortunately, in this first pass, we were unable to mark up skills according to the hResume specification. This is because we’ve always allowed free-form text for what we call “specialties” and while all of our examples show a comma delimited list of of keywords, it’s not enforced and a lot of users use this area for prose. Also, because hResume skills use rel-tag, we may end up needing to create our own tag space which isn’t trivial and will require significant work on our end. So in lieu of that, I’ve decided to mark up LinkedIn “specialties” with:

<p class="skills">HTML, XHTML, CSS, DOM, JavaScript, W3C, web standards, front-end engineering, user interface development, user-centered design, usability, accessibility, semantic markup, microformats, unobtrusive JavaScript, DOM scripting</p>

As for publications, we currently don’t have a field for that, but that’s something we could easily add in the future.

Another thing to note is the way we’re handling an experience without an end-date. In other words, how do we communicate “present”? In a discussion with Brian Suda, we thought that using a time/date stamp might be a novel way to handle the problem. So for a current experience, without an end date, we use the class of dtstamp and the current date for the value. The markup looks like this:

<p class="period"> <abbr class="dtstart" title="2006-11-01">November 2006</abbr> — <abbr class="dtstamp" title="2007-01-26">Present</abbr> <abbr class="duration" title="P3M">(3 months)</abbr> </p>

Something else worth mentioning is affiliations. LinkedIn has two ways of handling this natively. First, we allow free-form text entry for general Groups and Associations on a users profile. Second, we have the formal LinkedIn for Groups feature. In this first pass it is only the latter that gets marked up as an hResume affiliation. I hope to expand this in the future so that both entry methods get marked up as affiliations.

So it’s a pretty big day for hResume! My hope is that this is a significant step towards elevating hResume from a draft into formal specification.

I guess you could say the nucleus of this event was born back on September 21st, 2006 when lead Web Developer and one of LinkedIn’s founding team members, Chris Saccheri, sent me a LinkedIn Introduction asking if I would be interested in exploring an opportunity to join the LinkedIn team. Indeed I was, and one of the driving factors in my decision was the fact that Chris had already embraced microformats and was publishing LinkedIn data in hCard, XFN and hReview. I’d be hard-pressed to find another opportunity that would allow me to work not just on microformats in general, but specifically hResume, which I’ve had a love affair with since its inception. It’s a testament to what a great place it is to work that I’ve been given the chance to accomplish this in my first couple of months here. I’m thrilled to be playing a part in the ongoing evolution of helping you build and manage your trusted professional network and promote your career online.

Last, but certainly not least, I want to thank Brian Suda for taking the time to work with me on this over the holidays. He is a pillar of the microformats community and his involvement has been both invaluable and inspirational. Thanks also to Chris Messina who has been a cheerleader for the adoption of microformats at LinkedIn over the past several months. And finally, thank you to Ryan King, Tantek Çelik, James Levine of SimplyHired and Kevin Marks for planting the seeds.

I’m sure there are some things I’m forgetting, so if you have questions, please let me know. Any and all feedback is appreciated!

P.S. To turn on Full View in your LinkedIn Public Profile, just log in and go to My Profile > Public Profile and select Full View and Save Changes.

P.P.S. The Public Profile is delivered as XHTML 1.0 transitional. It doesn’t validate at the present time because of various legacy systems that contribute to the overall output. There are plans to correct this, but it’s nothing that HTML Tidy can’t handle in the interim.