Epeus' epigone

Edifying exquisite equine entrapments

Showing posts with label microformats. Show all posts
Showing posts with label microformats. Show all posts

Saturday, 9 April 2011

Ev's identity map ignores what we say

Ev Williams wrote a good blog post on identity yesterday, that I suggest you go and read. The odd thing is that he leaves out the publicly articulated thoughts that we use blogs, Twitter and other services to publish as an expression of our identity. Before I get to that, though, I'd like to connect his facets back to the open specs that represent these aspects.

Authentication

Ev mentions OpenID here, and is essentially correct that it is not helpful on its own. It was designed to verify URLs for blog comments. If all you do is use OpenID, you just replace logging into your site with logging into another, adding extra confusion without much benefit. However, once you have a URL for someone, you can then discover further information about them, by examining that URL and its links. Microformats can encode this directly in the webpage, or you can use related links to discover API endpoints for more.

The distinction between Authorization and Authentication is elided by Ev, and in practice OAuth has been winning out over OpenID as it is explicitly an Authorization APi that had Authentication as a side effect. The new OpenID Connect proposals try to remedy both these failing by using OAuth and by standardizing on how to list other endpoints.

Representation

Here Ev is looking for what is commonly called profile information. We have some mature standards for this - vCard is widely used by email clients, and is currently going through another standardization round to add modern features. The hCard microformat gives a simple way to embed profiles in web pages. Also, the rel="me" part of XFN makes it straightforward to link web pages together that represent different aspects fo your public representation. This is supported by Facebook, Twitter and Google, but sadly not by about.me whom Ev praises.

If you want a general data format for profile data, Portable Contacts is what you need.

Communication

Ev's emphasis on email addresses here illustrates the problem with them; they are primarily write-only; though we persist in using them for log-in IDs, they are not readily discoverable. The WebFinger spec gives a way round this - a way to go from an email to endpoints for other readable identity standards. Other communication standards have piggy-backed on email address, such as Jabber and Wave.

Personalization

This hints at the glaring gap in Ev's model, the expression of personal taste and preference. This is commonly done by reviewing, and we have the hReview microformat to express that, but it can also be useful just to track a history of media played or places visited to derive preferences over time. Here Activity Streams are an obvious fit, and it would be good to map such proprietary formats as Amazon purchases, Last.fm scrobbles, iTunes played songs and so on into a common format to derive this.

One model we can use for this is tagging - associating keywords with things. Many feed specs have tagging built in, and the rel="tag" microformat is a way of indicating these publicly.

Reputation

As Ev says, this is problematic, and also often highly contextual; I may trust someone's advice on restaurants without listening to them about which programming language to use. Reputation and trust are subtle, deeply human and very hard to model. The best answer here may be to rely on the power of faces and following; if we attach the face of someone we know to their public statements, we can decide for ourselves how much weight to give them.

Which brings me back to my opening point. When we decide who to pay attention to online, we tend to rely on what they say; if you get an @ reply on twitter, clicking on that person's name to see their most recent comments is hugely useful in deciding how much attention to pay to them. Similarly, the history of public blog posts, or their reviews of movies, music, books or restaurants arre other reasons we may follow them, and our identity is most strongly formed from the stories we tell and retell about ourselves. Feeds, whether in Atom, RSS or hAtom, and Activity Streams give rich representation of our thought, opinions and actions.

Whom we choose to associate with or follow is also an expression of our identity, and a useful signal when deciding how much attention to pay to someone, and XFN and Portable Contacts are both usefule in discovering these connections.

Dare Obasanjo also responded to Ev's Identity post, and added in payment as well as the friends as missed aspects. I'd love to discuss this further with both Ev and Dare at the Internet Identity Workshop next month, which is where many of the specs mentioned above were conceived and agreed. Maybe Ev can bring some others from Twitter with him too; their past contributions to OAuth were highly useful and there is plenty more to get our teeth into, as Ev's post shows.

Posted by Kevin Marks at 18:25 2 comments:
Labels: Activity Streams, hAtom, hcard, hReview, IIW, microformats, OAuth, OpenID, xfn

Tuesday, 18 January 2011

How the w3c invented the ‘semantics’ logo

Today the w3c launched an HTML5 logo, that includes sub-logos for different technologies included in or associated with the standard. Here's my parodic view of how the semantics one was made:
How the w3c invented the 'semantics' logo

Jeremy is upset that they're using 'HTML5' to include CSS3, SVG, WOFF too. I've seen SVG and CSS3 versions of the logo - who's got a WOFF one?

Update: I made a version of the logo in HTML only for the purists.

Posted by Kevin Marks at 12:52 1 comment:
Labels: CSS, HTML5, microformats, parody, SVG, w3c, WOFF

Monday, 26 May 2008

An API is a bespoke suit, a standard is a t-shirt

Brad is calling for APIs, and even the NYT is proposing one, but there is a problem with APIs that goes beyond Dave's concern about availability.

When a site designs an API, what they usually do is take their internal data model and expose every nook and cranny in it in great detail. Obviously, this fits their view of the world, or they wouldn't have built it that way, so they want to share this with everyone. In one way this is like the form-fitting lycra that weekend cyclists are so enamoured of, but working with such APIs is like being a bespoke tailor - you have to measure them carefully, and cut your code exactly right to fit in with their shapes, and the effort is the same for every site you have to deal with (you get more skilled at it over time, but it is a craft nonetheless).

Conversely, when a site adopts a standard format for expressing their data, or how to interact with it, you can put your code together once, try it out on some conformance tests, and be sure it will work across a wide range of different sites - it's like designing a t-shirt for threadless instead.

Putting together such standards, like HTML5, OpenID, OAuth or OpenSocial or, for Dave's example of reviews, hReview, takes more thought and reflection than just replicating your own internal data structures, but the payoff is that implementations can interoperate without knowing of each others' existence, let alone having to have a business relationship.

I had this experience at work recently, when the developers of the Korean Social network idtail visited. I was expecting to talk to them about implementing OpenSocial on their site, but they said they had already implemented an OpenSocial container and apps using OpenID login, and built their own developer site for Korean OpenSocial developers from reading the specification docs.

I'm looking forward to more 'aha' moments like that this week at I/O.

Posted by Kevin Marks at 17:51 1 comment:
Labels: APIs, HTML5, idtail, microformats, OAuth, OpenID, OpenSocial

Wednesday, 2 January 2008

URLs are people too

There is an assumption buried in the collective mind of developers that is hard to remove, and it is that people are best represented by email addresses. Go to almost any website to sign-up, and you are prompted for an email address and password. Signing up usually involves digging out the site's reply from your spam folder and clicking on a link to get confirmed, then giving it a password. Sometimes you get to pick a username too, from whatever stock of namespace is left at the site.


Elizabeth Churchill and Ben Gross looked into this and found out that people find it easier to remember passwords than usernames, because they use the same passwords everywhere, and they end up with multiple different email accounts to handle the problem of having handed them to to all these sites and getting spammed by them.


Meanwhile, over here in the blog world, we've been using blog URLs to refer to people for years, and social network sites have proliferated URLs that are people. I have several that refer to me, my events, my music, my twitters and my photographs linked from the sidebar here. We even have XFN's rel="me" to connect them together, and OpenID to allow them to be used as logins elsewhere, instead of emails.


The underlying thing that is wrong with an email address is that it's affordance is backwards - it enables people who have it to send things to you, but there's no reliable way to know that a message is from you. Conversely, URLs have the opposite default affordance- people can go look at them and see what you have said about yourself, and computers can go and visit them and discover other ways to interact with what you have published, or ask you permission for more.


So, developers, remember that URLs are people too.


Update: This tension between email-as-identifier and email-as-way-to-be-spammed is what makes Scoble's attempt to extract 5,000 people's emails from Facebook for his own use less defensible than it appears at first. Dare Obasanjo recognises the tensions, but strangely dismisses the OpenSocial attempt to abstract out this kind of data into a common API.

Posted by Kevin Marks at 23:22 3 comments:
Labels: affordance, blogging, email, microformats, OpenID, URLs, xfn

Monday, 6 August 2007

Microformats in Blogger - hAtom support

Those of you who read my blog directly, rather than via a feed-reader, will notice that it is looking styled again, for the first time since CSS Naked Day in April.

I made an initial conversion to hAtom by hand in the meantime, but a few weeks back Michał Cierniak and I checked in a change to the underlying Blogger templates to make hAtom the default, which the Blogger team graciously accepted. This should enable much simpler client-side parsing of the blog pages. One thing we had to do to enable this was to add a new datatype to output a date in the W3C's ISO-8601 profile, as expected by hAtom. If you look in the templates now, you'll see markup like this:

<abbr class='published' expr:title='data:post.timestampISO8601'> <data:post.timestamp/></abbr>

If you want to make your own hAtom friendly templates, you can use the data:post.timestampISO8601 appropriately in the date-time design pattern; the data:post.timestamp will reflect your personal formatting preferences as before.

Posted by Kevin Marks at 00:08 No comments:
Labels: blogger, hAtom, microformats, parsing

Monday, 16 July 2007

End Homographophobia now

There is a dangerous prejudice afoot in the technical world - Homographophobia. Those who suffer from it call for segregation, to avoid the miscegenation of meaning - they want to ensure that their Humpty-Dumpty definitions are not polluted by sharing with others. But they are wrong. We are all imperfectly multilingual, we all have our own internal associations for any given word, but we can only communicate through overlapping meanings with some degree of sharing of concepts.

So we should eschew namespaces and hierarchies as they are just solipsistic security blankets, and embrace the overlapping ambiguity of using words as tags, as Roschian prototypes and as puns. Homophonophobia is a similar affliction, yet homophones give rise to so much entertainment and jollity, as the "four candles" sketch shows:

Posted by Kevin Marks at 00:55 No comments:
Labels: four candles, homographophobia, homophonophobia, Humpty Dumpty, microformats, multilingual, namespaces

Friday, 29 June 2007

Open versus Closed - code and networks

I read two things this morning in praise of closed systems and fêting their future dominance, both by people who should know better. Bob Cringely praises Adobe's Flash, and predicts that AIR will take over the world because Flash can be made to run on cellphones. Clearly, this is wishful thinking on Adobe's part. There is a standard for creating user interfaces that has many orders of magnitude more developers than Flash, is installed on every computer and nearly every cellphone already, and is powerful enough that even Steve Jobs didn't dare to leave it off the iPhone, and that's HTML.

Cringely says:

Once you own the interface to every mobile device you can make those devices talk more easily to your networked applications than possibly to those from Apple, Microsoft, or Sun. As we move toward a fully mobile Internet, compliance with mobile APIs will be more important than what operating system is running on the server, which is why I believe Adobe is putting so much effort behind AIR and Flex.

"Owning" interfaces is not something that you can do when there is an existing interface that is simple, powerful and deployed on every device imaginable already. That would be HTTP - Cringely's piece starts by saying how HTML has made it beyond ubiquity to invisibility, but HTTP is so invisible he doesn't even notice that it's there (let alone TCP or UDP).

Marc Andreesson also has a good underlying point about the Valley's short attention span with regard to technologies, but he too ends up praising a closed application model, in this case Facebook's. They provide access to their users under sufferance, and clearly can't provide access to users of otehr social networking sites. For Marc to back a closed system like this when he has built his career on open ones is odd to me. Kottke puts this well:

As it happens, we already have a platform on which anyone can communicate and collaborate with anyone else, individuals and companies can develop applications which can interoperate with one another through open and freely available tools, protocols, and interfaces. It's called the internet and it's more compelling than AOL was in 1994 and Facebook in 2007. Eventually, someone will come along and turn Facebook inside-out, so that instead of custom applications running on a platform in a walled garden, applications run on the internet, out in the open, and people can tie their social network into it if they want, with privacy controls, access levels, and alter-egos galore.

Dave Winer agrees it is time to do this:

Eventually, soon I think, we'll see an explosive unbundling of the services that make up social networks. What was centralized in the form of Facebook, Linked-in, even YouTube, is going to blow up and reconstitute itself.

The thing is , pace Andreesson, we have been working on building a consensus to express these connections in an open way for a few years now. We already have a way to express social networks and personal information online. We have hCard for expressing contact information and authorship, and we have XFN to express social connection. Twitter, Dave's experimental platform, already supports this. Lets continue to spread it further.

Posted by Kevin Marks at 11:26 No comments:
Labels: emergent, facebook, flash, hcard, HTML, http, iPhone, microformats, mobile, semantic web, social, standards, xfn

Sunday, 17 June 2007

Jobs WWDC keynote in chapters

I finished watching the WWDC Macworld Keynote from last week - here's my chapter-list version of the stream so you can skip through it to the bits you find interesting:

My overall reaction similar to what I said based on textual reports. Jobs saying that web-based applications are as good as native ones on the iPhone is a big change for him, and a sign that development really has changed. What was clearly flawed in the iPhone directory app demo was the need to write all the integration links into the site - how about Safari/iPhone natively understanding hCard and integrating it with apps, like Operator does in Firefox?

Stacks seems not to really solve the too many documents problem well - see Tim Oren's discussion of literalism and magic (Tim worked on 'Piles', the less euphoniously named version of this idea at Apple, long ago).

The dynamic DNS support integrated in 'Back to my Mac' is great idea for those not yet committed to keeping their documents in the cloud. The tension between Jobs advocating a new OS with 300 features, versus a thin client on the iPhone to the same developers was pretty clear.

Jobs saying that Safari for Windows has built-in support for both Google and Yahoo Search was not something I saw anyone pick up on.

Oh, and one more thing... the new iChat features look great, but why is there still no demo or even mention of iChat on iPhone? The main thing I use my sidekick for is AIM chatting, and if iPhone can't do that and forces chat through the procrustean constraints of SMS it's a huge missed opportunity.

Posted by Kevin Marks at 08:43 No comments:
Labels: Apple, microformats, Safari, Steve Jobs, Web 2.0, WWDC

Friday, 15 June 2007

Microformats and media

A few weeks ago at Web2Open, Mary Hodder and I gave an audience-led talk on Microformats and Media Info. Fumi Yamazuki videoed it and posted it on YouTube. The web connection was a little unreliable, so I started out typing up examples by hand...

Posted by Kevin Marks at 23:49 No comments:
Labels: microformats, semantic web, video, Web 2.0

Monday, 11 June 2007

Even Steve Jobs can't ignore the web

When Jobs introduced the iPhone, it was clear that the platform they could not afford to ignore was web developers - however closed the platform was, having a crippled web browser was not an option. Jobs confirmed that today by saying that the SDK for iPhone applications was Web 2.0 Internet standardsWeb 2.0 + Ajax. Jobs also announced Safari 3 for Windows, so Webkit is now a platform that runs on all computers and a lot of phones.

This is another step in the Innovators Dilemma disruption of the PC computing platform by web-based applications, where learning lessons from the web, and reusing others work are important principles.

Posted by Kevin Marks at 11:38 No comments:
Labels: Apple, disruption, iPhone, microformats, Safari, Steve Jobs, Web 2.0, Webkit

Thursday, 5 April 2007

CSS Naked Day

I cleared out my CSS for today, to see how clean my HTML is. I think it is time to revisit my template to make it more semantic

To know more about why styles are disabled on this website visit the

Annual CSS Naked Day
website for more information.

Posted by Kevin Marks at 09:04 No comments:
Labels: CSS, CSS naked day, HTML, microformats, semantic web
Older Posts Home
Subscribe to: Posts (Atom)

This is my personal blog. Any views you read here are mine, and not my employers'.

Atom Feed

Support the Open Rights Group
My photoKevin Marks Me on Twitter
Me on G+

People's thoughts I read:

Daily

Rosie
San Jose Young People's Theatre
Dave Weinberger
Doc Searls
Gonzo Engaged
AKMA
Cory & friends
Denise Howell
Charles Wiltgen
Shelley Powers
James Lileks
Suw Charman
Halley Suitt

Weekly

Andrew Marks
Blogsisters
Arts & Letters Daily
Bricklin, Frankston & Reed
Steve Yost
Jeneane Sessum
Brian Micklethwait et al
Tom Matrullo
Gary Turner

Sporadically

Small Pieces
Stuart Cheshire
RageBoy
Nonzero
Neil Gaiman
Thomas Vincent
Brad deLong
Andrew Odlyzko
ProSUA

No to Mickey Mouse Computers

powered by blogger

Blog Archive

  • ▼  2023 (1)
    • ▼  September (1)
      • Plus Theory
  • ►  2017 (2)
    • ►  May (1)
    • ►  April (1)
  • ►  2015 (7)
    • ►  November (2)
    • ►  May (3)
    • ►  April (1)
    • ►  January (1)
  • ►  2014 (3)
    • ►  October (1)
    • ►  April (2)
  • ►  2013 (5)
    • ►  June (1)
    • ►  May (1)
    • ►  April (2)
    • ►  March (1)
  • ►  2012 (8)
    • ►  December (1)
    • ►  May (1)
    • ►  April (1)
    • ►  March (1)
    • ►  January (4)
  • ►  2011 (11)
    • ►  December (1)
    • ►  November (1)
    • ►  September (2)
    • ►  August (2)
    • ►  July (1)
    • ►  April (2)
    • ►  January (2)
  • ►  2010 (16)
    • ►  November (1)
    • ►  October (1)
    • ►  September (3)
    • ►  June (1)
    • ►  May (2)
    • ►  April (2)
    • ►  March (2)
    • ►  February (2)
    • ►  January (2)
  • ►  2009 (22)
    • ►  November (2)
    • ►  October (2)
    • ►  September (2)
    • ►  August (3)
    • ►  July (2)
    • ►  June (2)
    • ►  May (2)
    • ►  April (1)
    • ►  February (2)
    • ►  January (4)
  • ►  2008 (29)
    • ►  December (2)
    • ►  November (3)
    • ►  August (1)
    • ►  July (3)
    • ►  June (3)
    • ►  May (5)
    • ►  April (2)
    • ►  February (3)
    • ►  January (7)
  • ►  2007 (45)
    • ►  November (3)
    • ►  October (4)
    • ►  September (4)
    • ►  August (10)
    • ►  July (3)
    • ►  June (8)
    • ►  April (2)
    • ►  March (6)
    • ►  February (3)
    • ►  January (2)
  • ►  2006 (119)
    • ►  December (13)
    • ►  November (8)
    • ►  October (16)
    • ►  September (10)
    • ►  August (3)
    • ►  July (6)
    • ►  June (24)
    • ►  May (3)
    • ►  April (10)
    • ►  March (7)
    • ►  February (8)
    • ►  January (11)
  • ►  2005 (101)
    • ►  December (10)
    • ►  November (13)
    • ►  October (9)
    • ►  September (8)
    • ►  August (7)
    • ►  July (7)
    • ►  June (8)
    • ►  May (12)
    • ►  April (7)
    • ►  March (6)
    • ►  February (1)
    • ►  January (13)
  • ►  2004 (53)
    • ►  December (8)
    • ►  November (5)
    • ►  October (6)
    • ►  September (7)
    • ►  July (5)
    • ►  June (3)
    • ►  May (2)
    • ►  March (3)
    • ►  February (7)
    • ►  January (7)
  • ►  2003 (196)
    • ►  December (12)
    • ►  November (14)
    • ►  October (21)
    • ►  September (23)
    • ►  August (19)
    • ►  July (11)
    • ►  June (14)
    • ►  May (9)
    • ►  April (22)
    • ►  March (20)
    • ►  February (16)
    • ►  January (15)
  • ►  2002 (224)
    • ►  December (15)
    • ►  November (21)
    • ►  October (22)
    • ►  September (12)
    • ►  August (11)
    • ►  July (28)
    • ►  June (19)
    • ►  May (29)
    • ►  April (18)
    • ►  March (19)
    • ►  February (16)
    • ►  January (14)
  • ►  2001 (13)
    • ►  December (2)
    • ►  November (11)

Contributors

  • Kevin Marks
  • Kevin marks