go to content or go to sidebar

RSS Feed

The Web, Naturally!

WebOrganics » Articles

  1. Transformr 0.5 is live
    Posted by Martin about about 801 days ago.

    Transformr version 0.5 is live. The 0.5 update introduces a set of performance tweaks and the ability to parse HTML fragments.

    Transformr should be also a lot easier to install on your on your own server chiefly because Transformr no longer uses the PHP tidy package, which for some reason is not included with a lot of hosting packages. Don't worry Transformr will still parse your malformed html because tidy does still exist to some extent via the W3C online Tidy service, but only when it fails to parse the source document. For best results though validate your document first (sorry I wasnt preaching).

    At the moment Transformr will transform the following microformats:

    The following microformats are also supported but are classed as experimental and shouldn't really be used in a production environment because support may be removed or changed at some point (but its up to you) they are:

    I am planning to write some stuff about the url conversions over on the new Transformr Wiki over the next couple of weeks, and some insights about what Transformr will support in future, like file uploads, tiny url's and microformats by direct input.

    What's also new for this version (0.5.X) is the source code has moved from Google Code to GitHub, because SVN is so complex compared GIT, which is amazingly simple shame I never got round to it sooner oh well. You grab a copy of the code at http://github.com/WebOrganics/TransFormr, and have fun

    Comments: 0

  2. Welcome Google to the Semantic Web
    Posted by Martin about about 988 days ago.

    Last week google announced on its webmaster blog something called Rich Snippets which is basically a way of marking up Structured data using microformats or/and RDFa on your web pages.

    Rich Snippets are used to mark up things like Reviews, People, Products, Businesses and organizations that Google will use in its search results pages to give a user a convenient summary of their results at a glance before visiting a web page.

    Wow! for the kind people who have been actively involved in developing and advocating Microformats and RDFa this is really good news and its been a long time coming.

    We have arrived at a new Era of SEO, as Michael Hausenblas (one of the key developers of RDFa) said "Let's call it semantic SEO", I like that, others may call it SEO3.0 or SEO++ whatever its all the same thing, Just SEO to me with more professionalism and intelligence.

    For Search Engine Optimization in particular I agree with Michael, If you use Rich Snippets then you can expect a reduction in Bounce Rates, higher conversion rates, More customers, More Money. There are I think one or two down sides to consider, the popular practice of Back-Link building and Modifying Header tags may over time become less relevant because these very small nuggets of data will have less meaning compared to the data contained in a Rich Snippet.

    A final thought from Jay Myers (one of the developers of the hProduct Microformat)

    ...microformats, RDFa, and related mark-up methods go beyond SEO and Google; they can serve as the front-end to a dynamic, smarter web of linked data. Don't implement microformats as a "silver bullet" for SEO. Implement them because your users deserve better, more concrete data regardless of the path they take to discover your products.

    Well said.

    Comments: 0

  3. RDF-3T - RDF in Machine Tags
    Posted by Martin about about 1,086 days ago.

    RDF-3T is a metaformat(a language used to describe another language) that uses machine tags to describe RDF triples in XHTML. A Machine Tag is a word first used by flicr as a technical term for a triple tag. Machine Tags are in the wild are just like normal tags but have a special syntax that allows the user to express further semantics(meaning) in a tag and is made up of a namespace, predicate and a value, for example you could tag an image on flicr...

    lastfm:event=887898

    The namespace is "lastfm" the predicate is an "event" and the value is "887898".

    The first things I thought when I first saw machine tags was hey that looks a lot like a RDF statement and I wonder if you could use the Machine Tag syntax to describe a RDF triple.

    The first problem was that to express all the information contained in a RDF Triple in a tag was just too much so I though to use the @class area instead. A html class can be used on almost any html element and a class accepts data values where as a tag is just text. RDF-3T does not use rel=tag at all so it wont conflict with any existing usage of machine tags.

    In RDF-3T namespaces are declared using meta tags in the head of a page, and then referenced in a class using any of the terms(predicates) declared in the namespace document itself. Values are slightly different as RDF-3T uses keywords or pointerers to tell the machine where the value is, values can also be a string such as an ISO8601 formatted date or a geo location.

    RDF-3T uses the @id attribute to declare what a thing is about, The id attribute can contain a plain text string, which is used as a relative uri reference, or the id can be a compact uri expression(curie) for example the curie expression ...

    id="home:weborganics"

    ... in RDF-3T would resolve to http://weborganics.co.uk/#weborganics.

    RDF-3T triples are typically extracted using a GRDDL profile available at http://weborganics.co.uk/Profiles/RDF-3T, you can view the output using the W3C GRDDL service, for example here: RDF-3T to RDF.

    A more in depth explanation of RDF-3T along with a few tests and example mark-up can be found at http://weborganics.co.uk/RDF-3T/. Any feedback on the RDF-3T syntax or anything you are not happy with is welcome by either email or simply by adding a comment to this page.

    Comments: 0

  4. Hypertext Friend of a Friend
    Posted by Martin about about 1,156 days ago.

    hFoaf (Hypertext Friend of a Friend) has recently been updated to version 0.3, this one has been an important update because basically the XSLT needed a lot of tidying, refining, which also gave me an opportunity to add a few more actions such as being able to extract things that a user has made or authored, and a more complete expansion of XFN rel="me".

    What may be a good idea now would be to give you some clues on how to build hFoaf in a quick and dirty howto, but first... hFoaf is not a microformat or a proposed one, although it does rely heavily on microformats to determine the output of a FOAF RDF document.

    The first step is to create a hcard, then add an id="" to the hcard and a class="url" with the XFN relationship rel="me"

    Example:

    1. <div class="vcard" id="weborganics">
    2. <p class="fn n">
    3. <span class="given-name">Martin</span>
    4. <span class="family-name">McEvoy</span>
    5. </p>
    6. <p><img alt="weborganics" src="http://weborganics.co.uk/images/me.jpg" class="photo"/></p>
    7. <p>Contact: <a class="email" href="mailto:weborganics@googlemail.com"
    8. id="sha1:3cc1a719a5023e9087ced9c74610b66cfbb58d54">weborganics@googlemail.com</a></p>
    9. <p>Web: <a rel="me" class="url" href="http://weborganics.co.uk/">WebOrganics</a></p>
    10. <div class="geo">
    11. <p>Location: <abbr title="53.7552" class="latitude">N 53.7552</abbr>,
    12. <abbr title="-2.3675" class="longitude">W -2.3675</abbr><p>
    13. </div>
    14. </div>

    hCard classes and how they map to FOAF are as follows...

    • "vcard" => foaf:Person
    • "fn" => foaf:name
    • "given-name" => foaf:givenname
    • "family-name" => foaf:family_name
    • "email" => foaf:email
    • "url" => foaf:homepage
    • "url org" => foaf:workplaceHomepage
    • "photo" => foaf:img

    The geo component of hcard maps to foaf:based_near and defined using the WGS84 Geo Positioning RDF vocabulary...

    • "geo" => geo:Point
    • "latitude" => geo:lat
    • "longitude" => geo:long

    Lastly The value of foaf:mbox_sha1sum uses the id="" of class email prefixed with "sha1:"

    XFN relationship values are also expanded and added to your FOAF output. rel="me" values that are links to popular social networking sites are mapped to foaf:holdsAccount, although not all rel me links are added to the output, a list of supported sites are as follows...

    • twitter
    • flickr
    • digg
    • ma.gnolia
    • last.fm
    • delicious
    • pownce
    • youtube

    Example:

    1. <a rel="me" href="http://delicious.com/weborganics">delicious</a>

    All XFN relationships are defined as foaf:knows, foaf:Person, foaf:name and foaf:weblog along with its XFN value eg: xfn:met.

    Example:

    1. <a rel="friend met" href="http://www.djkippax.com/" title="James Kippax">James Kippax</a>

    Interests and things that have been made or authored by a user are simply defined as foaf:interest maps to hAtom rel="bookmark".

    And thats it, easy eh? There is a Demo of how to use hFoaf With GRDDL along with some copy and paste code and some example output available at hFoaf Demo and also a webservice available at TransFormr that extracts a FOAF document

    Comments: 0

  5. Ubiquity the best thing since Web2.0
    Posted by Martin about about 1,250 days ago.
    Ubiquity

    Ubiquity is

    a Mozilla Labs experiment into connecting the Web with language in an attempt to find new user interfaces that could make it possible for everyone to do common Web tasks more quickly and easily

    And it does, it gives you the ability to insert maps into your email by simply typing "map" and then a location and then clicking "Insert map in page" which will basically insert the map in any editable page, so simple.

    Ubiquity has just over fifty commands to start you off, covering most common web tasks, such as the twitter command which lets you update your twitter status via your web browser, which I guess to people who use twitter is worth the xpi install alone.

    There are already a quite a few more commands in the wild for ubiquity at Mozilla Labs Including five new commands for Transformr under the Microformats heading. If you cant find what you need and fancy creating a few commands of your own, there is a super easy developer tutorial to help get you going, still seems too much you can always watch for new commands in the Herd.

    Already in just a few days Ubiquity has moved on to version 0.1.1 and development is moving on fast, if you fancy giving Ubiquity a whirl you can install the latest version Ubiquity 0.1.1 by clicking the previous link. Seems like paradise getting what you want from the web for a change? it is.

    Comments: 5

  6. Bootstrapping hAudio
    Posted by Martin about about 1,281 days ago.

    haudio

    The hAudio Microformat can now be transformed to four different flavours, RSS1, RSS2, XSPF, and RDF Music Ontology

    The Newest Format is Mo hAudio which is an attempt at extracting a basic Music Ontology. A demo is available at http://weborganics.co.uk/mo-haudio/ . One of the questions you may ask is why all the different formats , Well the first answerer is its cool isn't it? And the second would be, proof that the contributors of hAudio got the common basic semantics right. I would also say that if you are going to publish music on your website, why not publish it in hAudio because It's easy to do...

    <div class="haudio">
    <a rel="enclosure" class="fn" href="http://mywebsite.com/file/myfile.mp3" type="audio/mpeg">My Groovy Choon</a>
    </div>

    ... and you get the added benefits of all the other formats too. There Is just one more transformation (available end of august) hAudio to M3U which will pretty much make the job of bootstrapping hAudio to as many different formats as I can complete, If you think I left something out please let me know.

    Comments: 4

  7. Microformats TransFormr
    Posted by Martin about about 1,356 days ago.

    TransFormr

    I am Pleased to announce TransFormr by WebOrganics

    TransFormr combines all the tools available at the former tools.weborganics, all of X2V and a few Custom Rdf Dialects along with a few "experimental" formats!

    TransFormr is not a universal microformats transformer, just near enough, the easiest way to use TransFormr is to use the auto detect feature eg: http://transformr.co.uk/detect/http://tantek.com/. For more information about extracting individual formats please visit transformr.co.uk.

    Comments: 0

  8. Extending hCard using RDFa
    Posted by Martin about about 1,408 days ago.

    Mark Birbeck the Designer of RDFa has recently posted a couple of really good articles recently one about the first steps in adding Foaf to RDFa and a second one about using RDFa and Microformats. Both these articles has inspired me to write a little introduction about how to use the hcard microformat and extend it using RDFa.

    I am going to mark up this example of a hCard as RDFa:

    <div class="vcard" id="weborganics">
    <p><span class="fn">Martin McEvoy</span></p>
    <p><img alt="weborganics" src="http://weborganics.co.uk/images/me.jpg" class="photo"></p>
    <p>Contact: <a title="Email" class="email" href="mailto:info@weborganics.co.uk">Email</a>
    Web: <a rel="me" class="url" href="http://weborganics.co.uk/index.xhtml">WebOrganics</a></p>
    <div class="geo">
            <abbr title="53.7552" class="latitude">N 53.7552</abbr>,
            <abbr title="-2.3675" class="longitude">W -2.3675</abbr>
    </div>
    </div>

    I have included the geo part of hcard because its useful for people, clients, or customers to know where you are yes?

    First add the RDFa document type to your page:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">

    So far so good your page is now RDFa and you are ready to add some namespaces, a namespace is just a place where a set of names and definitions is stored.

    I am going to use two namespaces in this example:

    • 1. Foaf, xmlns:foaf="http://xmlns.com/foaf/0.1/"
      Foaf Is primaraly used to define People, FOAF documents are machine-readable home pages.

    • 2. Geo, xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
      Geo Is the RDF equivalent of the World Geodetic System or WGS84 and is used to represent Latitude/Longitude information about the location of things.

    There are two ways to add a namespace in RDFa one is In the <html> tag of your page or another way is in the page using say a <div> or a <span> I am going to add the namespace to the hcard markup itself:

    <div class="vcard" id="weborganics"
                    xmlns:foaf="http://xmlns.com/foaf/0.1/" 
                    typeof="foaf:Person" 
                    about="#weborganics">

    @typeof is similar to a html <div> it describes a block of some thing, in this case Its a block of foaf:Person. @about means exactly as it says what this thing is about in this case Its about the foaf:Person weborganics.

    Lets add a Name to this person:

    <p><span property="foaf:name" class="fn">Martin McEvoy</span></p>

    Easy eh?, Properties are use to add information about the subject, in this case a person, the contents are usually just text.

    Next you may want to add your picture:

    <p rel="foaf:img">
    <img alt="weborganics" src="http://weborganics.co.uk/images/me.jpg" class="photo"/>
    </p>

    @rel is used in the same way as a html rel to describe the relationships between things. The above example has a relationship of a foaf:img of the foaf:Person. In RDFa you can use @rel anywhere in your page not just in links, you may also want to add your email address and homepage url in the same way:

    <p>Contact: <a rel="foaf:mbox" title="Email" class="email" href="mailto:info@weborganics.co.uk">Email</a>
    Web: <a rel="foaf:weblog me" class="url" href="http://weborganics.co.uk/index.xhtml">WebOrganics</a></p>

    You can leave it there if you wanted which is great! but I am going to take this a little further and demonstrate how you can mark up the Geo bit of a hcard. All in one go this time using the same techniques as demonstrated above:

    <div class="geo" id="weblog" rel="foaf:based_near"
            xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#">
            <span typeof="geo:Point" about="#weblog">
                    <abbr property="geo:lat" content="53.7552" title="53.7552" class="latitude">N 53.7552</abbr>, 
                    <abbr property="geo:long" content="-2.3675" title="-2.3675" class="longitude">W -2.3675</abbr>
            </span>
    </div>

    There Is one thing extra I have added I have used @content this works in the same way as the @title attribute in the abbr design pattern, Its used to carry machine readable data without it interfering with the human content, If you think about that from an accessible point of view its actually better than the current abbr design pattern.

    So there you have it a hCard marked up as RDFa in a few easy steps. I have created two examples to accompany this mini how-to. which you can simply just copy and paste with your own details.

    Microformats and RDFa work pretty well together I think, It adds Scope when previously there wasn't any, Microformats also make excellent building blocks for RDFa they give you hints on where everything should go. Thanks.

    Comments: 0

  9. hAudio 0.9
    Posted by Martin about about 1,446 days ago.

    hAudio has reached a stately version 9.0 which I imagine will be the final proposal from the contributors of the hAudio Microformat.

    Only one class name was changed, "fn" for "title" which doesn't seem so great but has been a hotly debated part of hAudio since May 2007 when the issue about "title is already taken to mean something else" and "use fn instead" first came up. The Class Name "title" may yet change again because the fn/title issue is still being debated and I imagine will continue for some time yet.

    In the meantime the Grabb.it guys became the first major implementer of hAudio 0.9 marking up thousands of tracks on their userpages, I would say that they are quite happy with the changes made to the microformat.

    hAudio RSS also uses the new hAudio microformat in the V3 version of the hypertext playlist format. New for Version 3, is a new home page on The ESW Wiki, hAudioRSS where you can download the entire source code and demo of the hAudio-RSS playlist.

    If you are planning on marking up your pages in hAudio or hAudio-RSS let me know I will be more than happy to give you a shout for doing a good thing.

    Tags:

    Comments: 0

  10. Talk about hAudio RSS
    Posted by Martin about about 1,471 days ago.

    hAudio-RSS is causing a little flutter in the open media web community so much so that back in December it became part of a small discussion over at songbird nest called Portable Playlists and other POSH-ibilities presented (amongst others) by Tantek which was kindly recorded to video by Citizen Tara Hunt, so without any further rambling may I present Tantek's Demo.

    Comments: 0

  11. hAudio-RSS - Public Domain
    Posted by Martin about about 1,495 days ago.

    hAudio0.8 hAudio-RSS has been updated to version 2, the code has been modified and does not contain any suspected anti-patterns (info being scraped from the head not visible). The biggest change is that hAudio-RSS is now licensed under a Creative Commons Public Domain License. This is because microformats.org have recently required all contributions on the microformats wiki have a public domain license, which personally I find is a smart move, Anybody can freely use microformats anywhere for anything and not have to worry about possible licensing or copyright infringements. hAudio-RSS is an extension of hAudio so I feel it should have the same license. There is also a free Template that you can download of the whole hAudio-RSS v2 markup also released into the Public domain which includes, XHTML 1.0 Strict document, CSS, Bookmarklet, Buttons and guidelines. Download hRSS-template.

    The hAudio transformation service has been improved! Instead of data being just dumped onto the screen the service now saves the transformation in a store, the url that you are given when transformation is complete is a permanent url to a static xml file, every time you re-run the hAudio xslt service you will be given a new permanent url in the store, this makes it easy to keep versions, or archives of your files, you can download the xml files anytime you like, save them to your desktop, or if you like re-syndicate your xml files to feedburner, add them to the podcast.net directory and pump them through another service like Grabb.it. do what you like its your data

    Anyway lets not bore you anymore, download the template and have fun!

    Comments: 0

  12. hAudio-RSS
    Posted by Martin about about 1,513 days ago.

    hAudio-RSS is a way of embeding an RSS2 Podcast in XHTML or more accurately a way of extracting a podcast from hAudio and XHTML using XSLT. Hypertext Podcasting if you like.

    Its done by Embeding the hAudio Microformat in Semantic HTML and transforming it using XSLT.

    The resulting transformation can then be played in Amarok or iTunes just like a podcast and (because the results are RSS2) you can read as an Audio blog feed in your favorite news Aggregator.

    Example:

    Because I am more a man of Science and not talk I have left some notes in the source file to give hints on how it is done.

    After feedback and positive testing I will shortly be releasing all the source files and a transformation service that you can just download and drop in the back end of any site using PHP 5+ that will give publishers the ability to perform their own server side transformations (which will be great to add into templates just 6.3kb) and not have to use services like h2A and x2v much like all the other services in the WebOrganics Toolbox

    For anyone who may be intrested there is a very beta Just an Idea kind of thing RDF site summary version of hAudio-RSS

    Tags:

    Comments: 0

  13. hAudio Draft Specification
    Posted by Martin about about 1,553 days ago.

    It was announced on Saturday 3rd of November by hAudio editor Manu Sporny, that on hAudio 0.8 has become a Draft Specification

    It was also announced that new Operator scripts would soon become available, combined with a new round of evangelism and rigorous testing for hAudio. The full hAudio Draft Specification can be read here http://microformats.org/wiki/haudio and a new test page based on hAudio 0.8 can be found here http://weborganics.co.uk/haudio

    Tags:

    Comments: 0

  14. Audio Microformat hAudio 0.8
    Posted by Martin about about 1,555 days ago.

    This Halloween as well as that awful film Halloween being on the BBC again they also promised Halloween II next week... dont worry I have plenty more repeats to chose from thanks to the miracle of satelite tv, something else not so scary happened the audio microformat hAudio reached version 0.8. The general consensus on the list is that hAudio 0.8 will be the final proposal, after a last round of talks, before hAudio gets moved on to Draft. hAudio will then become only the twelfth in a list of many exploratory discussions, to make it to Microformat Draft.

    Manu Sporny, Was the first to suggest a hAudio Microformat on Apr 6 2007, when he proposed that we...

    Create a very simple hAudio microformat, which can then be integrated into media-info

    ...which was In response to my suggestion a few days earlier on Apr 4 2007 that the community could create a music download microformat using a combination of hAtom and hReview, a brave suggestion I thought, the Important thing was the discussion did not go stale.

    Anyway check out the microformats wiki and find out what hAudio is, or have a look at the discussion, (7 months) and see what everyone got so worked up about. I have also updated the hAudio test page for any of you who are interested in publishing and testing hAudio.

    Comments: 0

  15. hAudio RDFa
    Posted by Martin about about 1,624 days ago.

    hAudio has been creating quite a bit of exitement around the semantic web recently in particular the hAudio RDFa maping performed by David Lehn and Manu Sporny of Digital Bazaar, Inc.

    The Creative Commons Tech Blog describes the proposal in its entry about Metadata work of interest as

    ...could turn out to be interesting for describing licensed content on the web, all rather interesting.

    The Proposed hAudio RDFa maping can be found on the Digital Bazaar Wiki http://wiki.digitalbazaar.com/en/HAudio_RDFa a special well done to Manu Sporny because thanks to his efforts in the Microformats community and the RDFa community has become an invited expert in the W3C RDFa task force exellent news for both hAudio and Manu.
    If you want to see a working example of hAudio RDFa as always WebOrganics has Produced an example with one or two tools to work with which can be found at http://weborganics.co.uk/files/hAudio-RDFa.xhtml The example also uses Valid XHTML-RDFa 1.0, something else to talk about at a later date?

    Tags:

    Comments: 0

  16. hAudio and Operator
    Posted by Martin about about 1,641 days ago.

    There Is now an Operator User Script created by David Lehn called hAudio.js which will help you to detect all the hAudio items available on WebOrganics.

    You can either visit Mike Kaply's (the creator of Operator) weblog and find out more about Operator and hAudio, or you can download hAudio.js directly from this site by clicking here.

    Comments: 0

  17. hAudio Microformat
    Posted by Martin about about 1,682 days ago.

    haudio

    Well! what can I say, I'm honoured to announce the birth of a new microformat that has managed to reach the status of Proposal, hAudio.

    I say honored because for some bizarre reason I managed to become a contributor whilst I was a the quest to make our very own Podcast more Organic and easier to share. I can honestly say that hAudio was one of the most hotly debated and well designed microformats since hAtom, and as a result the Format instead of taking the suggested eight weeks to complete, ended up finally taking twenty one contributors nearly twice as long.

    The full proposal and full Schema can be found at http://microformats.org/wiki/audio-info-proposal

    The demo page used for testing, and created during the hAudio discussion can be found at http://weborganics.co.uk/haudio

    I would like to give a special "nod" to one or two of the guys who headed up the discussion and design of haudio, Manu Sporny who was the leader of the whole audio info discussion, without his guidance and Logic I doubt hAudio would ever been finished. Brian Suda and Tantek Çelik who kept us from straying too far beyond the "cow paths" Scott Reynen, David Janes, and Andy Mabbett all hot debaters and seasoned microformateers, who guided those of us who were not to sure where the cow path was. For my part well, my Ideas may have been a bit off the mark a little, Indeed most would say I found it hard keeping to the job at hand. In the end I think everyone that was involved helped create the most well designed microformat there is to date.

    Comments: 0