<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ben Ward &#187; Technology</title>
	<atom:link href="http://benward.me/blog/categories/technology/feed" rel="self" type="application/rss+xml" />
	<link>http://benward.me</link>
	<description></description>
	<lastBuildDate>Mon, 26 Jul 2010 03:23:13 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Concerning Foursquare and communicating privacy.</title>
		<link>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Fconcerning-foursquare&amp;seed_title=Concerning+Foursquare+and+communicating+privacy.</link>
		<comments>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Fconcerning-foursquare&amp;seed_title=Concerning+Foursquare+and+communicating+privacy.#comments</comments>
		<pubDate>Sun, 25 Jul 2010 05:36:46 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[foursquare]]></category>
		<category><![CDATA[leo hickman]]></category>
		<category><![CDATA[Location]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[responses]]></category>
		<category><![CDATA[the guardian]]></category>

		<guid isPermaLink="false">http://benward.me/?p=617</guid>
		<description><![CDATA[Leo Hickman wrote about FourSquare. Badly. But not entirely incorrectly, which means swallowing geek pride, and focus on a the major social behaviour problem that he highlights.]]></description>
			<content:encoded><![CDATA[	<p><a href="http://foursquare.com" title="">Foursquare</a> has hit 2 million users, and with it the attention of the general media. The little location service that the geeks of San Francisco and New York embraced has grown up, and the user base now takes in people of entirely different attitudes towards friends, sharing, and the web in general. Like every new internet shiny, it attracts cynicism, and like everything successful, criticism too.</p>

	<p>Together, these factors make Leo Hickman&#8217;s <a href="http://www.guardian.co.uk/technology/2010/jul/23/foursquare" title="">How I became a Foursquare cyberstalker</a>, published in The Guardian on Friday. Lede: &#8220;<q>It&#8217;s the coolest social networking tool in the world. But is the geo-location app Foursquare a stalker&#8217;s dream? Just how easy it is to uncover the intimate details of a complete stranger&#8217;s life?&#8221;</q>.</p>

	<p>Within a small pool of people that I follow the article garnered two kinds of response: Those regarding it an interesting read, and those who think it&#8217;s sensationalist bullshit (<q class="tweet" cite="http://twitter.com/teacup/status/19342446790">&#8220;&#8216;Using Foursquare to tell people where you are results in them knowing where you are! <span class="caps">SHOCK</span>, PANIC&#8217; Sod off, Guardian&#8221;</q> &#8212;&#160;<cite><a href="http://twitter.com/teacup/status/19342446790">Dot</a>, on the Twitter</cite>.)</p>

	<p>We will not be discussing the <em>comments</em> on said article. Holy hell.</p>

	<p>The article <em>was</em> interesting, and written in a somewhat even handed way, and the central premise that you can use new tools to find out where a total stranger is was clearly demonstrated. This is a problem for Foursquare, certainly. But the article is an infuriating read to anyone with intermediate knowledge of Foursquare for a number of reasons.</p>

	<h2>A plethora of technical errors and misrepresentations in Leo Hickman&#8217;s article</h2>

	<p>Throughout, Hickman only semi-qualifies a vast number of his criticisms. You read the article and are given conflicting information about what Foursquare does and does not share, and with who. Some things, as written, are outright falsehoods:</p>

	<ul>
		<li>&#8220;<q>Glance down at your phone and &#8211; as I did with Louise &#8211; see the names of all the other users around you within a mile or so</q>&#8221;. That <em>is</em> a terrifying feature. Also, it&#8217;s not true. Foursquare doesn&#8217;t do that, not even second hand through other services. Foursquare only shows you nearby people who are already your friends on the service.</li>
		<li>The writer&#8217;s obsession with &#8216;GPS&#8217; as a buzzword is irrelevant and misleading in the context of a venue-based, check-in&#8211;based system. &#8216;GPS&#8217; suggests that the service reflects each step you take. But Foursquare only uses <span class="caps">GPS</span> as a mechanism to look up venues. The sharing of that location is a separate step, with additional granularity. Technically, also, Foursquare doesn&#8217;t require <span class="caps">GPS</span>. The Mobile Web interface is entirely text search based. At one point, Hickman writes &#8220;<q>Foursquare also uses your smartphone&#8217;s global positioning system (GPS) to broadcast your precise location to your friends</q>&#8221;. That is not correct.</li>
		<li>At points, Hickman writes &#8216;friends&#8217; in quotation marks, in the same way as you would about &#8220;friends&#8221; on MySpace. Again, this is misleading. It suggests that Foursquare&#8217;s social network is the same network of strangers and acquaintances as other, less sensitive networks like Twitter and Facebook, and it obscures the fact that you are maintaining a different, explicitly authorized friend list.</li>
		<li>&#8220;<q>She was the user allowing a stranger such as myself access to the most personal information &#8212; photograph, full name, Twitter feed etc.</q>&#8221; That is not the &#8216;most personal information&#8217;. Foursquare can share your telephone number with your friends, if you let it, and that is never exposed to non-friends.</li>
		<li>The reference to Jesper Andersen&#8217;s scraping hack is accurate, but the explanation that it was an oversight and a bug rather than deliberate sharing, and that Foursquare have substantially changed the interface in response to this is missing.</li>
		<li>Throughout, there is a total blurring of services: It&#8217;s really not clear from the narrative where a piece of information is sourced from Twitter, vs. where it&#8217;s sourced directly in Foursquare.</li>
		<li>&#8220;<q>Some people are even checking in when they&#8217;re at home. Think of the implications. It&#8217;s crazy.</q>&#8221; It is not documented that you can add your home as a venue on Foursquare with approximate (or no) address information, and you can actually replace the map pin to a nearby, inaccurate location (mine is placed on a nearby cross-street, for example.)</li>
		<li>The article refers to the use case of Foursquare being about getting freebies from coffee shops. That&#8217;s weird to me, because no-one I know in San Francisco cares about the freebies: It&#8217;s the social utility, enabling serendipitous meetings and spontaneous, real-world, social events that people here love. More on this complaint below, though.</li>
	</ul>

	<p>Near to the end, as the article begins to conclude, comes this admission:</p>

	<blockquote>Louise&#8217;s setting on Foursquare automatically tweets her location whenever she checks into a location, which was how I could tell via her Twitter feed, without being her Foursquare &#8220;friend&#8221;, where she had been in recent days in such detail.</blockquote>

	<p>That&#8217;s a technically very important difference, the clear omission of which has shaped the reader&#8217;s perception of FourSquare.</p>

	<h2>People <em>are</em> leaking social information</h2>

	<p>Overall, this article is a misleading representation of Foursquare to the readership of the Guardian. But it is not my intention to tear apart the article or its author, only to document the substantial faults above, and hopefully serve as a reference to debunk those technical faults. But to rip into it emotively would be wrong, because although much detail and attribution of functionality is fuzzy (or wrong), the social problem that the article describes is absolutely real, to the point that it doesn&#8217;t really matter that the descriptions of Foursquare aren&#8217;t always correct.</p>

	<p>The problem described is this: That through using Foursquare <em>in combination with a linked service</em>&#8212;namely Twitter&#8212;it is possibly for users to carelessly leak very sensitive information about <em>some</em> of their habits of movement.</p>

	<p>That&#8217;s the actual problem, and it&#8217;s real.</p>

	<p>The problem is caused by people not thinking about what they do. People are infuriating like that, and yes they&#8217;re &#8216;doing it wrong&#8217;, but it&#8217;s the truth of the matter. People see the function to pair their Foursquare and Twitter accounts so they do. They see the function to broadcast their check-in to Twitter so they do. They&#8217;re in an application context of closed friends, and they don&#8217;t consider that they&#8217;re spreading information into different places.</p>

	<p>This problem is exacerbated by the user&#8217;s shallow understanding of <em>Twitter</em>. Plenty of people don&#8217;t seem to understand that their public Twitter account can be read by people who are not within their documented friend/follower network. They don&#8217;t think about it. I posit that most probably have never had an incident to discover someone unexpected has read what they&#8217;ve posted. As such, most are unaware of how far they are spreading a hyperlink to their current venue.</p>

	<p>It&#8217;s also somewhat understandable that when a user sees the presence of a feature in Foursquare at all, they will extend whatever trust they hold in Foursquare to that integrated service. Twitter is a checkbox. There&#8217;s no gravitas to checking it.</p>

	<p>It&#8217;s Foursquare&#8217;s problem. Though I&#8217;m annoyed at the article and the way it&#8217;s written, and annoyed because I&#8217;m again going to have to explain to my parents that I&#8217;m not an irresponsible moron, Foursquare has allowed it to be written. Misinformed and lax articles exist because they are written about misinformed and lax users; those people are using Foursquare now. Foursquare has to address the problems that those people face, regardless of how much the technically literate can separate the concerns. Foursquare have to provide assistance to use the product responsibly, because it has been clearly demonstrated that users don&#8217;t understand new, complicated socio-technical issues that we take for granted.</p>

	<h2>Foursquare has to do more</h2>

	<p>This means: Foursquare needs to explain in their apps more about how people should use it. Foursquare is not an open ended social environment: There are primary use cases, and others that fall outside of the service goals. As such, they can provide both positive education in how to use Foursquare, but also document anti-patterns in such a way that discourages known bad practice in a way that doesn&#8217;t hurt Foursquare&#8217;s core function, and also encourages the good practice of thinking about what users share in <em>all</em> parts of the app.</p>

	<p>Foursquare itself has a secure design (bugs in implementation notwithstanding.) They don&#8217;t have to fear hurting growth by discouraging mistaken, over-personal over-sharing. Some options that cross my mind:</p>

	<ol>
		<li>When adding a friend, emphasize to users that you will see all one another&#8217;s check-ins in real time. When responding to friend requests, use descriptive &#8220;Share Location&#8221;&#160;and &#8220;Do Not Share&#8221; labels that describe the consequence, rather than &#8216;Yes&#8217;/&#8216;No&#8217; buttons.</li>
			<li>When friend requests come in, Foursquare needs to do more to help you identify the person. A name alone is woefully inadequate. Inclusion of the profile&#8217;s <span class="caps">URL</span>, and pulling in a Twitter bio would help. More advanced indicators (whether you are already friends on Facebook and Twitter, or if they&#8217;re saved in your phone address book) would also be smart. Right now, people are responding to friend requests that consist of a name, and two buttons to accept or reject. My response is to reject anyone I can&#8217;t identify, others will not. There&#8217;s no guidance. It&#8217;s a bad interface.</li>
			<li>When clicking the &#8216;Share to Twitter&#8217; checkbox for the first time, expand an inline tip that informs the user that Twitter is not restricted to their Foursquare friends, or even their Twitter followers. Educate the user about Twitter inside Foursquare, because it&#8217;s been demonstrated that the user needs that education.</li>
			<li>When clicking the &#8216;Share to Twitter&#8217; checkbox when also checking into a venue that&#8217;s been categorized or tagged as a &#8216;Home&#8217;, remind the user that this is someone&#8217;s personal address that perhaps they should think twice about publishing. Checking into home within Foursquare is fine, because it&#8217;s secure within your approved friends. But it&#8217;s not the primary case for Foursquare, so encouraging second thoughts doesn&#8217;t hurt the service uptake. Furthermore, it encourages good manners and sensitivity toward personal venues. You could actually go as far as disabling the sharing functionality for venues categorised as a &#8216;Home&#8217;, but it would be better to actively communicate, so the user understands the principal&#8212;they will inevitably check into homes that aren&#8217;t categorised correctly.</li>
			<li>Encourage the user to use an approximate address when adding their own home as a venue. Again, it&#8217;s not a source of Foursquare&#8217;s income, so if someone decides not to do it at all, no-one gets hurt.</li>
	</ol>

	<p>Ultimately, the interconnection of web services is mis-understood. We take it for granted that it happens at all, and by not taking the time or putting in the effort to explain it <em>very</em> clearly, the scenario in Leo Hickman&#8217;s article is not discouraged, and without the service in question filling in all the blanks at their end, article&#8217;s like Leo Hickman&#8217;s cannot be easily refuted.</p>

	<h2>What is the scale of the problem?</h2>

	<p>For all of the technical errors in Hickman&#8217;s article, my biggest complaint is actually this: That he didn&#8217;t investigate further. As a San Franciscan early adopter of Foursquare, my usage pattern is pretty safe: I only share with actual friends, I remove people when we lose touch, I only share a check-in to Twitter if it&#8217;s a non-sensitive location (and also, only when I write a message to accompany the check-in, because anything else is annoying.) I don&#8217;t automatically broadcast mayorship or badge achievements.</p>

	<p>But whilst my observation is that this pattern of behavior is quite common to the first generation users (and those who came to Foursquare from its precursor, Dodgeball) I have <em>no idea</em> what the general behavior is around Foursquare&#8217;s newer generation of users, or when the shift in behaviour occurred. I have every reason to believe that there are entirely different attitudes now, such that I can&#8217;t dismiss the article&#8217;s cynical main narrative. If careless, uninformed leaking of location information represents the majority of Foursquare usage, then I and my way of using the app is irrelevant. If most people are irresponsible on Twitter via Foursquare, then Foursquare has to deal with the problem.</p>

	<p>Unfortunately, the article makes no qualification of how common the problem is. It suggests that the risk of being stalked and of revealing your information is universal. It isn&#8217;t. So what percentage of Foursquare users <em>are</em> leaving themselves vulnerable? How many potential targets did Hickman fail to track down? He doesn&#8217;t say. That&#8217;s a real shame, and a real failure of journalism in the piece.</p>

	<p>At the core though: A service can never do too much to communicate with its users (real users, and interested observers that pass through.) Communicate well and you&#8217;ll avoid misunderstandings and misuse. Communicate badly and the opposite will happen. Everyone&#8217;s a cynic, and some of them have the privilege to publish articles about you. Whether it&#8217;s fair or not, the onus is on Foursquare to communicate better, and prevent this scenario altogether.</p>

	<h2>Edit History:</h2>

	<p><ins datetime="2010-07-25">This article was edited on Sunday 25th to correct the case of &#8216;Foursquare&#8217;&#160;from &#8216;FourSquare&#8217;, add some additional quotes from Leo Hickman&#8217;s article, add the suggestion that Foursquare include Twitter biographic detail with friend requests, and make a handful of other tweaks to the prose.</ins></p>
 ]]></content:encoded>
			<wfw:commentRss>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Fconcerning-foursquare&amp;seed_title=Concerning+Foursquare+and+communicating+privacy./feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Understand The Web</title>
		<link>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Funderstand-the-web&amp;seed_title=Understand+The+Web</link>
		<comments>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Funderstand-the-web&amp;seed_title=Understand+The+Web#comments</comments>
		<pubDate>Sun, 02 May 2010 08:37:39 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Ben Ward's Journal]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[apis]]></category>
		<category><![CDATA[applications]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://benward.me/?p=601</guid>
		<description><![CDATA[The Web _does_ suck at APIs, and hardware devices, and 3D acceleration. None of those things have anything to do with being a _web of information_. This essay tries to explain why I disagree so strongly with recent detractors, and why I passionately believe in the web's true, native architecture: Interlinked information.]]></description>
			<content:encoded><![CDATA[	<p>Perceptions of the web are changing. People are advocating that we treat the web like another application framework. An open, cross-platform, multi-device rival to Flash and Cocoa and everything else. I&#8217;m all for making the web richer, and exposing new functionality, but I value what makes the web <em>weblike</em> much, much more.</p>

	<p><hr /></p>

	<p>The last few days have been tough for web evangelism. Or at least, tough for those of us who like to be regarded as level-headed.</p>

	<p>First, <a href="http://www.engadget.com/2010/04/28/hp-buys-palm/" title="">HP purchased Palm</a>, and immediately declared their commitment and belief in WebOS. A great move for both companies for sure, but cue comments like that of <a href="http://twitter.com/bgalbs/status/13053103975" title="">@bgalbs</a> on Twitter: <q>&#8220;The biggest tech company just bet its mobile strategy on the web&#8221;</q>. Similarly, <a href="http://twitter.com/joehewitt/status/13031002283" title="">Joe Hewitt</a> proffered <q>&#8220;Hopefully we&#8217;ll look back on today as the day the mobile web began to eclipse proprietary mobile platforms.&#8221;</q>.</p>

	<p>Meanwhile, the feuding between Apple and Adobe regarding Flash on iPad took an unexpectedly public twist, with <a href="http://www.apple.com/hotnews/thoughts-on-flash/" title="">Steve Jobs writing at length</a> everything that John Gruber had <a href="http://daringfireball.net/2010/01/apple_adobe_flash" title="">already</a>  <a href="http://daringfireball.net/2010/04/why_apple_changed_section_331" title="">described</a> about defending his platform from third-party influence, but also that Apple are choosing to invest in native running open standards. Jobs incorrectly brands this &#8216;HTML5&#8217;. He also criticises Flash for being proprietary whilst evangelising the H.264 video codec (licensing for H.264 is not &#8216;open&#8217;, either.)</p>

	<p>Adobe hustled a number of responses. Rapidly, a <a href="http://blogs.wsj.com/digits/2010/04/29/live-blogging-the-journals-interview-with-adobe-ceo/" title="">live interview with <span class="caps">CEO </span>Shantanu Narayen</a>. Whilst everyone mentioned so far is guilty of muddying terminology, not saying exactly what they think they mean, and/or some general platform and framework-related confusion that I&#8217;ll elaborate on below, Mr Narayen is the first to throw some incomprehensible bullshit into the day. He refers to &#8220;open content&#8221;. <em>What is that?</em> Content wrapped inside an impenetrable, proprietary, single-vendor container format? Flash, by design, locks content away (in exchange for other supposed benefits.) Comments like &#8220;Flash is an open specification&#8221; is unhelpful too: The <a href="http://www.adobe.com/devnet/swf/" title="">page hosting the Flash specification</a> doesn&#8217;t specify a license, the document itself just exerts copyright and disclaimers on behalf of Adobe. Furthermore there are no native or competing implementations of Flash, nor is the development of Flash open to participation.</p>

	<p>Adobe has for years relied on bullshit merchandise to remain relevant in the &#8216;future of the web&#8217; debate. Three years since the launch of the iPhone visibly snubbed them, they have not shipped an acceptable, functional version of Flash on any other handset. If the upcoming Android release doesn&#8217;t perform well, there will be no reprieve.</p>

	<p><hr /></p>

	<p>Web Evangelism got hard. When <a href="http://zeldman.com" title="">Zeldman</a> wrote Designing With Web Standards, there were two standards that mattered: <span class="caps">HTML</span> and <span class="caps">CSS</span>. They were the path to cross-browser compatibility, and thus they were the route to a brighter future (both for design, and for information publishing.) 12 years later, <em>holy shit</em>. JavaScript joined the standards party, and then became quickly obfuscated by frameworks. <span class="caps">CSS3</span> stablised, Webkit extended <span class="caps">CSS</span> further (and it&#8217;s still called <span class="caps">CSS3</span>), a plethora of new standards on the server and client: OAuth, OpenID, Contacts, Connect, Geolocation, microformats, widgets, <span class="caps">AJAX</span>, HTML5, local storage, <span class="caps">SPDY</span>, &#8216;The Cloud&#8217;&#8230;</p>

	<p>All of these <em>things</em> are vying for attention and evangelism. Some of them are great, some of them are stupid, but they&#8217;re all clubbed together under this vague banner of &#8216;The Open Web&#8217;. It sets expectations and demands from developers, who are all the while being wowed by the efficiency and quality of proprietary application frameworks like Flash and Cocoa.</p>

	<p><hr /></p>

	<p><aside>There exists on the web a collective memory problem. It&#8217;s a famous fault in software engineers to instinctively favour reinvention over reuse, not just because they are unfamiliar with what came before, but because they misunderstand why it came before. This is a rule that is important to understand, so that it can be broken. It is not well understood, yet it is regularly broken.</aside></p>

	<p><hr /></p>

	<p>Besides memory, the half-life of most things on the internet is short. Frustratingly, terminology is no exception. From the coinage, we lose meaning and specificity within a few years, sometimes only a matter of months.</p>

	<p>&#8216;<dfn><span class="caps">HTML5</span></dfn>&#8217; now refers to a collection of related client-side technologies, branded together as a product. It is no-longer just a hypertext <a href="http://dev.w3.org/html5/spec/Overview.html" title="">specification document</a>, and everything that concerns document semantics is being ignored anyway. This is usage that Steve Jobs employed this week.</p>

	<p>&#8216;<dfn>Open</dfn>&#8217; is lost.</p>

	<ul>
		<li>&#8226; The H.264 video codec is not open. It is patent encumbered, and there is a financial obstacle to license those patents. Yet, despite this, H.264 is bundled in with discussion of an <em>open</em> web stack. In practice it may be &#8216;open enough&#8217; to function on the web. Operating Systems and Browsers will license it for playback, and the authority that grants the licenses is continuing to allow free (as in beer) usage of the codec by web publishers. But a change to those terms, and eventual enforcement of fees on big publishers is possible.</li>
		<li>&#8226; Adobe are certainly full of shit here, though. Absolutely full of it that it makes me angry. &#8216;Open content&#8217;?! Locked up inside Flash containers? That&#8217;s as closed as can be. At least if you uploaded it as a flat image you could run content through <abbr title="Optical Character Recognition"><span class="caps">OCR</span></abbr> it and recover the text! Let&#8217;s not get stated on their <a href="http://www.openscreenproject.org/" title="">open screen project</a>. To Adobe, &#8216;open&#8217; means &#8216;cross platform, on platforms that Adobe provides support for, for as long as Adobe chooses to support them.&#8217; That&#8217;s very different. Their use of &#8216;open&#8217;&#160;is an outright lie.</li>
	</ul>

	<p>Then, there&#8217;s &#8216;web&#8217;.</p>

	<p>On this word rests most of our understanding (and misunderstanding) of what can and can&#8217;t be reasonably achieved with applications in the browser, over <span class="caps">HTTP</span>. What does it mean to be a &#8216;web application&#8217;? What are the <em>expectations</em> of a web application? Or of any web content, for that matter?</p>

	<p>Off the back of the Apple verses Adobe mudslinging, Joe Hewitt went on <a href="http://www.exquisitetweets.com/tweets?ids=13031002283.13032980959.13090363860.13090720669.13090747143.13091031807.13091231807.13091325835.13094164197.13094261355.13094326988.13094617071.13095015896.13095170856.13095254263.13095304769.13095460167.13097165783.13097223950" title="">a very, very long rant</a> about the state of &#8216;the web&#8217; as an application platform.</p>

	<p>In parts, I agree, certainly with regard to the process of standardisation. Standards are <em>supposed</em> to be derived from implementation, and standardised technologies will be better for real-world iteration. Heck, our entire <a href="http://microformats.org/wiki/process" title="">microformats process</a> is based around codifying examples in the wild. The failure of <span class="caps">CSS</span> to define a layout syntax (<a href="http://www.w3.org/TR/css3-layout/" title="">choose</a> <a href="http://www.w3.org/TR/css3-flexbox/" title="">from</a> <a href="http://www.w3.org/TR/css3-grid/" title="">three</a>) illustrates the need for implementations to lead.</p>

	<p>However, the suggestion that Microsoft were bullied out of innovating the web, or that developers should pursue whizz-bang APIs to the point of single-browser dependency leaves me sour. This is the short, perhaps selective memory that the internet suffers from. It is not acceptable to me that 21st century knowledge retention has become so short and shallow as to be overwritten by influential ranting on Twitter. A greater tool for the dissemination of misinformation has never been known.</p>

	<p><blockquote cite="http://twitter.com/joehewitt/status/13091231807"><p>For those too young to remember, IE was innovating like crazy from 4.0&#8211;6.0, right up until the <abbr title="US Department of Justice"><span class="caps">DOJ</span></abbr> and web standards commies intervened.</p></blockquote></p>

	<p>Microsoft Internet Explorer did not stop innovating because of &#8216;standards commies&#8217;. That&#8217;s offensive and wrong. Web standards advocates went after Microsoft because they failed to adequately support basic, foundational web standards like <span class="caps">CSS</span>, necessary to publish an interoperable web of information in which Firefox and <span class="caps">KHTML</span> and everyone else could even compete, let alone succeed. That early <span class="caps">CSS</span> push was also a vital, huge step in making web content universally accessible beyond visual media.</p>

	<p>Microsoft&#8217;s development of enhancements like ActiveX, and <code>XMLHttpRequest</code> were not being prepared to be standardised for the web with <span class="caps">W3C</span> participation, they were invented in such a way as to inject proprietary, Windows-only code into the web. Tools not to make to web better, but to make it dependent on Microsoft. Chris Wilson has since <a href="http://cwilso.com/2010/04/30/the-ie-plateau-a-history-lesson/" title="">written more accurately</a> about the plateau in IE development on his blog.</p>

	<p>Contrast Microsoft&#8217;s method in the 90&#8217;s to the more recent <span class="caps">CSS</span> efforts coming out of Webkit: Extensions to <span class="caps">CSS</span> are followed promptly by proposed specifications (such as <a href="http://www.w3.org/TR/css3-animations/" title=""><span class="caps">CSS </span>Animations</a>). Microsoft, from the top down were trying to &#8216;own&#8217; the web. (More recently, to their immense credit, they&#8217;re in the right game. The aforementioned <a href="http://www.w3.org/TR/css3-grid/" title=""><span class="caps">CSS </span>Grid Layout</a> module is from Microsoft engineers.)</p>

	<p>Meanwhile, <a href="http://sachin.posterous.com/" title="">Sachin Agarwal</a> is writing that <a href="http://sachin.posterous.com/the-web-sucks" title="">The Web Sucks</a>, again talking about the web as an application platform:</p>

	<p><blockquote cite="http://sachin.posterous.com/the-web-sucks"><p>Web applications don&#8217;t have threading, <span class="caps">GPU</span> acceleration, drag and drop, copy and paste of rich media, true offline access, or persistence. Are you kidding me?</p></blockquote></p>

	<p>There, in that quote, is where I want to pull all of this together. Sachin&#8217;s complaint has absolutely <em>nothing</em> to do with the web. Think about that word; &#8216;web&#8217;. Think about why it was so named. It&#8217;s nothing to do with rich applications. Everything about web architecture; <span class="caps">HTTP</span>, HTML, <span class="caps">CSS</span>, is designed to serve and render content, but <em>most importantly</em> the web is formed where all of that content is linked together. That is what makes it amazing, and that is what defines it. This purpose and killer application of the web is not even comparable to the application frameworks of any particular operating system.</p>

	<p>That&#8217;s the kicker. We talk about &#8216;web applications&#8217;, the &#8216;open web stack&#8217;. People are citing HP&#8217;s purchase of Palm and investment in WebOS as a victory for the web. We talk about applications built using <span class="caps">HTML</span>, CSS and JavaScript in the same breath as content published using <span class="caps">HTML</span> semantics.</p>

	<p>Want to know if your &#8216;HTML application&#8217; is part of the web? Link me into it. Not just link me <em>to</em> it; link me <em>into</em> it. Not just to the black-box frontpage. Link me to a piece of content. Show me that it can be crawled, show me that we can draw strands of silk between the resources presented in your app. <strong>That</strong> is the web: The beautiful interconnection of navigable content. If your website locks content away in a container, outside the reach of hyperlinks, you&#8217;re not building any kind of &#8216;web&#8217; app. You&#8217;re doing something else.</p>

	<p>Palm WebOS applications are awesome, but they are <strong>not</strong> part of the web. An app might interact with data on the web, and they are built with similar <span class="caps">HTML</span>, CSS and JavaScript technologies. That&#8217;s great, but they are not  a connected, interlinked part of the web.</p>

	<p>We&#8217;re talking about two very different things: The web of information and content, and a desire for a free, cross-platform Cocoa or .NET quality application framework that runs in the browsers people already use. The latter cause is louder, and risks stomping over the more valuable, more important, more culturally indispensable part of the web.</p>

	<p>I&#8217;m not saying that better, more abstracted JavaScript APIs are unwelcome. I&#8217;m not saying that APIs to access devices like webcams and microphones aren&#8217;t useful or even important. Even WebGL, as far out of my field of interest as it is, would be a great thing.</p>

	<p><em>But</em>, the open publishing nature of the web, and the requirement that information be accessible, will inherently cause it to lag behind other platforms. The success of the web, the success of this impossibly huge network of information is because of the open, universally accessible, cross-platform, cross-device nature of web content. Cross-platform <em>user interface</em> sucks. It&#8217;s a nightmare of inconsistency and wrong, momentarily obsoleted assumptions. But cross-platform content? Well that <em>is</em> content. It&#8217;s articles and poems and pictures and movies and music, <em>everywhere</em>! How brilliant is that! Calling for browsers to make massive proprietary advances (even with the caveat of standardising later), suggesting that users should tolerate swapping between browsers, or even devices, to access particular content because you&#8217;ve obscured it behind a bespoke <span class="caps">API</span> is an absurd throwback to days we&#8217;ve left long behind; a proposition that would result in information and culture being locked away. Nothing is worth that, especially not &#8216;web applications&#8217;.</p>

	<p>If you reach the point of building a browser-based application that you depend on so many proprietary enhancements that your users can only access it using Google Chrome, I think you&#8217;ve picked the wrong platform. If you want to built the most amazing user interface, you will <strong>need</strong> to use native platforms. A single vendor&#8217;s benevolent curation of their framework will always outpace the collaborative, interoperable developments of the web, whether it&#8217;s locked in a standards process or not. When they do a good job (like Apple have with CocoaTouch) their platform will succeed. But the web will always be the canonical source of information and relationships. That&#8217;s what it was built for. Blogging at length about how much the device APIs suck won&#8217;t ever undo that, nor change the fact that turning <span class="caps">HTML</span> in a rich application dialect is still a very new idea.</p>

	<p><hr /></p>

	<p>Personally, aside from all of this almost ideological disagreement over what the web is for, and what you can reasonably expect it to be good at, I honestly think that &#8216;Desktop-class Web Applications&#8217; are a fools folly. Java, Flash, <span class="caps">AIR</span> and QT demonstrate right now that cross-platform applications are <em>always</em> inferior to the functionality and operation of the native framework on a host platform. Steve Jobs is right in his comments that third-party frameworks are an obstacle to native functionality.</p>

	<p>Creating generic, non-native interfaces that run in a web browser won&#8217;t be any better than the cross-platform applications that came before (see <a href="http://cappuccino.org/" title="">Cappucino</a>.) The idea of undermining the core function of the web to achieve that is detestable.</p>
 ]]></content:encoded>
			<wfw:commentRss>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Funderstand-the-web&amp;seed_title=Understand+The+Web/feed</wfw:commentRss>
		<slash:comments>54</slash:comments>
		</item>
		<item>
		<title>On More Open Development Environments</title>
		<link>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Fopen-development-environments&amp;seed_title=On+More+Open+Development+Environments</link>
		<comments>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Fopen-development-environments&amp;seed_title=On+More+Open+Development+Environments#comments</comments>
		<pubDate>Fri, 29 Jan 2010 11:32:11 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Closed]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[ipod]]></category>
		<category><![CDATA[Open]]></category>
		<category><![CDATA[SDK]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://benward.me/?p=585</guid>
		<description><![CDATA[Many of the restrictions around the iPhone OS are well documented and infamous. Here though, I lament the loss of a less regarded capability of open systems; the extensibility of existing applications themselves, and explore the closest alternative on the iPad: The web browser, and the web itself.]]></description>
			<content:encoded><![CDATA[	<p>In discussing the iPad device, I was going to turn attention to the meta discussion that has blown up around the expansion of the closed and guarded software platform that extends from the iPhone (and now iPad) <abbr title="Software Development Kit"><span class="caps">SDK</span></abbr>. I want to flip this around, though, and focus on a feature of Mac <span class="caps">OSX</span>&#8217;s more open architecture that I have found immense value in, and that is missed in a close environment.</p>

	<p>But first:</p>

	<blockquote>If I had an iPad rather than a real computer as a kid, I&#8217;d never be a programmer today.</blockquote>

	<p>&#8212;<cite><a href="http://al3x.net/2010/01/28/ipad.html">Alex Payne</a></cite></p>

	<p>Alex&#8217; quote has been whipping around today, and when I first picked it up had been distorted to imply: &#8220;If I had <em>only</em> an iPad, rather than a real computer, and there were no open computers nearby, or at school, I would have never learned how to programme.&#8221; That&#8217;s a bit different. <em>Thanks</em> Twitter.</p>

	<p>Alex goes on to talk about hacking on the machines he grew up with. Breaking them, repairing them. That&#8217;s a kind of activity that is dead and done in a closed, <span class="caps">DRM</span>-encrypted encrypted environment, certainly. However, the sentiment that has been echoed on his behalf (and I don&#8217;t think this is what he meant), is that people would not become programmers at all. That&#8217;s bullshit. Even if <em>every</em> computer on earth was a closed environment, people would be learning to programme, it just wouldn&#8217;t be the same way they do it now.</p>

	<p><strong>If <code>root</code> did not exist, it would be necessary to invent it</strong>. In a world with only closed systems, commercial success would still be tied to the development of third party apps, but the responsibility to train developers and introduce people to programming would fall to the gatekeeper of each system, rather than it being something that can organically <em>happen</em>. So, Apple, or Microsoft, or whoever, would be shipping programming sandboxes for their devices; maybe scripting tools, maybe programming games, maybe cut-down versions of the professional development environment. Whatever it would be, if there was no open ecosystem to learn in, a closed system to learn would be created. The idea that people would not become programmers in 1995 because they can&#8217;t do everything to a single closed system in an otherwise open industry <em>today</em> is a fallacy. If the first computers had been closed, everything would be different, right down to the seeds that inspired our initial passions for software development.</p>

	<p>Which is not to say that I think everything would be fine. I think we as an industry, as a species, would be less creative and less innovative without 25 years of open computing. Our world and lives would be worse. But we would still have new programmers. And that is all I have to say about that.</p>

	<p>Now, the possibility that we might find ourselves moving into a period of closed devices throws up a number of obvious fears: Apps getting rejected by gatekeepers, and the physical capabilities of devices being locked away behind private APIs, plus the inability to add new capabilities to a device without licensing a proprietary dock connector are three obvious ones. They are not my main cause for concern. They&#8217;re big roadblocks, but they&#8217;re also all enforced by policy and could simply cease on any given day.</p>

	<h2>Allow me to talk about some of favourite software on Mac <span class="caps">OSX</span></h2>

	<p><a href="http://ianhenderson.org/megazoomer.html" title="">Megazoomer</a> is an add-in for Mac <span class="caps">OSX</span>. It&#8217;s a single feature, and once installed it injects a new piece of functionality into every Cocoa app; under the <kbd>View</kbd> menu, you can now choose <kbd>Mega Zoom</kbd> (or press <abbr title="Command and Return"><kbd>⌘↩</kbd></abbr>. The window smoothly scales to true full screen, the Dock and Menu Bar slide out of the way, you can switch any application into a tranquil, productive <a href="http://www.hogbaysoftware.com/products/writeroom" title="">WriteRoom</a>.</p>

	<p><a href="http://www.inquisitorx.com/safari/" title="">Inquisitor</a> was a beautiful hack that added auto-complete search suggestions, inline search results, and search provider customisation. It predated the simpler, native search suggestion that now ships in Safari 4, and is still more polished (without being bloated) than any other search suggest feature I&#8217;ve seen. It stopped being maintained when Snow Leopard forced a change to the Input Manager integration method, but <a href="http://www.machangout.com/" title="">Glims</a> is a similar replacement.</p>

	<p>The <a href="http://microformats.org/wiki/Safari" title="">Microformats Plugin for Safari</a> adds an hCard and hCalendar parser to Safari, and shows an alert when you visit a page containing embedded data. It lists the items, and lets a user add contacts and events to their native Address Book and iCal applications. It was simple, worked pretty well and was a hugely valuable demonstration of how microformats could be exposed in user interface (I wrote similar thoughts about this sort of <span class="caps">UI </span><a href="http://benward.me/projects/microformats/uf-web-browser" title="">at the same time</a>.)</p>

	<p><a href="http://www.rogueamoeba.com/airfoil/mac/" title="">Airfoil</a> is an application for <span class="caps">OSX </span>(and Windows) that allows you to stream any audio, from any application, over your local network to an Airport Express audio hub. It&#8217;s a feature of iTunes (AirTunes) that allows you to stream what you play there to Airport; this app makes it system-wide. It&#8217;s a fully supported, commercial piece of software, but one of the ways it works best is by injecting a piece of code into applications called &#8216;Instant Hijack&#8217;; a hook allowing Airfoil to grab audio from a running application right away, rather than having to relaunch the application. It&#8217;s very, very slick.</p>

	<p>I want to draw particular attention to the fact that all of these apps are add-ins for the native, closed-source Mac <span class="caps">OSX</span> environment. They&#8217;re not changes to source code, nor do they use featureful extension mechanisms, like the plug-in interfaces of web browsers. These are hacks, add-ins that use a feature of the Mac&#8217;s Cocoa framework, able to change user interfaces and inject functionality in a raw way, at run time.</p>

	<p>Reading the list, the functions I&#8217;ve highlighted here seem small. They&#8217;re enhancements; improvements; subtle. In these cases, their creators have developed <em>single features</em> and added them to existing applications. In doing so, they have prototyped and experimented with web browser functionality that may become native and expected in the future, but right now it&#8217;s new, and to those who install these hacks, they sink or swim based on whether your productivity improves.</p>

	<p>In the environment of the iPhone, or the new iPad, it is this kind of development that is completely lost. Each app, locked up inside its own signed bundle, unmodifiable by design. If someone wants to ship a better search interface for a web browser on the iPad, they have to ship an entire browser. If someone want&#8217;s to ship user interface for microformats in the browser, they would have to build that browser. Some of the earliest demonstrations of microformats came from add-ins like <a href="https://addons.mozilla.org/en-US/firefox/addon/2240" title="">Tails</a> for Firefox, and later the Safari equivalent. The early success and adoption of microformats simply would not have happened without hackable software; allowing a single feature to be augmented onto a greater whole. The innovations of microformats themselves, the implementations we now see in search engines, as well as the momentum in other structured data mechanisms (RDFa, microdata) can be traced down to early, enthusiastic adoption of practical features like Tails, Operator and the Safari Microformats Plugin. Those plug-ins were not just innovative in themselves, but they supported a much broader effort.</p>

	<p>In the case of Airfoil, though the iPad plays music through iPod or Safari, there&#8217;s no native AirTunes offering. If there were, you&#8217;d be beholden to Apple for it to function in third party applications. If they don&#8217;t ship it, no-one can.</p>

	<p>None of these add-ins will exist on the iPhone OS for as long as it remains closed. Of course innovation will happen, of course amazing, standalone applications will be built, but that&#8217;s just it, they stand alone. Dreams of amazing <em>features</em> cannot be built without also building the whole. The nail for anything even close to this functionality is that current App Store politics dictate that you cannot ship applications that themselves interpret code; it&#8217;s not permitted for third parties to include extension capabilities in their apps.</p>

	<p>No hacks. No scripting interfaces. Just apps. Many exciting things will still happen on this platform, even without policy changes. But I offer a lament to the the loss of extensibility.</p>

	<h2>The Web</h2>

	<p>There is <em>one</em> application on the iPhone that supports user scripting, and execution of user extensions, and that application is MobileSafari. Safari, like all web browsers, supports bookmarklets; strings of JavaScript code embedded in a <span class="caps">URL</span>, prefixed with the <code>javascript:</code> pseudo-protocol. The JavaScript code executes when you select the bookmark, and is able to manipulate the context of current page, and navigate to new pages.</p>

	<p>The iPhone bookmarks interface is fairly clunky, and <em>adding</em> bookmarklets is impossible without preemptive effort by the writer, quoting instructions for installing Twittelator&#8217;s bookmarklet on iPhone:</p>

	<blockquote>I first had to navigate in mobile Safari to the Twittelator iPhone bookmarklet page and follow the lengthy instructions there. Basically you have to save that page as a bookmark, and then go back and edit that bookmark to delete everything before the <code>javascript:window.location=%27twit://%27+window.location</code> part of the <span class="caps">URL</span>. Once you do that, the bookmarklet executes the steps to post to Twitter.</blockquote>

	<p>&#8212;<cite class="vcard"><a href="http://www.contentious.com/2009/03/14/safari-iphone-bookmarklets-clunky-setup-but-very-useful/">Safari iPhone Bookmarklets</a> by <a class="fn url" href="http://www.contentious.com/archives/2007/08/02/who-is-amy-gahran/">Amy Gahran</a></cite></p>

	<p>Not very friendly. The other way to get Bookmarklets onto an iPhone is to add them to regular, desktop Safari and then synchronise your bookmarks using iTunes. As such, the <a href="http://tumblr.com" title="">Tumblr</a> bookmarklet for blogging runs on my iPhone, since it&#8217;s in my regular browser too. Others have used JavaScript to recreate the useful &#8220;Find in Page&#8221; functionality you find in desktop browsers. <a href="http://www.lifeclever.com/17-powerful-bookmarklets-for-your-iphone/" title="">Lifeclever</a> documents that and others.</p>

	<p>Since Bookmarklets run in iPhone Safari, it is my assumption they will also run in Safari on iPad. The bookmarks interface there is more conventional; a long menu that pops up over the current page; and as a menu, far more intuitive to pick functionality from. We&#8217;ll see whether there&#8217;s an easier way to add bookmarklets on the device itself.</p>

	<p>The scenario that remains is this: The only extensible software on the closed iPhone OS is the Web. The only place you can enhance an application, rather than replacing it in entirity, is the Web. The only place your feature and someone else&#8217;s feature might co-exist is through two bookmarklets on the same website.</p>

	<p>What we are heading toward is a reality (hopefully temporary, but I suspect for years) where the Web is the only extensible platform on Apple&#8217;s consumer devices. There are already components in place for building a JavaScript development environment within the browser; <a href="https://bespin.mozilla.com/" title="">Bespin</a> is a rich code editor, <a href="http://getfirebug.com/lite" title="">Firebug Lite</a> is a JavaScript bookmarklet to add a <span class="caps">DOM</span> explorer and inspection tools. A web application that lets people write and execute code, and inspect the result, is the only real hacking tool we can offer the actual users of these devices.</p>

	<p>It is interesting to me as an advocate of the Open Web that the tighter grip on the native environment drives people to web standards as their only alternative (both technical and political motivation.) But, as an admirer of Apple&#8217;s very polished native UI, and of the Mac hacks I mentioned at the beginning, I&#8217;m still disappointed.</p>

	<p>It&#8217;s an exciting, inspiring time. If we are brave, then the imposition of these restrictions can only make us smarter when we work around them.</p>
 ]]></content:encoded>
			<wfw:commentRss>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Fopen-development-environments&amp;seed_title=On+More+Open+Development+Environments/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On the iPad</title>
		<link>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Fipad&amp;seed_title=On+the+iPad</link>
		<comments>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Fipad&amp;seed_title=On+the+iPad#comments</comments>
		<pubDate>Fri, 29 Jan 2010 07:27:10 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Ben Ward's Journal]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[ipod]]></category>

		<guid isPermaLink="false">http://benward.me/?p=581</guid>
		<description><![CDATA[I like the iPad; I'd like to buy one for my parents.]]></description>
			<content:encoded><![CDATA[	<p>Like all other technical dorks, it&#8217;s a race not to be the last to pass comment on the beautiful new <a href="http://www.apple.com/ipad/" title="">Apple iPad</a>. I think it&#8217;s the perfect device for my parent&#8217;s living room.</p>

	<p>In summary, the iPad is an extremely well designed, meticulously constructed consumer device. The iPad is something which I think will fit perfectly into the life of someone with desktop computer at home. There, it provides lots of new functionality, and will prove useful a lot of the time. It&#8217;s more convenient, and will enable people to be more social with their cohabitants whilst still having a connection available. It is a device ideal in both size and price for integration information and media access with home life, rather than home-office life. My Father, sat in the living room, is regularly poaching my sister&#8217;s iBook, looking things up on the internet; searching for prices, fact-checking my siblings, keeping up with sports scores, weather and travel information. For him, an iPad would be a perfect addition (though, I think <a href="http://jeffcroft.com/blog/2010/jan/28/ipad-thoughts/" title="">Jeff Croft makes a good point</a> with regard to multi-user support; the living room and kitchen scenarios Apple presented on Wednesday set the tablet in a clearly shared environment, whilst providing access to personal information.) Overall, I&#8217;m very impressed.</p>

	<p>For me, my caveat is that I already use a <em>laptop</em> on the sofa; that makes the iPad a harder sell for immediate adoption. I&#8217;m already sat on my sofa, computing. I&#8217;ll be waiting for functionality to be added to the Tablet over the next six months&#8212;from Apple or from third parties&#8212;and looking to see where it can really add something to my life. I like the form factor.</p>
 ]]></content:encoded>
			<wfw:commentRss>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Fipad&amp;seed_title=On+the+iPad/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Unsubscribe/Unarchive</title>
		<link>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Funsubscribe-unarchive&amp;seed_title=Unsubscribe%2FUnarchive</link>
		<comments>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Funsubscribe-unarchive&amp;seed_title=Unsubscribe%2FUnarchive#comments</comments>
		<pubDate>Thu, 21 Jan 2010 09:58:31 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Ben Ward's Journal]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[project52]]></category>

		<guid isPermaLink="false">http://benward.me/?p=569</guid>
		<description><![CDATA[There is value in email, and that value is communication. Over years, service providers and publishers have taken advantage of email's ubiquity to adapt it for push, notification and automation. Better solutions to those use cases are emerging (or already exist), so this is the time to reclaim the inbox, reduce your email throughput back to what the medium is really good for. I've already seen that a little bit of persistent effort can greatly increase the quality of email as a tool.]]></description>
			<content:encoded><![CDATA[	<p>The evolution in the use of email is quite interesting. Choices we make to balance our communicative overhead, choices others make in the kinds of information they prefer to distribute via email over other mediums, how we react to those changes and learn from reactions. Email is a valuable case study of internet behaviour as it&#8217;s been with us since the start, and it&#8217;s never going to go away either. No matter how strongly the bleeding edges of the technology industry push different forms of communication; wikis, Waves, activity streams and so forth, people will always have a need for medium to long form, considered, chronological communication (and even if it&#8217;s not the most efficient, they&#8217;ll do it anyway.)</p>

	<p>Every change we make to our email behaviour, whether it&#8217;s organisation, tools or simply trying to email less, we are trying to find an effective balance. I&#8217;ve just come out the other side of one change, and am spending a few weeks making a strong, conscious effort in response.</p>

	<p>At this point, my email inbox tends to receive the following: Notifications (from services), content summaries, status changes, reminders; pushed information, newsletters, aggregate news; actual communication, enquiries, conversations, planning and social synchronisation.</p>

	<p>My email clients of choice is Mail on Mac <span class="caps">OSX</span>, and Mail on my iPhone. Previously I used Gmail from Google, but I quit the service because I found the browser-based user interface clumsy,  and the application as a whole aesthetically ugly. Mac <span class="caps">OSX</span>&#8217;s user interface is elegant, the display of email good for reading, and the desktop client remains robust. My email is on an <span class="caps">IMAP</span> server (because that&#8217;s how email should be accessed), and I can fall back to my service provider&#8212;<a href="http://fastmail.fm" title="">Fastmail</a> &#8212;for a clean and functional web interface if I&#8217;m ever away from my main machine. I have also developed a certain wariness of storing too much of my data with Google for free, and prefer to pay for the excellent service I now get.</p>

	<p>Gripes with Gmail as an application remain, but Gmail did massively inform my email behaviour. Most importantly, archiving rather than deletion. I carried over that practice to my new host, and now have some four years worth of email archived on my machine, and backed up around the world. I can, if needed, find pretty much any piece of mail given the right parameters. Not that I will ever need to see most of that mail again. But archiving is easy for a while, and my compulsive nature makes thorough archiving desirable.</p>

	<p>I organise my mailboxes annually. Each year I archive everything from the previous year into an annual parent mailbox, effectively removing all the top-level mail folders from my account hierarchy. I start each year with a bare &#8216;Inbox&#8217;, &#8216;Drafts&#8217;, &#8216;Sent&#8217;, &#8216;Archive&#8217; folder set, and then the categorical mailboxes get recreated when the first relevant piece of mail comes in. Some get recreated within a day, others never come back. For what it&#8217;s worth, I&#8217;ve always found a simple tree structure to be entirely sufficient for organising email; I never proved multi-dimensional tagging to actually be useful in Gmail.</p>

	<p>Although my archive routine is simple, it is slowing me down. Huge amount of archived data, most of it useless. So I have all of my domain renewal notifications? Why? To keep a record of when my registrars have been in contact, so that I know exactly when I was reminded of particular actions. That is an example of me choosing the simplicity of the archive action instead of making a good-value decision about what is worth archiving. I&#8217;ve now accrued too much information to effectively dig through.</p>

	<p>So, my first email goal from now on is to archive <em>less</em>. To trash messages that are of low value. Being an archivist, completist and pedant is an unhelpful email trait.</p>

	<p>Years of signing up for services means that I get a regular stream of automated or blind-mailed content from services. This email I do delete. But because the effort of performing a delete action is so low I have tolerated an increasing quantity of mail for years. The processing cost is low, but occurs frequently and at irregular intervals. The problem is exacerbated in a mobile environment, where a &#8216;new message&#8217; notification triggers a significant interruption. That interruption would be appropriate for valuable, personal communication.</p>

	<p>As well as notifications, I receive a small amount of actual content by email as well; most notably the daily <a href="http://channel4.com/news/snowmail" title="">Snowmail</a> email from Channel 4 News in the UK. Unfortunately, that content is only distributed by email, and is not published as a blog. This is content I read, of value, but is not content that should be pushed to me, it&#8217;s content I should pull up at my convenience.</p>

	<p>My second email goal is to reduce the amount of email I receive in my inbox to be 95% personal communication. This has meant that every day for the past two weeks, I&#8217;ve actually taken the extra time to find the unsubscribe link in the footer, or edit the communication preferences of whichever service is sending notifications, and permanently disable it. I suspect it will take months to clear all of them, since some services are very infrequent in their mailings, but already I&#8217;m finding that if my iPhone vibrates, then the message I&#8217;ve received is now most often of actual interest.</p>

	<p>Newsletters require more work. Email is the wrong delivery mechanism; they should not be push content in the first place. So I&#8217;m going to experiment with subscribing a blog-by-email address to the mailing list in question, so I can convert the content into an <span class="caps">RSS</span> feed and have it consumed by <a href="http://feedafever.com" title="">Fever</a> instead.</p>

	<p>There is value in email, and that value is communication. Over years, service providers and publishers have taken advantage of email&#8217;s ubiquity to adapt it for push, notification and automation. Better solutions to those use cases are emerging (or already exist), so this is the time to reclaim the inbox, reduce your email throughput back to what the medium is really good for. I&#8217;ve already seen that a little bit of persistent effort can greatly increase the quality of email as a tool.</p>
 ]]></content:encoded>
			<wfw:commentRss>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Funsubscribe-unarchive&amp;seed_title=Unsubscribe%2FUnarchive/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Concerning Flash and HTML5</title>
		<link>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Fflash-and-html5&amp;seed_title=Concerning+Flash+and+HTML5</link>
		<comments>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Fflash-and-html5&amp;seed_title=Concerning+Flash+and+HTML5#comments</comments>
		<pubDate>Tue, 23 Jun 2009 02:21:59 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flash killer]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[jon downdell]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[w3c]]></category>
		<category><![CDATA[whatwg]]></category>

		<guid isPermaLink="false">http://ben-ward.co.uk/?p=530</guid>
		<description><![CDATA[An overview of this whole Flash vs. HTML5 brew-ha-ha, and how really the developments concerned are just pragmatic evolution of technology butting up against a couple of short-lived, but lucrative, media opportunities.

HTML 4 supported pictures. HTML 5 supports moving pictures. It's progress.]]></description>
			<content:encoded><![CDATA[	<p>Earlier today I took a certain amount of pleasure <a href="http://micro.ben-ward.co.uk/post/128294973" title="">ripping into</a> Jon Dowdell&#8217;s disingenuous <a href="http://blogs.adobe.com/jd/2009/06/adobe_on_html5.html" title="">Adobe on <span class="caps">HTML5</span></a> post from last week. However, I happen to think that there are some useful points to be made about the relationship between Flash and <span class="caps">HTML5</span>, and how one affects the other.</p>

	<p>It doesn&#8217;t look good for Flash. But Flash isn&#8217;t going to die.</p>

	<p>Firstly, consider some background. Flash has been around for a very long time, providing a platform for games, vector graphics, animation and media playback. It offers massive market penetration, and of course there is only one Flash player, so it purports to offer a consistent experience across platforms.</p>

	<p>However, Flash comes with a number of significant downsides. Firstly, that &#8216;consistent experience across platforms&#8217; might also be written as &#8216;inconsistent experiences on every platform&#8217;. By taking most of its user interface conventions from Microsoft Windows, the experience of using Flash on a Mac is not the same as using any other app in <span class="caps">OSX</span> using native controls. Simple stuff like the behaviour of keyboard chords in text entry controls are different, the text selection colour doesn&#8217;t match the system selection; low level stuff.</p>

	<p>Similarly, the Flash plug-in itself is cited by Google and Apple as being a massive cause of crashes in their browsers, crashes that the browser maker gets the blame for, but is really caused by Flash. <a href="http://www.google.com/googlebooks/chrome/small_08.html" title="">In Google Chrome</a> and <a href="http://twitter.com/daringfireball/status/2078539734" title="">in <span class="caps">OSX </span>Snow Leopard</a>, plug-ins are sandboxed away from the main browser process. Mozilla <a href="http://crash-stats.mozilla.com/query/query?do_query=1&#38;product=Firefox&#38;version=Firefox%3A3.5b99&#38;platform=linux&#38;date=&#38;range_value=1&#38;range_unit=weeks&#38;query_search=signature&#38;query_type=contains" title="">lists</a> Flash as the biggest causes of Firefox crashes on Linux.</p>

	<p>To top it off, for all the claims of &#8216;Accessible Flash&#8217; over the past year, Flash content is still <em>only accessible on Windows</em>; on Mac <span class="caps">OSX</span>, <a href="http://bugs.adobe.com/jira/browse/FP-38" title="">Flash has no integration with VoiceOver</a>. Screen readers are only supported on Microsoft Windows through the <abbr title="Microsoft Active Accessibility"><span class="caps">MSAA</span></abbr> API.</p>

	<p>The iPhone shipped two years ago without Flash support. At the time, some said it was a &#8216;missing feature&#8217;. 24 months later, the iPhone seems to be doing just fine without Flash, and users seem very happy. Adobe have stopped making vapourous comments about having &#8216;Flash for iPhone&#8217; waiting in the wings.</p>

	<p>There are two distinct threads to a Flash vs. <span class="caps">HTML 5</span> discussion. Those are &#8216;Features&#8217; and &#8216;Philosophy&#8217;. Let&#8217;s tackle them separately.</p>

	<h2>Features</h2>

	<p><span class="caps">HTML 5</span> is gaining mind-share because of a handful of key new features that it offers: <code>&lt;video&gt;</code>, <code>&lt;audio&gt;</code> and <code>&lt;canvas&gt;</code>.</p>

	<p>The first two are quite self-explanatory, they are new elements dedicated to providing video and audio media directly in the browser, and provides a <span class="caps">DOM API</span> for controlling the media from JavaScript. Note, the idea is that the media is played back directly by the browser, not through a plug-in like Quicktime or Windows Media Player (which is how video used to work, before Flash).</p>

	<p>This affects Flash because over the past few years, perfectly timed with the rise in available bandwidth to stream audio and video, it provided a solution better than the Quicktime/Windows Media/RealPlayer mangle that came before it. Before, to embed video in pages you needed to provide multiple codecs, depend on bespoke media player UI appearing in your page (all of which was different sizes, and so would break your layout), and half the time your visitors had the wrong version of the plug-in anyway.</p>

	<p>Flash stepped in with a solution: Support for more platforms than any one of the other bespoke players, and you could design your own playback UI around it, too.</p>

	<p>Flash won video from under the feet of Apple, Microsoft and Real by building something that was better, and bypassing their squabbling over codecs.</p>

	<p>But, it&#8217;s just a better, bespoke solution. It&#8217;s still vendor dependent. Flash provided the use-case for &#8216;embedding video with author-defined playback controls&#8217;. The purpose of standardisation is to take that feature and define it, such that anyone can implement it. From there, comes <code>video</code> and <code>audio</code> in <span class="caps">HTML5</span>.</p>

	<p>Flash also provides vector drawing tools. It&#8217;s another useful use-case (graphing, interactive charts, etc.) Again, the standardisation process for <span class="caps">HTML</span> is about taking the use cases from real content on the web and defining it so many people can implement it. <code>canvas</code> (via. Apple) is the implementation for that.</p>

	<p>Three major pieces of functionality. Putting them natively into the browser responds to the needs of web developers. That&#8217;s what the standard is for. Does this mean that <span class="caps">HTML 5 </span>&#8216;kills&#8217; Flash because previously Flash-only functionality is now native? No. But it means that <em>those major use cases</em> no-longer require Flash. There&#8217;s plenty of other, less trivial functionality that Flash supports for which widespread demand does not exist. But <em>of course</em> really common features of web pages are going to be supported in Open Web technology.</p>

	<p>Additionally, you may cite <a href="http://wiki.novemberborn.net/sifr3/" title="">sifr</a> &#8212; using custom typefaces &#8212; as a use-case for Flash. That falls outside of <span class="caps">HTML5</span>, but is covered by an increasingly well supported <span class="caps">CSS3</span> feature, <a href="http://www.css3.info/preview/web-fonts-with-font-face/" title=""><code>@font-face</code></a>.</p>

	<h2>Philosophy</h2>

	<p>I&#8217;ve avoided linking Jon Dowdell here as a major source because although he titled his post &#8216;Adobe on <span class="caps">HTML5</span>&#8217;, his blog also states that his opinions do not represent his company. His post is representative of Adobe&#8217;s <em>general philosophy</em> toward the web, though.</p>

	<p>As far as Adobe are concerned, Flash is <em>part of</em> the web. It&#8217;s not just an optional, bolt-on plug-in for proprietary content. To Adobe, Flash is as much a part of the web as JavaScript or <span class="caps">CSS</span>. They regard is as a legitimate part of the stack.</p>

	<p><blockquote cite="http://blogs.adobe.com/jd/2009/06/adobe_on_html5.html">&#8220;the &#8220;HTML5&#8221; publicity helps marginalize those few who still argue that images, animation, audio/video and rich interactivity have no place on the web. Flash will be able to deliver on those heightened expectations, regardless of what each separate browser engine does.&#8221;</blockquote></p>

	<p>The second part of Adobe&#8217;s philosophy is that consistent support for functionality on the web is non-negotiable.</p>

	<p><blockquote cite="http://blogs.adobe.com/jd/2009/06/adobe_on_html5.html">&#8220;we really do need the ability to predictably deploy advanced capability across a range of device brands and browser brands&#8221;</blockquote></p>

	<p>This philosophy is wrong. One: <em>Flash is not part of the web</em>. The web <em>is</em> the Open Web and anything closed and proprietary is just riding on its back. I don&#8217;t mean that bespoke plug-ins are unwelcome or even &#8216;wrong&#8217;; they provide all sorts of useful functionality. I do mean that if you are a single-vendor creator of a proprietary, patent and license encumbered, undocumented, closed-source plug-in then you have no claim to be part of the <em>infrastructure</em> of the web. The infrastructure, from <span class="caps">TCP</span>/IP upwards, is <strong>open</strong>.</p>

	<p>The consistent support aspect also flies in the face of techniques used with every part of the Open Web stack: Graceful degradation, progressive enhancement, and the fight against the misguided demand for pixel perfection are all battles that have been fought and won since <a href="http://www.zeldman.com/dwws/" title="">Designing for Web Standards</a>.</p>

	<p>The web is about content. Everything above that is dressing (perhaps think of the web as fresh bread, <em>perfectly coated</em> in balsamic vinegar and olive oil). <strong>The fact that older browsers cannot render all the features of your page but can still provide the content to users is a feature</strong>. It&#8217;s the most important feature.</p>

	<p>The Flash philosophy is opposite. Flash is about a complete experience (singular). It&#8217;s about every detail being precisely bevelled into place for every viewer. The consequence of this approach is that it resists the availability of content. The goal of perfect consistent rendering can only be achieved through a single version of this single vendor&#8217;s bespoke plug-in. If you need a feature of Flash 10, Flash 9 users must upgrade to see <em>any</em> of your content, not just the new feature.</p>

	<p>The Flash approach is anti-content; anti-web. Adobe present the idea that Flash is a superior offering because the entire suite of features, in one big blob, is a compelling development offering. But the reason to write on the web in the first place is to make content available broadly.</p>

	<p>In recent years, through multimedia, fonts and and vector drawing, we&#8217;ve seen more and more blocks of content moved into Flash, in the absence of a robust standards-based mechanism. <span class="caps">HTML5</span> redresses that by supporting those use cases. <span class="caps">HTML4</span> supports pictures. <span class="caps">HTML5</span> supports moving pictures. <span class="caps">HTML5</span> supports what people publish on the web.</p>

	<h2>Fuss</h2>

	<p>What is the fuss about? <span class="caps">HTML5</span> doesn&#8217;t compete with Flash as a product, (you could never produce an implementable specification for so much functionality in one go). It just takes some specific, common use-cases for web <em>content</em> and supports them.</p>

	<p>Yet, people on one side are crying for the absolute death of Flash, and clearly some from Adobe are on the defensive to outright dismiss the <span class="caps">HTML5</span> effort.</p>

	<p>Critics may be motivated by any number of those negative user-experiences this article opened with, but Flash won&#8217;t die. If <span class="caps">HTML5</span> takes away one use-case that Flash fulfils, Adobe Flash will add new features that browsers don&#8217;t have. That&#8217;s what plug-ins have always done. Flash can and will iterate faster than browsers and can deploy wider all at once. That said, some of those existing use cases &#8212; namely video playback &#8212; <em>are</em> extremely lucrative for Adobe. Video took Flash from &#8216;optional&#8217; to &#8216;essential&#8217; for a certain slice of web content. The video sharing industry is dependent on Flash.</p>

	<p>Adobe will lose their exclusive grip on that. But, what did they expect? That a massively profitable industry would tie themselves to a single vendor?</p>

	<p>Flash offers only one advantage to video on the web, and I think this one will be genuinely interesting to see turned into a marketed feature. The <span class="caps">HTML5</span> method of embedding video looks like this:</p>

	<p><code>&lt;video src='http://example.org/video/foo.mp4'&gt;&lt;/video&gt;</code></p>

	<p>There&#8217;s the <span class="caps">URL</span> to your video file, right there in the <span class="caps">HTML</span> source, downloaded in raw form. What can Adobe offer publishers? Two &#8216;features&#8217; of software that run absolutely counter to the principals of the open web: <span class="caps">DRM</span> and obfuscation.</p>

	<p>That could be interesting. The survival of Adobe Flash Video online will require them to take the closed, anti-content consequence of Flash&#8217;s model, and instead embrace it as a feature for media companies that fear distribution of their content.</p>

	<p>Really, I think this whole issue is overblown. Maybe it&#8217;s all fuelled by scare-mongering from individuals Adobe, maybe it&#8217;s over-eager Open Web evangelists eager to see closed and proprietary scraped from the face of the web. In reality, it&#8217;s just the pragmatic, ongoing evolution of the web offering useful new functionality.</p>
 ]]></content:encoded>
			<wfw:commentRss>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Fflash-and-html5&amp;seed_title=Concerning+Flash+and+HTML5/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>The Open Product</title>
		<link>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Fthe-open-product&amp;seed_title=The+Open+Product</link>
		<comments>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Fthe-open-product&amp;seed_title=The+Open+Product#comments</comments>
		<pubDate>Wed, 06 May 2009 01:32:51 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[activitystrea.ms]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[facebook connect]]></category>
		<category><![CDATA[foocamp]]></category>
		<category><![CDATA[oauth]]></category>
		<category><![CDATA[open stack]]></category>
		<category><![CDATA[openid]]></category>
		<category><![CDATA[swfoo]]></category>

		<guid isPermaLink="false">http://ben-ward.co.uk/?p=521</guid>
		<description><![CDATA[Talking about how comparing OAuth et al to Facebook Connect is an entirely broken analogy and that the ball sits in the court of product makers like Yahoo! and Google to stand up to Facebook, not the OAuth and OpenID communities that just build the foundations of an open web.]]></description>
			<content:encoded><![CDATA[	<p>Social Web FooCamp was a full two weeks ago, and even now I&#8217;m not entirely sure the lessons of this meeting have entirely sunk in. Surrounded by some of the smartest people in the industry (and other influential oddballs), FooCamp provided a backdrop to see friends and rivals come together and share.</p>

	<p>I was there for my work with <a href="http://microformats.org" title="">microformats</a>, and as someone who periodically pops up to suggest <a href="http://ben-ward.co.uk/blog/oauth-flow/" title="">improving the user experience</a> of <a href="http://oauth.net" title="">OAuth</a>.</p>

	<h2>People</h2>

	<p>MySpace, Facebook, Yahoo, Google, OAuth, Portable Contacts, Activity Streams, Open Social and OpenID. All under one roof. Everyone quite keen to move in positive directions. An exciting mix.</p>

	<p>It was quite something to spend two days in these surroundings, participating in the conversations that determine what happens next. As is my nature though, perhaps the biggest value came through observation and listening. And to cut to the chase, herein lies my principal learning of Foocamp:</p>

	<h2>The Open Stack needs a Product</h2>

	<p>Foo had many, many sessions on the Open Stack; OpenID, OAuth, OpenSocial and Portable Contacts. Some of them concerned with user experience, some with data portability and distributed identity, some with the processes of open development itself. Every single one of those sessions at the very least mentioned Facebook. But more often, the sessions were outright <em>dominated</em> by <a href="http://developer.facebook.com" title="">Facebook Connect</a>.</p>

	<p>A session on building a start-up on the Open Stack was turned into a discussion about Facebook&#8217;s <em>product</em>, and what developers wanted from it.</p>

	<p>Note the emphasis on Facebook&#8217;s <em>product</em>. The way in which we classify the technology of the open, social web and compare it to Facebook Connect is massively flawed.</p>

	<p>Get this clear: Facebook Connect, from inception through <span class="caps">API</span> through user experience, is a <em>single, self-contained, beautifully packaged product</em> for developers. And it&#8217;s <em>awesome</em>. Facebook has the combination of detailed, well maintained user data, a huge user-base and excellent user interface design for the Connect experience. It ticks every box.</p>

	<p><aside>(OK, fine, so it doesn&#8217;t work when JavaScript is unavailable. That&#8217;s not cool. And I balk at the fake-namespace <code>fb:bar</code> elements. Not on my watch, etceteras. But, the end result is still super-slick.)</aside></p>

	<p>Compare to &#8216;the Open Stack&#8217;. <em>There is no product</em>. These are technologies &#8212; wonderful technologies &#8212; with which you <em>could</em> build something with the functionality of Facebook Connect. But at time of writing, there is no mature offering. The branded products from Yahoo and Google are not as strong as Facebook; they&#8217;re less mature in every way. Problematically, though, <strong>the tools have a stronger brand than the implementations</strong>.</p>

	<p>It&#8217;s this that causes the Facebook/Open Web comparison to fall down so quickly. The open technologies are right and true. Using the same open auth and identity protocols is a massive win for developers. But what are you actually implementing?</p>

	<p>The open stack itself doesn&#8217;t contain any data, nor provide any service. It is just the mechanism to provide those services. You don&#8217;t solve anything by &#8216;integrating OAuth&#8217;. <em>OAuth isn&#8217;t a service</em>. The publicity has to shift to actual service providers, where the end users are involved. Because really, it&#8217;s touching those end users that drives developers, not beautiful snowflakes.</p>

	<p>We&#8217;re all imagining a world where you can implement OpenID+OAuth+<abbr title="Portable Contacts">PoCo</abbr> and seamlessly integrate with Google, Yahoo! and any other social network using the same code. But that doesn&#8217;t exist yet. Only the foundations of it exist. And without the data provision from actual products, there&#8217;s no implementation to focus the open stack discussion on.</p>

	<h2>Not broken</h2>

	<p>Whilst it all sounds a bit bleak, nothing here is broken. Facebook has a massive head-start in the marketplace. Yahoo, Google, MySpace et al are playing catch-up in terms of the APIs <em>and</em> the user experiences of their own sites. Is <a href="http://profiles.yahoo.com" title="">Yahoo! Updates</a> as rich an experience as Facebook? Not yet, no. There&#8217;s work happening <em>everywhere</em> to compete, across all aspects of all services. As such, <em>of course</em> Facebook is the more compelling option this year; it&#8217;s obvious that&#8217;s the case.</p>

	<p>Further, as evidenced by Facebook&#8217;s <a href="http://wiki.developers.facebook.com/index.php/Using_the_Open_Stream_API" title="">Open Stream <span class="caps">API</span></a> launch last week, their strategy has been formidably well planned. Over the past twelve months they&#8217;ve been hit with sticks by openness advocates for being locked away in their walled garden, but their priorities have been elsewhere. They&#8217;ve been building a rock solid foundation that, once in place (now), they can start to open up and offer good data from the start. They have the luxury of the market lead, and they can use that to release better, more complete services. That&#8217;s their reward for being first, and they&#8217;ve earned it.</p>

	<p>So, the feeling I come out with is that we should stop thinking about Facebook in the context of open standards (except where they implement them, of course). It&#8217;s a broken comparison. It&#8217;s hard, because the competitors have everything in the air at once, but it&#8217;s down to them over the coming months to turn their adolescent, open-powered APIs into compelling <em>products</em>. The part OAuth plays in this is just to continue becoming as transparent to users as possible.</p>

	<p>It&#8217;s not the job of OAuth and OpenID as part of this &#8216;Open Stack&#8217; to take on Facebook in mindshare. The roles of these APIs (<abbr>PoCo</abbr>, Open Social and Activity Streams included) is to be <em>expected</em> and taken for granted in any new implementation. These are the bricks on which houses are built. But people don&#8217;t buy bricks, and so our eyes need to focus on the products of this work.</p>

	<p>The other point to stress here is that whilst the open stack needs stronger implementations, they don&#8217;t have to be &#8216;NotFacebook Connect&#8217;. That&#8217;s only one use for these standards. The big Open Web offering could be somewhat different. <em>Better</em>, even.</p>

	<p>Be excited. The struggle of Open standards vs. Facebook is a fallacy, they&#8217;re just efforts a little out of sync. This year, with maturing, big products powered by open technologies, we&#8217;ll see things built that extend beyond the achievements of Facebook&#8217;s walled garden age. MySpace, Google, Yahoo! et al are all moving together toward something quite special. Developers will be able to take on exciting new, provider agnostic apps with this technology. Just accept that the second generation of competitors need a little time and encouragement to build out.</p>

	<p>Oh, and don&#8217;t be surprised to see Facebook active in all this, too. In the end, they&#8217;ll be as open as anyone else.</p>
 ]]></content:encoded>
			<wfw:commentRss>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Fthe-open-product&amp;seed_title=The+Open+Product/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Microformats in 2009</title>
		<link>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Fmicroformat-2009&amp;seed_title=Microformats+in+2009</link>
		<comments>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Fmicroformat-2009&amp;seed_title=Microformats+in+2009#comments</comments>
		<pubDate>Mon, 26 Jan 2009 09:13:25 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Ben Ward's Journal]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[microformats]]></category>

		<guid isPermaLink="false">http://ben-ward.co.uk/?p=505</guid>
		<description><![CDATA[My personal thoughts on the microformats community at the start of 2009, where we might go, where I'd like us to go, and the kinds of new developers I hope get offered to developers. I hope it inspires others to write up their own ambitions for the year.]]></description>
			<content:encoded><![CDATA[	<p><img src="/res/posts/mF.png" alt=""></p>

	<p><a href="http://microformats.org" title="">Microformats.org</a> is an interesting beast to work for. An informally arranged organisation of volunteers, overseeing a broad array of subject areas and points of interaction. 2008 was my first full year of administrative involvement with the group, for what value of &#8216;administration&#8217; there really is.</p>

	<p>This post is on my personal blog because there is no official line of policy at microformats.org. What I write here is just personal intent and what we achieve in the next twelve months is down to shared passions and collaboration, not the will of one person.</p>

	<p>There are shared priorities, of course. The past few months have seen a surge of work on the awkwardly named <a href="http://microformats.org/wiki/value-excerption-pattern" title="">value excerption</a> ; a mark-up pattern and parsing rule derived from <a href="http://microformats.org/wiki/hcard" title="">hCard</a>. Honestly, I didn&#8217;t know &#8216;excerption&#8217; was a real word until I started leading the work on this. Thankfully, naming is not as important as a good spec.</p>

	<p>Basically, value-excerption in hCard got implemented in parsers globally, so we&#8217;re trying spec it more fully to reflect that. It&#8217;s a pattern for structuring data values, so in the process we can extend it do something to offer solutions to some long standing accessibility and localisation complaints. The work is sporadic; two weeks here, a month off there. That&#8217;s just how it happens. Being absent from Yahoo! this last month has helped me pull it together into a massive <a href="http://microformats.org/wiki/value-excertion-value-title-test" title="">public test effort</a>.</p>

	<p>My other big task in 2008 was redesigning the microformats wiki, bringing it into line with the look and feel of microformats.org, adapting <a href="http://simplebits.com" title="">Dan Cederholm&#8217;s</a> still-lovely design. It&#8217;s a piece of work I&#8217;m proud of, and besides being able to junk vast quantities of <a href="http://mediawiki.org" title="">MediaWiki&#8217;s</a> questionable and bloated default mark-up, it of allowed me to put microformats into the wiki mark-up itself: Each page is now an <a href="http://microformats.org/wiki/hatom" title="">hAtom entry</a>, with an <a href="http://microformats.org/wiki/hcalendar" title="">hCalendar</a> event for the last-modification date of the page.</p>

	<h2>This Year</h2>

	<p>I don&#8217;t care to dissect last year too heavily. It&#8217;s this year I&#8217;m excited about. There&#8217;s work coming to completion, there&#8217;s ongoing work that&#8217;s nearly ready to break cover, ongoing infrastructure improvements brewing and a desire to see a big step up in microformats toolkits for developers.</p>

	<p>1. First up, I want to see the value-excerption work seen out within the next couple of months. Testing is going <strong>really</strong> well right now; it&#8217;s an effort beyond the scale of anything else we&#8217;ve done before. Knowing the accessibility and localisation issues we&#8217;re trying to overcome, it&#8217;s vital that we get it right. We can&#8217;t afford to push something that doesn&#8217;t solve the problems and complaints of authors as well as we can. I&#8217;m taking suggestions for a beer or red wine magnificent enough to open when we call this one &#8216;done&#8217;.</p>

	<p>2. Secondly, we&#8217;ve built up a number of issues and enhancement requests against the core microformats &#8212; hCard and hCalendar. They&#8217;re stable, useful and are helping to change the web, but iterating stably is an important step to take as the community and formats mature. Just as <a href="http://www.w3.org/TR/html5/" title=""><span class="caps">HTML5</span></a> is not versioned like a piece of software, there won&#8217;t be an &#8216;hCard 2&#8217;. This is the web and we won&#8217;t be breaking existing pages or forking our specifications; that&#8217;s absurd. We will evolve. I would like a period of active editing and hope to see hCard and hCalendar &#8217;Second Edition&#8217; published this year.</p>

	<p>3. <a href="http://microformats.org/wiki/hrecipe" title="">Recipe</a> and <a href="http://microformats.org/wiki/haudio" title="">Audio</a> formats. Two new drafts in 2008. Bearing in mind that many popular and quite stable formats like <a href="http://microformats.org/wiki/hreview" title="">hReview</a> and <a href="http://microformats.org/wiki/hatom" title="">hAtom</a> are actually still in draft, that&#8217;s a very significant step &#8212; it takes a lot of research and brainstorming to put together a good draft spec. These subjects have much stronger, stable momentum than some previous microformat proposals have had, so I&#8217;m confident they&#8217;ll move smoothly. Structured publishing of music and food is highly Relevant To My Interests. I worked with publishing some of the hAudio draft in my previous music round up. I think it&#8217;s getting there.</p>

	<p>4. I&#8217;ve spend some off-time brainstorming on a new effort myself; &#8216;embed&#8217;. No dedicated wiki page yet as I&#8217;m still compiling the initial data to get it rolling. There&#8217;s nearly enough to push it though; a few more sites to grab examples from to get people thinking. It&#8217;s deriving some concepts from the <a href="http://oembed.com/" title="">oEmbed</a> format <a href="http://pownce.com" title="">Pownce</a> supported, allowing sites to describe their &#8216;embed codes&#8217; for reuse around the web. I want to be able to reuse linked content in an activity stream, and deriving embeds from mark-up rather than writing drivers for every site on the net. It would make reblogging the embedded content more graceful, too. More robust use cases coming soon.</p>

	<p>5. Microformats have issues, feature requests, bug reports, tasks to do. At present we track them on the <a href="http://microformats.org/wiki" title="">wiki</a> along with the specification documents themselves. Personally I find it a <strong>nightmare</strong>. Tracking and triaging issues through versioned documents in various structures is harder and less transparent than I&#8217;d like, so fixing it would be nice. The <a href="http://microformats.org/wiki/wiki-2" title="">wiki update</a> last year has the facility to hook spec &#8216;issues&#8217; links up to other systems, and I&#8217;m spending some time experimenting. Community feedback needed here, plus considerations to be made regarding self-hosting something like Trac or offloading to an external tool. It could happen quite quickly, since I don&#8217;t think there are many sane arguments defending the wiki method; it doesn&#8217;t scale.</p>

	<p>6. Wiki rewrites. I&#8217;m good at writing. I&#8217;m too verbose for sure, but I communicate well. I&#8217;ve taken great pleasure in applying this to more recent microformats output and I like to think I do a pretty good job of improving the experience of interacting with microformats documentation. Many pages on the wiki aren&#8217;t as well written. I don&#8217;t mean to criticise other authors, I refer more to the way in which over time important pages like <a href="http://microformats.org/wiki/process" title="">the process</a> and <a href="http://microformats.org/wiki/how-to-play" title="">how to play</a> page have been edited and added to so many times that at this point, I fear they&#8217;ve become impenetrable to a new visitor, and if they can&#8217;t follow the rules and  I want to see effort go into reworking those pages to be higher quality documents, more approachable and easier to reference when they need to be enforced.</p>

	<p>7. Support transformation efforts. In 2008, I&#8217;ve noted a couple of repeat proposals and desires for using microformat specifications in other contexts than <span class="caps">HTML</span>. Being in <span class="caps">HTML</span> is part of what makes something a microformat, so we&#8217;ve had instances of proposed forking. Versions of hAudio exist republished for use in <a href="http://www.w3.org/TR/xhtml-rdfa-primer/" title="">RDFa</a>, there&#8217;s an entire page on the microformats wiki called <a href="http://microformats.org/wiki/jcard" title="">jCard</a> &#8212;&#160;putting hCard into <a href="http://json.org" title=""><span class="caps">JSON</span></a> for interchange. Per-specification duplication is, in my view, <em>wrong</em>. Duplicating specifications leads to fragmentation, confusion, incompatibilities. If people have use cases for transforming a microformat into <span class="caps">RDF</span>, or <span class="caps">JSON</span>, or anything at all, the core spec needs be the same. What we need documented are consistant rules for transforming <span class="caps">HTML</span> into any of those other languages. &#8216;Transforming microformats into <span class="caps">JSON</span>&#8217; could be a single wiki reference page for all current and future microformats, explaining how to convert different microformat patterns into <span class="caps">JSON</span>. Not a &#8216;jCard&#8217; and a &#8216;jCalendar&#8217; and &#8216;jAtom&#8217;, with an &#8216;rRecipe&#8217; for <span class="caps">RDF</span> and xResume for raw <span class="caps">XML</span>. Just one set of rules to handle the transformations that are useful. Within that, defining the parsed object structures of the microformats goes most of the way to serialising into another language, and that&#8217;s a job for parser authors to settle on the best way to turn microformats into objects consistently.</p>

	<p>All of the above is a reasonable ask, I think. It&#8217;s ongoing progress in an evolutionary approach in development of standards and infrastructure. My big wish for the year is perhaps a bigger step.</p>

	<h2>The next level: <span class="caps">API </span>Kits</h2>

	<p>Consider existing services: <a href="http://code.google.com/apis/contacts/" title="">Google Contacts</a>, <a href="http://developer.yahoo.com/addressbook/" title="">Yahoo! Address Book</a>. Standalone data providers, whose APIs offer high level methods to access the contacts held within.</p>

	<p>A popular use case for hCard and <a href="http://microformats.org/wiki/xfn" title=""><span class="caps">XFN</span></a> is contribution to the distributed social ecosystem. Data about people and social relationships is published all across the web, but consuming it is prohibitively hard for most developers.</p>

	<p>Whereas someone developing for the <abbr title='Yahoo! Address Book'><span class="caps">YAB</span></abbr> or Google data stores can download wrappers around the high-level methods those APIs offer, consuming microformats remains at the parsing level. There&#8217;s no <code>Person::getFriends('http://ben-ward.co.uk')</code>-like method returning an array of vcard objects. If we&#8217;re serious about evangelising consumption of hcard in social networks. We need high level, <em>task centic</em> toolkits, not just raw parsers.</p>

	<p>A higher level means providing solutions to common problems and use-cases, rather than a solution to &#8216;microformats&#8217;. A &#8216;Distributed Contacts <span class="caps">API</span>&#8217; that follows <span class="caps">XFN</span> links between hCards, handles crawling pages and/or interaction with the <a href="http://code.google.com/apis/socialgraph/" title="">Google Social Graph <span class="caps">API</span></a>. Ultimately, you make one call to a high level function and it just <em>happens</em>. I want to see microformat-based tools that <em>boom!</em>.</p>

	<p>I think <span class="caps">XFN</span> and hCard offer the two most appealing toolkits: Distributed user profiles (&#8216;Distributed Profile <span class="caps">API</span>&#8217;) to the profiles information described with hCard, linked with <code>rel='me'</code> and the aforementioned &#8216;Distributed Contacts <span class="caps">API</span>&#8217; for obtaining the profiles of other people you link to as friends.</p>

	<p>I&#8217;m thinking that methods like these are needed to make it trivial for social applications to start consuming microformats more ambitiously:</p>

<pre><code>Person::getProfile('http://ben-ward.co.uk', callback)</code></pre>

	<p>Get all profile info for the person at <var>ben-ward.co.uk</var>, and fire the provided callback function when completed (you need callbacks for all of this since it&#8217;s both asynchronous handle and crawling the web is going to take a little time).</p>

<pre><code>Person::getConnections(
    'http://ben-ward.co.uk',
    [ 'friend', 'acquaintance' ],
    callback );</code></pre>

	<p>Return the profiles of all the people connected to the person at <var>ben-ward.co.uk</var> connected with <span class="caps">XFN </span>&#8216;<var>friend</var>&#8217; or &#8216;<var>acquaintance</var>&#8217; relationships.</p>

	<p>Methods like these make it simple for developers to start using the huge wealth of published microformatted data to enhance and power their social applications. Right now, getting to those methods is a lot of labour. We need to build it once, and we need to do it in the open. I would love to be in a position this year that we can evangelise microformat <em>consumption</em> with as much strength as we do microformat <em>publishing</em>. <a href="http://oauth.net" title="">OAuth</a> and <a href="http://openid.net" title="">OpenID</a> has a lot of evangelic traction because libraries exist to implement it in many languages; &#8216;You should use OAuth, here&#8217;s some code you can use!&#8217; is rather more convincing than &#8216;You should consume microformats! Err&#8230;&#8217;.</p>

	<p>We can&#8217;t legitimately push sites to consume hCard with an effort barrier so high. If a stable <span class="caps">API</span> kit exists that a developer can just drop in to their codebase &#8212; like the wrappers for OAuth &#8212; then we can make a strong case to see the open web realise a little more of its potential. I&#8217;ve written about the <a href="http://digital-web.com/articles/portable_social_networks_building_blocks_of_a_social_web" title="">dream of a distributed, microformatted web before</a> at <a href="http://digital-web.com" title="">Digital Web</a>. I want to see if become real, rather than just &#8216;possible&#8217;.</p>

	<p>You can see this sort of thing in practice already on a tiny but beautiful scale. If you have an OpenID, and an hCard at that same <span class="caps">URL</span>, go sign up on <a href="http://uservoice.com" title="">User Voice</a>. You&#8217;ll auth using OpenID, and when you bounce back to complete your profile, User Voice already knows your name and email address. That information comes not from attribute exchange through OpenID (which the Yahoo OpenID provider doesn&#8217;t support), but through reading the hCard from my <span class="caps">URL</span>. I wondered for a moment what was going on. And then I just smiled. It&#8217;s the future, now. I want to see that user experience available at low cost to every developer.</p>

	<p>So, there&#8217;s my forward looking. I see the above as pretty concrete ideas. Of course, there&#8217;s far too much to lead myself. So, who knows. I hope that others in the community will feel inspired and that we&#8217;ll see this kind of work happen. Just as much, I hope to see the visions of others. This community is diverse. I think I&#8217;m one of the most passionate about the actual core of the community (perhaps more so than any particular microformat itself), but there wealth of thoughts and ideas amongst all our membership. If you&#8217;re one of those, I invite you to write up your vision for the year.</p>

	<p>Microformats are a huge deal. Where do we go next? More formats? Reinforcing what we&#8217;ve got? Appealing to new groups of publishers and developers that haven&#8217;t heard of us yet?</p>

	<p>If there&#8217;s enough posts along these lines I&#8217;ll link them all together on the <a href="http://microformats.org/blog" title="">microformats.org blog</a>.</p>
 ]]></content:encoded>
			<wfw:commentRss>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Fmicroformat-2009&amp;seed_title=Microformats+in+2009/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>The OpenID and OAuth Flow: Playing with UX</title>
		<link>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Foauth-flow&amp;seed_title=The+OpenID+and+OAuth+Flow%3A+Playing+with+UX</link>
		<comments>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Foauth-flow&amp;seed_title=The+OpenID+and+OAuth+Flow%3A+Playing+with+UX#comments</comments>
		<pubDate>Thu, 08 Jan 2009 08:39:43 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[dopplr]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[facebook connect]]></category>
		<category><![CDATA[Fire Eagle]]></category>
		<category><![CDATA[last.fm]]></category>
		<category><![CDATA[oauth]]></category>
		<category><![CDATA[openid]]></category>
		<category><![CDATA[ui]]></category>
		<category><![CDATA[user experience]]></category>
		<category><![CDATA[user-interface]]></category>
		<category><![CDATA[ux]]></category>
		<category><![CDATA[Yahoo]]></category>

		<guid isPermaLink="false">http://ben-ward.co.uk/?p=484</guid>
		<description><![CDATA[In which I analyse Facebook Connect's UI, bash it a bit, and then steal the best bit and apply it to OpenID and OAuth applications. Pictures are provided.]]></description>
			<content:encoded><![CDATA[	<p>Delegated authentication and authorisation technologies are one of the biggest developments of last year. Whilst still immature, technologies like <a href="http://openid.net" title="">OpenID</a> and <a href="http://oauth.net" title="">OAuth</a> have their feet down as being integral pieces in the interaction between web services.</p>

	<p>OpenID and OAuth are the open, standards based and interoperable editions of this technology, but Yahoo&#8217;s deprecated <a href="http://developer.yahoo.com/auth/" title="">BBAuth</a> and <a href="http://www.flickr.com/services/api/auth.spec.html" title="">FlickrAuth</a> and others all came before. Also at the tail-end of last year came <a href="http://developers.facebook.com/connect.php" title="">Facebook Connect</a>, a system whereby websites can piggyback on Facebook profiles for building applications.</p>

	<p>For example, take <a href="http://fireeagle.yahoo.net" title="">Fire Eagle</a>. It&#8217;s a service that stores your location on your behalf, for use by other applications on the web. It uses OAuth to control access to that location; no application can see your location by default. When you visit a site needing your location, it asks Fire Eagle for that information.</p>

	<p>Instead providing your Yahoo! username and password to this third party site (which would grant access to your entire Yahoo! account), you are taken to a special page on the Fire Eagle site, click a button to grant specific location permission and then jump back to the original site, which now holds a token to access to your location.</p>

	<p><blockquote><img src="/res/posts/oauth-ux/OAuthTrust.png" alt=""></blockquote><br />
<cite><a href="http://fireeagle.yahoo.net/developer/documentation/oauth_best_practice" title="">OAuth Best Practices &#183; Fire Eagle</a>. Image by Ben Ward &#38; Sam Tripodi</cite></p>

	<p>This process means that the site you shared your location with can&#8217;t access anything apart from your location (it can&#8217;t log into your Yahoo! IM account, for example, or send emails through Yahoo mail). Furthermore, you can log in to Fire Eagle and remove that application any time; you don&#8217;t need to change your password to do so.</p>

	<p>It&#8217;s the future, it&#8217;s user empowering, and it&#8217;s going to be great. Eventually.</p>

	<p>The user experience of this OAuth process &#8212; and OpenID alike &#8212; has been criticised a bit. Users don&#8217;t expect to be moved between different websites, but they are familiar with entering their passwords all over the place. The short ranty version of this article would go like this: If you stop whining and just get on with implementing the OAuth flow, users will get used to it and will be just fine. It&#8217;s <strong>is</strong> usable as-is, so shut up already. But this is the long, constructive version, so:</p>

	<p><em>The user experience of OAuth and OpenID is immature, and can still be massively improved and smoothed out with concerted design effort.</em></p>

	<p>Which brings me to Facebook Connect. Connect is a <em>product</em> as well as a proprietary technology. It&#8217;s a packaged and complete offering from Facebook, and as such, comes with a far more complete and polished user experience than the technology-focused, open standards have so far achieved. Polished and mind bogglingly stupid, in places, but, y&#8217;know.</p>

	<p>Facebook Connect, whilst proprietary and product-specific and therefore <em>irrelevant</em> in the grand scheme of things, has UX that can be applied to OAuth and OpenID flows. If service providers support this, I think user experience gets <strong>much</strong> better, quickly.</p>

	<h2>How does Facebook Connect work?</h2>

	<p><img src="/res/posts/oauth-ux/FacebookConnectButton.png" alt=""></p>

	<p>The most common use case for Facebook Connect appears to be commenting on blogs, such as on <a href="http://gawker.com" title="">Gawker</a> sites. Rather than enter your details standalone, or uniquely register with a site, you log into Facebook, and Gawker uses those details instead.</p>

	<p>So, you click the shiny &#8216;Facebook Connect&#8217; button in the comments form, and an overlay appears:</p>

	<p><img src="/res/posts/oauth-ux/FacebookConnectLoggedIn.png" alt="A dialog confirmed your already logged in Facebook name, a button to confirm the &#8216;Connection&#8217; and another to reject it."></p>

	<p>This is the crux of the learning for OAuth. Rather than redirect to Facebook, this granting of permission happens right in the page in an embedded control.</p>

	<p>It&#8217;s not <em>quite</em> as simple as this, mind. It&#8217;s ok that this action occurs in an overlay only because the user is <em>already logged in to Facebook</em>. No exchange of credentials takes place: The overlay is an iframe serving a page from Facebook&#8217;s server, so my current login cookie is used and there&#8217;s no need for Facebook to ask for my password. A malicious site would gain nothing by spoofing this dialog.</p>

	<p><ins datetime='2009-02-14'><em>Since writing this article, Facebook have improved the behaviour of Connect. Now, if you are signed in you see an overlay as before, but if not signed in Connect opens a new window, where all usual browser functionality is available. This a huge improvement and fixes the complaints that follow.</em></ins></p>

	<p>Unfortunately, Facebook Connect then screws up. The whole point of delegated auth is that we stop users entering their passwords into third party sites. <strong>It has to stop</strong>. That means both <em>actually</em> entering their details into third parties, but also interface that <em>gives the impression of giving your password to a third party</em>. When you are not currently logged into Facebook, you instead see this dialog:</p>

	<p><img src="/res/posts/oauth-ux/FacebookConnectNotLoggedIn.png" alt="A Facebook dialog within the Gawker page, prompting for a Facebook username and password."></p>

	<p><em>Millions</em> of Facebook users, openly encouraged to enter their password into any site that asks. This is wrong. If the user is <em>not</em> already logged into the service, you should be redirected in a more traditional bounce between pages. That way browser-level phishing tools kick in, the <span class="caps">URL</span> in the address bar can be manually inspected by the user and, critically, the user is conscious of logging into a different service.</p>

	<p><aside><p>As an aside, I also find one piece of the not-logged-in UI especially galling. The tiny text that reads &#8216;If you do not trust this site, you can connect on Facebook directly&#8217;. This is, perhaps, the most retarded thing ever. <em>If you don&#8217;t trust this site, why on earth are you granting it access to your Facebook profile at all, regardless of where you type your password in?!</em>.</p></p>

	<p><p>Once upon a time, Facebook had a wonderful piece of UI when you connected to other people. Asked to describe how you knew someone, the final option offered <a href="http://www.flickr.com/photos/srhaber/420854896/" title="">I don&#8217;t even know this person</a>. Check it and the ability to add that friend disappears and you are advised to reconsider your &#8216;friendship&#8217;. How times have changed.</p></aside></p>

	<p>Facebook ranting aside, the first half of their Connect overlay UI would be very useful to enhance the user experience of OAuth and OpenID.</p>

	<p>Here&#8217;s a hypothetical Fire Eagle app built into <a href="http://last.fm" title="">Last.FM</a>.</p>

	<p><img src="/res/posts/oauth-ux/LastFMEvents.png" alt="A simple dialog prompting for your current location, &#8216;San Francisco&#8217;, and a button to invoke Fire Eagle as a source for that location."></p>

	<p>In the current implementation of OAuth, clicking &#8216;Get Fire Eagle Location&#8217; would redirect you to the Fire Eagle website, and then you&#8217;d redirect back again after clicking &#8216;Confirm&#8217;.</p>

	<p>Instead, OAuth apps should do this by default:</p>

	<p><img src="/res/posts/oauth-ux/LastFMEventsOverlay.png" alt="Display the &#8216;Grant Permission to the Last.FM application&#8217; UI in the page."></p>

	<p>No redirect, lighter weight UI and more responsive feedback. This, I think, is something that OAuth APIs should support out of box along with their other language wrappers; provide drop-in support.</p>

	<p>Now, this behaviour applies for <em>logged in users only</em>. If you&#8217;re not logged in to Fire Eagle for any reason, you should still be moved to the separate site as before. We need to stay strict on keeping users spatially aware of where they are entering their passwords, otherwise the whole effort is undermined.</p>

	<h2>Overlaid OpenID</h2>

	<p>With one example down, here&#8217;s a mock of how Open ID could benefit from the same integrated flow, this time working with Dopplr, since they already support Open ID:</p>

	<p><img src="/res/posts/oauth-ux/DopplrLogIn.png" alt="A simple Yahoo! dialog overlaying the Dopplr website, asking the user to confirm they wish to log in. The surrounding UI for the current Yahoo! Open ID page is retained in this example."></p>

	<p>If not logged in to Yahoo, you get a prompt and just as before, are guided to step through the regular, separate-site process to sign in:</p>

	<p><img src="/res/posts/oauth-ux/DopplrNotLoggedIn.png" alt="The same Yahoo! dialog is overlayed on Dopplr, but this time telling the user they are not logged in, and need to sign in to Yahoo! before they can sign in to Dopplr."></p>

	<p>Clicking &#8216;Sign in to Yahoo!&#8217; would take the user to Yahoo&#8217;s standalone page.</p>

	<h2>How to make this happen?</h2>

	<p>For this to happen, services need to provide support for it; it can&#8217;t be done just at the client side. The dialog-sized interfaces for authorising applications or logging into sites need to provided, and they need to support the &#8216;break out to enter passwords&#8217; flow. But, sites like Fire Eagle already provide a mobile-scale version of the auth page, so further variants are not a major hindrance.</p>

	<p>It also needs a JavaScript component to handle the UI side. With a bit of luck, this only needs to be done once and shared between projects.</p>

	<p><aside>In the specific case of Yahoo services, this whole smoother flow is dependent on already being signed in, so for this to work you&#8217;ll need to <em>stop logging me out every time I blink</em>, please.</aside></p>

	<p>The core technology behind OAuth and OpenID is pretty robust. Both have major adopters like Yahoo and Google. OpenID has a bit of a bit of a way to go before users <em>need</em> it, perhaps, but regardless, it&#8217;s well into the same phase where user experience needs to be a concerted effort, and the status quo needs to be challenged.</p>

	<p>Everything in this post is just a small step from what we already have, it&#8217;s just smoothing out the edges. Maybe that&#8217;s enough, but I suspect there&#8217;s a long way to go and a wealth of other ideas out there.</p>
 ]]></content:encoded>
			<wfw:commentRss>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Foauth-flow&amp;seed_title=The+OpenID+and+OAuth+Flow%3A+Playing+with+UX/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>A crash course in avian inflammability</title>
		<link>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2F24ways-200&amp;seed_title=A+crash+course+in+avian+inflammability</link>
		<comments>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2F24ways-200&amp;seed_title=A+crash+course+in+avian+inflammability#comments</comments>
		<pubDate>Sun, 21 Dec 2008 01:27:43 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Ben Ward's Journal]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[24ways]]></category>
		<category><![CDATA[article]]></category>
		<category><![CDATA[Fire Eagle]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://ben-ward.co.uk/?p=474</guid>
		<description><![CDATA[I've written an article for the awesome 24ways; <a href="http://24ways.org/2008/geotag-everywhere-with-fire-eagle">Geotag everywhere with Fire Eagle</a>.]]></description>
			<content:encoded><![CDATA[	<p>Along with an extremely turbulent week at work, I&#8217;ve also been putting together an article on bringing Fire Eagle to the client side for 24ways. Have a read of <a href="http://24ways.org/2008/geotag-everywhere-with-fire-eagle">Geotag everywhere with Fire Eagle</a> for a quick introduction to location based app building, and a guide through building a bookmarklet to bring your location into every web app you use today. It&#8217;s something I think I&#8217;m going to carry on as a project, since the ideas I mention in the final paragraph are hopefully quite useful. We&#8217;ll see how that goes over Christmas.</p>
 ]]></content:encoded>
			<wfw:commentRss>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2F24ways-200&amp;seed_title=A+crash+course+in+avian+inflammability/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Practical Publishing</title>
		<link>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Fpractical-publishin&amp;seed_title=Practical+Publishing</link>
		<comments>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Fpractical-publishin&amp;seed_title=Practical+Publishing#comments</comments>
		<pubDate>Mon, 29 Sep 2008 08:17:21 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Ben Ward's Journal]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Lifestreaming]]></category>
		<category><![CDATA[pownce]]></category>
		<category><![CDATA[Publishing]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[Wiki]]></category>

		<guid isPermaLink="false">http://ben-ward.co.uk/?p=470</guid>
		<description><![CDATA[The scenario I'm trying to support is this: Rather than someone come to this site and subscribe via RSS just to the blog, they would subscribe to the lifestream. But, the lifestream would be built such that the content is relevant enough they don't get irritated by its content.]]></description>
			<content:encoded><![CDATA[	<p>Something that &#8216;people in San Francisco&#8217; seem to do, that no-one back home in London was doing (or if they were, they kept quiet about it) is maintain a personal wiki. I&#8217;ve avoided it for ages, mostly because I figured that if I have this much trouble maintaining a blog, surely a wiki will just make my cluster of unmaintained pages even larger.</p>

	<p>The previous entry on microblogging was the start of a realisation. Realising that Pownce is useful in its capacity as a microblogging platform rather than as an alternative to Twitter, I think that my personal publishing breaks down cleanly into tiers, based on the depth of the content. And a wiki is perhaps the most natural part of that as anything.</p>

	<p>Blogging, as in a site like this, is really only well suited to a certain style of publishing. I want to publish content of a consistent style on this blog. I want there to be a certain amount of depth to each entry, and I don&#8217;t want some detailed attempt all about the philosophy of personal publishing to be punctuated by a single line piece stating that &#8216;I could really murder a chip butty right now&#8217;.</p>

	<p>The way I see this breaking down, and this is starting to feel quite natural, is as follows:</p>

	<p><ul></p>
  <li><a href="http://pownce.com/benward" rel="me">Pownce</a> is for short things. Thoughts, spontaneous musings, links that you think are <em>remarkable</em> (which contrasts with Delicious, which is a store of links I think are <em>useful</em> in some way). It suits short, sharp content. No room for depth. That&#8217;s microblogging.</li>
  <li>This blog contains longer, more considered content. I feel reasonably sure that the things I write here are somehow valuable, either as information or as an expression of my self. They have some depth. Comments are on. I should track responses on other blogs, too. Whilst communicating via separate blogs is a lamentably lost ideal of the original, pre-comments design of blogging, it&#8217;s a concept I like. In aiming to write content of substance, I&#8217;d want to support it.</li><br />
</ul>

	<p>The critical thing with a blog though, and something that should be embraced, is time sensitivity. What I write here is timestamped and could, upon further reflection in a month or a year prove to be dismissible rambling bullshit. But the timestamp validates that. The moment you read this you know that it&#8217;s old and that gives you the context to consume it. You can write safe in the knowledge that time will let your obsolete content fade away. Timeless, accidental masterpieces will look after themselves.</p>

	<p>Which leads to wikis. A wiki will contain detailed content. Thoughts, projects, entire subjects documented through the eyes of an author. Wikis have long been complemented for being very close to the original ideals of the read/write web that Tim Berners-Lee envisioned (back before no-one  had bothered to implemented the necessary <span class="caps">HTTP</span> verbs to do it). It&#8217;s back to a world of writing standalone pages. And in standalone, I mean to imply <em>timeless</em>. So, my &#8216;about me&#8217; page isn&#8217;t a blog entry, it&#8217;s a page, and wiki is a superior publishing medium to maintain that kind of content. Similarly, documenting my &#8216;thoughts on personal publishing&#8217;, and my &#8216;current publishing practices&#8217; is a standalone, timeless (and constantly updated) piece of information. Here I blog about how I publish, or rather, how I&#8217;m considering doing it. It&#8217;s driven by a desire for discussion. However, to publish my current publishing behaviour, a wiki is a superior platform. That one <span class="caps">URL </span>(let&#8217;s say, perhaps, <a href="http://ben-ward.co.uk/content/Publishing">http://ben-ward.co.uk/content/Publishing</a>) will always represent current information and is far preferable over regular blog entries every time I change something. &#8216;Publishing Patterns, August 2008&#8217;, &#8216;Publishing Patterns, November 2008&#8217;&#8230; a blog is less suitable for versioned content.</p>

	<p><h2 class="flow">So, Twitter is a slight oddball</h2></p>

	<p>I regard it as publishing &#8216;fragments&#8217; of my day. By my reckoning it fits into the tier below (smaller than) &#8216;microblogging&#8217;. But it grew out from encouraging people to just publish their status and into its own social network. So as well as containing the little snippets of my day, it also contains pieces of social interaction. Twitter is great, but it&#8217;s a less pure publishing platform.</p>

	<p><h2>Combination. The lifestream.</h2></p>

	<p>The thing about blogging &#8212; an issue that produced some background resistance in me to the personal wiki concept &#8212; is that whilst you can better maintain content, you&#8217;re unable to push it to people. A blog has a feed and people consume that feed and therefore people read what you have to say. Sound vain? Get over that and accept that in some capacity we all want people to read what we write and we don&#8217;t want our output buried somewhere it&#8217;ll never be found.</p>

	<p>If I were to produce a nicely combined life stream (which I will), Pownce, Twitter and the blog are chronological and so slot in neatly. Twitter gets filtered to avoid publishing those &#8216;social interaction&#8217; posts, but otherwise fits in. But since wiki content is not time sensitive, it is not the content itself but the <em>edits of that content</em> which should be streamed. That in itself is a bit problematic. New pages are probably noteworthy, major edits are probably noteworthy; minor edits not so much.</p>

	<p>The scenario I&#8217;m trying to support is this: Rather than someone come to this site and subscribe to just the blog feed, they would subscribe to the whole lifestream. But, the lifestream would be built such that the content is relevant enough they don&#8217;t get irritated by its content. Not an easy balance. Configuration seems like a grossly over-complex solution, but perhaps offering two predefined options would be manageable; substantial content containing blog entries, major wiki edits, and longer Pownce posts could be available separately from the whole life stream.</p>

	<p>I suppose I should build it.</p>
 ]]></content:encoded>
			<wfw:commentRss>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Fpractical-publishin&amp;seed_title=Practical+Publishing/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Everything Old Is New Again. Tabless Browsing</title>
		<link>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Ftabless-browsin&amp;seed_title=Everything+Old+Is+New+Again.+Tabless+Browsing</link>
		<comments>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Ftabless-browsin&amp;seed_title=Everything+Old+Is+New+Again.+Tabless+Browsing#comments</comments>
		<pubDate>Sun, 14 Sep 2008 02:20:31 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Ben Ward's Journal]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Mac OSX]]></category>
		<category><![CDATA[Safari]]></category>
		<category><![CDATA[Software Design]]></category>
		<category><![CDATA[Tabbed Browser]]></category>
		<category><![CDATA[Tabs]]></category>
		<category><![CDATA[Thinking Out Loud]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://ben-ward.co.uk/?p=469</guid>
		<description><![CDATA[Surfing like it's 1998. I've switched from back tabbed to multiple windowed browsing on Mac OSX.]]></description>
			<content:encoded><![CDATA[	<p>When Firefox was released, tabbed browsing suddenly became the new essential feature in web browsers. Internet Explorer was belittled for its old school multi-window interface and tabs were pimped as the greatest thing since sliced bread (toasted and generously smothered in butter).</p>

	<p>The curious thing about this is that really, tabs suck. They always existed as a simple hack around the operating system&#8217;s (Windows) inability to handle many windows together. The taskbar got full too easily, and when 75% of the items were browser windows, it all became unmanageable. As a result, tabs went into every browser on every platform, effectively providing a second, browser-context-specific taskbar.</p>

	<p>The problem now (and likely then as well) is that the idea of one single &#8216;browser context&#8217; is bogus. Browsers are now used for such a variety of tasks and applications that it makes less sense to keep, for example, Gmail and Google Calendar in the same context as a set of blogs you might be reading. Your cycle of looking at those pages is different. Mail more regularly than Calendar, and the blogs might just be a reading list to refer to later. Whilst browsers were very quick to add tabs as a feature, non of them have worked them into the idea of working contexts. New items always open in your last used window. Even if you manually break Gmail out into its own window, the moment you open a link you&#8217;re putting a reading list of pages into your email context. Tabs are implemented in a physical, window based manner, rather than in a workflow based manner.</p>

	<p>On Mac <span class="caps">OSX</span> specifically, there&#8217;s an addition problem (actually, physical). The otherwise quite-useful Expos&#233; function doesn&#8217;t work with tabs in any application. So whilst in Pages, Fireworks, Preview and so on I could hit <span class="caps">F10</span> and see all my documents together, the tabbed browser hides all the content away behind tabs.</p>

	<p>Which is a roundabout way of getting to a point. I&#8217;ve turned off tabbed browsing. Switched back to the old way of having each document or application in a separate window. Switching between then with <kbd>Cmd+`</kbd> rather than <kbd>Cmd+Shift+]</kbd>, gaining the ability to see them visually with a swift tap of <span class="caps">F10</span>, and losing the recurring bug of thinking I&#8217;m finished with all the documents in one manually created context window, only to find the music stops when I accidentally close Last.FM.</p>

	<p>To defy my muscle memory for hitting <kbd>Cmd+T</kbd>, I&#8217;ve used Mac <span class="caps">OSX</span>&#8217;s excellent Keyboard preferences to override &#8216;New Window&#8217; to <kbd>Cmd+T</kbd>, and New Tab to <kbd>Cmd+Option+T</kbd>.</p>

	<p>It&#8217;s just an experiment. Sometimes you do want tabs to keep things under control, for example working through a feed reader, opening links for reference later creates a single &#8216;reading list&#8217; task, and you wouldn&#8217;t want dozens of those individual pages cluttering up the rest of the desktop. There will always be exceptions. But since the browser software has failed to handle work contexts properly, I think reversing the default behaviour is the way to go.</p>

	<p>Initial reactions are that this is easier to manage, results in less accidents and no accidents in losing windows (Safari has a &#8216;Reopen last closed window&#8217; option, but is less graceful with tabs).</p>

	<p>Note, this problem with tabs is just a result of needing to break web applications and documents out of the browser context. Efforts like Fluid (a WebKit based browser that creates standalone executables for specific websites) also help break out these contexts for apps you use regularly, but is less suitable for infrequent or new apps. Also, this is not to say that all tabs are broken. Tabs in IM apps like Adium still work me, because the amount of content open at one time is fairly small, and managing two work contexts (&#8216;Work Conversations&#8217; and &#8216;Personal Conversations&#8217;) within a single window interface is trivial. The web browser falls down because the amount of content and the number of contexts now exceeds what I can manage.</p>

	<p>We could build better browsers, but it strikes me that the better first action is to step back and stop bypassing the capabilities of the host operating system.</p>
 ]]></content:encoded>
			<wfw:commentRss>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Ftabless-browsin&amp;seed_title=Everything+Old+Is+New+Again.+Tabless+Browsing/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Location Location</title>
		<link>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Flocation-location&amp;seed_title=Location+Location</link>
		<comments>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Flocation-location&amp;seed_title=Location+Location#comments</comments>
		<pubDate>Sun, 20 Jul 2008 00:38:27 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Ben Ward's Journal]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Fire Eagle]]></category>
		<category><![CDATA[Geo]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[Location]]></category>
		<category><![CDATA[Moving]]></category>
		<category><![CDATA[Twitterrific]]></category>

		<guid isPermaLink="false">http://ben-ward.co.uk/journal/location-location/</guid>
		<description><![CDATA[Talking about the importance of disclosure control in location-based applications.]]></description>
			<content:encoded><![CDATA[	<p>So, my new job is working for Yahoo&#8217;s super-awesome Brickhouse team. I&#8217;ve moved out of Yahoo&#8217;s also-super-awesome European web development team, and in about three weeks time I&#8217;ll be moving to San Francisco.</p>

	<p>There&#8217;s so much that needs to be said about moving, but for now I&#8217;m thinking a bit about <a href="http://fireeagle.com">Fire Eagle</a> itself, the gorgeous app I&#8217;m going to be working with for the foreseeable future. I&#8217;ve run sessions recently at Mashed 08 and then last week at Mobile Monday running through what we&#8217;re trying to achieve, and it&#8217;s quickly put me in a position of thinking about the field of location more generally.</p>

	<p>Location is big. The killer apps aren&#8217;t there yet, but looking at early reaction to iPhone apps, quick criticism comes to those which don&#8217;t use the CoreLocation <span class="caps">API</span> where it could be advantageous. There appears to be a gigantic side effect though: rash, unintended publication of location. Right at the heart of Fire Eagle, and the feature that I feel most passionately about, is control over disclosure. Reducing the level of detail exposed about your location, on a per-application basis. You can disclose your location based on how much you trust the application or website asking to use it, you can disclose to a level suitable to what you&#8217;ll find useful. Fundamentally, we want people to be empowered and to realise that they do not have to tell anyone who asks precisely where they are to benefit from location-based applications.</p>

	<p>Today, I saw this on <a href="http://twitter.com">Twitter</a>:</p>

	<p><img src="/res/posts/LocationExposed.png" alt="A protected Twitter profile page, hiding all posts from me, but showing precise co-ordinates of the user's location"></p>

	<p>I&#8217;ve obscured the user&#8217;s details, but there are a number of key things I want to highlight, without going into much more analysis.</p>

	<ul>
		<li>This user chooses to keep their content protected</li>
		<li>This user is using Twitterrific for iPhone.</li>
		<li>The location is added by this app is not abstracted at all, it&#8217;s just a raw, precise co-ordinate.</li>
		<li>The location is disclosed to everyone visiting the page; not just the user&#8217;s friends. There&#8217;s no trust mechanism.</li>
	</ul>

	<p>The iPhone only offers a &#8216;yes&#8217; or &#8216;no&#8217; choice on whether to disclose your location to an app. There&#8217;s no local <span class="caps">API</span> to fuzzy that location when you work with it. Through the limited technology of the iPhone platform and the lack of thought on the part of a developer, that location has been made public in a way that it should not be.</p>

	<p>Your location is some of the most sensitive information about you. I very much believe it to be a more complex piece of information than an &#8216;OK/Cancel&#8217; prompt can handle effectively. I also fear that lazy attitudes toward location now, in these early days, could have a catastrophic effect on user perception of the entire location-application field.</p>

	<p>Raising this issue is not really about Fire Eagle, we just happen to have approached the problem very thoroughly. It doesn&#8217;t matter whether you build an app using Fire Eagle&#8217;s <span class="caps">API</span> or not. The crux of this matter is that you absolutely must encourage your user to trust you, else you will lose them.</p>
 ]]></content:encoded>
			<wfw:commentRss>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Flocation-location&amp;seed_title=Location+Location/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Distributed Social Networking on Digital Web</title>
		<link>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Fdsn-articl&amp;seed_title=Distributed+Social+Networking+on+Digital+Web</link>
		<comments>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Fdsn-articl&amp;seed_title=Distributed+Social+Networking+on+Digital+Web#comments</comments>
		<pubDate>Thu, 03 Jul 2008 12:20:43 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[article]]></category>
		<category><![CDATA[digital web]]></category>
		<category><![CDATA[dsn]]></category>
		<category><![CDATA[microformats]]></category>
		<category><![CDATA[psn]]></category>
		<category><![CDATA[social networking]]></category>

		<guid isPermaLink="false">http://ben-ward.co.uk/?p=458</guid>
		<description><![CDATA[This week's issue of the excellent "Digital Web Magazine":http://digital-web.com leads with an article I've written about Distributed Social Networking, published under the title "Portable Social Networking: Building Blocks of a Social Web":http://digital-web.com/articles/portable_social_networks_building_blocks_of_a_social_web/]]></description>
			<content:encoded><![CDATA[	<p>This week&#8217;s issue of the excellent <a href="http://digital-web.com" title="">Digital Web Magazine</a> leads with an article I&#8217;ve written about Distributed Social Networking, published under the title <a href="http://digital-web.com/articles/portable_social_networks_building_blocks_of_a_social_web/" title="">Portable Social Networking: Building Blocks of a Social Web</a></p>

	<p>It&#8217;s an overview of distributed social networking in a <a href="http://microformats.org" title="">microformats</a> context, explaining how <span class="caps">XFN</span> and hCard gives us most of what we need to start exposing users to the benefits of having information made available between different social sites.</p>

	<p>As well as explaining how to go about publishing these things and explaining what the first iteration of consumption could be, I&#8217;ve also tried to emphasise how important it is to guide users into this interconnected world gently, since many won&#8217;t appreciate that their information is quite so public.</p>

	<p>It&#8217;s a little lengthy, but I hope it gets people thinking about the possibilities.</p>
 ]]></content:encoded>
			<wfw:commentRss>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Fdsn-articl&amp;seed_title=Distributed+Social+Networking+on+Digital+Web/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Microformats article on Yahoo! Developer blog</title>
		<link>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Fkelkoo-microformats&amp;seed_title=Microformats+article+on+Yahoo%21+Developer+blog</link>
		<comments>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Fkelkoo-microformats&amp;seed_title=Microformats+article+on+Yahoo%21+Developer+blog#comments</comments>
		<pubDate>Mon, 31 Mar 2008 17:20:58 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[kelkoo]]></category>
		<category><![CDATA[microformats]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[ydn]]></category>

		<guid isPermaLink="false">http://ben-ward.co.uk/journal/kelkoo-microformats/</guid>
		<description><![CDATA[	After a slightly longer drafting period than I&#8217;d planned, my article Kelkoo goes microformatic has gone live on the Yahoo! Developer Network blog.

	It&#8217;s a lengthy piece on the recent redevelopment of Kelkoo and the microformats we added to it. It&#8217;s focused on the consumption of the formats though; putting them to use to build a [...]]]></description>
			<content:encoded><![CDATA[	<p>After a slightly longer drafting period than I&#8217;d planned, my article <a href="http://developer.yahoo.net/blog/archives/2008/03/kelkoo_goes_mic.html" title="">Kelkoo goes microformatic</a> has gone live on the <a href="http://developer.yahoo.net/blog/" title="">Yahoo! Developer Network blog</a>.</p>

	<p>It&#8217;s a lengthy piece on the recent redevelopment of <a href="http://kelkoo.co.uk" title="">Kelkoo</a> and the microformats we added to it. It&#8217;s focused on the consumption of the formats though; putting them to use to build a related products widget for Kelkoo. That was my Hack Day <abbr title="Five">V</abbr> creation (up on <a href="http://hack.ben-ward.co.uk/listing/" title="">hack.ben-ward</a>). I hope it provides a useful introduction to hListing, and the practical benefits of microformats in action.</p>

	<p>Feedback so far has been excellent, so thank you to all who&#8217;ve linked it with kind words.</p>
 ]]></content:encoded>
			<wfw:commentRss>http://benward.me/mint/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fbenward.me%2Fblog%2Fkelkoo-microformats&amp;seed_title=Microformats+article+on+Yahoo%21+Developer+blog/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
