<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
    <channel>
        <title>take one onion</title>
        <link>http://takeoneonion.org/</link>
        <description>sliced and diced by Gavin Bell</description>
        <language>en</language>
        <copyright>Copyright 2009</copyright>
        <lastBuildDate>Thu, 30 Apr 2009 20:23:04 +0000</lastBuildDate>
        <generator>http://www.sixapart.com/movabletype/</generator>
        <docs>http://www.rssboard.org/rss-specification</docs>
        
        <item>
            <title>new logic board for a macbook pro means work for you</title>
            <description><![CDATA[<p>I had the logic board in my MacBook Pro replaced under AppleCare warranty recently with fantastic service from the Regent Street Apple Store. That was all good. However when you change the logic board in a mac some things can go awry.</p>

<p>The key thing that changes is the ethernet MAC address of the machine. This is the low level network identity which is used prior to getting a proper TCP/IP address for use on the internet. They are (I think) unique per machine and so they are used as a key for all sorts of things. Two I have found so far are Time Machine and MobileMe syncing.</p>

<p>Neither of these services warns you, they just stop working, which is quite irritating. To fix Time Machine you need to reselect the drive you are backing up to, this should work, but didn't for me.</p>

<p>For MobileMe you need to go to the Sync tab in the MobileMe preferences and tell it that the old machine name is really the same as the new one. Then you'll get to merge the data.</p>

<p>It is a pity that macosx doesn't recognise that it has a new motherboard and offer to fix these for you, but hopefully this list will help you one the right path to getting things back to normal.<br />
</p>]]></description>
            <link>http://takeoneonion.org/archives/2009/04/new-logic-board-for-a-mac.html</link>
            <guid>http://takeoneonion.org/archives/2009/04/new-logic-board-for-a-mac.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Apple</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">apple</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">logic board</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">macbook pro</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">mobileme</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">time machine</category>
            
            <pubDate>Thu, 30 Apr 2009 20:23:04 +0000</pubDate>
        </item>
        
        <item>
            <title>Ballard quote on whether he wrote science fiction</title>
            <description><![CDATA[<p>JG Ballard was interested in<blockquote> "the evolving world, the world of hidden persuaders, of the communications landscape developing, of mass tourism, of the vast conformist suburbs dominated by television &#8211; that was a form of science fiction, and it was already here".</blockquote></p>

<p>Just as relevant today, quote taken from <a href="http://www.guardian.co.uk/books/2009/apr/19/jg-ballard-author-dies-aged-78">The Guardian obituary</a>, itself taken from a <a href="http://www.guardian.co.uk/books/2008/jun/14/saturdayreviewsfeatres.guardianreview10">longer interview with JG Ballard</a> from last summer.</p>]]></description>
            <link>http://takeoneonion.org/archives/2009/04/ballard-quote-on-whether.html</link>
            <guid>http://takeoneonion.org/archives/2009/04/ballard-quote-on-whether.html</guid>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">ballard</category>
            
            <pubDate>Mon, 20 Apr 2009 10:27:19 +0000</pubDate>
        </item>
        
        <item>
            <title>Ballard memories</title>
            <description><![CDATA[<p>Reading The Terminal Beach and The Crystal World at about 12 or 13 and still having it haunt me 25 years later.</p>]]></description>
            <link>http://takeoneonion.org/archives/2009/04/ballard-memories.html</link>
            <guid>http://takeoneonion.org/archives/2009/04/ballard-memories.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">scifi</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">ballard</category>
            
            <pubDate>Mon, 20 Apr 2009 10:11:19 +0000</pubDate>
        </item>
        
        <item>
            <title>hackintosh vs an ebook reader</title>
            <description><![CDATA[<p>I'll admit it, I'd really like a <a href="http://www.amazon.com/Kindle-Amazons-Wireless-Reading-Generation/dp/B00154JDAI">Kindle 2</a>, I'd even consider buying a US one and using the <a href="http://blog.fsck.com/2009/03/tethering-your-kindle.html">clever usb network trick</a> to get content onto it. However I'll wait until a UK launch for a variety of reasons.</p>

<p>A few months back I was very tempted by a netbook, <strike>running Ubuntu</strike> as a <a href="http://gizmodo.com/5156903/how-to-hackintosh-a-dell-mini-9-into-the-ultimate-os-x-netbook">hackintosh</a>, but the combination of my MacBook Pro, my iPhone and an ebook reader feels like it would be enough. I don't want to have to deal with syncing my working environments. I have a MacBook Pro which I use for everything, it is my work machine and my personal machine. This means I have no context switching to deal with and something is never <em>on the other machine.</em></p>

<p>The weight aspect of the netbooks does appeal, the 2-3Kgs of a 15" laptop becomes wearing after a while. However I realised that I can cope with a 5-6kg bag, it is the paper books that drive the weight to over 10kgs. So being able to carry more than one book around would be a real boon. <a href="http://www.lexcycle.com/">Stanza</a> on my iPhone is good for fiction, but not so good for technical books.</p>

<p>I'm going to try out a <a href="http://en.wikipedia.org/wiki/Sony_Reader">Sony PRS 505</a> for a few days to see if I like the idea. The lack of touchscreen is already annoying me. I'm trying <a href="http://calibre.kovidgoyal.net/download_osx">calibre</a> and <a href="http://labs.docudesk.com/latest-technologies/2007/4/26/docudesk-prs-browser-for-os-x.html">Docudesk PRS</a> as library management apps.</p>

<p>Interestingly the ebook readers are about the same price as a netbook, at around 250-300 pounds. The netbook offers a lot more for the money, but small and light costs more I guess. Computer, book and phone appeals more than computer, netbook and phone.</p>

<p>UPDATE: 6th May 2009. I want a <a href="http://www.amazon.com/gp/search?ie=UTF8&keywords=kindle%20dx&tag=takeoneonion-20&index=blended&linkCode=ur2&camp=1789&creative=9325">Kindle DX</a><img src="http://www.assoc-amazon.com/e/ir?t=takeoneonion-20&l=ur2&o=1" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /><br />
, native PDF support and text book sized, but only available in the USA at the minute.</p>]]></description>
            <link>http://takeoneonion.org/archives/2009/04/hackintosh-vs-an-ebook-re.html</link>
            <guid>http://takeoneonion.org/archives/2009/04/hackintosh-vs-an-ebook-re.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">people, systems and design</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">ebook reader</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">hackintosh</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">kindle 2</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">sony prs-505</category>
            
            <pubDate>Wed, 08 Apr 2009 15:34:27 +0000</pubDate>
        </item>
        
        <item>
            <title>new platform Y at Kings Cross station</title>
            <description><![CDATA[<p>I work beside <a href="http://en.wikipedia.org/wiki/London_King%27s_Cross_railway_station">Kings Cross station</a>, so I've been watching the developments at the station on a daily basis. The recent demolition of the buildings beside platform 1 <a href="http://maps.google.com/maps?client=safari&oe=UTF-8&ie=UTF8&q=n1+9xw+wifi&fb=1&split=1&view=map&ei=TvXTSfyxA8TO-AaS6ayHCw&cd=1&hl=en&ll=51.533162,-0.121837&spn=0.003557,0.008765&t=h&z=17">near the junction</a> (google map) of Wharfdale Road and York Way exposed the remains of the bridge which carried the former Battle Bridge Road. The stub of this bridge, shown below has been further pared back in this work. The bridge is part of a <a href="http://www.kingscrossaccess.com/">concerted campaign</a> to get a link from the Islington side of the Kings Cross area into the actual station. Current plans will only allow access from the St Pancras or western side.<br />
<a href="http://www.flickr.com/photos/35034348621@N01/3408863127" title="View 'Platform Y begins at Kings Cross' on Flickr.com"><div style="text-align:center;"><img src="http://farm4.static.flickr.com/3401/3408863127_13a7372428.jpg" alt="Platform Y begins at Kings Cross" border="0" width="500" height="375" /></div></a></p>

<p>The <a href="http://www3.camden.gov.uk/templates/committees/documents/20790.pdf">new platform Y (planning application pdf)</a>, which is the cause of the recent demolition, will run along the old cab access road, shown in this photo taken in 2006. To the left in this photo is the current platform 1.</p>

<p><a href="http://www.flickr.com/photos/35034348621@N01/233977497" title="View 'Closed taxi rank at Kings Cross, diesel exhaust trails' on Flickr.com"><div style="text-align:center;"><img src="http://farm1.static.flickr.com/97/233977497_075730cec8.jpg" alt="Closed taxi rank at Kings Cross, diesel exhaust trails" border="0" width="375" height="500" /></div></a></p>

<p>There is much change at Kings Cross, some of it I think is positive, if they can make it as nice as the St Pancras station, that would be great. The access issue is frustrating. My morning walk out of Kings Cross in the sunshine up York Way is not exactly unpleasant. A bridge over the platforms would be appreciated and route a large number of people away from the front of the station and thronging up York Way.</p>]]></description>
            <link>http://takeoneonion.org/archives/2009/04/new-platform-y-at-kings-c.html</link>
            <guid>http://takeoneonion.org/archives/2009/04/new-platform-y-at-kings-c.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">London</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">kings cross</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">london</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">platform y</category>
            
            <pubDate>Fri, 03 Apr 2009 15:17:29 +0000</pubDate>
        </item>
        
        <item>
            <title>writing the application from Building Social Web Applications</title>
            <description><![CDATA[Another chapter outline for you to comment upon. I'm writing a book for O'Reilly and I'd love your help and suggestions. I don't write code for a living, so I need your input to strengthen this chapter. See <a href="http://takeoneonion.org/archives/2009/03/help-me-improve-building.html">earlier post</a> for more information on the book. Let me know what is missing and what examples you'd like to suggest for the book. Comment below or send me an email me at gavinbell dot com or <a href="http://twitter.com/zzgavin">zzgavin on twitter</a>. 

How social applications differ
<ul>
	<li>Identity is bound in, other people&rsquo;s identity and interests become the focus of your site</li>
	<li>Linking, tagging and content reuse are important</li>
	<li>Asymmetric follow makes for tricky scaling issues</li>
	<li>Privacy complicates implementation</li>
	<li>Polymorphic nature of relationships between people, content and metadata, even functionality</li>
	<li>Small is good, let your community shape what you build, rather than launching a big app</li>
	<li>Rapidly evolving protocols and standards</li>
</ul>
Agile methodologies
<ul>
	<li>Preference for agile development approaches, </li>
	<li>flexible development a month at a time is better than rigid multi-month plans, ie release early and often.</li>
</ul>
Deployment and version control
<ul>
	<li>Retaining flexibility </li>
	<li>Importance of source control and the shift to distributed models like git or hg</li>
	<li>Dev, test, staging and production machines, continuous integration and TDD</li>
	<li>Conditional releases - one site different versions depending on who you are, tags and flags</li>
	<li>Alpha users (set list, or tagged groups)</li>
	<li>Tagged features available to certain tagged users (dopplr model and others)</li>
	<li>Testing with high loads and real data is hard, apache bench etc</li>
	<li>Rolling restarts for no downtime eg haproxy and mongrels</li>
	<li>Puppet and capistrano, managing collections of machines and code deploys.</li>
</ul>
Implementing the design of  social applications
<ul>
	<li>Design is how it works</li>
	<li>Use cases for developers, understanding the whole picture vs implementing a feature</li>
	<li>The app has a point of view, understanding what fits and what fails as a feature</li>
	<li>How code review helps</li>
	<li>Linking the designed for activities to implementation</li>
	<li>REST approaches compared to RPC / CGI approaches, </li>
	<li>	better urls, relying on the verbs in HTTP properly, not everything is a GET</li>
	<li>Feeds and APIs from your app</li>
</ul>
User interfaces and prototyping
<ul>
	<li>Failing gracefully is a strong  capability for your site</li>
	<li>What makes a website tick (good error recovery)</li>
	<li>Accessibility is important, unobtrusive javascript is a great approach. (Not a tick list)</li>
	<li>Using the console for code level prototyping of ideas</li>
	<li>Templates and CSS vs application code and database schemas</li>
</ul>

L10N and friends
<ul>
	<li>UTF-8 and not ascii for data storage everywhere.</li>
	<li>Understanding internationalization and when to do it</li>
</ul>
Security

<ul>
	<li>SQL injections, cross site scripting, escape everything, only unescape content you know you really want to display.</li>
	<li>Let them use html and filter approach is doomed, whitelisting is best approach, CSS has similar vulnerabilities</li>
	<li>Cross site request forgery</li>
	<li>Google web accelerator means every link can get processed</li>
	<li>Ensure that form interactions really do come from your own site, use a token to prove this, unique per user and tied to session, this token is now extremely valuable</li>
	<li>Invisible iframes and click jacking</li>
	<li>Flash and browser plugins complicate the whole situation and web browser javascript and quirks mode means they are black boxes</li>
</ul>


Scaling and messaging architectures	
<ul>
	<li>Forget WS-* unless you really need it for integration</li>
	<li>http://www.37signals.com/svn/posts/1509-mr-moore-gets-to-punt-on-sharding</li>
	<li>http://www.new.facebook.com/notes.php?id=9445547199</li>
	<li>http://highscalability.com/amazon-architecture</li>
	<li>Not about optimisation, architecture more important</li>
	<li>Load balancers, proxies and caching </li>
	<li>Realtime vs non-realtime</li>
	<li>XMPP etc and see http://www.loiclemeur.com/english/2008/12/xmpp-pubsub-aka.html</li>
	<li>NOT just XMPP, the importance of caching</li>

	<li>The qualitative argument for asynchronous development.</li>

	<li>From the SXSW Scaling Boot camp&#160;</li>
	<li>"Design for parallel steps and use queuing as much as possible</li>

	<li>http://www.slideshare.net/rabble/beyond-rest-building-data-services-with-xmpp-pubsub</li>
</ul>



URLS and IA
<ul>
	<li>URLS should be as far as possible</li>
	<li>Short, meaningful, canonical, permanent and hackable, plus opaque if needed eg amazon asins</li>
	<li>Pagination and url structures, what was on &amp;page=3 is a recurring problem for aggregation pages, providing date based aggregation alongside simple pagination can help. Imagine Twitter with yyyy/mm/dd aggregation pages too.</li>
</ul>

Search
<ul>
	<li>Search is critical to your site, but often left to the end. </li>
	<li>Understand what needs to be searchable and under what context</li>
	<li>Searchable items can grow, eg photos by place on Flickr</li>
	<li>Search can be provided by a third party eg summize and twitter</li>
	<li>Build your search based on the content you store, it is not enough to return simple text matches.</li>
	<li>	Finding a photo means returning the picture and metadata, similarly for an event.</li>
</ul>

IDENTITY and management of user data
<ul>
	<li>REGISTRATION patterns</li>
	<li>Standard email address, password and screen name approach</li>
	<li>Deleted accounts and how to handle them</li>
	<li>Need for separate admin accounts alongside normal user accounts</li>
	<li>	Staff will have admin account and user accounts with different capabilities</li>
</ul>

OPENID and OAUTH - the open web standards
<ul>
	<li>Why do they exist	</li>
	<li>How to implement them and what impact they will have</li>
	<li>Relative importance of OAuth, balance between identity and access to data, selective permissions</li>
	<li>Portable contacts POCO and what it solves</li>
	<li>OpenSocial, plus the various connect products</li>
	<li>OAuth address book access</li>
</ul>




Federation
<ul>
	<li>Distributed systems linked via common protocols and data formats</li>
	<li>	Not yet mainstream, but an important direction</li>
	<li>Ma.gnolia M2</li>
	<li>Identi.ca (openmicroblogging)</li>
	<li>http://www.jaiku.com/blog/2009/01/15/were-going-open-source/</li>
	<li>http://www.zengestrom.com/blog/2008/12/foreign-friends-from-a-servicecentric-to-an-objectcentric-social-web.html</li>
	<li>Activity Streams and DISO work</li>
</ul>

Reputation systems
<ul>
	<li>What to build and how.</li>
	<li>	Data to base reputation upon</li>
	<li>	How to aggregation and modify raw data</li>
	<li>	Avoiding being gamed</li>
	<li>Bryce Glass and Yahoo pattern library.</li>
	<li>Managing and understanding your community</li>
</ul>

Need for admin tools
<ul>
	<li>	When to build them</li>
	<li>	What to put inside them</li>
	<li>	How to maintain them loosely tied to TDD (no admin, no feature)</li>
	<li>	Balance with just enough admin to get job done</li>
</ul>
Statistics
<ul>
	<li>	Will your community want stats</li>
	<li>	How to build a personal stats tool</li>
	<li>	Granularity, fine is expensive</li>
	<li>	Simple overviews eg favouited content etc</li>
	<li>Stats for your own use</li>
	<li>	Collect and timestamp everything</li>
	<li>	Avoid monthly reporting focus, allow for real time reporting</li>
	<li>		Think too monthly and you&rsquo;ll just get monthly stats	</li>
	<li>Good metrics are vital</li>
</ul>


Collective intelligence
<ul>
	<li>	Recommendation systems</li>
	<li>	Machine learning</li>
	<li>	Classifiers and filtering tools</li>
	<li>		Starting simple and figuring out what data to start with</li>
	<li>	Person, location and content are all valid places to build upon</li>
</ul>
Making your code green
<ul>
	<li>Average costs per person</li>
	<li>	Optimisation of HTML and CSS etc</li>
	<li>	Server side optomisation, caching etc</li>
	<li>Flickr ops data graphs and notes</li>
	<li>YSlow and energy efficiency</li>
	<li>Speed = less energy used in general.</li>
</ul>
]]></description>
            <link>http://takeoneonion.org/archives/2009/03/writing-the-application-f.html</link>
            <guid>http://takeoneonion.org/archives/2009/03/writing-the-application-f.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">writing</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">bswa</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">building social web applications</category>
            
            <pubDate>Wed, 25 Mar 2009 14:52:36 +0000</pubDate>
        </item>
        
        <item>
            <title>Building Social Web Applications aka the spiders book</title>
            <description><![CDATA[<p><a href="http://oreilly.com/catalog/9780596518752/cover.html"><img src="http://oreilly.com/catalog/covers/9780596518752_cat.gif" alt="Building Social Web Applications by Gavin Bell"  width="180" height="236" border="0" align="left" style ="margin:0 5px" /></a></p>

<p>The cover for <a href="http://oreilly.com/catalog/9780596518752/index.html">my book</a>, you can pre-order it from <a href="http://www.amazon.co.uk/gp/product/0596518757?ie=UTF8&tag=takeoneonion-21&linkCode=as2&camp=1634&creative=6738&creativeASIN=0596518757">Amazon UK</a><img src="http://www.assoc-amazon.co.uk/e/ir?t=takeoneonion-21&l=as2&o=2&a=0596518757" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> and <a href="http://www.amazon.com/gp/product/0596518757?ie=UTF8&tag=takeoneonion-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0596518757">Amazon US</a><img src="http://www.assoc-amazon.com/e/ir?t=takeoneonion-20&l=as2&o=1&a=0596518757" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />.<br />
 I'm fondly calling it <em>the spiders book</em>.<br />
</p>]]></description>
            <link>http://takeoneonion.org/archives/2009/03/building-social-web-appli.html</link>
            <guid>http://takeoneonion.org/archives/2009/03/building-social-web-appli.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">writing</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">authorship</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">bswa</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">spiders book</category>
            
            <pubDate>Wed, 25 Mar 2009 10:42:03 +0000</pubDate>
        </item>
        
        <item>
            <title>They are watching again</title>
            <description><![CDATA[
<div style="text-align: left; padding: 3px;">
<a href="http://www.flickr.com/photos/gavinbell/3379215318/" title="photo sharing"><img src="http://farm4.static.flickr.com/3424/3379215318_b8546662e7.jpg" style="border: solid 2px #000000;" alt="" /></a>
<br />
<span style="font-size: 0.8em; margin-top: 0px;"><a href="http://www.flickr.com/photos/gavinbell/3379215318/">They are watching again</a>, originally uploaded by <a href="http://www.flickr.com/people/gavinbell/">GavinBell</a>.</span>
</div>
<p>
Working on the API chapter and feeling like I'm being watched...
</p>]]></description>
            <link>http://takeoneonion.org/archives/2009/03/they-are-watching-again-1.html</link>
            <guid>http://takeoneonion.org/archives/2009/03/they-are-watching-again-1.html</guid>
            
            
            <pubDate>Mon, 23 Mar 2009 16:19:21 +0000</pubDate>
        </item>
        
        <item>
            <title>launching and evolving - Building Social Web Applications, a book in beta</title>
            <description><![CDATA[ I'm writing a book for O'Reilly and I'd love you to comment on this outline, see <a href="http://takeoneonion.org/archives/2009/03/help-me-improve-building.html">earlier post</a> for more information. 
Let me know what is missing and what examples you'd like to suggest for the book. Comment below or send me an email me at gavinbell dot com or <a href="http://twitter.com/zzgavin">zzgavin on twitter</a>.


Launching and evolving
<ul>
	<li>The front page needs to communicate in seconds what your app is about</li>
	<ul>
	<li>20 words and a picture, a compelling use case.</li>
	<li>	Offer a demo, but words are better</li>
	<li>	Aim is to get people to signup, but gradual engagement leading to signup is also desirable</li>
</ul>

Launching in "beta"
	<ul>
	<li>The private alpha (non-public) early and often is a good approach to launching, </li>
	<li>	start small and iterate it until you are ready for strangers</li>
	<li>	Launch when you have something useful, not every feature on the wishlist</li>
	<li>	Small applications are easier to understand and for other people to talk about, it does X</li>
	<li>	Invite tickets risks / benefits</li>
	<ul>
	<li>		Allow limited numbers of people into see your new app</li>
	<li>		Can create an echo chamber and thus skew feedback</li>
	</ul>
	<li>	Arriving with social context</li>
	<ul>
	<li>		Dopplr</li>
	<li>		Twitter</li>
	</ul>

</ul>

<ul>
	<li>Contact import APIs and their importance in bootstrapping context</li>
	<li>Tools and services for launching and support</li>
	<ul>
	<li>	Getsatisfaction</li>
	<li>	Twitter for comments and visibility</li>
	<li>	Twitter inside getsatisfaction </li>
	<li>	A blog</li>
	<li>	Mailing lists</li>
	</ul>
	<li>Nurturing the first few hundred people</li>
	<li>Link to me (digg, reddit, del.icio.us)</li>
	<li>Face to face meetups</li>
	<li>Speaking at conferences and barcamps</li>
	<li>Nounification and verbification twittering, flickring etc</li>
	<li>importance of making the community self supporting or sustaining, they should surprise you</li>


	<li>Feature request vs bug management</li>
	<li>Adding functionality</li>
	<ul>
	<li>	Watching for demand from the community</li>
	<li>	Keeping up with the competition (or not)</li>
	<li>	Listening</li>
	</ul>
	<li>Feature led development (featuritis)</li>
	<li>Making useful products (experience led)</li>
	<li>Staying focused and coherent</li>
	<li>supporting emerging activities</li>
	<li>determining what is next</li>
	<li>BIG changes vs features vs maintenance, eg Flickr localization</li>


	<li>Marketing approaches examples</li>
	<ul>
	<li>Word of mouth</li>
	<li>Being responsive on twitter etc</li>
	<li>Eat your own dog food, use your own product from day one</li>
	<li>Dopplr personal report using Obama</li>
	<li>Flickr blog - connect with your community</li>
	</ul>
</ul>
I'll of course credit any contributions I use. many thanks, Gavin]]></description>
            <link>http://takeoneonion.org/archives/2009/03/launching-and-evolving--.html</link>
            <guid>http://takeoneonion.org/archives/2009/03/launching-and-evolving--.html</guid>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">bswa</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">building social web applications</category>
            
            <pubDate>Thu, 19 Mar 2009 23:17:01 +0000</pubDate>
        </item>
        
        <item>
            <title>Extending the application, APIs and integration - Building Social Web Applications, a book in beta</title>
            <description><![CDATA[I'm writing a book for O'Reilly and I'd love you to comment on this outline, see earlier post for more information. 
Let me know what is missing and what examples you'd like to suggest for the book. Comment below or send me an email me at gavinbell dot com or <a href="http://twitter.com/zzgavin">zzgavin on twitter</a>.

<ul>
	<li>On the internet vs part of the internet</li>
	<ul>
	<li>	Amazon and google vs most publishers</li>
	<li>	New York Times and The Guardian</li>
	<li>	Seeing the wider internet</li>
	<li>	Integrating with the wider internet</li>
	</ul>
	<li>Building an API</li>
	<ul>
	<li>	Why make an API?</li>
	<li>	People and objects, the stuff of social applications</li>
	<li>	Collections, tags, places and time as containers for objects via API calls</li>
	<li>	Services not sites, programmatic access to data, not page generation</li>
	<li>	Interoperability and Snowflake APIs (your data is not that unique)</li>
	<li>	API traffic volume to twitter / flickr</li>
	<li>	Supporting activities, not implementing features</li>
	<li>	Using your own public API to make your stuff</li>
	</ul>
	<li>Microformats and RSS (read only apis)</li>
	<ul>
	<li>	Where appropriate, bulk usage better via api, so that data only can be sent, not images and css along for the ride</li>
	</ul>
	<li>HTML badges</li>
	<ul>
	<li>	Your data on someone else&rsquo;s site, simple and easy to use</li>
	</ul>
	<li>Writable APIs</li>
	<ul>
	<li>	Authentication required </li>
	<li>	Security and OAuth</li>
	<li>	Latency</li>
	</ul>
	<li>Examples Flickr / Twitter / MovableType and blog apis</li>
	<li>Sticking with standards</li>
	<ul>
	<li>	Identica and other apps mimicing the twitter API</li>
	<li>	RSS, Atom and AtomPub</li>
	</ul>
	<li>API scaling issues</li>
	<ul>
	<li>	XMPP</li>
	<li>	queues</li>
	<li>	Real time vs near realtime</li>
	<li>	NY TIMES, Flickr panda bears</li>
	</ul>
	<li>Privacy and security around APIs, commercial aspects</li>
	<li>Developer community management (wikis, mailing lists etc)</li>
</ul>


<ul>
	<li>Integrating existing or competing projects (whatever the route)</li>
	<li>Multiapp integration</li>
	<ul>
	<li>	Registration SSO - OpenID and OAuth</li>
	<li>	User management</li>
	<li>	Data migration headaches and how to avoid them</li>
	<li>	Having one of everything, not duplicates</li>
	<li>	Email notifications - managing your output from multiple applications</li>
	</ul>
	<li>Internal integration (message queuing)</li>
	<ul>
	<li>	On the cheap polling RSS</li>
	<li>	Database calls, fast and brittle</li>
	<li>	Queues and message passing</li>
	<li>    Dealing with multiple claims of authority</li>
	<li>	Family of identifiers better than one?</li>
	</ul>
	<li>Search</li>
	<ul>
	<li>	Single search databases (big solutions like MarkLogic)</li>
	<li>	Cooperative approaches (polling multiple databases and integrating)</li>
	<li>	Multiple content sources with a single search interface is a hard problem, common for many publishers</li>
	<li>	Community and published content, blog vs publishing workflow tools, who wrote this?</li>
	</ul>
	<li>Integration with other people&rsquo;s APIs</li>
	<ul>
	<li>	Functionality for free from others FTW</li>
	<li>	How to manage external dependancies on others APIs</li>
	<li>	Understanding provider and consumer relationships for your application</li>
	</ul>
</ul>

I'll of course credit any contributions I use.
many thanks, 
Gavin
]]></description>
            <link>http://takeoneonion.org/archives/2009/03/extending-the-application.html</link>
            <guid>http://takeoneonion.org/archives/2009/03/extending-the-application.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">bookinbeta</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">bswa</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">Building Social Web Applications</category>
            
            <pubDate>Thu, 12 Mar 2009 00:48:19 +0000</pubDate>
        </item>
        
        <item>
            <title>help me improve Building Social Web Applications, a book in beta</title>
            <description><![CDATA[<p>I've mentioned before that I'm writing a book for O'Reilly, entitled <a href="http://oreilly.com/catalog/9780596518752/">Building Social Web Applications</a>. It should be published this August. I've written quite a lot of it based on a mixture of interviews and conversations with people at conferences and in London. I'm now writing the more technical chapters and I need your help. I'm an interaction designer and product manager with a good head for technical detail, but being honest I don't write code daily. So it would be great if I can get your input into these three chapters.</p>

<ul>
<li><a href="http://takeoneonion.org/archives/2009/03/writing-the-application-f.html">Writing the application</a></li>
<li><a href="http://takeoneonion.org/archives/2009/03/extending-the-application.html">Extending the application, APIs and integration</a></li>
<li><a href="http://takeoneonion.org/archives/2009/03/launching-and-evolving--.html">Launching and evolving</a></li>
</ul>

<p>The earlier chapters cover the questions of why are you building a social application and look at how people behave and interact with one another online. These three chapters cover how to implement and extend the application. The intent is not to give a lot of technical detail and reams of code, but to explore how social applications differ. They are not the same as building a content publishing system or an online shop. I've created some outlines to give a framework for what I think should be in the chapters, but please let me know what is missing.</p>

<p>I'm not interested in recommending a particular language or framework, nor one particular approach to scaling. I'm also interested in your opinions on centralisation vs distribution and federation. Examples that you can share and suggestions of content to include are most welcome. Dopplr, Flickr, Twitter and sites like LinkedIn or Facebook are the kinds of things I've been featuring, but I've also been looking at adding social features to newspapers, magazine and product companies.</p>

<p>I'm going to put the <a href="http://takeoneonion.org/archives/2009/03/extending-the-application.html">API and integration chapter</a> up first, the other two, tomorrow. I want to start writing the chapters on the 23rd of March, so about ten days or so from now, so please let me know what you think. I'm <a href="http://twitter.com/zzgavin">zzgavin</a> on twitter and I'll be talking about the book there too.</p>]]></description>
            <link>http://takeoneonion.org/archives/2009/03/help-me-improve-building.html</link>
            <guid>http://takeoneonion.org/archives/2009/03/help-me-improve-building.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">bookinbeta</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">writing</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">bookinbeta</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">bswa</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">building social web applications</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">o&apos;reilly</category>
            
            <pubDate>Thu, 12 Mar 2009 00:44:46 +0000</pubDate>
        </item>
        
        <item>
            <title>video cameras and features vs availability - Zi6</title>
            <description><![CDATA[<p>Ever since we got burgled in 2005 I've  intended to replace the video camera that got stolen. We bought a Canon 20D SLR with the insurance money instead. Today I was looking at older pages on backpack and found the feature list I thought was essential about a year or so ago.</p>

<pre>16:9 native
manual focus
firewire i/o
manual white balance / exposure
head phone
microphone
stills capture whilst recording
image stabalisation (preferably optical)
c. 500g
all features on the camera, no dock
</pre>

<p>Lucy got me a <a href="http://www.kodak.com/eknec/PageQuerier.jhtml?pq-path=13063">Kodak Zi6</a> recently and whilst it is 16:9, it has little else on the spec sheet. What it does have is pocketability and near instant on. A lesson to me in getting over involved in the features and not the activity. Of course, I'd want a slightly wider angle lens and better low light, but then it wouldn't have been about 100 pounds. I'll probably get a video camera at some point, but for <a href="http://www.flickr.com/help/video/#2214">long photo</a> use, especially of my sons the Zi6 is perfect.</p>]]></description>
            <link>http://takeoneonion.org/archives/2009/03/video-cameras-and-feature.html</link>
            <guid>http://takeoneonion.org/archives/2009/03/video-cameras-and-feature.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">photography</category>
            
            
            <pubDate>Tue, 03 Mar 2009 12:22:28 +0000</pubDate>
        </item>
        
        <item>
            <title>seed16 a new model for conferences</title>
            <description><![CDATA[<p>Last night <a href="http://husk.org/">Paul Mison</a>, <a href="http://anti-mega.com/antimega/">Chris Heathcote</a> and myself talked about the <a href="http://www.barcamplondon.org/">Barcamp London 6</a> ticket debacle. The alleged 55 first round tickets were snapped up in 40 odd seconds. This meant that unless you were sitting primed at 3pm exactly you stood no chance of getting a ticket. Luckily I'd had sufficient warning and was ready, but a few seconds later and I'd still be waiting for a chance to get a ticket.</p>

<p>I'm not sure what this process will lead to in terms of a conference, but I know it has led to various upset people over the process. So, on my train ride home last night I started thinking about the advantages of foo over bar camps and vice versa. Foo has a roster of great people, it is hard not to have an interesting conversation at a <a href="http://en.wikipedia.org/wiki/FooCamp">foocamp</a>, I'll admit bias as I've been a couple of times. <a href="http://barcamp.org/TheRulesOfBarCamp">Barcamp</a> can be a great experience too, they are open lively events and give a real freedom to talk about something that interests you. However the ticketing process has become worse than first day of the christmas sales, particularly for the London event. </p>

<p>I believe the selection model has some benefits and that there is space for another model for <a href="http://en.wikipedia.org/wiki/Unconference">un-conferences</a> alongside the completely open barcamp and the private invite foocamp. There are many other models for normal programme based conferences, of course. The programme committee choosing the programme from submissions, or inviting speakers are both popular models for paid conferences.</p>

<p>Drawing on all of that, I propose the seed16 model for unconferences. The basis is a seed invite list, like a traditional programme committee. Each of these people can invite three attendees, each of these attendees can invite two people, each of these can invite a further one person. Each seed person leads to a total of sixteen people, three directly and a further 12 indirectly invites, plus themselves.</p>

<table>
	<tr>
		<td>seed invites </td> <td>3 who can invite </td> <td>2 who can invite </td> <td>1 each</td> 
	</tr>
	<tr>
		<td></td> <td></td> <td>2</td> <td>1</td>
	</tr>
	<tr>
		<td></td> <td>3</td> <td>2</td> <td>1</td> 
	</tr>
	<tr>
		<td></td>  <td></td> <td>2</td> <td>1</td>
	</tr>
	<tr>
		<td></td> <td>3</td> <td>2</td> <td>1</td>
	</tr>
	<tr>
		<td></td> <td></td>  <td>2</td> <td>1</td> 
	</tr>
	<tr>
		<td></td>
	</tr>
	<tr>
		<td>seed +</td>  <td>3 + </td> <td>6 + </td> <td>6 +</td>
	</tr>
	<tr>
		<td>Equals 16 per seed</td>
	</tr>
</table>

<p>It offers much of the benefits of the barcamp model and some of the selection inherent in a foocamp, but distributes the invites amongst the participants. Nearly two thirds (62.5&#37;) of the participants get to nominate someone to attend, which feels pretty inclusive. </p>

<p>It would need a simple application to manage the invite process, so that someone did not get multiple invites. Invites should time out too, so that a full leaf of 16 can get invited, should people not respond to the invite. Linking to a service like eventbrite or similar for actual ticketing would make sense.</p>

<p>Managing the conference in blocks (a leaf) of 16 means that it is possible to grow the conference by increasing the size of the seed pool. Also it should be possible to bring in different communities by asking different people to start. Four ruby on rails programmers will result in a technical conference, a mix of web designers and developers would give a broader mix. You get the idea. Taking a theme for the conference helps give it focus, I'd also expect these to be small close knit events for 30-160 people or so. I can imagine seed16 London or seed16 UX NYC, both regional and subject based events or even a mix.</p>

<p>The change here is purely in the setup of the participants, by getting the participants to largely select themselves you will get a cohesive group of people if you start with mutual friends, but by starting with a more dispersed set of people you'd get plenty of scope for serendipity. From there it would run as a normal unconference with people nominating themselves for sessions. The reboot model of voting up sessions appeals too and would be easy to add.</p>

<p>I'd be interested in trying this idea out later in the year with four or five seed people (64 or 80 attendees) and see how it works in practice. Fixing a date and a venue upfront would be important and to make the event self supporting I'd suggest charging an admission fee of  say 10 pounds, with any spare money going to a post event bar tab. No date and venue as yet, probably in the summer when it is a bit warmer.</p>

<p>I'm sure seed16 has plenty of issues with the model, but running fast and cheap single day conferences should be easier than it is. <a href="http://russelldavies.typepad.com/planning/interesting2008/index.html">Interesting</a> and similar events show it is possible to run single day conferences successfully. I think the spreading invite model will avoid the zero day rush for tickets and the invite a friend model means it is less exclusive than the foocamp model. Distributing the invites also lessens the burden on the conference organisers.</p>

<p>Interested?</p>]]></description>
            <link>http://takeoneonion.org/archives/2009/02/seed16-a-new-model-for-co.html</link>
            <guid>http://takeoneonion.org/archives/2009/02/seed16-a-new-model-for-co.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">conferences</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">barcamp</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">bcl6</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">conferences</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">foocamp</category>
            
            <pubDate>Tue, 17 Feb 2009 16:32:49 +0000</pubDate>
        </item>
        
        <item>
            <title>Making services not just sales, my talk at TOC09</title>
            <description><![CDATA[<p><a href="http://flickr.com/photos/x180/3272700530/"><img src="http://farm4.static.flickr.com/3400/3272700530_925110d08c.jpg?v=0" title="copyright James Duncan Davidson"></a></p>

<p>I spoke today at TOC09, about how to assess the activities that spring from having read a book and how to build an application that harnesses the content that flows from this activity. My slides are on slideshare <a href="http://slideshare.net/gavin/gavin-bell-toc09-long-tail-needs-community-sm">Long tail needs community</a>, Chad Capellman wrote some <a href="http://www.capellman.com/chad/2009/02/random-notes-from-gavin-bells.php">great summary notes</a> about the talk.</p>

<p>I think the talk went quite well. My goal was moving the focus for publisher from encouraging reaction to the book to encouraging the reaction and activity that stems from actually reading the book. Anecdotal feedback shows that I got that message across.</p>]]></description>
            <link>http://takeoneonion.org/archives/2009/02/making-services-not-just.html</link>
            <guid>http://takeoneonion.org/archives/2009/02/making-services-not-just.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">conferences</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">toc toc09</category>
            
            <pubDate>Wed, 11 Feb 2009 20:39:38 +0000</pubDate>
        </item>
        
        <item>
            <title>snowball fight</title>
            <description><![CDATA[<p><a href="http://twitpic.com/1aqdv" title="Share photos on twitter with Twitpic"><img src="http://twitpic.com/show/thumb/1aqdv.jpg" width="150" height="150" alt="Share photos on twitter with Twitpic"></a></p>

<p>That is me in the centre, we had fun, thanks Suhky for photo.</p>]]></description>
            <link>http://takeoneonion.org/archives/2009/02/snowball-fight.html</link>
            <guid>http://takeoneonion.org/archives/2009/02/snowball-fight.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">London</category>
            
            
            <pubDate>Mon, 02 Feb 2009 13:00:23 +0000</pubDate>
        </item>
        
    </channel>
</rss>
