Category: Semantic Web and Microformats
12:51:15 pm Things I did last year (part two)Categories: Web Design, Web Develop, Gadgets, Blogging and Internet Culture, Semantic Web and Microformats
Following on from Wednesday's post, this post covers the last six months of 2008 and the early part of 2009. This should finally get me up to date and back to the point where I can post about things I did last week without a guilty conscience Even in summary form this is taking me a lot of time (that OpenTech event had a lot of stuff!), so I'm just going to publish it half finished and fill in the later events over the next few days.
- London Geek Nights: Ajax - I managed to write this one up
- SearchMonkey Developer Event - obviously in a purple patch of productivity, I got this event written up too, I also wrote a tutorial for developerWorks a few months later.
- Open Tech 2008 - Session 1
- Rembrandt, Pr0n and Robot Monkeys (Kim Plowright) - An interesting talk on the relationship of man and machine, how we think into our tools, and the refreshing view that porn is one of the ways we reunite with our bodies.
- Living with Chaos (Simon Wardley) - I was to see variations of Simon's talk several times over the coming months, and if you get a chance I recommend you go see him too as he's a very entertaining speaker. The message of the talk is that open standards are a necessary end result of the technology curve as we travel through the Innovation -> Bespoke -> Products -> Services continuum. By the time everyone is selling services you're at a commercial disadvantage if you're still on a bespoke solution or selling a locked in product.
- What the Frog's Eye Tells the Future (Matt Webb) - A talk about the connections between the founding fathers of neuroscience, computers and cybernetics, eg. The Macy Conferences, Pitts and McCullogh, Norbert Wiener, Vannevar Bush, Ted Nelson and Douglas Engelbart. Cybernetics is a cross domain concept language, and the people in cybernetics are the 'dark matter' which link everything together.
- Android and the Open Handset Alliance (Michael Jennings) -
- Social networks and FOAF (Tom Morris) -
- OpenID and Decentralised Social Networks
- Distributed, Federated, Partial
- The Web is Agreement
- From Stealth Mode to Open Source in 90 days
- No Comply: or Why the Paranoid Android Approach to Security is a Bad Idea
- Publishing with Microformats
- Power of Information: Rewiring the London Gazette with RDFa
- Finding Good TV on the Interwebs with RDF and REST
- The Bastard Child of Baird and Berners Lee
- Intro to Hadoop
- Guardian.co.uk: building for the open web
- Momolondon July - Enabling location in applications - A set of lighting talks: Interesting stuff from Ted Morgan of Skyhook (the iPhone geolocation provider) about using wireless network signatures to determine where you are; a talk on FireEagle; Charles Wiles explained how Gears for Mobile is R & D for HTML5; there was a talk on the W3C Geolocation API; Rummble and BuddyPing, location aware, mobile based social network apps; finally Mark White on Locatrix who are a platform/service provider for people looking to provide location based mobile services.
- CloudCamp - this has now turned into a regular event, so the original links are long gone. Saw Simon Wardley again, with a similar talk to OpenTech but with cloud, and standards therein, substituted for open source.
- Google Developer Day 2008 - I attended four sessions as well as the starting and concluding keynotes: Intro to Android, after seeing a real, live Android phone in the keynote this was a nice talk to get a closer look - the questions went on longer than the talk though ; A Deeper Look at Google App Engine, I was getting quite into the whole cloud computing concept at this point and I likle the way App Engine allows you to just write code and then get started without the bother of setting up VMs etc.; Codelab: Gears, although I went to this I couldn't get very far as my hurried Ubuntu install the day before had left me with a 64bit build - I had built a version of Gears but it didn't contain APIs compatible with what everyone was using so I skipped out of this half way through; this allowed me to got to V8 - the Chrome engine which described some of the techniques used in the recently announced V8 (it was a very popular talk!) including native code compilation and behind the scenes static classes. I wore my Ubuntu 'Linux for human beings' t-shirt which got featured on the closing video/photo montage (the message on the back, rather than me).
- Scripting Enabled - This was an excellent event, I think videos of all the presentations along with text transcripts and slides are available at the website so I won't go on about it too much. Highlights for me were seeing videos of real users with screen readers and Jonathan Hassell on Dyslexia which both made accessibility issues real to me in a way they hadn't been before.
- Mobile Location-Based Services
- YUI 3.0
- London Perl Workshop 2008 - Since I'd enjoyed his introductory tutorial at the 2007 event, I went to Dave Cross's Introduction to Web Programming tutorial: some interesting stuff on how CGI actually works which I'd never really investigated before, how to work with HTTP in Perl, some hints on security (check all input variables - good advice in any language, and use taint mode, which is Perl specific solution for that) and he finished off with a short introduction on how to use template toolkit to make life easier. After the tutorial I went to a number of short talks: Regexp mini tutorial: Character Classes; Painless OO <-> XML with XML :: Pastor; and Intermediate Moose where things started to get a little beyond me and my rudimentary knowledge of Perl.
In the admin pages of this blog (when I first started writing this post, five months ago!) I have a 'list view' for posts which has a few pertinent details alongside the post title - notably date and visibility (published or draft). In pages thirteen to four (twenty per page), covering July 2003 up until June 2007 all the posts are at status 'published.' On page three, starting about August 2007, there were a couple of posts at 'draft', on page four there were six, on page one, even with the couple of posts I finally published in January, there were seven. There's a definite trend developing here
There are a few factors at work here: a major one is that last year I switched from never going to the gym to going five or six times a week meaning that not only did I go to events less often but I had less free time to write them up; getting paid to write articles also decreased my motivation to write 'for free' - plus after spending a week or so where my entire evening (up until the early hours in the morning several times) had been spent writing I did feel like I owed myself some time off.
This led to me starting a number of 'place holder' posts and, once I had a few posts sitting in draft status it was very easy to leave the next one in draft too and say to myself "I'll finish them all off at the same time." What this led to is a whole mountain of unpublished, half-finished posts which eventually put me off even starting new ones.
I read some advice on another blog about not writing things out straight away - hold off seven days and see if it's still worth writing about. For me this just led to not writing anything at all (this may have been the effect he was after). If I'm going to write posts and keep writing them, I've got to do it that day, right there and then, and get it published. It turns out that getting paid to write stuff actually puts me off writing for free on my blog (other than a short burst of activity as the first thing was published just to make it look a bit more up to date).
So, in an effort to clear the decks, I'm going to attempt to summarize 18 months of event attendance in just a few long posts, then delete all those draft posts and make a fresh start. I did manage to spit out some blog posts in this period and I'll link to those where appropriate. The final part of this exercise will involve me finally publishing the few 'technical/tutorial' type posts I have in draft status which I'll then link to from a short post.
Autumn 2007 / Winter 2008
- Going Beyond REST - This was a fascinating talk. Applying the principals of REST architecture on the inside of a system rather than between systems - all functions are represented by URIs, which it turns out has some nice side effects. For instance if one process within the system calculates 2+2 then the result is cached and any other process gets to use the result 'for free' (I know this is hardly significant for 2+2, but imagine a collection of more complex calculations). This means recursive stuff can be automatically optimised - the results of each iteration are cached and so the minimum number of operations are performed. As I was listening to this talk, Greg Egan's Permutation City kept popping in to my head.
- Know IT and Share IT - This was an evening about how to go about facilitating enterprise knowledge sharing: "What knowledge do you have and where is it? Employee minds: 85%, Other media: 15%." Three talks on the themes of social network analysis, knowledge networks, communities of practice and tools to support it. A quote I noted down from the final talk which resonated with my experiences: "Any solution which requires significant change in behaviour will be difficult to implement. Any solution which requires significant consistent behaviour will not be possible."
- Erlang for five nines - Since I've found a video I won't go on about it, but a good introduction.
- London Perl Workshop 2007 - Attended the 'Beginners Perl Tutorial' Dave Cross which was quite enlightening - certainly an explanation of the default variable made a whole load of code suddenly more comprehensible to me (slides).
- Momolondon February - Mobile Operating Systems - four talks on the current state of mobile operating systems. Mark Burk's talk was interesting as it showed the strong divisions between the US phone market and the rest of the world, also notable the lack of penetration the iPhone had on the world market despite all the hoo ha. David Wood of Symbian takes the in retrospect prize for his strong defence of the closed source development model for mobile OS development (though misrepresenting several aspects of open source in is argument) only for Nokia to open source Symbian five months later.
- Momolondon March - Mobile London - Excellent venue at the London Transport Museum for this event focussing on mobile apps for Londoners. Some of the trials LUL had been conducting with audio travel guides and travel news while actually in underground stations looked very interesting, also the trial to add Oyster payment functions directly into your mobile phone. The "Huh!?" moment of the evening was provided by the O2 marketing person who claimed (with a straight face) that customers thought it was really important that they could always see the O2 branding on their phone display - yes I just love having 20% of my screen taken up by the operator logo...
- BCSNLB - Discovery the Next generation - five talks on search, on the internet and in the enterprise. Ken Tombs talked about how there will now only be incremental improvements in search technology and the big wins in the future will be in making sense of the huge amount of data, he talked about search engines which could determine the sentiment of a document (eg. angry, happy etc.) and also Leximancer. Next up, Vicki Lemieux talked about using search technology to determine the business context of risk in documents, with potential savings of £50k per case. Aurélien Dubot then talked about best practices in enterprise search, one of his points being that, contrary to many traditional Enterprise CMSs, you need to be able to provide useful content without having an underlying taxonomy. Duncan Ash then talked about discovery in email systems, a crucial task in many modern businesses as so much knowledge is sitting in mail servers. Finally, Simon Bain discussed desktop search.
- Momolondon April - Mobile User Experience - Four talks on usability on mobile devices and the special challenges presented by designing for not only constrained devices but also such a wide variety of them, check out the presentations at the linked post.
- OnAIR London - I did manage to get my posts about this event out, though not in an entirely timely fashion, see my review of the morning sessions and the afternoon sessions
- London Web Week 2008 (link defunct) - Attended three events all of which I managed to post about: Microformats vEvent; Web Standards Group Findability Meetup; In the Brain of Peter Elst: The Evolution of the Flash Platform & ActionScript 3.0
- Building and ROI-based GIS Business Case and Strategy - This was more of business and project management focussed talk than a technical one, the methodology described could be easily adapted to other scenarios though.
02:57:28 am hCard Buttons Across the WebCategories: Semantic Web and Microformats
A while back I made some buttons for various microformats, then discovered the official home for them and so added them into the wiki. This has had the side effect that many naive developers simply copy and past the code for the button from the wiki into their pages and then use the image hosted on my website. It's not a big problem for me - the image is small and it gets cached for a month whenever someone requests it so not massive bandwidth, and it's mostly just blogs and small sites which do it. Or so I thought...
This was brought to my attention this evening as I was switching my default from PHP 4 to PHP 5 and then breaking everything by putting invalid entries into my .htaccess file. After I was done I checked the error log and noticed several errors with a referrer of comet.co.uk, I went to look at the referring page and, sure enough, there was my hcard button. You'd think they'd be able to afford to host their own rather than leeching my bandwidth, but times are tough
I thought I'd do a little anecdotal analysis of hcard adoption so I downloaded the December log file. There were 76936 requests for microformat_hcard.png in December, 58792 from Comet - by far the most common. Next up was microformats.org itself with 8661, then one (apparently) very prolific blogger with 3715. There were a few smaller sites with a noticeable number of requests - a New Zealand electricity supply contractor had 85 hits while hcard is also popular among German universities with Universität Potsdam scoring 307 hits and Universität Bielefeld with 172 hits in what looks like an intranet application.
So not very meaningful in the grand scheme of things, but it is clear from the slightly eclectic set of sites I've listed above that Microformats and hcard in particular have seen adoption across a broad range of different websites. Hopefully we'll see more and more services which take full advantage of all this semantic data.
02:42:30 pm Internet Explorer Gets Some OomphCategories: Semantic Web and Microformats
Microformats are supported quite well in Firefox these days thanks to the Operator extension, but the 70-80% of web users still using Internet Explorer might have been wondering what all the fuss is about. Now, thanks to MIX Online, they finally have a chance to find out. Oomph: A Microformats Toolkit was released yesterday and can now be downloaded along with full source code.
There are various parts to the toolkit, some CSS stylesheets and authoring tools, but the main bit I'm interested in is the IE Add-in. The install is a standard MSI but, once installed, the Add-in is quite low profile - no toolbar or other buttons appear in the browser chrome. However, if you browse to a page with some Microformatted content, a little icon appears in the top left corner of the browser window.
Clicking on the icon expands an overlay with an interface into the page's Microformats - it only appears to support hCalendar and hCard and you get a box for each even if there's only one type on the page. Microformats are displayed one at a time with some buttons to scroll through if there are more than one, then there's a toolbar beneath for exporting to Outlook, Yahoo! and others.
I did run into a few problems on some pages where the next and previous buttons didn't work (on this page, for example, the next and previous buttons transferred me to the blog engine skin folder) and also it seemed to be confused on my CV where I'd used the include pattern for my contact info (it's been a while since I updated it, so I'll have to check I'm doing it correctly before I investigate further). One really neat feature of Oomph is the maps interface, which you get by clicking the little globe symbol near the top left.
As you can see above a map appears, this seems to be based on a search of the address information rather than geo but it worked pretty well for the example pages I tried. Overall, pretty good for a first release and a welcome addition to the range of user tools for Microformats.
03:12:01 pm SearchMonkey Developer EventCategories: Web Develop, Server Side Web Development, Semantic Web and Microformats
Review: SearchMonkey Developer Event at Wallacespace, 2 Dryden Street, Covent Garden, London, England. WC2E 9NA. 18:30 to 20:00
I'd heard quite a lot about SearchMonkey, Yahoo!'s new search platform but not got around to checking it out, so I was hoping this event would be a useful introduction. The evening involved a couple of presentations from Yahoo! developers coupled with free drinks and food - a promising combination!
The first presenter (sorry, didn't make a note of the name - a Yahoo! developer from the US) talked about the motivations behind SearchMonkey and some of the technical features. One of the main obstacles to more semantic data appearing on the web is that there's a chicken and egg problem. It's not worth having features supporting semantic standards like RDF and Microformats on search engines until there's content available, and it's not worth making content available until you get benefits on things like search results. SearchMonkey cuts through that whole issue by allowing users to add features to the search engine to make use of the semantic data they've added to their website. It allows you to modify the presentation of search results from particular sites (not just your own) using semantic data taken either directly from the page (if there are Microformats or RDFa available) or through an XSLT transformation which you can provide.
Next we had Neil Crosby walk us through building a couple of example SearchMonkey applications. It really is fairly straightforward - you pick a URL pattern for your application to apply to and then it's more or less point and click (especially if you have standard Microformats or RDFa available). A couple of noteworthy points came up:
- You can ask SearchMonkey to automatically generate ten sample URLs as you go through the process, but it's best to pick the first one by hand as that's the one used in all the previews once your monkey is done
- You can use XSLT to extract data if your target page doesn't have pre-parsed Microformats or RDFa available, but that will be slower (though it will at least get cached for 15 minutes after the first call)
- The presentation part of the monkey is entirely separate from the data source, multiple monkeys can use the one data source, and you can use data sources provided by other developers in your monkey
At present all SearchMonkeys are opt-in on the part of the user, which means if you're not targeting a big site it's unlikely your finished application will see a lot of use. However, we were promised that 'within a month' there would be options to set a default SearchMonkey for a website if you're the registered owner of the site (ie. you've registered yourself on site explorer) - so I have that long to think of something clever to do with my search results
The evening ended with free pizza, hand prepared in the kitchen behind us, and there were free drinks throughout. We also got a nice SearchMonkey hat, a sticker and a rather weird USB stick (Grolsch style opening mechanism). All in all an excellent evening, . It has taken me nearly two weeks to get the review finished off, but some folk were a bit quicker off the mark if you'd like out of 5an alternative perspective.
11:59:28 pm WSG London Findability MeetupCategories: Usability & Accessibility, Information Architecure, Front End Web Development, Standards, HTML and CSS, Semantic Web and Microformats
Review: Web Standards Group London Meetup at Westminster University, New Cavendish Street campus, London 19:00 to 21:00
- An unevaluated set of symbols
- An evaluated, validated or parsed set of symbols
- A set of symbols which have been understood
You can easily see this definition in the context of the Semantic Web project - moving the web from data/information into the realms of knowledge. Cyril then discussed several general strategies for making things findable: The "In Your Face" Discovery Principal (basically, traditional advertising); Hand Guided Navigation (web directories and drill-down hierarchical menu systems); Describe and Browse (search engines); Recommendations (forums, mailing lists, Digg and other interactive systems). Several websites combine two or more of these to improve findability, for example Yahoo now suggest categories for drill-down with your search results. Cyril then discussed how to measure the relevance of search results, by considering the precision (lack of false positives) and the recall (exhaustiveness) against the requirements for the type of search (for some searches recall is more important than precision and vice versa) before finishing off with a brief chat about content organisation.
Building Websites with Findability in mind (Stuart Colville) - This talk was mostly regular SEO type stuff, five basic requirements were covered:
- Understand your potential audience - this almost goes without saying, but you everything in the design and structure of your website should be driven from who your visitors are and what they're after.
- Have compelling content - with the wealth of content already available on the web, you've got to find a way to make your content stand out. Either be completely original, which is difficult, or aim at a niche market where there isn't so much competition. This could also come from presenting existing content in a new way to better serve the needs of your target audience. Also, try and keep your content focussed - pictures of your cat might be very cute, but unless they're relevant to the main topics of your website consider hosting them elsewhere.
- Use quality markup - this was the meaty bit of the talk and ranged across a number of sections:
- Follow web standards in your markup, while it won't turn poor content into compelling content, it will improve the ratio of content to code on your page
- Pay attention to your
metatags, while keywords are ignored the description is often displayed in search engine results so should have something relevant to the current page
- Titles and headings are important,. Titles always appear in search results and will also be the default link text for any of your content in social bookmarking services (ie. they're link juice keywords - check this out for an idea of how bad many people are at this - I got "1 - 10 of about 36,900,000"). Remember your
h1heading is the most important visible text on the page, for most pages on your site this will not be your company name and/or logo
- Text content should use the semantically correct element, strong and em can be used to give particular phrases higher weight but use them sparingly, duplicate content is not the issue it used to be especially if it's 'natural' (eg. a blog where the same post will normally appear on several pages)
- Images which are purely design elements should be CSS backgrounds, images which have some data should use CSS image replacement and inline images should always be given correct metadata (where 'correct' sometimes implies 'none')
- Microformats can improve findability, particularly after Yahoo!s recent announcement
- Always keep accessibility in mind - remember a search engine has a similar view of the web to someone using a screen reader, improving your accessibility will usually also improve your findability
- Present no barriers to search engines
- Website performance affects indexation - search engine spiders only spend a finite time crawling your site, so the quicker you deliver pages the more will get indexed
- URLs are an important opportunity to add keywords, and remember "A cool URI is one which does not change." Learn to use mod_rewrite and remember to give correct HTTP responses - 301 for content which has moved, 404 for content which you need de-indexed
- Be careful that you don't block off important parts of your site with the robots.txt file
Finding yourself with Fire Eagle (Steve Marshall) - Fire Eagle is a service which helps you manage your location. It sits between your location provider (GPS device, mobile phone etc.) and your location dependent services and presents a uniform interface to those services while also letting you control your privacy. The key point is that it breaks the tight coupling that usually exists between 'location getting device' and 'location using software' which should therefore facilitate an explosion in location driven websites when it goes online (Google are experimenting with a similar thing in Gears, so it's an idea who's time has come). One very nice feature was it's use of OAUTH to set privacy levels - you can determine for each service the amount of geographical detail it will get and the API returns to the service a hierarchical object which goes down to the level of accuracy you specify (eg. country -> city -> locality -> postcode -> geo). This talk and it's associated demos/examples was very interesting, but you probably need to see it in action to really grasp how cool it could be.
Overall I enjoyed this event, though I was already familiar with a lot of material in Stuart's talk it's always good to have a refresher/reminder, and I learned some new things in both the others so out of 5
11:30:34 am Microformats vEventCategories: Front End Web Development, Semantic Web and Microformats
It's London Web Week, which means there are lots of events on. I plan to go to three of them myself, the first of which was last night's Microformats vEvent.
Review: Microformats vEvent at The Yorkshire Grey, Holborn, London 19:00 to 21:30
The venue was a function room in a pub which wasn't ideal - there weren't enough seats for everybody and, since I was a bit late arriving, I had to stand through both presentations which made it a bit awkward to make notes.
- Give everything a URI - your website, your house, your car, your pets etc.
- Things (ie. URIs) linked together with meaning
- Small vocabularies loosely joined - don't try and describe the whole world, stay focussed on your target domain
- Do the right thing - practice wisdom
- "Pragmatic" usually means you're doing it wrong
- Don't mandate, don't limit - the less you restrict, the more room there is for freedom of expression
One Big Happy Family: Practical Collaboration on Meaningful Markup (Dan Brickley) - Dan's talk was a bit more political than technical and addressed the antagonistic attitudes which are sometimes displayed by Semantic Web folk towards Microformats folk and vice versa. Through a discussion of some of the history behind the current Semantic Web specifications at the W3C, a history which is largely obscured by the specs in their current state, he demonstrated that the two communities have far more commonalities than differences. Both communities are converging on the same goal but are taking very different routes to get there, and a bit more respect on both sides could allow each to learn from the other. That was a high level summary, the way Dan said it took longer but was also funnier with a liberal sprinkling of anecdotes
The talks themselves were very good, but I didn't enjoy the environment much - apart from the standing, the TV screen was a bit hard to read so overall. out of 5