A better way to review books online?

A good read

Angela is absolutely right in her post about the sorry state of Goodreads.

Last year, I lamented the poor design of Goodreads — a much-needed platform where readers can review books they’ve read and track those they want to. Poor search functionality, ugly aesthetics, an embarrassingly terrible recommendation algorithm, and buried club and group features make the site unpleasant to use. Since the story came out, Goodreads hasn’t done much to improve its deficiencies. Instead, it seems content to rest on its laurels as a near-monopoly owned by Amazon, benefiting from its massive existing user base while being, apparently, deserted by its design team.

It is a joke, even ebay has made changes to improve not just the look but experience of their system (not to say its great however). Goodreads feels like sites before web 2.0 boom. Regardless it has a massive audience, I can’t work out why either?

The post talks about all the different examples people are doing to create their own goodreads alternative using sites like Glitch and Medium. Its a good-read (pun intended) but I found it interesting there was no mention of some of the indieweb (hreview microformats) and fediverse systems (Bookwyrm).

Of course all of them require more technical effort than a webly, glitch, etc but I thought it would be worth mentioning.

Browser vendors now own the web?

On the face of it… W3C hands over development of HTML and DOM standards to browser vendors (WHATWG). Sounds like a good idea, right?

I mean the W3C was pushing for the semantic web, more rdf, more linked data and xml structuring.

Down with XML, down with linked data, rdf and the very idea of the semantic web – uggghhhh! (or something like that? I can hear you all say!).

Well hold on, remember how the web started? Remember the foresight which kept the web free and open. Insights like SVG when the proprietary alternative of flash was ruling the web. I for one really liked XML and the suite of technologies which came along with it. XHTML was a joy to use once browser vendors got on board and sorted there act out.

I was there during the fight from HTML4 to XHTML 1.0. Still remember fighting about Microformats vs RDF at BarCampLondon2 and to be fair WHATWG was likely right at the time but they didn’t have the foresight of looking further into the future. The semantic web was a big vision but whats the big vision of WHATWG now?

My fear is handing the web over to mainly browser vendors will lead us back to where the web was at during HTML 4.0. A mix of unspecified bits and bobs which rely on native browser capabilities. Whos fighting for accessibility, i18n, l10n, old systems, etc, etc? My only hope is because the w3c only handed over control of HTML and DOM, they will double down on CSS and ECMAscript?

I want the web to move forward and I know there was a lot of tension between the W3C and WHATWG but they kept each other honest. Handing the web over, I fear will ultimately make things worst for all?

Lightweight Attention Preference Markup

So this is the 2nd time I'm writing this because I forgot to save the entry when I upgraded the memory on my Dell. Yep 2gig of memory instead of 1gig now but still no decent Blogging tool for Linux. Wblogger and Ecto would have automaticlly saved the entry every few minutes or at least asked me what I should do with the unsaved entry before terminating and throwing my words to a black hole. Anyway enough moaning…

Previously I promised a couple of things in this entry

First up, I'm going to standardise some way of linking FOAF, OPML, OpenID and APML together. I expect I'll keep this very simple using the link element in (x)HTML or somehow combine this into a Hcard profile. Next up a APML microformat or APML lite for sure. I'll try it as I've been studying the others and the general methology of Microformats and I think it could be done. So I'll suggest it and draw up how it works and submit it for lots of review. I'm now exploring how to get APML out of Amarok and RSS Owl.

So how far have I got so far?

One : So I have linked all three (APML, FOAF and OpenID) together using links on my blog. So if you look at the source you will now see this. Which is cool but I think we can do better.

<link rel="openid.server" href="http://www.myopenid.com/server"/>
<link rel="openid.delegate" href="http://cubicgarden.myopenid.com"/>
<link rel="meta" type="application/rdf+xml" title="FOAF" href="http://www.cubicgarden.com/webdav/profile/foaf.rdf"/>
<link rel="meta" type="text+xml" title="APML"
href="https://apml.engagd.com/apml/www.cubicgarden.com/blojsom/blog/cubicgarden"/>

When I say do better, I've been looking around a couple of things. First up is a better way to do the basic link element so it can be turned into a RDF triple later. It was found while looking at RDF/A examples which will be explained later.

When a meta or link is used within another meta or link, the internal triple has, as subject, the external triple. This is reification.

<link about="" rel="[cc:license]" href="http://creativecommons.org/licenses/by-nc-nd/2.5/">  <meta property="dc:date" content="2005-10-18" /> </link>


which yields:

[ rdf:subject <>; rdf:predicate cc:license ; rdf:object <http://creativecommons.org/licenses/by-nc-nd/2.5/> ] dc:date "2005-10-18".

Now I'm not that keen on the syntax, but its not over complex and I guess you could do something like this.

	<link about="." rel="[foaf/images/emoticons/silly.giferson]" href="http://www.cubicgarden.com/webdav/profile/foaf.rdf">
	<meta property="apml:profile" content="https://apml.engagd.com/apml/www.cubicgarden.com/blojsom/blog/cubicgarden" />
	<meta property="openid.server" content="http://www.myopenid.com/server"/>
	<meta property="openid.delegate" content="http://cubicgarden.myopenid.com"/>
	</link>


But I guess getting all those openID parsers to change now will be a nightmare, so to be honest I'm happy either way. But I think it does make sense to link everything in the HTML rather that rely on a OpenID parser to look at the HTML then find the URL for the FOAF file and then parse through that to find the Open ID url. Yes I already know you can put OpenID in FOAF thats why I'm saying its not a good idea, but there is no harm in having it in the FOAF optionally. Which is what I'm going to do, but I've recenly seen how out of date my FOAF file really is, so I'm going to try and update it soon. If anyone knows how to get FOAF out of Facebook, Flickr, Delicious, Linkedin, Dopplr, Upcoming, etc that would be useful. O'reilly's connections network use to allow for FOAF but somehwere along the line seems to have died or closed down, because I tried to find it and login, so I can at least start somewhere. So generally number one is done.

Two : So the huge challenge of building a Microformat for APML, so people can easily put in there preferences without building a very complex xml file. Because lets be honest, like RDF and other XML's this stuff was never meant to be built by humans. Also I like the idea of using standard HTML elements and attributes so people can instantly try this stuff out. I saw recently on the microformats blog that there is almost 450 million? examples of Microformats now and its growing everyday. Its not hard to see why when you consider how it is to try out some of them. For example adding a tag is as simple as adding another attribute to a link. Some of the other microformats are a little more tricky but generally with a example in front of most people they can work it out quickly. So whats the W3C's answer to Microformats? Well RDF/A which is a unified framework build around putting semantic meaning into HTML. A while ago it was meant to be for XHTML 2.0 but its been brough forward which is great news. Because the only other alternative seemed to be e-RDF which no one could work out if was royality free or not. Ok I have to admit I'm writing this entry over a couple of days. So I found my way on to the O'reilly connections network again. So you should be able to see my public view here. Anyway the point is that they already have FOAF, which makes my life slightly easier that starting from scratch again. Going back to APML, I'll try modeling it with RDF/A and see what happens. So far I think my plans is to keep the explict and implicit context and maybe attach it to a openID or unique ID. I'm not going to include stuff like the source because its too complex and not that relevent for a lightweight version of APML. I mean if you really want APML, just use APML. If you want something to indicate your preferences (< href="http://www.tommorris.org/blog/">beyond a link) in HTML, what I'm brewing up might just be right for you. I've also decided to call it LiteAPM, as in Lightweight Attention Preference Markup for now.

Three : Ok I'm not being funny but where the hell does Amarok store its configurations and database? I think I've found RSSOwl's basic configuration stuff but content i'm not so sure about yet. But then again I've not really tried really hard yet. I can't find a mention about Amarok anywhere. So I hit the web and found a way to pull almost anything I want out of Amarok via the command line. So honestly all I really need now is to learn how to program Perl or install something like XMLstarlet, and learn how to use stuff like the cron and unix pipes. Wow now I can do all that stuff I've been talking about for a long time. Stay tuned…

Comments [Comments]
Trackbacks [0]

APML as a lightweight Microformat?

My Ubuntu install is working again thanks to Jon Callas from PGP. So I can finally bring you this entry from the Airplane trip 2 days ago.

I've not blogged much of BarCampBrighton, but sitting on this flight to Boston with 2.5 hours of battery life left (54%) I'm now reflecting on a couple of my sessions

The first one was titled as Facebook is Dead, which I later changed to social network killer – reclaim your attention. The whole thing presentation went through reasons and technologies which mean the dead end, locked in social networks no needed to exist. However Jeremy Keith and Tantek had covered most of my points about Microformats and OpenID in a previous session so I skipped most of that stuff and got on to the juicy part about lifestreams and attention profiles. In a quick look, I showed off APML and suggested ways you could do FOAF+APML together to build up everything you needed for open social networking (as aposed to locked in like Linkedin and Facebook style). Oh also while on the differences I made it clear that social media sites like Flickr, Delicious, Bliptv, etc were not included in the locked in category and then started to rip the living piss out of Quechup.com (no link for this nasty social network). I think I put the slide up and asked How dumb do you have to be?. Anyway I'm going off topic here.

So many people are throwing APML around but as Jeremy Keith would say, it looks like a technology looking for a solution. So I came up with some perfect examples of APML including my killer which I thought would also attract the bigger audience who don't care about the technology of it.

First example : Tape it off the internet.com. If you join tape it off the internet.com or tioti it will ask you again and again and again… what shows you like and do you also like these shows? Now this is fine but its tiresome although you can type in your shows and hope it finds them. But what you can't do very well is give shows a certain weighting. So for example I love lost and heroes but have also started watching the new prision break 3rd season although yes its jumped the shark years ago. Now I would like to indicate that although I watch it, I'm not really that much into it. Then I also want to be able to show my friends and maybe get less matches based on this preference. Whats evern better is if I can say I really dislike something. Right now you can give it one star or not add it but what incase I want to say, I watched that show and I bloody hate it? In APML you can set a negative value to things as you'll see later. In actual fact Tioti is going to support APML in the future so that battle is done already.

Second example : Dating sites. This I thought was my killer one but maybe not? So if you join a dating site you build this profile of you and sometimes that involves answering questions and filling in a profile of who yougr looking for as such. This is usually quite detailed stuff and time sucking stuff. So imagine what happens when your friend invites you to a new dating site where he or she have previously had a positive experience. Yep fill in the forms again and indicate your preferences again. Now with APML its robust enough to maybe describe a lot of what your saying in your description and profile. You should be able to log in with your Open ID which could link to your FOAF and APML too. And because you have the concept of personas in Open ID, you could select different FOAF and APML files for those who like to have different profile. Tantek who was in the room when this was announced pretty much slammed APML but liked my example and so suggested I check out some of things people have been doing with tagging their preferences. So I did and although quite robust I had that problem of setting amounts.

So for example if I tagged this quote below you will see I've choosen to tag certain words. But there's no indication of first, if there just tags (yes some class could be added to make it clear that these tags apply to me but in what way?) and secondly what in case I tag flying and writing? How would you know I much prefer the later?

Facebook hopes to expand on the service, one person says, using algorithms to learn how receptive a person might be to an ad based on readily available information about activities and interests of not just a user but also his friends.

In APML you can add values and that makes a huge difference. But maybe there is a way to have a lighter version of APML which is a microformat, so people can play with it right now.

third example : Targeted advertising So as you read before, Facebook are using your data to advertise at you. Here's the full thing.

Next year, Facebook hopes to expand on the service, one person says, using algorithms to learn how receptive a person might be to an ad based on readily available information about activities and interests of not just a user but also his friends — even if the user hasn't explicitly expressed interest in a given topic. Facebook could then target ads accordingly.

While Facebook plans to protect its users' privacy and possibly give them an option to keep certain information completely private, some Facebook users might rebel against the use of their personal information for the company's gain.

And the perceptions that targeted ads create can be as much of a problem as the reality. “Most people don't realize how targeting works; it becomes so good that even though it's anonymous, you feel like they know you,” says Rishad Tobaccowala, CEO of Publicis Groupe-owned consulting firm Denuo Group. However, he says Facebook needs to be careful in implementing any targeted ad system, lest loyal users “find it creepy.”

Chris Saad, is right to ask the question if users will put up with it. Also just making things private isn't the answer. What in case I had kids but didn't want to see adverts for nappies and babyware? I could hide that stuff but actually don't mind telling the world that I had kids, I just don't want the adverts. In APML i could specify my distaste and give it a nasty negative value which would indicate that I never want to see Nappies or Babyware ever. Of course Facebook or Google could over ride my APML but I wouldn't be happy, and they should be looking at my positive APML stuff anyway. I mean there's more chance I'll click a link saying latest Orange SPV phone here that latest Babyware or even in reality Latest iPhone offer for O2. And this is the killer thing, anyone who knows me will know that, even a browse of my blog will tell you this but to have it in machine readable form in APML has got be final straw. On my blog my APML is linked and its public. I'm saying advertise to me if your high on my interest list. Orange should be banging my door down every time I say I'm looking for a new phone but there not wise to all this yet. Google and Facebook are.

Forth and Fifth examples : LastFM and Preferences. By now you should have got the main points and can see how having a APML output of your favorate tunes in Lastfm could be useful. One example I didn't think about at the time was moving between media players. I moved from iTunes to Winamp to Madman to Amarok. There was no way to take the ratings I had build up for my music collection but now I should be able to look at lastfm and pull out decent enough scores. On the preference front, APML could be used for more that just internet applications. So yes if Amarok supported APML that would be amazing. I'm actually looking into this because Amarok keeps a rating of all music based on how many times you heard it and how much you scored it. It also keeps this information is a SQLlite DB and the rating range is between 0 and 100 which makes it easy to put into APML. Yep I might need some help from some Perl or Python people soon. Although I've learned Gnome has its own scripting language like how Applescript works for OSX. So I might be able to pull something off that way.

Right so what happens next? First up, I'm going to standardise some way of linking FOAF, OPML, OpenID and APML together. I expect I'll keep this very simple using the link element in (x)HTML or somehow combine this into a Hcard profile. Next up a APML microformat or APML lite for sure. I'll try it as I've been studying the others and the general methology of Microformats and I think it could be done. So I'll suggest it and draw up how it works and submit it for lots of review. I'm now exploring how to get APML out of Amarok and RSS Owl. If anyone wants to help with these, give me a shout. APML is awesome and I know everyones waiting for a 1.0 release (including Tioti, Google, Bloglines) but honestly give it a try now you won't regret it.

Comments [Comments]
Trackbacks [0]

Dopplr now supports Microformats import for contacts…

…but wheres the FOAF? via the Dopplr blog

If you’d like to try importing from GMail, Twitter, a local vCard file or using a contact list from a site supporting the HCard/XFN microformats, please try out these new capabilities and send us feedback.

Plaxo support would be nice but at least I can export everything out of Plaxo as Vcard and other formats.

Comments [Comments]
Trackbacks [0]

Time to get semantic

get semantic.com

Something which I didn't mention but others have is the fight between the large S semantic web guys and the small s semantic web guys. Aka Microformats vs RDF. You can see the video here. What us RDF-ish guys were suggesting was using eRDF instead of Microformats for extended semantic markup. We proposed to give RDF in XHTML a new name, Macroformats. Tom Morris, after a chat with some of the microformats guys like Tantek and Kevin Marks, changing the name. Tom Morris has now setup getsemantic.com, which is a place where everyone writing semantic markup can get together and promote more semantic markup.

Wow, it's been an absolute mad panic of announcements. Firstly, “macroformats” is dead. It lasted all of a few days, but realism set in – assisted by some pissed off microformateers – and we ditched the name.
We've still got the domain names, but they will redirect and we aren't going to advertise them.
I'm just waiting for the Internet to catch up – specifically, DNS. Once the DNS machine has figured out what it's doing, then we can proceed to building the site.
I actually bought the licence for Snapz Pro X ($69!) because I feel that screencasts are going to be very important in what we are doing. Screencasts certainly helped with things like the Ruby on Rails project.
The plan is to help people understand the process of coming up with their own formats – which can be as simple as writing up a bunch of class names or as complex as coming up with a 3,000 item ontology. Of course, if they only want to do the first one, there'll be people who know how to do all the other steps and will do it for them.
I've sent out a sort of 'vision' statement to the people on the list, but I won't bore you with it here – my blog isn't the best place for it, after all. Once the site launches, something very much like it will be up there.
The first GetSemantic project I'm going to be pushing for is Embedded BibTeX. I use BibTeX a lot. The “citation” work at microformats.org is suffering because there's no clear cowpath to be paved. But we have a BibTeX ontology written in DAML+OIL and it wouldn't be too hard to use eRDF to turn that in to HTML. I'm already writing academic essays in XHTML with CSS and having the tools to embed and extract those citations would rule.
The other thing that I might do is “hRSS”. hAtom is a great format, but not all web sites can be turned in to Atom – RSS 2.0 serves sites like mine better. I'll follow hAtom as closely as possible, but then move away when the RSS 2.0 specification differs from the Atom specification. Before I get flames, there are good reasons to choose RSS 2.0 if you have untitled blog entries. And, yes, there are good reasons for that too. You may not like the reasons, but they exist.
One of the key differences between GetSemantic and the more formalised microformats is that we're going to say “yes” more often. Think of them as science experiments – have fun, build something, see whether it works. We'll start herding cows down new paths and then if that works, then it might become a microformat. If it doesn't work, then we will learn why it doesn't work and try not to make that mistake in the future.

Anyway, I've graphed out where we're coming from, because its easy to think we're suggesting Microformats are crap. Well thats not what we're saying. We all love Microformats but sometimes we find them a little limiting. The example I always use is XFN vs FOAF. XFN has a limited amount of relationships, while FOAF has tons. Because you can put FOAF in eRDF, this means eRDF is more extensible. But on the other side, this all adds to the complexity and the amount of people who actually want to do this drops a lot.

Semantic markup graph

Thanks to Sheila who forced me to draw this out a while ago, when trying to explain how eRDF, RDF, XML, etc all fit in the grander scope of things. I'm considering updating it with one including XHTML 2.0 and RDF/A. Oh great work Tom.

Comments [Comments]
Trackbacks [0]

The Tom and Ian Show?

Recently I've been doing more podcasts, and finally not cringing when I hear my deep voice. Me and Tom Morris have started a podcast in the vain of the pretty dead Gillmor Gang. The MP3 file is on Archive.org and you can subscribe to the feed here.

Between all the outages and bad quality of my voice, there is a pretty good discussion about a whole host of things including RDF/A vs Microformats, XHTML vs HTML5, the semantic web vs The Semantic Web. Tom is working on some clever notes system which I assume uses RDF or OPML to clever effect.

Comments [Comments]
Trackbacks [0]

d.Construct 2006 tomorrow

d.construct programs

Tomorrow I get to sit back and relax while someone else arranges a conference. Yep d.construct is upon us and this time around, I have a ticket. So I'll see some of you there. In the usual way, I'll hopefully take tons of photos and some videos if my batteries last long enough. After the day of conference speaking comes the social events and it looks like the beach side location is going to be a great ending to the day.

Jeremy Keith, that famous podcaster has tons of details about some pre-event happening right now and some open street mapping happening Saturday. I'll only be down for the Friday, but might be convinced to getting the first train to London if people are up for a all-nighter. There is also a Microformats picnic which looks to be good. I'm also thinking about doing some little interviews with some of the guys I met at BarCamp. Hey and lets not forget to get a game of Werewolf going at some point. Maybe Werewolf on the beach around a small camp fire with a full moon? You know really get into the mood.

Andy did ask me if I wanted to run a geekdinner after d.construct on the Saturday, but finding a venue in a city I don't know well on a Saturday night was a very tall order. Specially with all my time taken up on BarCampLondon at the time. Next year, for sure…

Comments [Comments]
Trackbacks [0]

Openness in data formats

Me and Tantek

Tantek wrote this thought provoking entry about data formats and openness. Which I can't help but kind of agree on and disagree on. So first his entry.

  1. ASCII is dependable. Project Gutenberg insists on publishing their e-books as plain ASCII text as Mark Pilgrim noted, and their reasons are solid.
  2. Compatible XHTML is now also dependable. In the 15+ years since its public introduction, I believe that HTML has established itself sufficiently prominently worldwide that I feel quite comfortable declaring that HTML will be accepted to be as reliable as ASCII in coming years. In particular, authoring what I like to call Compatible XHTML, that is, valid XHTML 1.0 strict that conforms to Appendix C, is IMHO the way to author HTML that will have longevity as good as ASCII. Note that files in most file systems have no sense of “MIME-type”, thus the winged-mythological-creatures-on-the-head-of-a-pin style arguments about text/html vs. application/xhtml+xml that are often used to discredit either HTML or XHTML (or both) are irrelevant for the most common case of keeping archives of files in file systems.
  3. Plain old XML (POX) formats in the long run are no better than proprietary binary formats. XML, both in technology and as a “technical culture” is too biased towards Tower of Babel outcomes. I've spoken on this many times, but in short, the culture surrounding XML, especially the unquestioned faith in namespaces and misplaced assumed requirement thereof, leads to (has already lead to) Tower of Babel style interoperability failures. As this is a cultural bias (whether intentional or not) built into the very foundations of XML, I don't think it can be saved. There may be a few XML formats that survive and converge sufficiently to be dependable (maybe RSS, maybe Atom), but for now XHTML is IMHO the only longerm reliable XML format, and that has more to do with it being based on HTML than it being XML.
  4. Formats that are smaller (e.g. define fewer terms) tend to be more reliable.
  5. Formats that are simpler (e.g. define fewer restrictions/rules for publishers) tend to be more reliable.
  6. Formats that are more compatible with existing reliable formats tend to be more reliable, e.g. HTML worked well with existing systems that supported “plain text” (AKA ASCII)
  7. Formats that are easier to use, i.e. publish, and more immediately useful, rapidly become widely adopted, and thus become reliable as a breadth of software and services catches up with a breadth of published data in those formats.

The microformats principles were based on these observations. Now this doesn't mean I think microformats will replace existing reliable formats. Not at all. For example, I feel quite confident storing files in the following formats:

  • ASCII / “plain text” / .txt / (UTF8 only if necessary)
  • mbox
  • X)HTML
  • JPEG
  • PNG
  • WAV
  • MP3
  • MPEG

So my take on Tantek's thoughts.

Plain old XML (POX) formats in the long run are no better than proprietary binary formats. See I take issue with this, I understand what Tantek is getting at but I would say plain xml without a schema isn't leaning towards the Tower of Babel. And like Tantek already mentioned RSS and ATOM are pretty close to the non-tower of babel direction. I would also add FOAF and OPML to the list. I would love for SVG to also be included in this but alas its not. Formats that are smaller (e.g. define fewer terms) tend to be more reliable. Good point, hence why things should be broken down like how XHTML and SVG got Modularization.

My list of formats are slightly different too.

  • XHTML (Unicode)
  • XML (Unicode)
  • JPEG
  • PNG
  • MPEG3 audio
  • MPEG4 video
  • WAVE
  • SVG

Comments [Comments]
Trackbacks [0]

All your bases belong to google

This entry by Greg at Blogdigger titled Someone set up us The Bomb is excellent. I'd honestly hadn't really looked into Google base because the idea of marking up my data just for Google gives me the creeps, but the angle gives me a even creeper feeling.

In an effort to push things in the proper direction, a small group of individuals and companies began working on ways to structure information, in an attempt to prevent SDL (Semantic Data Loss) and create better search in the process. The history here goes back quite a bit, so I'll skip to the end, which is often called datablogging, microformats and/or structured blogging, all of which attempt to make the process of capturing the meaning of content easier both for the producer and the consumer. Things were moving along nicely in that direction; Google Base, however sends a proverbial “Make your time” to all those services, since Google Base essentially allows content producers to explicitly tell Google what all those little bits of data mean and how to interpret them.

Greg is right, but this is the dilemma. Google is offering a solution to put large amounts of structured data online while Databloggling hasnt gone that far and Microformats for as much I love them are still a second thought when blogging. I mean I'm a xml guy and I usually write the text, add the basic links, etc then some tags and maybe trackbacks. The adding of microformats usually comes afterwards, imagine what most people do.

We really need to start adding microformats to the Blogging applications, and soon.

Comments [Comments]
Trackbacks [0]