<?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 Werdmuller von Elgg &#187; Software development</title>
	<atom:link href="http://benwerd.com/category/software-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://benwerd.com</link>
	<description></description>
	<lastBuildDate>Thu, 19 Aug 2010 10:29:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>For your consideration at SXSW Interactive</title>
		<link>http://benwerd.com/2010/08/for-your-consideration-at-sxsw-interactive/</link>
		<comments>http://benwerd.com/2010/08/for-your-consideration-at-sxsw-interactive/#comments</comments>
		<pubDate>Wed, 11 Aug 2010 16:19:59 +0000</pubDate>
		<dc:creator>Ben Werdmuller</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[journalism]]></category>
		<category><![CDATA[local news]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[newspapers]]></category>
		<category><![CDATA[social web]]></category>
		<category><![CDATA[sxsw]]></category>
		<category><![CDATA[user control]]></category>
		<category><![CDATA[web applications]]></category>

		<guid isPermaLink="false">http://benwerd.com/2010/08/for-your-consideration-at-sxsw-interactive/</guid>
		<description><![CDATA[I’ve submitted a talk for South By Southwest 2011: Building the User-centered Web By establishing a general standard for social application interactions, the services and technologies used to make connections become less relevant; the Internet is people, one big social network, and users no longer have to worry about how they connect. We can all [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://panelpicker.sxsw.com/ideas/view/6108">I’ve submitted a talk for South By Southwest 2011:</a></p>
<blockquote><p><strong><a href="http://panelpicker.sxsw.com/ideas/view/6108">Building the User-centered Web</a></strong></p>
<p>By establishing a general standard for social application interactions, the services and technologies used to make connections become less relevant; the Internet is people, one big social network, and users no longer have to worry about how they connect. We can all get on with communicating and collaborating in contextually appropriate ways. In this talk, I&#8217;ll discuss how to build a decentralized, user-centered web using existing and emerging technologies. I hope you&#8217;ll join me.</p>
</blockquote>
<p>If you’d like to see this at the next SXSW, <a href="http://panelpicker.sxsw.com/ideas/view/6108">please visit this page to vote</a>.</p>
<p>Paul Adrian also has submitted a talk, this time <a href="http://panelpicker.sxsw.com/ideas/view/7568">about the future of journalism, and how technology can help</a>:</p>
<blockquote><p><strong><a href="http://panelpicker.sxsw.com/ideas/view/7568">Technology Can Create a Press for the People</a></strong></p>
<p>I believe it is time for a “news” revolution. A new press should produce comprehensive streams of rigorously non-partisan original reporting on the issues that are most important to our lives. Once informed, we the people should have a space where we can discuss the important issues of our times without having to submit to intolerance, deceptive campaigning and fear-mongering. Through the use of technology and new business models, news innovators can provide more credible information and space for civil discussions. The goal is to empower citizens by providing access to superior reporting and the platform for community organization necessary for the People once again to become powerful participants in democracy.</p>
</blockquote>
<p>As well as being an award-winning journalist and technology entrepreneur, Paul is an inspiring speaker who is worth listening to. <a href="http://panelpicker.sxsw.com/ideas/view/7568">You can vote for his talk over here</a>.</p>
<h3>Related entries</h3>
<ul class="related_post">
<li><a href="http://benwerd.com/2010/01/the-death-of-newspapers-and-why-it-matters/" title="The death of newspapers, and why it matters">The death of newspapers, and why it matters (2)</a></li>
<li><a href="http://benwerd.com/2009/02/lastfm-isnt-selling-your-data-to-the-riaa-apparently/" title="Last.fm isn&#8217;t selling your data to the RIAA, apparently">Last.fm isn&#8217;t selling your data to the RIAA, apparently (0)</a></li>
<li><a href="http://benwerd.com/2010/08/facebook-location-vs-the-aclu/" title="Facebook location vs the ACLU">Facebook location vs the ACLU (0)</a></li>
</ul>
<br /><a href="http://benwerd.com/2010/08/for-your-consideration-at-sxsw-interactive/#comments" title="Comments on &quot;For your consideration at SXSW Interactive&quot;"><img src="http://benwerd.com/wp-content/plugins/feed-comments-number/image.php?1006" alt="Comments" /></a> <img src="http://benwerd.com/wp-content/plugins/feed-statistics.php?view=1&post_id=1006" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://benwerd.com/2010/08/for-your-consideration-at-sxsw-interactive/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Write real-time web applications with XMPP, PHP, and JavaScript</title>
		<link>http://benwerd.com/2010/06/write-real-time-web-applications-with-xmpp-php-and-javascript/</link>
		<comments>http://benwerd.com/2010/06/write-real-time-web-applications-with-xmpp-php-and-javascript/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 14:21:00 +0000</pubDate>
		<dc:creator>Ben Werdmuller</dc:creator>
				<category><![CDATA[Software development]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[ibm developerworks]]></category>
		<category><![CDATA[real-time web]]></category>
		<category><![CDATA[xmpp]]></category>

		<guid isPermaLink="false">http://benwerd.com/2010/06/write-real-time-web-applications-with-xmpp-php-and-javascript/</guid>
		<description><![CDATA[I’ve written a tutorial for writing XMPP-based web applications over at IBM DeveloperWorks: Real-time web applications are networked applications, with web-based user interfaces, that display Internet information as soon as it&#8217;s published. Examples include social news aggregators and monitoring tools that continually update themselves with data from an external source. In this tutorial, you will [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/antonfortunato/502736775/"><img border="0" align="right" src="http://farm1.static.flickr.com/218/502736775_dae55a6d49_m.jpg" /></a>I’ve written <a href="http://www.ibm.com/developerworks/xml/tutorials/x-realtimeXMPPtut/index.html">a tutorial for writing XMPP-based web applications over at IBM DeveloperWorks</a>:</p>
<blockquote><p><em>Real-time web applications are networked applications, with web-based user interfaces, that display Internet information as soon as it&#8217;s published. Examples include social news aggregators and monitoring tools that continually update themselves with data from an external source. In this tutorial, you will create Pingstream, a small notification tool that uses PHP and JavaScript to communicate over the Extensible Messaging and Presence Protocol (XMPP), a set of XML technologies designed to support presence and real-time-communications functionality.</em></p>
</blockquote>
<p><a href="http://www.ibm.com/developerworks/xml/tutorials/x-realtimeXMPPtut/index.html">You can read the whole tutorial here.</a> IBM have made it a featured article, commenting, “bet you have it up and running before lunch.” I hope you find it useful. (And don’t forget to check out my <a href="http://www.ibm.com/developerworks/opensource/library/x-activitystreams/index.html">introduction to Activity Streams</a>, also written for IBM.)</p>
<p><em>Photo: <a href="http://www.flickr.com/photos/antonfortunato/502736775/">IBM by antonfortunato</a>, released under <a href="http://creativecommons.org/licenses/by-nd/2.0/deed.en">a Creative Commons license</a>.</em></p>
<h3>Related entries</h3>
<ul class="related_post">
<li><a href="http://benwerd.com/2010/06/an-introduction-to-activity-streams/" title="An introduction to Activity Streams">An introduction to Activity Streams (0)</a></li>
<li><a href="http://benwerd.com/2009/06/xmpp-powering-the-real-time-really-live-web/" title="XMPP: powering the real-time, really live web">XMPP: powering the real-time, really live web (7)</a></li>
</ul>
<br /><a href="http://benwerd.com/2010/06/write-real-time-web-applications-with-xmpp-php-and-javascript/#comments" title="Comments on &quot;Write real-time web applications with XMPP, PHP, and JavaScript&quot;"><img src="http://benwerd.com/wp-content/plugins/feed-comments-number/image.php?996" alt="Comments" /></a> <img src="http://benwerd.com/wp-content/plugins/feed-statistics.php?view=1&post_id=996" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://benwerd.com/2010/06/write-real-time-web-applications-with-xmpp-php-and-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An introduction to Activity Streams</title>
		<link>http://benwerd.com/2010/06/an-introduction-to-activity-streams/</link>
		<comments>http://benwerd.com/2010/06/an-introduction-to-activity-streams/#comments</comments>
		<pubDate>Tue, 22 Jun 2010 04:12:59 +0000</pubDate>
		<dc:creator>Ben Werdmuller</dc:creator>
				<category><![CDATA[Software development]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[activity streams]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[ibm developerworks]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://benwerd.com/2010/06/an-introduction-to-activity-streams/</guid>
		<description><![CDATA[I’ve written an introduction to the Activity Streams standard for IBM DeveloperWorks: Enter Activity Streams, an evolving standard that extends Atom for expressing social objects. Although it is a young standard, Activity Streams is fast becoming the de facto method for syndicating activity between web applications. For example, MySpace, Facebook, and TypePad all now produce [...]]]></description>
			<content:encoded><![CDATA[<p>I’ve written <a href="http://www.ibm.com/developerworks/opensource/library/x-activitystreams/index.html">an introduction to the Activity Streams standard for IBM DeveloperWorks</a>:</p>
<blockquote><p>Enter Activity Streams, an evolving standard that extends Atom for expressing social objects. Although it is a young standard, Activity Streams is fast becoming the <em>de facto</em> method for syndicating activity between web applications. For example, MySpace, Facebook, and TypePad all now produce Activity Streams XML feeds. But this technology isn&#8217;t just for the consumer web environment. As corporate intranets and internal software become more social, solid business reasons support implementing Activity Streams as a feature. This article describes Activity Streams in detail, considers its potential uses in enterprise environments, and provides some examples for interpreting Activity Streams feeds using PHP.</p>
</blockquote>
<p><a href="http://www.ibm.com/developerworks/opensource/library/x-activitystreams/index.html">The full article is over here.</a></p>
<h3>Related entries</h3>
<ul class="related_post">
<li><a href="http://benwerd.com/2010/06/write-real-time-web-applications-with-xmpp-php-and-javascript/" title="Write real-time web applications with XMPP, PHP, and JavaScript">Write real-time web applications with XMPP, PHP, and JavaScript (0)</a></li>
<li><a href="http://benwerd.com/2010/03/direct-messaging-a-social-web-architecture-part-2/" title="Direct messaging in a social web architecture">Direct messaging in a social web architecture (3)</a></li>
<li><a href="http://benwerd.com/2010/03/activity-streams-and-oauth-a-social-web-architecture/" title="Activity Streams and OAuth: a social web architecture">Activity Streams and OAuth: a social web architecture (3)</a></li>
</ul>
<br /><a href="http://benwerd.com/2010/06/an-introduction-to-activity-streams/#comments" title="Comments on &quot;An introduction to Activity Streams&quot;"><img src="http://benwerd.com/wp-content/plugins/feed-comments-number/image.php?995" alt="Comments" /></a> <img src="http://benwerd.com/wp-content/plugins/feed-statistics.php?view=1&post_id=995" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://benwerd.com/2010/06/an-introduction-to-activity-streams/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building a distributed social network? You&#8217;re doing it wrong.</title>
		<link>http://benwerd.com/2010/06/building-a-distributed-social-network-youre-doing-it-wrong/</link>
		<comments>http://benwerd.com/2010/06/building-a-distributed-social-network-youre-doing-it-wrong/#comments</comments>
		<pubDate>Fri, 04 Jun 2010 15:19:03 +0000</pubDate>
		<dc:creator>Ben Werdmuller</dc:creator>
				<category><![CDATA[Software development]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[6d]]></category>
		<category><![CDATA[appleseed]]></category>
		<category><![CDATA[diaspora]]></category>
		<category><![CDATA[diso project]]></category>
		<category><![CDATA[distributed social networking]]></category>
		<category><![CDATA[kopal]]></category>
		<category><![CDATA[noserub]]></category>
		<category><![CDATA[onesocialweb]]></category>
		<category><![CDATA[social networking]]></category>
		<category><![CDATA[status.net]]></category>

		<guid isPermaLink="false">http://benwerd.com/2010/06/building-a-distributed-social-network-youre-doing-it-wrong/</guid>
		<description><![CDATA[Here are some distributed social networking platforms and technologies designed to facilitate distributed social networking: Status.net DiSo 6D Kopal DSNP Noserub Appleseed OneSocialWeb Diaspora (included for completeness, but there isn’t any code yet) Wow, that’s a lot! And following Diaspora’s flurry of both coverage and cash, you can bet there’ll be plenty more to come. [...]]]></description>
			<content:encoded><![CDATA[<p>Here are some distributed social networking platforms and technologies designed to facilitate distributed social networking:</p>
<ul>
<li><a href="http://status.net/">Status.net</a></li>
<li><a href="http://diso-project.org/">DiSo</a></li>
<li><a href="http://www.get6d.com/">6D</a></li>
<li><a href="http://code.google.com/p/kopal/">Kopal</a></li>
<li><a href="http://www.complang.org/dsnp/">DSNP</a></li>
<li><a href="http://noserub.com/">Noserub</a></li>
<li><a href="http://opensource.appleseedproject.org/">Appleseed</a></li>
<li><a href="http://onesocialweb.org/">OneSocialWeb</a></li>
<li><a href="http://www.joindiaspora.com/">Diaspora</a> (included for completeness, but there isn’t any code yet)</li>
</ul>
<p>Wow, that’s a lot! And following Diaspora’s flurry of both coverage and cash, you can bet there’ll be plenty more to come. But of all the projects listed above, I’d argue that only Status.net is orientated around consumer need. As a result, it’s the one most likely to survive, become self-sufficient and prosper. Several more – including DiSo and DSNP – are seeking to build out technologies that can support such products, rather than the products themselves. DiSo is certainly working with other vendors and projects, is full of super-smart people, and should do very well. </p>
<p>However, the others are basing their product on ideology and technology rather than a human use case. I worry that a lot of these projects will disappear – which is a shame, because they’re all doing great work.</p>
<p>Here’s a use case distinction I’ve been thinking about:</p>
<ul>
<li>A <em>social networking platform</em> allows you to communicate and share with a specific group or community.</li>
<li><em>Distributed social networking software</em> allows you to store and organize your own content and – <em>optionally</em> &#8211; share it with whoever you like.</li>
</ul>
<p>Or to put it another way, in social networking platforms, sharing is <em>the</em> feature. In distributed social software, sharing is <em>a</em> feature. The two use cases are genuinely different: rather than being a competition between “monolithic” social communities and distributed social software, they’re used for different things. There is a place for both in the ecosystem – and there’s no real reason why they can’t work together.</p>
<p>As I pointed out in <a href="http://benwerd.com/2008/12/the-internet-is-people/">The Internet is People</a>, in order to be successful, any social software you build either has to plug into an existing community, or be useful for the first user who joins. In distributed social software, you only ever have one user: distributed sharing, then, should be a piece of infrastructure that can be plugged into <em>any </em>kind of software.</p>
<h3>Related entries</h3>
<ul class="related_post">
<li><a href="http://benwerd.com/2009/07/building-the-user-centered-web/" title="Building the user-centered web">Building the user-centered web (8)</a></li>
<li><a href="http://benwerd.com/2010/08/facebook-location-vs-the-aclu/" title="Facebook location vs the ACLU">Facebook location vs the ACLU (0)</a></li>
<li><a href="http://benwerd.com/2010/03/direct-messaging-a-social-web-architecture-part-2/" title="Direct messaging in a social web architecture">Direct messaging in a social web architecture (3)</a></li>
</ul>
<br /><a href="http://benwerd.com/2010/06/building-a-distributed-social-network-youre-doing-it-wrong/#comments" title="Comments on &quot;Building a distributed social network? You&rsquo;re doing it wrong.&quot;"><img src="http://benwerd.com/wp-content/plugins/feed-comments-number/image.php?983" alt="Comments" /></a> <img src="http://benwerd.com/wp-content/plugins/feed-statistics.php?view=1&post_id=983" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://benwerd.com/2010/06/building-a-distributed-social-network-youre-doing-it-wrong/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Devices and desires: why the portable device wars are a red herring</title>
		<link>http://benwerd.com/2010/06/devices-and-desires-why-the-portable-device-wars-are-a-red-herring/</link>
		<comments>http://benwerd.com/2010/06/devices-and-desires-why-the-portable-device-wars-are-a-red-herring/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 11:27:52 +0000</pubDate>
		<dc:creator>Ben Werdmuller</dc:creator>
				<category><![CDATA[Software development]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[ebooks]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[html 5]]></category>
		<category><![CDATA[mobile apps]]></category>
		<category><![CDATA[portable devices]]></category>
		<category><![CDATA[web applications]]></category>

		<guid isPermaLink="false">http://benwerd.com/2010/06/devices-and-desires-why-the-portable-device-wars-are-a-red-herring/</guid>
		<description><![CDATA[A little pre-history When I was a kid, I had an Atari 130XE. You’ve probably never heard of it. It was an 8-bit, all-in-one box that booted straight into BASIC; a flexible, well-built, sturdy computer. There was just one problem: it wasn’t a ZX Spectrum or a Commodore Amiga. At the time, Britain was undergoing [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/qnr/3179430878/"><img border="0" align="right" src="http://farm4.static.flickr.com/3327/3179430878_b274676ce1_m.jpg" /></a></p>
<p><strong>A little pre-history</strong></p>
<p>When I was a kid, I had an Atari 130XE. You’ve probably never heard of it. It was an 8-bit, all-in-one box that booted straight into BASIC; a flexible, well-built, sturdy computer.</p>
<p>There was just one problem: it wasn’t a ZX Spectrum or a Commodore Amiga.</p>
<p>At the time, Britain was undergoing a low-budget computing renaissance. Bedrooms up and down the country were filled with skinny boys (and yes, it was mostly boys) noisily loading games from cassette tapes and dutifully copying down source code listings from specialist magazines. The two engines of this renaissance were the Spectrum and the Amiga, and as such, the games, the tutorials and the social infrastructure were built for these two machines. Perhaps this helped me become more of a creative self-starter: I wrote my own games and stories instead of consuming other peoples’.</p>
<p>Later on, 16 bit computers became popular, and everyone upgraded to the Atari ST: a home machine powerful enough for creatives and musicians, but cool enough for game-playing kids. Except, perhaps inevitably, we had a PC. Running DOS. With a black-and-white Hercules display. Great if you wanted to plug economic figures through a spreadsheet, but lousy if you were a twelve-year-old who was mostly interested in playing <em>The Secret of Monkey Island</em>. Not only was the wholly PC incompatible with the Atari ST, but the PC was actually incompatible with <em>itself</em>: a game that worked on PCs with an EGA or VGA screen wouldn’t work with CGA or Hercules. Back then, the parts inside your computer were at least as important as the operating system you ran or the software you bought.</p>
<p><strong>Plug and Play</strong></p>
<p>Through heavy force and heavy lifting, Microsoft changed all that. Windows 95 was the first widely-accessible operating system that unified hardware platforms. Sure, you had to have an Intel-compatible processor, and it took them a while to get it right (for a while the system was redubbed “plug and pray”), but you didn’t have to mess with configuration files to get your computer working. This was a Big Deal.</p>
<p>Today, we’re used to not having to tinker with our machines. Windows will adapt to just about any hardware you throw it at, and even Linux has become an easy-to-use operating system (relatively speaking).</p>
<p>Better yet, we have data portability: in my house we’re running Windows 7, Mac OS X and Ubuntu, and I can move my documents between them interchangeably. Thanks to the web, and Java before it, we even have <em>applications</em> that don’t care what kind of operating system they run on. For an end user, things <em>just work</em>. That’s exactly how it should be.</p>
<p>Finally, computing is simple, data is interoperable and consumers are in control.</p>
<p><strong>Uh oh: enter the portables</strong></p>
<p>So just as we get a unified computing platform that’s easy to use and relatively simple for consumers to navigate, in comes a new device market that’s as fragmented and consumer-unfriendly as the computing market was in the eighties.</p>
<p align="center"><a href="http://www.flickr.com/photos/ndevil/4525610361/"><img border="0" src="http://farm5.static.flickr.com/4055/4525610361_e3e2e5a6a9_m.jpg" /></a> <a href="http://www.flickr.com/photos/jblyberg/2073940586/"><img border="0" src="http://farm3.static.flickr.com/2056/2073940586_0db9d02934_m.jpg" /></a> <a href="http://www.flickr.com/photos/ivyfield/4486938191/"><img border="0" src="http://farm3.static.flickr.com/2722/4486938191_55507a5a34_m.jpg" /></a></p>
<p>Android. iPhone OS. Windows 7 tablet edition. Windows Embedded Compact. Windows Phone. WebOS. ChromeOS. Kindle OS. Whew! It’s like 1986 all over again.</p>
<p>As a publisher or developer, figuring out which device to build for is a headache. Each one has a different operating system, possibly a different app store (something nobody had to worry about in the eighties), and a different set of underlying technologies. Do you exploit the iPad’s current success and develop for the locked-down Apple platform? Do you take advantage of Amazon’s huge built-in market and write <a href="http://www.zdnet.com/blog/mobile-gadgeteer/kindle-development-kit-limited-beta-program-still-moving-forward/3215">a Kindle app</a>? Do you hold out and wait for HP’s exciting-looking WebOS-powered tablet (which caused a storm recently by publicly moving away from Windows)?</p>
<p><strong>Plug and Play (again)</strong></p>
<p>The truth is, market forces are going to apply the same pressures to the mobile market that the personal computing sector felt in the early nineties. This story has played itself out several times now: one platform will emerge victorious. Judging by the lessons learned by IBM with their Personal Computer architecture, and both Microsoft and Linux for operating systems, it’s likely to be one which is:</p>
<ul>
<li><strong>Open</strong>: anyone can add it to their system for little cost, allowing hardware manufacturers to maximize profits by concentrating on the device itself rather than the ecosystem around it </li>
<li><strong>Sustainable</strong>: it’s powered by a solid business ecosystem that will ensure the longevity of the platform </li>
<li><strong>Friendly</strong>: it’s a system for everyone, not just hobbyists or developers </li>
<li><strong>Flexible</strong>: it can be used in multiple contexts, from living rooms to science labs </li>
</ul>
<p>By this measure, Apple is condemned to be a niche player, operating at the premium end of the market. Sure, right now technophiles everywhere are salivating over the iPad, but that will last until someone comes out with something nicer. In any event, Apple’s grasp is limited to the wealthier western nations – there are far more people seeking more affordable devices waiting in the wings in other places. The third world computer revolution is very much underway.</p>
<p>My bet, of course, is on web technologies. But it isn’t necessarily on the Internet: it’s time we separated web technologies from the World Wide Web. Indeed, connectivity isn’t ubiquitous, and isn’t likely to become ubiquitous world-wide for a very long time. Therefore, the ability to download, install and run apps offline, as we always have with software applications, is incredibly important.</p>
<p>With its <a href="https://chrome.google.com/webstore">Chrome Web App Store</a>, Google is leading the way, and showing that it understands what it takes to create a next-generation application platform. It’s also shown leadership over HTML 5, which it is clearly investing in as a genuine method for powering both content and software. The genius is this: anyone can build using web technologies, and web technologies can run on virtually any hardware. Google makes its money through value-added services, like advertising (to allow both device manufacturers and software developers to supplement their incomes), its app store and underlying logic via <a href="http://code.google.com/">some powerful APIs</a>. It’s not an operating system, but for most end-users, they’re making the operating system irrelevant: it’s simply the thing that runs the web browser.</p>
<p><strong>My advice: ignore the hardware</strong></p>
<p><a href="http://www.flickr.com/photos/smemon/4620148826/"><img border="0" align="right" src="http://farm5.static.flickr.com/4025/4620148826_72989dfb6b_m.jpg" /></a>Computers as we know them today will always exist, but they won’t be for everybody. If you’re developing for non-technical end users, the plethora of hardware devices available to you is a red herring. You should be thinking of the web as the platform your products will be based on. Make no mistake: you need to become an expert in web technologies now – or, of course, <a href="http://benwerd.com/consultancy/">find someone who is</a>.</p>
<p><em>Images:</em></p>
<ul>
<li><em><a href="http://www.flickr.com/photos/qnr/3179430878/">My ‘new’ Atari 130 XE</a> by <a href="http://www.flickr.com/photos/qnr/">qnr</a>, released under a <a href="http://creativecommons.org/licenses/by-sa/2.0/deed.en">Creative Commons license</a>.</em> </li>
<li><a href="http://www.flickr.com/photos/ndevil/4525610361/"><em>HTC Tablet PC – evolve</em></a><em> by </em><a href="http://www.flickr.com/photos/ndevil/"><em>nDevilTV</em></a><em>, released under a </em><a href="http://creativecommons.org/licenses/by/2.0/deed.en"><em>Creative Commons license</em></a><em>.</em> </li>
<li><a href="http://www.flickr.com/photos/jblyberg/2073940586/"><em>Amazon Kindle &amp; Sony eBook</em></a><em> by </em><a href="http://www.flickr.com/photos/jblyberg/"><em>jblyberg</em></a><em>, released under a </em><a href="http://creativecommons.org/licenses/by/2.0/deed.en"><em>Creative Commons license</em></a><em>.</em> </li>
<li><em><a href="http://www.flickr.com/photos/ivyfield/4486938191/">iPad &amp; Friends</a> by <a href="http://www.flickr.com/photos/ivyfield/">Yutaka Tsutano</a>, released under a <a href="http://creativecommons.org/licenses/by/2.0/deed.en">Creative Commons license</a></em> </li>
<li><a href="http://www.flickr.com/photos/smemon/4620148826/"><em>Web browsers</em></a><em> by </em><a href="http://www.flickr.com/photos/smemon/"><em>smemon87</em></a><em>, released under a </em><a href="http://creativecommons.org/licenses/by/2.0/deed.en"><em>Creative Commons license</em></a> </li>
</ul>
<h3>Related entries</h3>
<ul class="related_post">
<li><a href="http://benwerd.com/2010/04/so-why-do-we-need-apps-anyway/" title="So why do we need apps anyway?">So why do we need apps anyway? (3)</a></li>
<li><a href="http://benwerd.com/2009/11/charging-for-software-in-the-age-of-web-apps/" title="Charging for software in the age of web apps">Charging for software in the age of web apps (2)</a></li>
<li><a href="http://benwerd.com/2010/04/some-alternative-views-of-the-ipad/" title="Some alternative views of the iPad">Some alternative views of the iPad (1)</a></li>
</ul>
<br /><a href="http://benwerd.com/2010/06/devices-and-desires-why-the-portable-device-wars-are-a-red-herring/#comments" title="Comments on &quot;Devices and desires: why the portable device wars are a red herring&quot;"><img src="http://benwerd.com/wp-content/plugins/feed-comments-number/image.php?972" alt="Comments" /></a> <img src="http://benwerd.com/wp-content/plugins/feed-statistics.php?view=1&post_id=972" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://benwerd.com/2010/06/devices-and-desires-why-the-portable-device-wars-are-a-red-herring/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>So why do we need apps anyway?</title>
		<link>http://benwerd.com/2010/04/so-why-do-we-need-apps-anyway/</link>
		<comments>http://benwerd.com/2010/04/so-why-do-we-need-apps-anyway/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 15:01:44 +0000</pubDate>
		<dc:creator>Ben Werdmuller</dc:creator>
				<category><![CDATA[Software development]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[app store]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[ebooks]]></category>
		<category><![CDATA[epub]]></category>
		<category><![CDATA[html 5]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[idpf]]></category>
		<category><![CDATA[itunes]]></category>
		<category><![CDATA[mobile apps]]></category>
		<category><![CDATA[mobile Internet]]></category>
		<category><![CDATA[steve jobs]]></category>

		<guid isPermaLink="false">http://benwerd.com/2010/04/so-why-do-we-need-apps-anyway/</guid>
		<description><![CDATA[Ebooks don’t cut it: everyone wants an app NB (May 20, 2010): A lot of my suggestions for web-based apps are part of the Google Chrome Web App Store. In fact, the .crx file used there is a zip file with very similar characteristics to epub. (I assume, as Chromium is open source, that .crx [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Ebooks don’t cut it: everyone wants an app</strong></p>
<p><em><strong>NB (May 20, 2010):</strong> A lot of my suggestions for web-based apps are part of the <a href="https://chrome.google.com/webstore">Google Chrome Web App Store</a>. In fact, the .crx file used there is a zip file </em><a href="http://code.google.com/chrome/apps/docs/developers_guide.html"><em>with very similar characteristics to epub</em></a><em>. (I assume, as Chromium is open source, that .crx files are also open source – so the web app store is not limited to Google.) This post can be reread as an argument for building for the Web App Store.</em></p>
<p>At <em><a href="http://intersectionpublishing.com">Intersection: Publishing</a></em> in London the other week, there was a lot of discussion from publishers looking at mobile apps as their mobile publishing solution. Rather than creating ebooks, there seemed to be a general feeling that dedicated applications presented more of an opportunity for richer content, while closing the door to pirates and ensuring that publications remained a paid commodity.</p>
<p>The piracy argument is kind of spurious: although app stores tend to be locked down, this presents a false security blanket for publishers. It only takes one person to crack a store for piracy to be generally possible; technology only ever becomes less secure over time. A cynical person might suggest that the piracy argument is largely spread by the people who own the app stores or provide related services. The people who will suffer are authors and publishers.</p>
<p><strong>Why apps rock</strong></p>
<p>However, there’s definitely an argument for using apps – not just for publishers, but for anyone who wants to create dynamic content. Anyone who’s ever owned an iPhone will tell you that native applications can still provide a smoother, more consistent experience than a web app, without the hassle of remembering website addresses or waiting for pages to load. Tweetie is a million miles better than Twitter’s mobile website – something they themselves acknowledged when they <a href="http://blog.twitter.com/2010/04/twitter-for-iphone.html">acquired the iPhone application last month</a>.</p>
<p align="center"><a title="Mobile vs app by Ben Werdmuller von Elgg, on Flickr" href="http://www.flickr.com/photos/benwerd/4563334758/"><img alt="Mobile vs app" src="http://farm4.static.flickr.com/3035/4563334758_68ce04ec1a.jpg" width="500" height="369" /></a></p>
<p>Above, mobile Twitter is on the left; Tweetie is on the right.</p>
<ul>
<li>The app doesn’t need to load its interface from the web; only the underlying data is downloaded, meaning the app can appear instantaneously, loads data faster, and provides a better user experience. </li>
<li>The mobile web app needs to sit within the browser chrome (URL and search boxes, browser buttons on the bottom, and in my case, a debug toolbar). The app, on the other hand, has a full-screen UI dedicated to Twitter. </li>
</ul>
<p><strong>Why the web rocks</strong></p>
<p>The mobile landscape right now is a bit like the personal computing landscape circa 1985. There are a bunch of different platforms to code for:</p>
<ul>
<li>Apple iPhone and iPad </li>
<li>Android </li>
<li>Symbian </li>
<li>Windows Phone </li>
<li>Blackberry </li>
<li>WebOS (now more important in the wake of <a href="http://techcrunch.com/2010/04/28/hp-palm-deal-webos/">HP’s acquisition</a>) </li>
</ul>
<p>Each of these platforms is different under the hood, and must be developed for separately. Most developers and publishers can’t afford to do this – there isn’t a way to write once and cross-compile to many platforms at once. In fact, <a href="http://daringfireball.net/2010/04/iphone_agreement_bans_flash_compiler">Apple recently specifically forbade this</a>: if you’re developing an Apple app, you’re doing so natively, or you’re violating that platform’s terms of use.</p>
<p>However, each of these platforms have one thing in common: they support the web.</p>
<p><strong>HTML5 and ePub: a new platform for apps</strong></p>
<p>As you’re probably aware already, the upcoming HTML5 standard revises the web platform to become far more suitable for apps. Improvements include:</p>
<ul>
<li>Methods for offline and cached usage (so interfaces can load immediately) </li>
<li>Built-in databases and storage (so web pages can natively store their own data) </li>
<li>A paintable canvas element and WebGL 3D graphics functionality (so web pages can display interfaces more like real applications; the 3D shooter <a href="http://www.informationweek.com/news/software/open_source/showArticle.jhtml?articleID=224201220"><em>Quake II</em> has already been ported to native HTML</a>) </li>
<li>Native video and audio support (no Flash required) </li>
<li>Websockets (a more efficient way to connect to Internet data from web pages) </li>
<li>Built-in support for advanced functionality <a href="http://benwerd.com/lab/geo.php">like geolocation</a> </li>
</ul>
<p>This is a big deal. Compliant browsers like Firefox, Safari, Chrome and <a href="http://www.betanews.com/article/Internet-Explorer-9-the-HTML-5-browser-Better-than-halfway-there/1268780066">even the upcoming Microsoft Internet Explorer 9</a> will be able to run applications that look and feel like native software but are powered by web standards. Between those browser engines, that’s most of the mobile platforms covered: those that don’t have an HTML5 browser built in by default should have one available to download. What’s more, both Firefox’s Gecko HTML rendering engine and the WebKit engine that powers both Chrome and Safari are open source, so anyone can pick them up and build software around them.</p>
<p>So sites on the wider web can be more like applications. That’s fantastic news in itself, but what about the app store model? A lot of people depend on that for revenue, and there’s no reason why that should be incompatible with using web standards.</p>
<p>Luckily, it turns out that ePub – the ebook standard – is really just a bunch of XHTML 1.1 pages drawn together in a specialized way and bundled up in a modified zip file. There are already established best practices for buying and selling ebooks.</p>
<p>If the ePub standard was updated to allow HTML5, it would evolve into a format for self-contained, multi-platform apps that could be sold in the same way as ebooks, music, videos, or apps in something like the iTunes App Store. Except app publishers would only need to build once to support many different kinds of mobile platform, thereby reducing the barrier to entry and allowing their budgets to be concentrated on building just one really awesome piece of software instead of spread across multiple devices.</p>
<p>This would be in a lot of peoples’ interests: app publishers, device manufacturers, browser vendors and consumers alike. There’s a lot of money tied up in a venture like this. The only question is, will the <a href="http://www.openebook.org/">International Digital Publishing Forum</a>, which controls the ePub standard, be foresighted enough to see this opportunity?</p>
<p><strong>Update: Steve Jobs weighs in</strong></p>
<p>Apple’s CEO has written a little about <a href="http://www.apple.com/hotnews/thoughts-on-flash/">why HTML5 is the future of mobile apps</a> (albeit in the context of his platform’s refusal to support Flash):</p>
<blockquote><p>HTML5, the new web standard that has been adopted by Apple, Google and many others, lets web developers create advanced graphics, typography, animations and transitions without relying on third party browser plug-ins (like Flash). HTML5 is completely open and controlled by a standards committee, of which Apple is a member.</p>
<p>[…] Flash was created during the PC era – for PCs and mice. Flash is a successful business for Adobe, and we can understand why they want to push it beyond PCs. But the mobile era is about low power devices, touch interfaces and open web standards – all areas where Flash falls short.</p>
<p>[…] New open standards created in the mobile era, such as HTML5, will win on mobile devices (and PCs too). Perhaps Adobe should focus more on creating great HTML5 tools for the future, and less on criticizing Apple for leaving the past behind.</p>
</blockquote>
<p>Make no mistake: HTML5 is the platform to bet on.</p>
<h3>Related entries</h3>
<ul class="related_post">
<li><a href="http://benwerd.com/2010/06/devices-and-desires-why-the-portable-device-wars-are-a-red-herring/" title="Devices and desires: why the portable device wars are a red herring">Devices and desires: why the portable device wars are a red herring (2)</a></li>
<li><a href="http://benwerd.com/2010/04/the-future-of-publishing/" title="The future of publishing">The future of publishing (1)</a></li>
<li><a href="http://benwerd.com/2010/04/intersection-publishing-is-today/" title="Intersection: Publishing is today!">Intersection: Publishing is today! (0)</a></li>
</ul>
<br /><a href="http://benwerd.com/2010/04/so-why-do-we-need-apps-anyway/#comments" title="Comments on &quot;So why do we need apps anyway?&quot;"><img src="http://benwerd.com/wp-content/plugins/feed-comments-number/image.php?962" alt="Comments" /></a> <img src="http://benwerd.com/wp-content/plugins/feed-statistics.php?view=1&post_id=962" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://benwerd.com/2010/04/so-why-do-we-need-apps-anyway/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Direct messaging in a social web architecture</title>
		<link>http://benwerd.com/2010/03/direct-messaging-a-social-web-architecture-part-2/</link>
		<comments>http://benwerd.com/2010/03/direct-messaging-a-social-web-architecture-part-2/#comments</comments>
		<pubDate>Wed, 31 Mar 2010 06:58:19 +0000</pubDate>
		<dc:creator>Ben Werdmuller</dc:creator>
				<category><![CDATA[Software development]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[activity streams]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[enterprise 2.0]]></category>
		<category><![CDATA[enterprise software]]></category>
		<category><![CDATA[oauth]]></category>
		<category><![CDATA[open data]]></category>
		<category><![CDATA[open web]]></category>
		<category><![CDATA[openid]]></category>
		<category><![CDATA[salmon]]></category>
		<category><![CDATA[social messaging]]></category>
		<category><![CDATA[social networking]]></category>

		<guid isPermaLink="false">http://benwerd.com/2010/03/direct-messaging-a-social-web-architecture-part-2/</guid>
		<description><![CDATA[This post is the third segment in my series on an architecture for the social web. Previously: How social networks can replace email, which is a non-technical approach to the issues, and my follow-up describing how to build a social web architecture using available technology today. So what about direct messaging? In my previous post, [...]]]></description>
			<content:encoded><![CDATA[<p><em>This post is the third segment in my series on an architecture for the social web. Previously: </em><a href="http://benwerd.com/2010/02/how-social-networks-can-replace-email/"><em>How social networks can replace email</em></a><em>, which is a non-technical approach to the issues, and my follow-up describing </em><a href="http://benwerd.com/2010/03/activity-streams-and-oauth-a-social-web-architecture/"><em>how to build a social web architecture using available technology today</em></a><em>.</em></p>
<p><b>So what about direct messaging?</b></p>
<p>In my previous post, I described content notifications in the social web as being Activity Streams updates in response to requests signed with an OAuth key. Each individual contact would have his or her own OAuth key, and the system would adjust delivered content depending on access permissions I had assigned to them.</p>
<p>A private message in this architecture could just be represented as an item of content restricted to a small set of recipients (in the email use case, this is typically just one), with replies delivered using <a href="http://www.salmon-protocol.org/salmon-protocol-summary">Salmon</a>. The advantage of this approach is that the message doesn’t have to be text; it can be audio, video, a link to live software, or something else entirely.</p>
<p>However, while this is technically feasible, it may not always be desirable. We know from Google Wave, which also pushes the boundaries of person-to-person messaging, that an open definition of what a message contains can get very messy very quickly. Although I was one of the first people to have one, I no longer check my Wave account regularly. I believe this is mostly a user interface issue: Wave is an awesome collaborative document editor (what I’ve heard described as “a massively multiplayer whiteboard”), but not in any way <a href="http://mashable.com/2009/05/28/google-wave/">the evolution of email that its development team claimed</a>.</p>
<p>Therefore, I think it’s useful to think about the difference between a document and a message:</p>
<ul>
<li>A <i>message</i> is the body of a communication. </li>
<li>A <i>document</i> is a bounded representation of some kind of information. </li>
</ul>
<p>While in many ways they’re the same, I think it makes sense to make a separation on the UI level. As we’re discussing a decentralized architecture here, some kind of semantic marker in our activity stream feed to mark something as a message would be a useful feature.</p>
<p><strong>Messaging “out of the blue”</strong></p>
<p>You know where you are with an email address. Mine is <a href="mailto:ben@benwerd.com">ben@benwerd.com</a>. Anyone who encounters that string of characters, whether on a website like this one, a business card or a scribbled note on a piece of paper, is able to send me a message from anywhere in the world. In the 17 years I’ve had an email address, the list of friendships and business connections I’ve made, and opportunities I’ve received and developed, through this simple mechanism has been uncountable. It’s also likely to continue far into the future.</p>
<p>Compared to this, visiting someone’s social web profile and sending them a message from their web presence is a hassle. Compare these steps:</p>
<ol>
<li>Receive the address of someone’s profile </li>
<li>Click the “follow” button either on the profile itself or on the toolbar of your social web compatible browser </li>
<li>Wait for the contact to follow you back </li>
<li>Send your message </li>
</ol>
<p>To:</p>
<ol>
<li>Receive someone’s email address</li>
<li>Send a message to that address </li>
</ol>
<p>It’s simple, ubiquitous, decentralized and universally compatible. In fact, it seems hard to improve on, doesn’t it?</p>
<p>However, as this is a thought experiment <a href="http://benwerd.com/2010/02/how-social-networks-can-replace-email/">about how social networking can replace email</a>, let’s see if we can simplify this process somewhat. In my previous post, I discussed how a connection <a href="http://benwerd.com/2010/03/activity-streams-and-oauth-a-social-web-architecture/">could be established with OpenID and OAuth</a> through a web-based interface on a social web profile. How can we make this as simple as emailing someone, and cut out most of the steps I’ve listed above?</p>
<p><strong>Connecting programmatically</strong></p>
<p>I propose two additions to my previously discussed mechanism. The first is to expand the connection protocol to include a message. If someone connects to me on LinkedIn or Facebook, I receive some explanatory text from them, so it makes sense to include this feature in our decentralized social web architecture. It is likely that this would be an added parameter to the <a href="http://oauth.net/core/1.0/#auth_step1">OAuth request token procedure</a>.</p>
<p>The second is to allow connections to be made programmatically through a custom application. Just as we use email clients now, a social web client could automatically send a connection request. In keeping with our principle of using existing technology where possible, this is a simple OAuth connection request from the application, which includes a user message as described above. The application knows our details because we’ve set our preferences, so we’re never visibly redirected to a web browser to complete authentication. (In fact, <a href="http://groups.google.com/group/twitter-development-talk/msg/b09f2a3324728d89?pli=1">this could take place using xAuth</a>, a version of the OAuth protocol being developed for just these sorts of browser-free use cases.)</p>
<p>Whether we can send a follow-up message now depends on the receiving party. We have our OAuth token, and while it remains valid, the receiving social web node may choose to ignore any follow-up requests.</p>
<p>Our procedure has become:</p>
<ol>
<li>Obtain address of someone’s social web node (you could even infer it using <a href="http://code.google.com/p/webfinger/">WebFinger</a>)</li>
<li>Send a message to that node, bundled with a connection request </li>
</ol>
<p>This is significantly better, and is comparable to the simplicity of email.</p>
<p>You may be wondering about the wisdom of adding everyone you contact as a connection. In fact, there’s some precedent for this already in applications like GMail. It’s important to note that not every connection need be a <em>friend</em>: in some ways, you can think of your total list of connections as your contact book. Some are important, some can be safely squirreled away until you need to contact them again. In this context (or any context where people you have a relationship with and people you’ve contacted are merged into one set), an adequate person management interface – or CRM to you and me – becomes important.</p>
<p>Next, and finally: let’s make our distributed social web architecture reliable enough to use in enterprise environments, using message queue protocols like ZeroMQ and AMQP.</p>
<h3>Related entries</h3>
<ul class="related_post">
<li><a href="http://benwerd.com/2010/03/activity-streams-and-oauth-a-social-web-architecture/" title="Activity Streams and OAuth: a social web architecture">Activity Streams and OAuth: a social web architecture (3)</a></li>
<li><a href="http://benwerd.com/2010/02/how-social-networks-can-replace-email/" title="How social networks can replace email">How social networks can replace email (11)</a></li>
<li><a href="http://benwerd.com/2009/06/social-networking-beyond-the-silo/" title="Social networking: beyond the silo">Social networking: beyond the silo (1)</a></li>
</ul>
<br /><a href="http://benwerd.com/2010/03/direct-messaging-a-social-web-architecture-part-2/#comments" title="Comments on &quot;Direct messaging in a social web architecture&quot;"><img src="http://benwerd.com/wp-content/plugins/feed-comments-number/image.php?938" alt="Comments" /></a> <img src="http://benwerd.com/wp-content/plugins/feed-statistics.php?view=1&post_id=938" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://benwerd.com/2010/03/direct-messaging-a-social-web-architecture-part-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Activity Streams and OAuth: a social web architecture</title>
		<link>http://benwerd.com/2010/03/activity-streams-and-oauth-a-social-web-architecture/</link>
		<comments>http://benwerd.com/2010/03/activity-streams-and-oauth-a-social-web-architecture/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 10:32:08 +0000</pubDate>
		<dc:creator>Ben Werdmuller</dc:creator>
				<category><![CDATA[Enterprise]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[activity streams]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[enterprise 2.0]]></category>
		<category><![CDATA[enterprise software]]></category>
		<category><![CDATA[gartner]]></category>
		<category><![CDATA[oauth]]></category>
		<category><![CDATA[open data]]></category>
		<category><![CDATA[open web]]></category>
		<category><![CDATA[openid]]></category>
		<category><![CDATA[portable contacts]]></category>
		<category><![CDATA[pubsubhubbub]]></category>
		<category><![CDATA[salmon]]></category>
		<category><![CDATA[social messaging]]></category>
		<category><![CDATA[social networking]]></category>

		<guid isPermaLink="false">http://benwerd.com/2010/03/activity-streams-and-oauth-a-social-web-architecture/</guid>
		<description><![CDATA[My previous post was a response to Gartner’s prediction last month that social networking would replace email as the “primary vehicle for interpersonal communications for 20 percent of business users.” In it, I named some properties that would need to be held by any social networking system that would successfully replace email. Ease of use [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://benwerd.com/2010/02/how-social-networks-can-replace-email/">My previous post</a> was a response to <a href="http://www.gartner.com/it/page.jsp?id=1293114">Gartner’s prediction last month</a> that social networking would replace email as the “primary vehicle for interpersonal communications for 20 percent of business users.” In it, I named some properties that would need to be held by any social networking system that would successfully replace email.</p>
<ul>
<li>Ease of use </li>
<li>Ubiquity across devices </li>
<li>Platform, service and infrastructure independence </li>
</ul>
<p>My argument boiled down to the following statement:</p>
<blockquote><p>Email has succeeded because it’s open, standard and decentralized; for social networks to replace it, they must also be open, standard and decentralized.</p>
</blockquote>
<p>Email is useful because just about everybody has an email address. I can get in touch with my clients in London, my friends here in Oxford or my grandfather in Austin, Texas, with equal ease, even though all of them are using different infrastructure and software provided by different companies. I use Gmail, but there doesn’t need to be any kind of formal agreement between Google and whoever’s providing my grandfather’s email, say. It just works; nobody owns email as a communications method, and anyone can set up an email server. The same is true with websites: anyone can set one up, and nobody owns the web.</p>
<p>For social communications to be as popular and ubiquitous as email, there must be one social web, and it must be owned by nobody. That means that each socially-aware site or application must implement the same social communication standards.</p>
<p>The best standards aren’t dictated: they evolve through common usage. If you look at HTTP (the protocol that the web relies on), SMTP (one of the protocols behind email) and file formats like RSS and HTML, the common thread behind them is that they’re simple. It turns out that through excellent work at companies like Google, Plaxo, SixApart, Twitter, JanRain and – perhaps incredibly – JPMorgan Chase &amp; co, we already have a number of technologies that collectively embody the properties I listed above.</p>
<p><strong>Notes and server architecture for one possible social web</strong></p>
<p>These are my ideas about how these standards might be used. These aren’t intended as replacements for existing social networking platforms or services; rather, they could easily be added as additional features both to those and to many other types of application. The ability to share isn’t a uniquely required feature of social networking software &#8211; think about its usefulness in applications like Word or Google Docs, for example.</p>
<p>With email, you use a software client (Outlook, say, or the Gmail web interface) that speaks to an email server which does the hard business of sending and receiving messages to and from the wider Internet. Here, I will be describing a system where everyone has their own node on the social web, which effectively acts as a client <em>and</em> server. Mine might be here at <em>benwerd.com</em>, for example. It’s my website – my profile on the social web – and it’s where I send social communications. That’s the server side. However, it also acts as the client when I’m accessing resources stored on other peoples’ servers.</p>
<p><strong>Establishing connections and granting permissions</strong></p>
<p>Let’s say I want to make a resource available to my clients. With email, I’d send them each a separate copy. This is both insecure and inefficient: I have no control over what happens to that copy, and each time I send it I create a new version. With some back-and-forth, there could easily be ten or twenty individual copies of a document floating around. (I often bounce software specifications – typically Word documents &#8211; around with my clients, and this is something that happens to me regularly. Google Docs is probably a better solution, but not everybody has a Google account.)</p>
<p>With the social web, only one version needs to exist, which I own. If my clients have established a connection with me, I can restrict that resource so that only they may see it. The tricky bit is that in order to know if it’s really them, they must be authenticated in some way.</p>
<p>In monolithic systems like Facebook, where everyone uses the same website, that’s easy: my client must be logged in, and we must have established a friend connection. In a decentralized system, that’s a much harder problem, but not insurmountable. Two technologies will help us:</p>
<ul>
<li><a href="http://openid.net">OpenID</a>: the open, decentralized authentication standard, which currently uses a website address as a kind of universal username </li>
<li><a href="http://oauth.net/">OAuth</a>: <a href="http://en.wikipedia.org/wiki/OAuth">an open protocol that</a> “allows users to share their private resources (e.g. photos, videos, contact lists) stored on one site with another site without having to hand out their username and password.” OAuth provides a secret token to applications that they can use to access authenticated services and resources behind the scenes </li>
</ul>
<p>Specifically, we’ll need <a href="http://factoryjoe.com/blog/2010/01/04/openid-connect/">OpenID Connect</a> (or, until that’s up and running, <a href="http://wiki.openid.net/OpenID-and-OAuth-Hybrid-Extension">the OpenID / OAuth hybrid protocol</a>), because we’ll be using OpenID to authenticate, OAuth to power our decentralized access permissions, and a number of other protocols and endpoints along the way. It’s much neater if these are all established at once.</p>
<p><strong>Making friends and getting updates</strong></p>
<p>The process would work in the following way. Let’s say I want to make a connection with my friend <a href="http://marcus-povey.co.uk/">Marcus Povey</a>.</p>
<ol>
<li>I visit his site, and see that he is displaying a “connect to me” icon, indicating that it is a node on the social web. Later on, perhaps my browser would detect that this was a social web node in the same way that most browsers detect RSS feeds today, and light up an icon. Chris Messina has started <a href="http://factoryjoe.com/blog/2010/03/11/the-social-agent/">a five part series on the browser as a social agent</a>, which is worth a read. </li>
<li>Either way, I click on “connect to me”. Marcus’s site prompts me for the address of my profile, which I enter. (Later on, my browser does this bit for me.) </li>
<li>My profile address is an OpenID, and through the authentication process my social web node receives an OAuth token from him. No further authentication is required. </li>
<li>On his social web node dashboard, Marcus sees that I’ve established a connection with him. He can ignore it, in which case nothing happens, or he can mark me as a friend (or any other arbitrary designation, which could be unique to the software he’s using). </li>
<li>My social web node periodically checks for activity updates from Marcus’s, signing each request with that OAuth token so it knows who I am. This may be at my direct request; through repeated polling, RSS-style; or the update may be pushed to me through <a href="http://code.google.com/p/pubsubhubbub/">a PubSubHubbub ping</a>. </li>
<li>Depending on the assignation he’s given me, Marcus’s node either responds with just a feed of public activity (if he’s ignored the request), or with additional activity he’s allowed me to see, in <a href="http://activitystrea.ms/">Activity Streams format</a>. </li>
<li>Marcus can change my assignation or withdraw my OAuth token at any time from his dashboard. (Of course, throughout all this, the OAuth token mechanism is invisible to both users: it’s simply presented as a social connection.) </li>
</ol>
<p><strong>Embedded content and interacting directly on other social web nodes</strong></p>
<p>Activity Streams is based on Atom, so content for items like blog posts (and resources like photos, using Atom Media) can be embedded directly in the activity feed. (Rob Dolin from Windows Live <a href="http://dev.live.com/blogs/devlive/archive/2009/09/14/503.aspx">has some great examples</a>.)</p>
<p>However, not all content is standard enough to be embeddable. In those cases, I can simply click through from Marcus’s activity update to his site, possibly log in again using OpenID, and interact with the content there. Additionally, by allowing users to log directly into his site via OpenID, Marcus can show selected people restricted content even if they don’t have the full range of social web software.</p>
<p><strong>Friends lists and commenting</strong></p>
<p>Further standards help us add extra functionality. If Marcus gives me permission, I might be able to download his contacts via Portable Contacts. <a href="http://www.salmon-protocol.org/">Salmon</a> is a protocol for commenting on distributed resources and allowing those comments to find their way upstream to the original, which is <a href="http://www.salmon-protocol.org/salmon-protocol-summary">compatible with Activity Streams</a>. Using this, I might be able to comment on Marcus’s activity items from within my dashboard and have them show up in his. Through this mechanism, all his friends could have a conversation on his activity stream items.</p>
<p><strong>Reliability</strong></p>
<p>So far, so good: we have a simple technological basis for permissive social communications. But if the social web is really going to replace email, we have to address one of the most important features for enterprise users: reliability. Businesses will not accept their critical communications being subject to <a href="http://failwhale.com/">fail whales</a>.</p>
<p>In my next posts in the series, then, I’ll discuss <a href="http://benwerd.com/2010/03/direct-messaging-a-social-web-architecture-part-2/">person-to-person messaging</a> and the thorny issue of guaranteed delivery.</p>
<h3>Related entries</h3>
<ul class="related_post">
<li><a href="http://benwerd.com/2010/03/direct-messaging-a-social-web-architecture-part-2/" title="Direct messaging in a social web architecture">Direct messaging in a social web architecture (3)</a></li>
<li><a href="http://benwerd.com/2010/02/how-social-networks-can-replace-email/" title="How social networks can replace email">How social networks can replace email (11)</a></li>
<li><a href="http://benwerd.com/2009/05/the-open-stack-and-truly-open-apis/" title="The Open Stack and truly open APIs">The Open Stack and truly open APIs (0)</a></li>
</ul>
<br /><a href="http://benwerd.com/2010/03/activity-streams-and-oauth-a-social-web-architecture/#comments" title="Comments on &quot;Activity Streams and OAuth: a social web architecture&quot;"><img src="http://benwerd.com/wp-content/plugins/feed-comments-number/image.php?902" alt="Comments" /></a> <img src="http://benwerd.com/wp-content/plugins/feed-statistics.php?view=1&post_id=902" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://benwerd.com/2010/03/activity-streams-and-oauth-a-social-web-architecture/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>PubCasts: subscribe to publications through RSS</title>
		<link>http://benwerd.com/2010/01/pubcasts-subscribe-to-publications-through-rss/</link>
		<comments>http://benwerd.com/2010/01/pubcasts-subscribe-to-publications-through-rss/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 11:38:57 +0000</pubDate>
		<dc:creator>Ben Werdmuller</dc:creator>
				<category><![CDATA[Software development]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[ebooks]]></category>
		<category><![CDATA[feeds]]></category>
		<category><![CDATA[magazines]]></category>
		<category><![CDATA[newspapers]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[periodicals]]></category>
		<category><![CDATA[podcasts]]></category>
		<category><![CDATA[pubcasts]]></category>
		<category><![CDATA[publishing]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[subscriptions]]></category>

		<guid isPermaLink="false">http://benwerd.com/2010/01/pubcasts-subscribe-to-publications-through-rss/</guid>
		<description><![CDATA[This is inspired by the iBooks launch, but it’s applicable to any ereader that uses the ePub format. (Or, indeed, it could use any ebook format – MobiPocket, Kindle, DAISY, etc.) A podcast is just an RSS feed with a file enclosure – part of the RSS standard – that points to an MP3 file. [...]]]></description>
			<content:encoded><![CDATA[<p>This is inspired by <a href="http://benwerd.com/2010/01/ibooks-is-a-killer-app-for-ebooks/">the iBooks launch</a>, but it’s applicable to any ereader that uses the ePub format. (Or, indeed, it could use <a href="http://en.wikipedia.org/wiki/Comparison_of_e-book_formats">any ebook format</a> – MobiPocket, Kindle, DAISY, etc.)</p>
<p>A podcast is just an RSS feed with a file enclosure – <a href="http://en.wikipedia.org/wiki/RSS_enclosure">part of the RSS standard</a> – that points to an MP3 file. Similarly, video podcasts point to video files. An obvious evolution, then, is the pubcast: periodical publications delivered through RSS feeds.</p>
<p><strong>Free publication subscriptions</strong></p>
<p>In the free case, a user would simply subscribe to a public pubcast feed with a compatible reader. The reader software would check regularly for updates, and new publications would be downloaded and fed into the user’s ereader software on release. Easy.</p>
<p><strong>Paid publication subscriptions</strong></p>
<p>In the case of paid publications, there are two options:</p>
<p><em>An authenticated pubcast feed</em>. When you subscribe to a publication, you get an address to an RSS feed that requires a username and password to download content. (<a href="http://googlesystem.blogspot.com/2008/03/feed-for-unread-gmail-messages.html">Gmail is an example of an application which already does this</a>.) This authentication ensures that only paid subscribers can access the file, but you could go a step further and watermark the publications themselves.</p>
<p><em>Activation within the ebook file.</em> The RSS feed itself is public, but each downloaded publication could require an access code to read. This would open the door for public feeds of paid journals, where users could buy each issue individually to read.</p>
<p><strong>Making subscriptions an open standard</strong></p>
<p>Either way, this approach would allow any ereader using any compatible software solution to subscribe to periodicals. It could be used for newspapers, magazines, journals, zines, or new kinds of periodical; they could be hosted anywhere and, in the case of paid content, use any payment provider. I love reading, but dislike monopolies, so this is something I’d like to see.</p>
<h3>Related entries</h3>
<ul class="related_post">
<li><a href="http://benwerd.com/2010/04/the-future-of-publishing/" title="The future of publishing">The future of publishing (1)</a></li>
<li><a href="http://benwerd.com/2010/04/intersection-publishing-is-today/" title="Intersection: Publishing is today!">Intersection: Publishing is today! (0)</a></li>
<li><a href="http://benwerd.com/2010/03/intersection-publishing/" title="Intersection: Publishing">Intersection: Publishing (0)</a></li>
</ul>
<br /><a href="http://benwerd.com/2010/01/pubcasts-subscribe-to-publications-through-rss/#comments" title="Comments on &quot;PubCasts: subscribe to publications through RSS&quot;"><img src="http://benwerd.com/wp-content/plugins/feed-comments-number/image.php?891" alt="Comments" /></a> <img src="http://benwerd.com/wp-content/plugins/feed-statistics.php?view=1&post_id=891" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://benwerd.com/2010/01/pubcasts-subscribe-to-publications-through-rss/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>iBooks is a killer app for ebooks</title>
		<link>http://benwerd.com/2010/01/ibooks-is-a-killer-app-for-ebooks/</link>
		<comments>http://benwerd.com/2010/01/ibooks-is-a-killer-app-for-ebooks/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 09:38:31 +0000</pubDate>
		<dc:creator>Ben Werdmuller</dc:creator>
				<category><![CDATA[Software development]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[ebooks]]></category>
		<category><![CDATA[ibooks]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[publishing]]></category>

		<guid isPermaLink="false">http://benwerd.com/2010/01/ibooks-is-a-killer-app-for-ebooks/</guid>
		<description><![CDATA[If you pay any attention at all to the tech press, you’re probably sick to death of the iPad, Apple’s announced tablet device. I’m posting about it anyway, because there are two things that haven’t been discussed enough, which I think deserve a mention. One: this isn’t a device for the tech community. I think [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/kwl/2510060169/"><img border="0" align="right" src="http://farm4.static.flickr.com/3062/2510060169_6e0245ceef_m.jpg" /></a>If you pay any attention at all to the tech press, you’re probably sick to death of the iPad, Apple’s announced tablet device. I’m posting about it anyway, because there are two things that haven’t been discussed enough, which I think deserve a mention.</p>
<p>One: this <a href="http://www.rinich.com/post/357307070/this-is-why-its-worth-learning-about-advertising">isn’t a device for the tech community</a>. I think <a href="http://rc3.org/2010/01/28/is-the-ipad-the-harbinger-of-doom-for-personal-computing/">Rafe Colburn hits it on the head</a>:</p>
<blockquote><p>It’s just an iPod Touch with a big screen, but that’s all that many people need from a computer. You can use it to surf the Web, read email, listen to music, watch video, or compose documents. That’s the personal computer use case for many people. And I think a lot of people are going to buy them.</p>
</blockquote>
<p>He goes on to discuss the locked-down nature of the device, which I agree is a setback that may have a profound impact on the consumer computing industry. (On the other hand, as Yehuda Katz argues, <a href="http://yehudakatz.com/2010/01/27/the-irony-of-the-ipad-a-great-day-for-open-technologies/">this is a major win for standards-based web applications</a>.)</p>
<p>Two: for me, the big news wasn’t the iPad at all. It was iBooks: Apple’s new iTunes-like store for ebooks. You may remember that iTunes pretty much revolutionized how we buy music, and this is the same; the books are stored in the open ePub standard, so they’ll play with other ereaders, and the experience is seamless. (You almost certainly won’t need an iPad to buy from iBooks.)</p>
<p>Mashable notes that <a href="http://mashable.com/2010/01/27/apple-ibooks/">some big players are on board</a>:</p>
<blockquote><p>iBooks is backed by big-time launch partners Penguin, Simon and Schuster, HarperCollins, Macmillan and Hachette, all publishing powerhouses in their own rights.</p>
</blockquote>
<p>You can think about the iPad as a kind of $499 catwalk model, that other devices will slowly emulate over the next couple of years. But iBooks? That’s a store that anyone will be able to use right away, which just might change the publishing industry forever.</p>
<p><em><a href="http://www.flickr.com/photos/kwl/2510060169/">Photo by kennymatic</a>, released under <a href="http://creativecommons.org/licenses/by/2.0/deed.en">a Creative Commons license</a>.</em></p>
<h3>Related entries</h3>
<ul class="related_post">
<li><a href="http://benwerd.com/2010/06/devices-and-desires-why-the-portable-device-wars-are-a-red-herring/" title="Devices and desires: why the portable device wars are a red herring">Devices and desires: why the portable device wars are a red herring (2)</a></li>
<li><a href="http://benwerd.com/2010/04/so-why-do-we-need-apps-anyway/" title="So why do we need apps anyway?">So why do we need apps anyway? (3)</a></li>
<li><a href="http://benwerd.com/2010/04/the-future-of-publishing/" title="The future of publishing">The future of publishing (1)</a></li>
</ul>
<br /><a href="http://benwerd.com/2010/01/ibooks-is-a-killer-app-for-ebooks/#comments" title="Comments on &quot;iBooks is a killer app for ebooks&quot;"><img src="http://benwerd.com/wp-content/plugins/feed-comments-number/image.php?885" alt="Comments" /></a> <img src="http://benwerd.com/wp-content/plugins/feed-statistics.php?view=1&post_id=885" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://benwerd.com/2010/01/ibooks-is-a-killer-app-for-ebooks/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Open data at data.gov.uk</title>
		<link>http://benwerd.com/2010/01/open-data-at-data-gov-uk/</link>
		<comments>http://benwerd.com/2010/01/open-data-at-data-gov-uk/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 11:01:22 +0000</pubDate>
		<dc:creator>Ben Werdmuller</dc:creator>
				<category><![CDATA[Politics]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[government]]></category>
		<category><![CDATA[open data]]></category>
		<category><![CDATA[openness]]></category>
		<category><![CDATA[transparency]]></category>

		<guid isPermaLink="false">http://benwerd.com/2010/01/open-data-at-data-gov-uk/</guid>
		<description><![CDATA[The British equivalent to Obama’s data.gov opened today. Over at ReadWriteWeb, Marshall Kirkpatrick points out the scale of the ambition involved: At launch, Data.gov.uk has nearly 3,000 data sets available for developers to build mashups with. The U.S. site, Data.gov, has less than 1,000 data sets today. […][Unlike the US equivalent, the site] includes 22 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://data.gov.uk/">The British equivalent</a> to Obama’s <a href="http://data.gov">data.gov</a> opened today. Over at ReadWriteWeb, Marshall Kirkpatrick points out <a href="http://www.readwriteweb.com/archives/uk_launches_open_data_site_puts_datagov_to_shame.php">the scale of the ambition involved</a>:</p>
<blockquote><p>At launch, Data.gov.uk has nearly 3,000 data sets available for developers to build mashups with. The U.S. site, Data.gov, has less than 1,000 data sets today. </p>
<p>[…][Unlike the US equivalent, the site] includes 22 military data sets at launch, including one called <a href="http://data.gov.uk/dataset/suicide_and_open_verdict_deaths_in_the_uk_regular_armed_forces">Suicide and Open Verdict Deaths in the U.K. Regular Armed Forces</a>.</p>
</blockquote>
<p>However, these are raw datasets. As <a href="http://paulclarke.com/honestlyreal/2010/01/welcoming-data-gov-uk/">Paul Clarke points out</a>, the site only pays lip service to openness until someone comes along and turns these sets into useful reports and applications:</p>
<blockquote><p>The only test of real success is: <strong>use</strong>. Not <em>usefulness</em>. Not theoretical use. Real use. Getting beyond the novelty application, the demonstrator, and the hobby lies at the heart of really untapping the potential of data.gov.uk.</p>
</blockquote>
<p>Indeed, <a href="http://eu.techcrunch.com/2010/01/21/uk-government-sets-its-data-free-for-the-peoples-apps/">the figures that Techcrunch Europe report</a> suggest that turning this data into something useful may be harder than it sounds:</p>
<blockquote><p>So far over 2,400 developers have registered to test the site and provide feedback, [while] 10 applications have been created.</p>
</blockquote>
<p>I left a comment on Paul Clarke’s post <a href="http://paulclarke.com/honestlyreal/2010/01/welcoming-data-gov-uk/comment-page-1/#comment-234">pointing out some potential pitfalls</a> that may inhibit innovation, including the government’s insistence on licensing the data under Crown Copyright and their impartiality regarding Twitter. There’s also been some criticism around the lack of a common data format for each feed (although the RDF triple proudly displayed on the front page suggests this is likely to change).</p>
<p>Nonetheless, I believe this represents a huge step forward. Turning raw materials into useful, compelling applications that improve the users’ quality of life requires a huge amount of creativity and talent, and providing the data feeds in the first place is a crucial first step.</p>
<p><a href="http://data.gov.uk/data/all">You can list all the available datasets here.</a></p>
<h3>Related entries</h3>
<ul class="related_post">
<li><a href="http://benwerd.com/2009/03/the-mechanics-of-open/" title="The mechanics of &quot;open&quot;">The mechanics of &quot;open&quot; (0)</a></li>
<li><a href="http://benwerd.com/2009/12/public-it-project-hell-lets-make-government-work-for-us/" title="Public IT project hell: let&rsquo;s make government work for us">Public IT project hell: let&rsquo;s make government work for us (1)</a></li>
<li><a href="http://benwerd.com/2010/03/direct-messaging-a-social-web-architecture-part-2/" title="Direct messaging in a social web architecture">Direct messaging in a social web architecture (3)</a></li>
</ul>
<br /><a href="http://benwerd.com/2010/01/open-data-at-data-gov-uk/#comments" title="Comments on &quot;Open data at data.gov.uk&quot;"><img src="http://benwerd.com/wp-content/plugins/feed-comments-number/image.php?862" alt="Comments" /></a> <img src="http://benwerd.com/wp-content/plugins/feed-statistics.php?view=1&post_id=862" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://benwerd.com/2010/01/open-data-at-data-gov-uk/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Charging for software in the age of web apps</title>
		<link>http://benwerd.com/2009/11/charging-for-software-in-the-age-of-web-apps/</link>
		<comments>http://benwerd.com/2009/11/charging-for-software-in-the-age-of-web-apps/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 22:04:38 +0000</pubDate>
		<dc:creator>Ben Werdmuller</dc:creator>
				<category><![CDATA[Data control]]></category>
		<category><![CDATA[Enterprise]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[advertising]]></category>
		<category><![CDATA[enterprise 2.0]]></category>
		<category><![CDATA[enterprise software]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[html 5]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[open source business models]]></category>
		<category><![CDATA[spdy]]></category>
		<category><![CDATA[web advertising]]></category>
		<category><![CDATA[web applications]]></category>
		<category><![CDATA[web software]]></category>

		<guid isPermaLink="false">http://benwerd.com/2009/11/charging-for-software-in-the-age-of-web-apps/</guid>
		<description><![CDATA[Google was an advertising company. Back in 2005, Daring Fireball’s John Gruber described Google’s business as follows: Judged by their profits, Google is an advertising company. They don’t profit from search, they don’t profit from software. They profit by selling ads. This isn’t to belittle them — I think Google is a terrific company, and [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Google was an advertising company.</strong></p>
<p>Back in 2005, Daring Fireball’s John Gruber <a href="http://daringfireball.net/2005/08/google_ad_company">described Google’s business as follows</a>:</p>
<blockquote><p>Judged by their profits, <a href="http://news.bbc.co.uk/1/hi/business/4470747.stm">Google is an advertising company</a>. They don’t profit from search, they don’t profit from software. They profit by selling ads. This isn’t to belittle them — I think Google is a terrific company, and they are profiting handsomely from ad revenue ($369 million last quarter). […] If Google has a platform, it’s an advertising platform, not a developer platform. I’m not even saying Google <em>should</em> have a developer platform — I’m just saying they don’t.</p>
</blockquote>
<p>Fast forward to 2009, and Internet advertising is beginning to fail, declining slightly <a href="http://www.techcrunch.com/2009/10/05/u-s-internet-ad-revenues-decline-5-3-in-first-half-2009/">during the first half of the year</a>. Sites like TechCrunch were quick to herald its demise with articles like <a href="http://www.techcrunch.com/2009/03/22/why-advertising-is-failing-on-the-internet/">Why Advertising Is Failing On The Internet</a>, which declared:</p>
<blockquote><p>My basic premise is that the internet is not replacing advertising but shattering it, and all the king’s horses, all the king’s men, and all the creative talent of Madison Avenue cannot put it together again.</p>
</blockquote>
<p>It’s become clear that for a lot of purposes, advertising is not a viable or useful business model. Although it may still be suitable for very high-volume, mass-market sites and applications, it’s almost impossible to make money through advertising with niche or specialized content in most areas. (Some areas, like real estate, remain relatively lucrative.) Additionally, targeted ads require the advertising software to track your activity and store data about you, which more consumers are becoming concerned about. And perhaps most importantly of all, nobody actually wants to see ads – and advertisers are having to <a href="http://virtualeconomics.typepad.com/virtualeconomics/2009/11/the-growing-value-of-urls-you-can-easily-spell-out-in-dead-bodies.html">become more creative and invasive</a> in order to compensate.</p>
<p>Similarly, if you want to make headway in the enterprise or educational spaces, targeted ads are inappropriate or impossible, for legal and policy reasons. For publicly-funded organizations like educational institutions, allowing commercial companies to track users is an ethical nightmare. For private enterprise, the data collection required for ad targeting is unacceptable, and the visual presence of advertising threatens their brands.</p>
<p>However, they are willing to pay for software, to the tune of <a href="http://www.gartner.com/it/page.jsp?id=923312">$222.6 billion worldwide</a>.</p>
<p><strong>Boldly going to the enterprise &amp; paid software.</strong></p>
<p>The web is fast becoming a viable platform for applications: rather than visiting websites, we are increasingly using applications that happen to use the web as an interface. Google is at the forefront of this change.</p>
<p>On November 11, <a href="http://blog.chromium.org/2009/11/2x-faster-web.html">Google announced SPDY</a>, an “embrace and extend” version of the HTTP protocol that underpins the web (it’s how browsers and web servers talk to each other). This new version has numerous tweaks that result in pages that load up to 55% faster – important if you’re trying to build responsive applications with web interfaces. Google have also been <a href="http://radar.oreilly.com/2009/05/google-bets-big-on-html-5.html">betting big on HTML 5</a>, which extends the web’s UI infrastructure to provide support for a much richer experience without falling back on plugins like Flash. Two of the most important requirements for enterprise applications that use a web-based interface are offline capability (the ability to use the application with no Internet connection) and support for concurrent processes (allowing your web interface to perform more than one task at once). HTML 5 <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/offline.html#appcache">has</a> <a href="http://www.whatwg.org/specs/web-workers/current-work/">both</a>.</p>
<p>Google has evolved from a consumer search and advertising company, into one that provides <a href="http://www.google.com/enterprise/">enterprise infrastructure applications</a>. Its plan is clearly to dominate Microsoft’s leadership and become a bona-fide software power. Recently, Microsoft has been playing catch-up, by including web-based versions of its applications in its enterprise Sharepoint intranet offering. It has also be moving against the tide by planning on offering advertising-supported versions.</p>
<p>Google’s CEO, Eric Schmidt, <a href="http://news.cnet.com/8301-30685_3-10380504-264.html">told the Garner Symposium last month</a> why it was charging for their enterprise applications:</p>
<blockquote><p>&quot;Enterprise is a huge priority for the management team and me personally […] It&#8217;s the next big billion-dollar opportunity after our display (ad) business. […] We looked at ad-supported enterprise applications and decided most corporations would not be comfortable with random ads showing up on somebody&#8217;s desktop.&quot;</p>
</blockquote>
<p><strong>The web is moving away from advertising.</strong></p>
<p>It’s not just Google that is moving away from a purely ad-supported, consumer strategy. Markus Witte, co-founder of the language learning portal Babbel, wrote on their blog about <a href="http://blog.babbel.com/limits-of-the-free-internet/">adjusting their business model</a>:</p>
<blockquote><p>Our plan, in fact, was to partially finance Babbel with advertising. We intended to provide a “freemium” product that would have a basic version that was public, while providing additional premium content for those who might want to dig deeper. But now we see this just doesn’t work. It simply is not possible to build a high-quality online learning environment while simultaneously selling ad space effectively. We tried to bring these two objectives together. But ultimately we had to accept that a business model appropriate for social networks and news services is plain wrong when applied to online education.</p>
</blockquote>
<p>The numbers speak for themselves. The US paid e-learning market has been <a href="http://www.ambientinsight.com/News/2009USeLearningMarket.aspx">estimated to be worth $16.7 billion in 2009</a> and has a relatively small number of players; the US advertising revenues for the Internet as a whole were estimated to be <a href="http://www.iab.net/about_the_iab/recent_press_releases/press_release_archive/press_release/pr-100509">$10.9 billion for the first half of 2009</a>. (That’s $10.9 billion to the advertising companies, rather than the amount content and site owners see, which will be a subset of that amount.) When you run a startup company, you can either put your trust in display advertising and number of eyeballs looking at your site, or you can employ a sales team and ask for cash. Entranced by the model that Google originally promoted, Babbel tried the former, and discovered that it didn’t work; recognizing that they were a software company rather than a mass-media outlet, they then reverted to traditional business methods.</p>
<p>Using a centralized software service for non-core activities like language learning is probably fine. However, enterprise organizations can be uneasy about trusting software hosted by third parties (in what’s almost ubiquitously called “the Cloud”). Blog posts and photos are one thing, but it’s quite another to place your internal strategy documents, confidential discussions and financial data on servers owned by another firm with no real guarantee that they’ll remain unseen by prying eyes. It’s also insecure on a technical level: by using the Cloud, you’re outsourcing the fidelity and availability of your data. A much more preferential option would be to gain the ease of use of web applications, but store them securely on local infrastructure.</p>
<p><strong>Open source software is commercial.</strong></p>
<p>Later in Markus Witte’s post, he discusses some of the things that <em>are</em> successfully given away for free on the Internet; among them is open source.</p>
<blockquote><p>In contrast to Open Source software and Creative Commons, where developers and authors often work for free, ad-sponsored services are designed to make money – and they do. […] But there is another, more insidious, drawback of ad-sponsoring that is less visible to the naked eye: the true customers of these ad-sponsored services are not the users but rather the advertisers. And as everywhere else, the Customer is King.</p>
</blockquote>
<p>His remark about open source developers is a misconception: most open source development is done for profit. For example, <a href="http://www.linuxinsider.com/story/62454.html?wlc=1258032252">over 70% of Linux kernel development is done by paid professionals</a>, with a commercial goal in mind. This may be the basis of directly commercial activities like support; a market-based goal, for example to diminish Microsoft’s share; or it may be to ensure the longevity of the infrastructure that a company relies on. (More web servers are powered by open source than not; Netcraft reported this month that <a href="http://news.netcraft.com/archives/2009/11/10/november_2009_web_server_survey.html">55.33% of active websites are running Apache</a>.) Make no mistake: open source is a business model – one that marries the free ethos of the Internet with paid commerce.</p>
<p>The most common open source business strategy is to use your “community edition” – the unadulterated open source software – as a loss leader that brings users to your commercial products and services. Releasing your software under an open source license theoretically means you gain a community of developers; if your software doesn’t work in a particular set of circumstances, they will often contribute back a fix for the problem. They may also contribute plugins and extra code that extends the functionality of your product. They get software that works for them (and the security that they can always use and modify the code to fit their needs); you get a wider market that you can sell commercial services to, using a wider, more solid set of functionality. Whereas, as Markus points out, the advertiser is king in ad-supported software, in open source the user is king.</p>
<p>Here are some examples you’ve probably heard of:</p>
<ul>
<li>The database software <a href="http://www.mysql.com/">MySQL</a> is released for free under the <a href="http://www.gnu.org/licenses/gpl.html">GNU Public License</a>. Unusually, you’re allowed to mix and match it with software released under other open source licenses (but not closed-source software): they really want their product to spread. This is because they’ve got commercial options based on training, certification, partner agreements and consultancy services, as well as extra features for power users that aren’t available in the community product. (See the article <a href="http://blogs.mysql.com/kaj/2005/09/27/mysqls-quid-pro-quo/">MySQL’s Quid Pro Quo</a>.) </li>
<li><a href="http://www.ubuntu.com/">Ubuntu</a> is a version of Linux designed with ease of use in mind; it riffs on the interfaces of operating systems like Microsoft Windows and Mac OS X. Canonical, the company behind it, make money through extensive commercial <a href="http://www.ubuntu.com/support">support</a> and <a href="http://www.ubuntu.com/partners">partner</a> services. The partner ecosystem is their main bread and butter; the more companies pay, the better access they get to the core Ubuntu team and project strategy, marketing materials, rights to use Ubuntu branding and so on. In turn, those things help the partner companies earn more through their downstream Ubuntu services. </li>
<li><a href="http://www.android.com/">Android</a> is an open source operating system sponsored by Google. Although it’s mostly been used on mobile phones so far, it can actually run on a much wider range of devices; Android-powered netbooks are <a href="http://www.itpro.co.uk/617542/acer-aspire-one-d250-review">beginning to appear</a>. This has the benefit of holding back Microsoft’s market share &#8211; Google is positioning its application suite, which is paid software, against Microsoft Office. (Windows 7 is said to run well on netbooks, and Google will soon have <em>two</em> open source netbook operating systems out: Android and Chrome OS.) There is also a directly commercial component: although Android is open source, it has direct links to Google’s consumer applications like Gmail and Calendar. Those applications, both within Android and on the web, are not open source, <a href="http://gizmodo.com/5369726/cyanogen-custom-android-builds-will-live-on-sans-google-apps">and must be licensed</a>. </li>
</ul>
<p>There are many more. Check out Network World’s list of <a href="http://www.networkworld.com/news/2008/090208-open-to-watch.html">10 open source companies to watch</a>, and note that one thing links them: they are all providing services aimed at the business market.</p>
<p><strong>Charging for web-based software.</strong></p>
<p>Google and Microsoft have both demonstrated that the market is ready for web-based business software: products that have the benefits of the web (you can access it from anywhere, on any compatible device) but are designed with the needs of enterprise organizations in mind. It must be secure, have the ability to be installed on an organization’s own infrastructure, and have a solid business model that ensures longevity of the product.</p>
<p>I also strongly believe that an open source development and licensing model, when coupled with a strong commercial strategy from the outset, is a great way to build a product’s feature set, userbase and reputation on the kinds of budgets that web startups are used to. It also makes it easily available to students, as well as a vast talent pool in places where buying software at western license prices is a trickier proposition; two groups that can be invaluable for promotion, feedback and involvement.</p>
<p>Finally, the commercial open source model for web-based applications allows you to easily create an ecosystem: if you create a compelling application that really does have a solid business model, other companies will be very interested in taking a cut. The more people who have an interest in your product succeeding, the better. If you give them a solid commercial reason to invest upstream, and create a great product that makes end-users’ lives easier, everyone wins.</p>
<h3>Related entries</h3>
<ul class="related_post">
<li><a href="http://benwerd.com/2010/06/devices-and-desires-why-the-portable-device-wars-are-a-red-herring/" title="Devices and desires: why the portable device wars are a red herring">Devices and desires: why the portable device wars are a red herring (2)</a></li>
<li><a href="http://benwerd.com/2010/01/using-game-dynamics-to-drive-participation/" title="Using game dynamics to drive participation">Using game dynamics to drive participation (2)</a></li>
<li><a href="http://benwerd.com/2010/03/direct-messaging-a-social-web-architecture-part-2/" title="Direct messaging in a social web architecture">Direct messaging in a social web architecture (3)</a></li>
</ul>
<br /><a href="http://benwerd.com/2009/11/charging-for-software-in-the-age-of-web-apps/#comments" title="Comments on &quot;Charging for software in the age of web apps&quot;"><img src="http://benwerd.com/wp-content/plugins/feed-comments-number/image.php?823" alt="Comments" /></a> <img src="http://benwerd.com/wp-content/plugins/feed-statistics.php?view=1&post_id=823" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://benwerd.com/2009/11/charging-for-software-in-the-age-of-web-apps/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Danger in the cloud: a proposal</title>
		<link>http://benwerd.com/2009/10/danger-in-the-cloud-a-proposal/</link>
		<comments>http://benwerd.com/2009/10/danger-in-the-cloud-a-proposal/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 07:32:41 +0000</pubDate>
		<dc:creator>Ben Werdmuller</dc:creator>
				<category><![CDATA[Data control]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[app store]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[danger]]></category>
		<category><![CDATA[data portability]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[itunes]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[sidekick]]></category>
		<category><![CDATA[web 2.0]]></category>
		<category><![CDATA[web applications]]></category>
		<category><![CDATA[web servers]]></category>

		<guid isPermaLink="false">http://benwerd.com/2009/10/danger-in-the-cloud-a-proposal/</guid>
		<description><![CDATA[In response to recent events, I’d like to propose a different kind of web service that overcomes the privacy and reliability issues with cloud web applications, while providing a solid business model for both application developers and service providers, as well as a seamless, easy-to-use experience for end users. The T-Mobile storm Over the weekend [...]]]></description>
			<content:encoded><![CDATA[<p>In response to recent events, I’d like to propose a different kind of web service that overcomes the privacy and reliability issues with cloud web applications, while providing a solid business model for both application developers and service providers, as well as a seamless, easy-to-use experience for end users.</p>
<p><strong>The T-Mobile storm</strong></p>
<p>Over the weekend there’s been <a href="http://www.engadget.com/2009/10/10/t-mobile-we-probably-lost-all-your-sidekick-data/">a storm surrounding the T-Mobile Sidekick</a>, which is produced by Microsoft’s Danger subsidiary. It turns out the device stores the primary copy of data like calendar and address book information in the cloud rather than on each device; perhaps a fair proposition if you knew you could trust Microsoft’s servers. Unfortunately, said servers went down last week, and Microsoft <a href="http://gigaom.com/2009/10/11/microsoft-mobiles-worst-week-ever/">didn’t have a working backup</a>. Sidekick users suddenly found themselves without their personal information.</p>
<p><strong>Is cloud computing safe?</strong></p>
<p>Understandably, this has sparked <a href="http://www.appleinsider.com/articles/09/10/11/microsofts_danger_sidekick_data_loss_casts_dark_on_cloud_computing.html">a wider conversation about computing in the cloud</a>. AppleInsider summed it up:</p>
<blockquote><p>More immediate types of cloud services take away users&#8217; control in managing their own data. </p>
</blockquote>
<p>While Ina Fried <a href="http://news.cnet.com/8301-13860_3-10372525-56.html">over at CNet noted</a>:</p>
<blockquote><p>The Danger outage comes just a month before Microsoft is expected to launch its operating system in the cloud&#8211;Windows Azure. That announcement is expected at November&#8217;s Professional Developer Conference. One of the characteristics of Azure is that programs written for it can be run only via Microsoft&#8217;s data centers and not on a company&#8217;s own servers.</p>
</blockquote>
<p>The issues surrounding cloud computing have been discussed for a while, and aren’t limited to these sorts of accidents; <a href="http://benwerd.com/2007/08/on-data-sharing/">here’s a post I wrote in 2007</a> about the rights we ought to have over our cloud data. Partially because of the risks involved, and the risk of leaky data, some kinds of organizations and enterprises simply can’t use cloud computing services. (In the UK, for example, check out the <a href="http://privacydataprotection.co.uk/guide/part1/">requirements imposed by the Data Protection Act</a>.) At the same time, the Sidekick debacle shows there are clear risks to end-user consumers too.</p>
<p>Despite this, the benefits of cloud computing are obvious, particularly for the organizations that can’t use them: device-independent applications and data we can access and use from anywhere.</p>
<p><strong>Can we have the best of both worlds?</strong></p>
<p>The personal computing model is relatively secure: you install applications on your computer, and they sit on your local hard drive, along with your data. Assuming there hasn’t been a security breach, or you haven’t explicitly provided access to your data over a network or through a direct action like emailing it, it’s safe.</p>
<p>On the other hand, because your applications and data are locked away on your hard drive, you generally have to have direct access to it in order to use them. There are remote desktop solutions like VNC, but these are clunky and fairly useless over a low bandwidth connection.</p>
<p>Web applications that store their data in the cloud overcome this obstacle, but lose the security of sitting on your own computer.</p>
<p>What if there was a halfway house between these two situations?</p>
<p><a name="thewebappstore"></a><strong></strong></p>
<p><strong>The personal web server that works</strong></p>
<p>Theoretically, anyone can run their own web server, right now, that allows them to install web applications in a more secure, controlled environment and access them from anywhere. But there are some very good reasons why they don’t:</p>
<ul>
<li>You need system administrator skills, usually on top of Linux skills, to do it. </li>
<li>Web applications – even relatively easy-to-install ones like WordPress or Elgg – are fiddly. There are configuration files, directory permissions and (potentially) source repositories to contend with. </li>
<li>The web applications you can install on your own server are often not as good as the ones you can get in the cloud. </li>
<li>When something breaks, it’s your own responsibility to fix it. </li>
<li>Servers are expensive. </li>
</ul>
<p>What if we could fix all of these things at once? Enterprises, organizations and individuals could have their own, more secure environment that would allow them to use the cloud applications they needed with fewer security risks, while enjoying the ease-of-use and immediacy that the cloud provides.</p>
<p>One of the reasons everyone’s leaping to copy the iPhone’s app store business model is that it just works. Sure, you’re forced to delegate root control of the phone to iTunes, and the operating system places some seemingly arbitrary restrictions on what applications can and can’t do. But the handset works, and installing software is easier than on any other platform. The truth is, most ordinary users don’t care about those restrictions. Hell, I’m a computer scientist software developer entrepreneur power user, and I’m just happy the thing works. (Context: my previous phone ran Windows Mobile, which doesn’t.)</p>
<p>Imagine if you could get your own server environment that was as easy to use as the iPhone. It would look something like this:</p>
<p><em>Front end &amp; business model</em></p>
<ul>
<li>You sign up for the service, possibly for a small monthly fee, possibly for free (depending on the service provider). Alternatively, if you’re more technical / an enterprise / an organization, you install it on your own infrastructure. The platform is available for free and could be open source. </li>
<li>From a secure web-based admin panel, you can add and remove users (although the platform optionally also supports Active Directory and similar standards, as well as OpenID), and install / uninstall applications from a centralized app store with the usual features: ratings, search, similar apps, etc. Installation is one-click, and upgrades are similarly seamless. (That WordPress “what, I have to upgrade <em>again</em>?” problem: solved.)</li>
<li>Much like the iTunes app store, applications may be free, or may cost a small amount. Applications may impose licensing restrictions based on number of users: for example, the app costs $4.99 for up to 5 users, $19.99 for up to 25, etc.</li>
<li>As with the iTunes app store, the application store provider takes a cut – <em>and so does the service provider</em>. This creates a strong incentive for multiple vendors to provide hosted services for little cost. It also effectively creates a discount for enterprise, organizational and technical users, who can bypass a service provider. The payment to the web application developer also, for the first time, creates a solid commercial marketplace for high quality web application products, while the free option allows open source vendors to distribute as normal.</li>
</ul>
<p><em>Technology</em></p>
<ul>
<li>Behind the scenes, the server runs existing open source technology: Apache, Tomcat, PHP, Perl, Python, Ruby on Rails, MySQL, Postgres, etc. However, there are restrictions on how applications must be structured, behave and share their data. This allows the one-click install and upgrades to function correctly. Importantly, though, <em>users of the system need never worry about the underlying framework</em>.</li>
<li>The platform has a central data store that all applications may access via an API. This data store is fully exportable, allowing (for example) a datastore stored with a service provider to be moved to an internal setup as an organization expands. As with the iTunes app store, applications are linked to a store account rather than a physical machine, so the application licenses are portable too.</li>
</ul>
<p>Of course, this wouldn’t replace standard web servers. What it does provide, however, is a simple cloud operating system that simultaneously works in a more secure, dependable way than existing services, would be more acceptable to many organizational users, and provides a genuine business model for web application developers.</p>
<p>The web is now an end user application platform, but still behaves like a lightweight document store. To obtain the level of software customization we all enjoy on our home PCs, a much higher level of technical competence is required. I strongly believe that this situation must change for the web to be a viable commercial application framework.</p>
<h3>Related entries</h3>
<ul class="related_post">
<li><a href="http://benwerd.com/2009/06/social-networking-beyond-the-silo/" title="Social networking: beyond the silo">Social networking: beyond the silo (1)</a></li>
<li><a href="http://benwerd.com/2010/04/so-why-do-we-need-apps-anyway/" title="So why do we need apps anyway?">So why do we need apps anyway? (3)</a></li>
<li><a href="http://benwerd.com/2010/04/some-alternative-views-of-the-ipad/" title="Some alternative views of the iPad">Some alternative views of the iPad (1)</a></li>
</ul>
<br /><a href="http://benwerd.com/2009/10/danger-in-the-cloud-a-proposal/#comments" title="Comments on &quot;Danger in the cloud: a proposal&quot;"><img src="http://benwerd.com/wp-content/plugins/feed-comments-number/image.php?817" alt="Comments" /></a> <img src="http://benwerd.com/wp-content/plugins/feed-statistics.php?view=1&post_id=817" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://benwerd.com/2009/10/danger-in-the-cloud-a-proposal/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Twitter DoS and single points of failure</title>
		<link>http://benwerd.com/2009/08/twitter-dos-and-single-points-of-failure/</link>
		<comments>http://benwerd.com/2009/08/twitter-dos-and-single-points-of-failure/#comments</comments>
		<pubDate>Thu, 06 Aug 2009 18:31:22 +0000</pubDate>
		<dc:creator>Ben Werdmuller</dc:creator>
				<category><![CDATA[Data control]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[decentralized social networks]]></category>
		<category><![CDATA[denial of service]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://benwerd.com/2009/08/twitter-dos-and-single-points-of-failure/</guid>
		<description><![CDATA[Twitter went down today at the hand of a denial of service attack (alongside Facebook and Livejournal; the latter has also reported an attack). In the old days, you’d shrug it off and go and look at something else. Today, Twitter is such an integral part of the landscape, and some people’s businesses, that it [...]]]></description>
			<content:encoded><![CDATA[<p>Twitter <a href="http://blog.twitter.com/2009/08/denial-of-service-attack.html">went down today</a> at the hand of a denial of service attack (alongside Facebook and Livejournal; the latter <a href="http://www.appscout.com/2009/08/livejournal_also_confirms_deni.php">has also reported an attack</a>). In the old days, you’d shrug it off and go and look at something else. Today, Twitter is such an integral part of the landscape, and some people’s businesses, that <a href="http://news.bbc.co.uk/1/hi/technology/8188201.stm">it made BBC News</a> and was commented on <a href="http://www.techmeme.com/090806/p44#a090806p44">all over the Internet</a>.</p>
<p>The headlines are highly strung to say the least:</p>
<ul>
<li><a href="http://gawker.com/5331439/twitter-attack-brings-a-day-without-social-media">Twitter Attack Brings a Day Without Social Media</a> (Gawker) </li>
<li><a href="http://www.twitterrati.com/2009/08/06/a-day-or-hour-without-twitter-sucks/">A Day (Or Hour) Without Twitter Sucks</a> (Twitterrati) </li>
<li><a href="http://technologizer.com/2009/08/06/twitter-goes-down-down-down/">Twitter Goes Down, Down, Down</a> (Technologizer, who delightfully illustrated their post with an image of an anvil falling on a bird) </li>
</ul>
<p>The stress of it all made TechCrunch come over all <a href="http://en.wikipedia.org/wiki/John_Inman">Mr Humphries</a>:</p>
<ul>
<li><a href="http://www.techcrunch.com/2009/08/06/oooh-dramatic-twitter-gets-ddosed/">Oooh Dramatic! Twitter Gets DDOSed</a> </li>
</ul>
<p>Meanwhile, away from the hilarity, Dave Winer’s <a href="http://www.scripting.com/stories/2009/08/06/rsscloudNews.html">developing rssCloud</a> and people are beginning to talk about <a href="http://laconi.ca">Laconi.ca</a>. The only model that makes sense is a distributed one: it’s a fundamentally harder problem to bring down a decentralized network, because there isn’t a single point of failure. So far, for example, DNS has remained pretty robust. As regular readers will know, I strongly believe there are very <a href="http://benwerd.com/2009/07/building-the-user-centered-web/">solid business and development reasons</a> for going decentralized, too.</p>
<p>The web is becoming social, and those conversations are becoming more and more important. A malicious user or group shouldn’t be able to take down our conversation platform &#8211; or have the ability to dictate its direction. It’s time to think about a better way to build the social web.</p>
<h3>Related entries</h3>
<ul class="related_post">
<li><a href="http://benwerd.com/2009/07/building-the-user-centered-web/" title="Building the user-centered web">Building the user-centered web (8)</a></li>
<li><a href="http://benwerd.com/2009/06/social-networking-beyond-the-silo/" title="Social networking: beyond the silo">Social networking: beyond the silo (1)</a></li>
<li><a href="http://benwerd.com/2010/08/facebook-location-vs-the-aclu/" title="Facebook location vs the ACLU">Facebook location vs the ACLU (0)</a></li>
</ul>
<br /><a href="http://benwerd.com/2009/08/twitter-dos-and-single-points-of-failure/#comments" title="Comments on &quot;Twitter DoS and single points of failure&quot;"><img src="http://benwerd.com/wp-content/plugins/feed-comments-number/image.php?797" alt="Comments" /></a> <img src="http://benwerd.com/wp-content/plugins/feed-statistics.php?view=1&post_id=797" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://benwerd.com/2009/08/twitter-dos-and-single-points-of-failure/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Geolocation in HTML 5 and Javascript</title>
		<link>http://benwerd.com/2009/07/geolocation-in-html-5-and-javascript/</link>
		<comments>http://benwerd.com/2009/07/geolocation-in-html-5-and-javascript/#comments</comments>
		<pubDate>Mon, 13 Jul 2009 17:42:23 +0000</pubDate>
		<dc:creator>Ben Werdmuller</dc:creator>
				<category><![CDATA[Software development]]></category>
		<category><![CDATA[geolocation]]></category>
		<category><![CDATA[gps]]></category>
		<category><![CDATA[html 5]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://benwerd.com/2009/07/geolocation-in-html-5-and-javascript/</guid>
		<description><![CDATA[HTML 5 – as-yet unreleased, but shaping up well – contains a specification for finding the current location of the user. The API, if your browser supports it and you grant the web application access, returns your latitude, longitude, elevation, speed and some other details. (If your web-capable device doesn’t have GPS, these details will [...]]]></description>
			<content:encoded><![CDATA[<p>HTML 5 – as-yet unreleased, but shaping up well – contains a specification for finding the current location of the user. The API, if your browser supports it and you grant the web application access, returns your latitude, longitude, elevation, speed and some other details. (If your web-capable device doesn’t have GPS, these details will be estimated using your IP address and other factors.)</p>
<p>A couple of weeks ago, I created <a href="http://benwerd.com/lab/geo.php">a page to test this feature</a>. If your browser is geo capable, this will reveal exactly what data about your location is being sent to web applications that ask for it.</p>
<p>If you’re a developer, here’s how I created the page.</p>
<p> <span id="more-775"></span>
<p><strong>Developing for geolocation in Javascript</strong></p>
<p>The following all occurs in a Javascript code block towards the bottom of the page. You could also include this in the jQuery $() function, if you use that framework – the point is that it needs to execute once the page layout has been written to the browser.</p>
<p><strong>Testing for geolocation capability</strong></p>
<p>To test whether the browser has geolocation capabilities, we need to test for the existence of <code>navigator.geolocation</code>:</p>
<pre>if (navigator.geolocation) {
	// Execute geolocation code
} else {
	// Execute code for geolocation not available
}</pre>
<p><strong>Getting location data</strong></p>
<p>The actual function to call in order to get the location data is: <code>navigator.geolocation.getCurrentPosition(exportPosition, errorPosition);</code></p>
<p>Both <code>exportPosition</code> and <code>errorPosition</code> are functions that we must define. The former is called if the location is retrievable; the latter if it isn’t. (You can also omit the second parameter and neglect to have an error handler function.)</p>
<p>The <code>exportPosition</code> function takes one parameter: <code>position</code>. This in turn has a property, coords, which contains all of the major location data:</p>
<ul>
<li>position.coords.latitude: the latitude of the user </li>
<li>position.coords.longitude: the longitude of the user </li>
<li>position.coords.accuracy: a number representing the accuracy of the latitude and longitude (in metres) </li>
<li>position.coords.altitude: the altitude of the user in metres above sea level </li>
<li>position.coords.altitudeAccuracy: the accuracy of the above altitude reading, again in metres </li>
<li>position.coords.heading: the heading of the user, in degrees clockwise from north </li>
<li>position.coords.speed: the speed of the user in metres per second </li>
</ul>
<p>This can then be fed into the functionality of your choice.</p>
<p>For an example of how this can be used, have a look at the source of <a href="http://benwerd.com/lab/geo.php">my test page</a>. Browsers that are known to support geolocation include:</p>
<ul>
<li>Firefox 3.5</li>
<li>Safari in iPhone 3.0</li>
</ul>
<p>Because geolocation is included in the HTML 5 specification, most browsers will support this soon.</p>
<h3>Related entries</h3>
<ul class="related_post">
<li><a href="http://benwerd.com/2010/06/devices-and-desires-why-the-portable-device-wars-are-a-red-herring/" title="Devices and desires: why the portable device wars are a red herring">Devices and desires: why the portable device wars are a red herring (2)</a></li>
<li><a href="http://benwerd.com/2010/04/so-why-do-we-need-apps-anyway/" title="So why do we need apps anyway?">So why do we need apps anyway? (3)</a></li>
<li><a href="http://benwerd.com/2009/11/charging-for-software-in-the-age-of-web-apps/" title="Charging for software in the age of web apps">Charging for software in the age of web apps (2)</a></li>
</ul>
<br /><a href="http://benwerd.com/2009/07/geolocation-in-html-5-and-javascript/#comments" title="Comments on &quot;Geolocation in HTML 5 and Javascript&quot;"><img src="http://benwerd.com/wp-content/plugins/feed-comments-number/image.php?775" alt="Comments" /></a> <img src="http://benwerd.com/wp-content/plugins/feed-statistics.php?view=1&post_id=775" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://benwerd.com/2009/07/geolocation-in-html-5-and-javascript/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Microsoft Web Applications 2010 bring the cloud to the enterprise</title>
		<link>http://benwerd.com/2009/07/microsoft-web-applications-2010-bring-the-cloud-to-the-enterprise/</link>
		<comments>http://benwerd.com/2009/07/microsoft-web-applications-2010-bring-the-cloud-to-the-enterprise/#comments</comments>
		<pubDate>Mon, 13 Jul 2009 09:53:59 +0000</pubDate>
		<dc:creator>Ben Werdmuller</dc:creator>
				<category><![CDATA[Data control]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[microsoft office]]></category>
		<category><![CDATA[microsoft sharepoint]]></category>
		<category><![CDATA[office 2010]]></category>
		<category><![CDATA[sharepoint]]></category>
		<category><![CDATA[web applications]]></category>
		<category><![CDATA[web browsers]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[word]]></category>

		<guid isPermaLink="false">http://benwerd.com/2009/07/microsoft-web-applications-2010-bring-the-cloud-to-the-enterprise/</guid>
		<description><![CDATA[In advance of the announcement later today, I Started Something have uncovered videos about the new Microsoft Office suite. Microsoft Office turns to the web As anticipated, Office 2010 includes web-based versions of applications contained in the suite. These don’t have the complete feature set, but are designed so that company employees can create and [...]]]></description>
			<content:encoded><![CDATA[<p>In advance of the announcement later today, I Started Something have uncovered <a href="http://www.istartedsomething.com/20090713/office-2010-revealed-in-detail-via-microsoft-videos/">videos about the new Microsoft Office suite</a>.</p>
<p><b>Microsoft Office turns to the web</b></p>
<p>As anticipated, Office 2010 includes web-based versions of applications contained in the suite. These don’t have the complete feature set, but are designed so that company employees can create and make changes to documents (including Word documents, Excel spreadsheets and Powerpoint presentations) on the road.</p>
<p><b>Web applications: now running in the enterprise</b></p>
<p>Centralized cloud applications have a difficult time gaining traction in most enterprise environments, and Microsoft have wisely taken note of this: it appears that the web-based versions are installed as part of Sharepoint. By doing this, they’ve allowed organizations to keep tight control of their data, as well as legitimizing web-based applications in the enterprise and revitalizing Sharepoint as an organizational product. In other words this is big news, with sweeping implications across the entire software industry.</p>
<p><b>Open standards must work for everyone</b></p>
<p>This is another reason why all open web standards must be browser agnostic. I always argue hard for a transparent browser: one that contains support for web standards, but doesn’t carry any extra baggage for any specific purpose. As web applications move into the enterprise, it’s important that a standard that works on a souped-up Firefox or Chrome browser also works great in Internet Explorer. By integrating web applications into Sharepoint, Microsoft are actually leading the industry, and have made themselves relevant on the web again. In doing so, they’ve opened up an important market, and that can’t be ignored.</p>
<p>Here&#8217;s a video introduction (although it keeps going down for me): <a href="http://www.microsoft.com/video/en/us/details/ebf079e6-6972-43dc-9781-14c013c38e82?vp_evt=eref&amp;vp_video=See+What's+New+in+Microsoft+Web+Applications+2010">See What&#8217;s New in Microsoft Web Applications 2010</a>.</p>
<h3>Related entries</h3>
<ul class="related_post">
<li><a href="http://benwerd.com/2009/11/microsoft-may-rule-the-open-web/" title="Microsoft may rule the open web">Microsoft may rule the open web (3)</a></li>
<li><a href="http://benwerd.com/2009/11/the-war-for-the-web/" title="The war for the Web">The war for the Web (0)</a></li>
<li><a href="http://benwerd.com/2009/11/charging-for-software-in-the-age-of-web-apps/" title="Charging for software in the age of web apps">Charging for software in the age of web apps (2)</a></li>
</ul>
<br /><a href="http://benwerd.com/2009/07/microsoft-web-applications-2010-bring-the-cloud-to-the-enterprise/#comments" title="Comments on &quot;Microsoft Web Applications 2010 bring the cloud to the enterprise&quot;"><img src="http://benwerd.com/wp-content/plugins/feed-comments-number/image.php?756" alt="Comments" /></a> <img src="http://benwerd.com/wp-content/plugins/feed-statistics.php?view=1&post_id=756" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://benwerd.com/2009/07/microsoft-web-applications-2010-bring-the-cloud-to-the-enterprise/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Chrome OS and the web as applications</title>
		<link>http://benwerd.com/2009/07/chrome-os-web-applications/</link>
		<comments>http://benwerd.com/2009/07/chrome-os-web-applications/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 08:29:04 +0000</pubDate>
		<dc:creator>Ben Werdmuller</dc:creator>
				<category><![CDATA[Data control]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[chrome os]]></category>
		<category><![CDATA[decentralized]]></category>
		<category><![CDATA[decentralized social web]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[google wave]]></category>
		<category><![CDATA[html 5]]></category>
		<category><![CDATA[user control]]></category>

		<guid isPermaLink="false">http://benwerd.com/?p=752</guid>
		<description><![CDATA[It&#8217;s not a Google strategy, but they&#8217;ve chosen to embrace and extend it: the web is turning into an application platform. Google announced Chrome OS today &#8211; an operating system for netbooks, designed to boot up in seconds directly to a browser. Applications run using HTML 5 standards, which include support for offline applications and [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://benwerd.com/wp-content/uploads/2009/07/chrome_logo_may09.jpg" align="right" />It&#8217;s not a Google strategy, but they&#8217;ve chosen to embrace and extend it: the web is turning into an application platform.</p>
<p><a href="http://www.readwriteweb.com/archives/the_google_os_becomes_reality_google_announced_the.php">Google announced Chrome OS today</a> &#8211; an operating system for netbooks, designed to boot up in seconds directly to a browser. Applications run using HTML 5 standards, which include support for offline applications and advanced interface capabilities.</p>
<p>More than that, it&#8217;s an attack &#8211; not just on Microsoft, but on the old model for operating systems and home computing. The web allows greater ease of use (no application installs!), lower resource requirements (perfect for those netbook CPUs) and instant connectivity. Social functionality becomes intrinsic to all software on the platform, rather than a product in itself. See <a href="http://benwerd.com/2009/07/building-the-user-centered-web/">Building the User-Centered Web</a> for a detailed analysis of how software will change, and why.</p>
<p>Of course, if this revolution happens through Google Apps (or applications hosted on the Google App Engine), running Google advertising and saving to a central Google Account, well, they&#8217;ll just have to live with it. I&#8217;ve argued before that Google Wave is a Sharepoint killer, but this move makes that positioning explicit; Google is set to directly take on Microsoft. By making the operating system open source, they&#8217;ve invited everyone to join in.</p>
<p>It&#8217;ll be an interesting battle: while <a href="http://www.neowin.net/news/main/09/06/29/windows-7-in-europe-no-upgrades-no-ie-up-to-2x-the-price">Windows 7 won&#8217;t ship with a browser in Europe</a>, Chrome OS is <em>all</em> browser. More broadly, web applications could help with much-needed cost cutting in places like schools and public institutions, so there&#8217;s a lot at stake here.</p>
<p>As regular readers will know, I&#8217;m very interested in this change, and I plan on getting my hands dirty helping to build a decentralized user-centered web that, like the web at large, is owned by nobody. There&#8217;s still more to be done. Watch this space.<br />
<h3>Related entries</h3>
<ul class="related_post">
<li><a href="http://benwerd.com/2009/07/building-the-user-centered-web/" title="Building the user-centered web">Building the user-centered web (8)</a></li>
<li><a href="http://benwerd.com/2010/06/devices-and-desires-why-the-portable-device-wars-are-a-red-herring/" title="Devices and desires: why the portable device wars are a red herring">Devices and desires: why the portable device wars are a red herring (2)</a></li>
<li><a href="http://benwerd.com/2009/11/charging-for-software-in-the-age-of-web-apps/" title="Charging for software in the age of web apps">Charging for software in the age of web apps (2)</a></li>
</ul>
<br /><a href="http://benwerd.com/?p=752#comments" title="Comments on &quot;Chrome OS and the web as applications&quot;"><img src="http://benwerd.com/wp-content/plugins/feed-comments-number/image.php?752" alt="Comments" /></a> <img src="http://benwerd.com/wp-content/plugins/feed-statistics.php?view=1&post_id=752" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://benwerd.com/2009/07/chrome-os-web-applications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building the user-centered web</title>
		<link>http://benwerd.com/2009/07/building-the-user-centered-web/</link>
		<comments>http://benwerd.com/2009/07/building-the-user-centered-web/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 13:58:33 +0000</pubDate>
		<dc:creator>Ben Werdmuller</dc:creator>
				<category><![CDATA[Data control]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[chris messina]]></category>
		<category><![CDATA[data portability]]></category>
		<category><![CDATA[data sharing summit]]></category>
		<category><![CDATA[dataportability.org]]></category>
		<category><![CDATA[decentralized social networks]]></category>
		<category><![CDATA[delicious]]></category>
		<category><![CDATA[digital identities]]></category>
		<category><![CDATA[digital silos]]></category>
		<category><![CDATA[diso project]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[identity]]></category>
		<category><![CDATA[laconi.ca]]></category>
		<category><![CDATA[marc canter]]></category>
		<category><![CDATA[open data]]></category>
		<category><![CDATA[open mesh]]></category>
		<category><![CDATA[ownership]]></category>
		<category><![CDATA[silona bonewald]]></category>
		<category><![CDATA[social media]]></category>
		<category><![CDATA[social networking]]></category>
		<category><![CDATA[social networks]]></category>
		<category><![CDATA[user control]]></category>
		<category><![CDATA[yahoo]]></category>

		<guid isPermaLink="false">http://benwerd.com/2009/07/building-the-user-centered-web/</guid>
		<description><![CDATA[The following post contains my notes for a talk I gave at the Hauser Center for Nonprofit Organizations at Harvard University on June 25, 2009. What is a social network? I would like to reclaim some language: Social is an adjective that means relating to human society and its members. A network is an interconnected [...]]]></description>
			<content:encoded><![CDATA[<p><em>The following post contains my notes for <a href="http://hausercenter.org/site/learn/seminarslectures/brownbaglunchtalks/ben-werdmuller/index.html">a talk I gave at the Hauser Center for Nonprofit Organizations at Harvard University</a> on June 25, 2009.</em></p>
<p><strong>What is a social network?</strong></p>
<p><a href="http://www.flickr.com/photos/-cavin-/2366764272/"><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" border="0" align="right" src="http://farm4.static.flickr.com/3177/2366764272_92c733397d_m.jpg" /></a> I would like to <a href="http://benwerd.com/2008/12/the-internet-is-people/">reclaim some language</a>:</p>
<blockquote><p>Social is an adjective that means <em>relating to human society and its members</em>.</p>
<p>A network is <em>an interconnected system of things or people</em>.</p>
<p>Therefore, I’d suggest that we can define a social network as just being <em>an interconnected system of people</em>.</p>
</blockquote>
<p>The audience of this talk is a social network; so are your friends, colleagues, interest groups and so on. Social networking <em>tools</em> facilitate social networks. The universe of social tools certainly includes web applications with social functionality, but it also includes structured face to face interactions, telephone, post, SMS, email. In other words, the web is just one possible tool for this purpose – albeit a very effective one.</p>
<p><strong><strike>If you build it, they will come</strike></strong></p>
<p><a href="http://www.flickr.com/photos/jule_berlin/2165572289/"><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" border="0" align="right" src="http://farm3.static.flickr.com/2387/2165572289_d8481ce5c0_m.jpg" /></a> You can’t install a social networking tool and instantly expect usage: <em><a href="http://en.wikipedia.org/wiki/Field_of_Dreams">Field of Dreams</a></em> is not a good model for community development. The web is littered with ghost sites created using Ning, Elgg and more that have been established in the hope that a user-base will magically appear; however, if your main selling point is the social network itself, nobody’s going to join until that network of people exists and is actively using it. It’s a chicken-and-egg problem.</p>
<p>Therefore, you either need to have an existing network of people to facilitate interactions between (for example, <a href="http://www.insidefacebook.com/2009/06/28/facebook-movie-coming-to-the-big-screen/">when Facebook launched at Harvard</a>) or compelling functionality that is useful without a network of existing users (for example, <a href="http://delicious.com">Delicious</a>).</p>
<p>If we’re creating a tool that’s useful for the first user who signs up, without a pre-existing social network, then what we’re really talking is a software application that uses the web as an interface, and happens to have social functionality as one of its features.</p>
<p><strong>The web as applications</strong></p>
<p><a href="http://www.flickr.com/photos/stabilo-boss/101793493/in/set-72057594060779001"><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" border="0" align="right" src="http://farm1.static.flickr.com/27/101793493_de7c112c42.jpg" /></a> When the web was conceived, it consisted of documents and pages linked with hypertext: linked words and phrases that, when clicked, would load another, relevant document. Each page had its own Uniform Resource Locator, which allowed you to return to that specific page at any time. Each page could be a destination in itself, and although the sites (collections of pages) could be linked together through hypertext, each one had no need to know about your activities elsewhere on the web. Why would they? Documents don’t have memory; their role is simply to impart information.</p>
<p>Step forward to today, and the web is not entirely made of pages: applications now represent a large amount of the web. (Princeton WordNet <a href="http://wordnetweb.princeton.edu/perl/webwn?s=application">defines an application as</a> “a program that gives a computer instructions that provide the user with tools to accomplish a task”; <a href="http://docs.google.com">Google Docs</a>, <a href="http://rememberthemilk.com">Remember The Milk</a>, Flickr, Delicious etc are all applications by this definition.)</p>
<p>The benefits are tangible: you can access an application’s functionality from any web-compatible device, anywhere in the world. You’re no longer bound to the software you happen to have installed on a particular machine, and you no longer need to worry about whether you’ve remembered to save a particular file onto a particular drive. Because of historic resource limitations, web applications tend to be easier to use, and entirely bypass the need for IT departments, which have unfortunately earned a reputation for being obstacles to productivity in many organizations.</p>
<p>This change of web usage has been reflected in the ongoing development of HTML, the markup language that all web interfaces are written in. The first four versions were largely orientated towards documents; however, HTML 5, currently in development, is the first version that explicitly <a href="http://industry.bnet.com/technology/10002353/three-ways-html-5-is-transforming-it/">contains functionality to support web applications</a>. That includes offline storage and usage, sessions, and more advanced interface features. However, aspects of the document-orientated model remain.</p>
<p><strong>Silos of information</strong></p>
<p>Each application is its own atomic destination with its own URL, and is by default only aware of data created within it. That means we need to register for each application we want to use, fragmenting our accounts over potentially hundreds of products and company data centers, and that the documents, files and data we create within them can’t easily be shared with other applications. On my desktop, I can write a document in Word and open it in OpenOffice, or take a Paint doodle and load it in Photoshop, but there’s no easy, generic way to take my bookmarks from Delicious into another bookmarking tool, or to take my Google Docs and open them in Acrobat.com.</p>
<p>Currently, each web application is like a silo: they exist on their own, and if they interoperate at all, it’s through specific links between applications that have to be individually developed. Certainly, data created in an application stays in that application; sometimes you can check your GMail address book for contacts in order to find existing friends on a service you’ve just signed up to, for example, but it’s rare that you can actually export data fully into another product. As many of these services are free, a significant portion of their business models revolve around being able to control user-contributed data, keep users coming back, and sell user-generated activity data for marketing purposes. (One has to question whether the market for personal details will continue to be profitable, or whether, like the web advertising market before it, it will saturate and crash.)</p>
<p>In a social networking tool, the site model means that your contacts, the information you share and any detailed access permissions all relate solely to the application they were created in. However, collaborative spaces in social web applications are like documents: they’re one of the currencies of the social web. Just as I need to be able to use my wordprocessor of choice to edit a document, I need to be able to use my social tool of choice to collaborate with others.</p>
<p><strong><a href="http://www.flickr.com/photos/johnnyjet/2830416793/"><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" border="0" align="right" src="http://farm4.static.flickr.com/3172/2830416793_e7fda495b7_m.jpg" /></a> Turning the model upside down</strong></p>
<p>Right now, we have to register with each application we want to use. What if we required each application we used to register with <em>us</em>, in digital identities under our own control? </p>
<p>What if, using these identities, anyone could connect to anyone else, and anyone could store their data anywhere as long as the storage provider followed the same broad standards?</p>
<p><strong><em>The web itself would become a social networking tool.</em></strong></p>
<p>This is far more flexible, and future-proof:</p>
<ul>
<li>Your ability to collaborate is not subject to a single company&#8217;s success: social functionality and application infrastructure are inherent in the web itself </li>
<li>The possibilities for collaboration are not subject to technology beyond common open standards, which can evolve </li>
<li>A wider range of application possibilities is ensured, because web applications gain the ability to interoperate in a general way </li>
<li>Privacy and user control are established by allowing a person to determine which application has access to which data </li>
</ul>
<p>By establishing a general standard for social application interactions, the services and technologies used to make connections become less relevant; the Internet is people, one big social network, and users no longer have to worry about <em>how</em> they connect. We can all get on with communicating and collaborating rather than worrying about <em>where</em> we connect.</p>
<p><strong>User-centered identities</strong></p>
<p>Under this model, providing the software that hosts your digital identity becomes big business. This hasn’t gone unnoticed by the main service providers, and they’re already fiercely competing to be your identity on the web:</p>
<ul>
<li>Facebook wants your central identity to be a Facebook account (and arguably have made the user-centric model for the web part of their strategy for a very long time) </li>
<li>Google wants it to be a Google account </li>
<li>Twitter wants it to be a Twitter account </li>
<li>Microsoft wants it to be a Live ID </li>
<li>OpenID want it to be any OpenID-capable URL </li>
</ul>
<p>Because I use all of these services, the result is a very complicated identity space. These are a subset of my profiles:</p>
<ul>
<li><a href="http://facebook.com/ben.werdmuller">facebook.com/ben.werdmuller</a> </li>
<li><a href="http://google.com/profiles/benwerd">google.com/profiles/benwerd</a> </li>
<li><a href="http://twitter.com/benwerd">twitter.com/benwerd</a> </li>
<li><a href="http://profiles.yahoo.com/u/4IZCH2K6PEV775MICYR3DXMAMQ">profiles.yahoo.com/u/4IZCH2K6PEV775MICYR3DXMAMQ</a> </li>
<li><a href="mailto:benwerd@gmail.com">benwerd@gmail.com</a> [my Microsoft ID, ironically] </li>
<li><a href="http://benwerd.com">benwerd.com</a> [my OpenID] </li>
</ul>
<p>For identities to be usable as a generic standard, you <em>should</em> be able to use any of these – or all of them. Nobody has just one facet (or persona) comprising their identity; everyone has a collection, representing the different parts of their lives. Ben Werdmuller the web strategist for hire doesn’t need to be connected to Ben Werdmuller the Doctor Who fan, who in turn doesn’t need to be connected to the Oxford resident. They can be connected if I choose to make them, but separating parts of your life is part of a user’s control over their identity.</p>
<p>However, that needs to be context-specific, not application-specific. Currently, for example, my Facebook account tends to be personal, while my Twitter tends to be professional. That doesn’t make sense: in order to write personally on Twitter, I either have to accept the collision of those two parts of my life, or I need to create an entirely separate, fragmented Twitter account. Wouldn’t it be better to be able to control who sees which interactions, and choose tools based on the functionality they add to a conversation? Otherwise you have the situation I present above: one identity per communication context per application. That will quickly become unmanageable, and the web will be littered with dead profiles.</p>
<p>Conversely, I believe the future of the web is in atomic digital identities based on permissive, open standards, linked together as an application framework.</p>
<p>How do we make this work?</p>
<p><strong>Problem to solve: user control</strong></p>
<p><a href="http://www.flickr.com/photos/aud1073ch/34438156/"><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" border="0" align="right" src="http://farm1.static.flickr.com/21/34438156_0d13f27fcf_m.jpg" /></a> First and foremost, the framework for decentralization must be established – in other words, the actual social mesh standards that will make it possible.</p>
<p>Technical mechanisms need to be established for controlling access to a resource or collaborative space, which should be easy to use without removing any of the flexibility of the platform, and should allow for the maintenance of multiple personas.</p>
<p>Another part of access control is allowing a resource to expire gracefully. It’s important to know when to lose data: sometimes documents, resources, spaces, personas or entire identities may be transient and only required for a certain length of time. There’s no need for everything on the web to exist indefinitely; currently, rigorous indexes like Google ensure that much of it does.</p>
<p>Finally, the tools and standards we create must be permissive of goals, content and structure that we might not have thought of. There certainly doesn&#8217;t need to be an overarching structure or taxonomy between individual identity spaces, and constraining the technology to a rigid set of activities and data types would limit the scope of the platform.</p>
<p><strong>Problem to solve: ownership</strong></p>
<p>Existing web applications tend to have a single-ownership model for resources. However, <a href="http://silona.org">Silona Bonewald</a> rightly pointed out to me that this isn’t always the case, and in a free-flowing social mesh, multiple ownership needs to be represented. For example, all collaborators on a resource should have ownership access, unless they explicitly choose to rescind that right.</p>
<p>In a company environment, a user’s employer may have shared ownership (or full ownership, with author access available to the employee). The same may be true with students in a university environment. On sites like Facebook, the service owner may in reality have some ownership rights over the content.</p>
<p>How can we maintain this granularity, but also retain user control?</p>
<p><strong>Problem to solve: privacy &amp; transparency</strong></p>
<p>There is a very public attitude of &quot;when you put something online, it&#8217;s published&quot; in some parts of the software development community, which is a useful concept that gives developers <em>carte blanche</em> to share data freely. In a fully user-controlled environment, this public-or-completely-private binary situation can no longer be the case; a resource may have been published to a few select people. Ignoring this trait disallows the platform’s use in important environments like enterprises or public bodies.</p>
<p>When you sign up to a service, you agree to that service’s terms and conditions and privacy policy. However, your data may be farmed out to a collection of other, secondary services via APIs, without your knowledge or consent.</p>
<p>An important aspect of user control is knowing how your data is used and where it is transmitted by the applications you use, so I propose a simple, human-identifiable and machine-readable mark that:</p>
<ol>
<li>Applies permissions to how my data can be used by applications (like Creative Commons does for shared content) </li>
<li>Tells you in a visual way what happens to your data when you visit a site </li>
<li>Incorporates multi-ownership </li>
</ol>
<p>It may be that these issues are addressed within the terms and conditions of a service. However, it’s very unlikely that a user will actually read the full contract. Therefore, a simple graphic icon with a link to a plain-English description, with an underlying microformat for machine-readable use, would be a welcome addition to the user experience. As the web becomes more mesh-like and data moves around more freely, conveying what happens to data owned by less-technical end users will become more and more important.</p>
<p><strong>Problem to solve: platform</strong></p>
<p>Finally, while it’s great having a conversation about this, these ideas aren’t useful to anyone unless someone goes ahead and builds it.</p>
<p>There are some existing projects and thinkers who are on these tracks:</p>
<ul>
<li><a href="http://diso-project.org/">The Diso Project</a> is turning the WordPress open source blogging tool into a decentralized digital identity through an array of open standards, and the project’s Chris Messina has <a href="http://factoryjoe.com/blog/2009/05/18/the-open-social-web/">a lot of wise things to say</a> about its development. </li>
<li><a href="http://laconi.ca/">Laconi.ca</a> is a decentralized microblogging platform, whose <a href="http://openmicroblogging.org/">Open Microblogging</a> standard may be adaptable into a more widely-scoped technology. </li>
<li><a href="http://willnorris.com/2009/03/the-open-stack-in-php">The Open Stack</a> is a set of developing technologies that address some of the issues. </li>
<li>Marc Canter’s <a href="http://blog.broadbandmechanics.com/2008/05/02/how-to-build-the-open-mesh/">Open Mesh treatise</a> goes into detail on many of the issues. </li>
</ul>
<p>All of these are important contributions that strongly address some of the issues; however, we’re still a long way away from the vision of an open, social web.</p>
<p><strong>Conclusion</strong></p>
<p>I believe strongly, for the reasons stated above, that a decentralized, user-centered model for the web is the best way to advance it as an application platform.</p>
<p>Needless to say, I have my own ideas about how to actually build the platform, based on my <a href="http://benwerd.com/2009/06/making-the-most-of-the-web-right-now/">Making the most of the web</a> principles. However, it has to be a collaborative process: there’s no sense in building an open collaborative standard by yourself. My main concern is that the platform is created and works in an open, lightweight, flexible, easy-to-develop-for way while remaining secure and yielding control to the main user. The result will be an entirely new kind of platform, and presents a unique opportunity for anyone who wants to jump on board.</p>
</p>
<p><em>Images:</em></p>
<ul>
<li><a href="http://www.flickr.com/photos/-cavin-/2366764272/"><em>WOW! My 1000 Friends</em></a><em> by Cavin was released under a CC Attribution Generic 2.0 License </em></li>
<li><a href="http://www.flickr.com/photos/jule_berlin/2165572289/"><em>Lonely Tree</em></a><em> by Jule Berlin was released under a CC Attribution Generic 2.0 License</em></li>
<li><a href="http://www.flickr.com/photos/stabilo-boss/101793493/in/set-72057594060779001"><em>Logo 2.0 part II</em></a><em> by Stabilo Boss was released under a CC Attribution-Noncommercial-Share Alike 2.0 Generic License</em></li>
<li><em><a href="http://www.flickr.com/photos/johnnyjet/2830416793/">Upside Down</a> by Johnny Jet was released under a CC Attribution Generic 2.0 License</em></li>
<li><em><a href="http://www.flickr.com/photos/aud1073ch/34438156/">Pro Control 24</a> by Aud1073cH was released under a CC Attribution-Share Alike Generic 2.0 License</em></li>
</ul>
<h3>Related entries</h3>
<ul class="related_post">
<li><a href="http://benwerd.com/2009/06/social-networking-beyond-the-silo/" title="Social networking: beyond the silo">Social networking: beyond the silo (1)</a></li>
<li><a href="http://benwerd.com/2008/12/the-internet-is-people/" title="The Internet is People">The Internet is People (3)</a></li>
<li><a href="http://benwerd.com/2009/02/user-control-on-the-open-web/" title="User control on the open web">User control on the open web (9)</a></li>
</ul>
<br /><a href="http://benwerd.com/2009/07/building-the-user-centered-web/#comments" title="Comments on &quot;Building the user-centered web&quot;"><img src="http://benwerd.com/wp-content/plugins/feed-comments-number/image.php?745" alt="Comments" /></a> <img src="http://benwerd.com/wp-content/plugins/feed-statistics.php?view=1&post_id=745" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://benwerd.com/2009/07/building-the-user-centered-web/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Adapting to the real world</title>
		<link>http://benwerd.com/2009/06/adapting-to-the-real-world/</link>
		<comments>http://benwerd.com/2009/06/adapting-to-the-real-world/#comments</comments>
		<pubDate>Sat, 27 Jun 2009 22:57:30 +0000</pubDate>
		<dc:creator>Ben Werdmuller</dc:creator>
				<category><![CDATA[Software development]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[aac&u]]></category>
		<category><![CDATA[amber case]]></category>
		<category><![CDATA[business technology]]></category>
		<category><![CDATA[decentralized social web]]></category>
		<category><![CDATA[enterprise 2.0]]></category>
		<category><![CDATA[harvard]]></category>
		<category><![CDATA[hauser center for nonprofit organizations]]></category>
		<category><![CDATA[silona bonewald]]></category>
		<category><![CDATA[social web]]></category>

		<guid isPermaLink="false">http://benwerd.com/2009/06/adapting-to-the-real-world/</guid>
		<description><![CDATA[I’ve spent the last week in a series of very interesting mind-sharing meetings. First, the American Association of Colleges &#38; Universities flew me into Washington DC to discuss the future of assessment in higher education with education professionals as well as new techsphere friends like Silona Bonewald and Amber Case. Second, Michael Byrne from Harvard [...]]]></description>
			<content:encoded><![CDATA[<p>I’ve spent the last week in a series of very interesting mind-sharing meetings. First, the American Association of Colleges &amp; Universities flew me into Washington DC <a href="http://www.flickr.com/photos/16963133@N02/sets/72157620224954692/">to discuss the future of assessment in higher education</a> with education professionals as well as new techsphere friends like <a href="http://silona.org/">Silona Bonewald</a> and <a href="http://oakhazelnut.com/">Amber Case</a>. Second, Michael Byrne from Harvard University’s Hauser Center for Nonprofit Organizations <a href="http://www.hks.harvard.edu/hauser/tour/events/index.html">invited me to speak there about the open, social web</a>, the notes for which I’ll write up and post here soon. A great big thank you to both organizations for inviting me; I’ve felt privileged to have such insightful and interesting conversations over the last few days.</p>
<p>It seems like the shift in innovation in social tools has gone from developing new and interesting technologies to developing interesting models that <em>happen to use</em> technologies. This is a big step, and in some ways represents the space coming of age. There’s still plenty of technological development and innovation to do, but the platform and concepts are at a point where they can be adapted into all manner of social collaborative spaces, business tools, social experiments, games, art projects, and combinations of those things. It’s becoming a very exciting field to work in.</p>
<p>That said, some adaptation needs to happen, and it’s important to realize that these ideas only work in an effective way when they’re made relevant to the outside world. The social web is extremely political: it imposes an opinion about how the world should be open and social, democratic and centered on individual preferences, but ironically doesn’t allow for differences in that point of view. That makes it very hard for late adopters, enterprises, governments and public organizations to feel the benefit.</p>
<p>Over on Persona Prime, Silona <a href="http://silona.org/big-pink-elephant-in-the-room-of-transparency/2009/06/26/">makes this point about technology-inspired government transparency</a>:</p>
<blockquote><p>Where is the change management?&#160; We are doing some big stuff here and we are poised to make serious mistakes and I see no prelim work being done to prevent this.&#160; Where are the best practices in open govt documents?&#160; All I see are “I want” lists.&#160; I have not seen us doing anything serious to ally [the fears of people who might be wary of transparency].</p>
</blockquote>
<p>It would be cool if <a href="http://twarketing.com/2008/09/09/fortune-100-list-of-companies-and-their-current-twitter-status/">every Fortune 500 company wanted to be on Twitter</a>, but the reality is that they don’t, and often for very legitimate reasons. If what we’re doing is establishing a new, global, decentralized way to create, share, disseminate and discover information, then we have to take into account the differences in all the decentralized nodes. Embracing different corporate cultures, and different opinions on how communication should be, is part of that. Compromising and addressing the fears of companies and late adopters will build a larger userbase for all our tools, and make the platform much more useful in the long run.</p>
<h3>Related entries</h3>
<ul class="related_post">
<li><a href="http://benwerd.com/2010/08/for-your-consideration-at-sxsw-interactive/" title="For your consideration at SXSW Interactive">For your consideration at SXSW Interactive (1)</a></li>
<li><a href="http://benwerd.com/2010/03/direct-messaging-a-social-web-architecture-part-2/" title="Direct messaging in a social web architecture">Direct messaging in a social web architecture (3)</a></li>
<li><a href="http://benwerd.com/2010/03/activity-streams-and-oauth-a-social-web-architecture/" title="Activity Streams and OAuth: a social web architecture">Activity Streams and OAuth: a social web architecture (3)</a></li>
</ul>
<br /><a href="http://benwerd.com/2009/06/adapting-to-the-real-world/#comments" title="Comments on &quot;Adapting to the real world&quot;"><img src="http://benwerd.com/wp-content/plugins/feed-comments-number/image.php?743" alt="Comments" /></a> <img src="http://benwerd.com/wp-content/plugins/feed-statistics.php?view=1&post_id=743" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://benwerd.com/2009/06/adapting-to-the-real-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XMPP: powering the real-time, really live web</title>
		<link>http://benwerd.com/2009/06/xmpp-powering-the-real-time-really-live-web/</link>
		<comments>http://benwerd.com/2009/06/xmpp-powering-the-real-time-really-live-web/#comments</comments>
		<pubDate>Fri, 12 Jun 2009 14:59:32 +0000</pubDate>
		<dc:creator>Ben Werdmuller</dc:creator>
				<category><![CDATA[Software development]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[ejabberd]]></category>
		<category><![CDATA[google wave]]></category>
		<category><![CDATA[google wave protocol]]></category>
		<category><![CDATA[hemlock]]></category>
		<category><![CDATA[jabber]]></category>
		<category><![CDATA[real-time]]></category>
		<category><![CDATA[real-time web]]></category>
		<category><![CDATA[xmpp]]></category>

		<guid isPermaLink="false">http://benwerd.com/2009/06/xmpp-powering-the-real-time-really-live-web/</guid>
		<description><![CDATA[When Google Wave was previewed last week, most people focused on its Gmail-like user interface and the slick way it handled collaborative spaces in real time. What was more exciting from a web technology point of view, although much less sexy, was the underlying protocol: Google Wave is built on top of an extended version [...]]]></description>
			<content:encoded><![CDATA[<p>When <a href="http://econsultancy.com/blog/3919-google-eats-microsofts-lunch-with-the-launce-of-google-wave">Google Wave was previewed last week</a>, most people focused on its Gmail-like user interface and the slick way it handled collaborative spaces in real time. What was more exciting from a web technology point of view, although much less sexy, was the underlying protocol: Google Wave is built on top of an extended version of an open source real-time data standard called <a href="http://xmpp.org/">XMPP</a> (aka <a href="http://www.jabber.org/">Jabber</a> when it’s used as an instant messaging context). This means that anyone can build servers and end-user applications that are compatible with Wave.</p>
<p>Yesterday, the BBC announced that they were <a href="http://uk.techcrunch.com/2009/06/11/exclusive-bbc-leads-the-next-wave-of-web-experience-with-hemlock/">using an open source framework called Hemlock</a> in order to provide real-time web games on their Childrens’ site. <a href="http://www.readwriteweb.com/archives/hemlock_an_open-source_real-time_web_platform.php">Hemlock’s interfaces are built in Flash</a>, but the real-time aspect is powered by XMPP. Developer Ron DeVera <a href="http://hemlock-kills.com/blog/understanding-hemlock">explained why over on the Hemlock blog</a>:</p>
<blockquote><p>XMPP is commonly used to enable chatrooms, like Gtalk or Facebook Chat. However, instead of just sending text, Hemlock lets you send all kinds of data at the speed of instant messaging. Even better, XMPP is designed to scale up and send data to many people at once, so you can push that data to multiple people in real-time.</p>
</blockquote>
<p>In other words, it’s perfect for real-time applications on the web.</p>
<p>Traditionally, live web applications have used a development methodology called AJAX, which stands for Asynchronous Javascript And XML. In order to provide the illusion of a real-time application, the web browser needs to continue to ask the server if there’s any new data to ask, via a new AJAX request – which is a waste of bandwidth and resources both on the user and server side. XMPP, on the other hand, pings the client software whenever there’s new data.</p>
<p>Servers already need software to host and process dynamic web pages, as well as a database server to handle most types of user data. To use XMPP, you need to add an XMPP server to the mix – something that in the past was more fiddly than most people were willing to play with. However, times have changed, and <a href="http://www.process-one.net/en/ejabberd/">ejabberd</a> is free, open source and easy to install on Windows, Mac OS X and Linux servers. (I’m still at the early stages of playing with it; I’ll let you know how I get on.)</p>
<p>The XMPP community is still very small compared to the wider web, but developments like Wave and Hemlock should accelerate growth and interest in it. There are <a href="http://blog.xmpp.org/index.php/2009/06/xmpp-roundup-10/">some interesting projects springing up</a>, and lots of <a href="http://xmpp.org/software/libraries.shtml">libraries available for XMPP development</a>; XMPP programming is a skill developers should get in on now, before it really heats up.</p>
<h3>Related entries</h3>
<ul class="related_post">
<li><a href="http://benwerd.com/2010/06/write-real-time-web-applications-with-xmpp-php-and-javascript/" title="Write real-time web applications with XMPP, PHP, and JavaScript">Write real-time web applications with XMPP, PHP, and JavaScript (0)</a></li>
<li><a href="http://benwerd.com/2009/06/social-networking-beyond-the-silo/" title="Social networking: beyond the silo">Social networking: beyond the silo (1)</a></li>
<li><a href="http://benwerd.com/2009/05/google-wave-is-exciting-and-transformative/" title="Google Wave is exciting and transformative">Google Wave is exciting and transformative (3)</a></li>
</ul>
<br /><a href="http://benwerd.com/2009/06/xmpp-powering-the-real-time-really-live-web/#comments" title="Comments on &quot;XMPP: powering the real-time, really live web&quot;"><img src="http://benwerd.com/wp-content/plugins/feed-comments-number/image.php?681" alt="Comments" /></a> <img src="http://benwerd.com/wp-content/plugins/feed-statistics.php?view=1&post_id=681" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://benwerd.com/2009/06/xmpp-powering-the-real-time-really-live-web/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
