2010-199-tantek-fsws-talk
(originally posted on 2010-199 at http://federatedsocialweb.net/wiki/2010-199-tantek-fsws-talk which was moved to the W3C FSW IG wiki, have copied here for easier referencing/updating. -t 2012-066)
Itches & Scratches
2010-199 Federated Social Web Summit talk by Tantek
- many building blocks - towards a Federated Social Web
- hopefully you might be able to (re)use some of them
successful projects
- most successful projects
- are people scratching their own itches
consolidating profiles
itch: no easy way of consolidating profiles
scratch: XFN rel-me (since 2003)
easy way to publish personal profile
itch: no easy way to publish my preferred profile
scratch: hCard (2004)
fast-forward to 2008-2010
itch: tired of sharecropping and site death, untrustworthy content hosting
- 2008-03 CNET killed Consumating.com
- 2009-02 SixApart killed Pownce.com
- 2009-12 Yahoo killed GeoCities.com
- 2009-10-26 Tears in the rain blog post by Jeremy Keith on Geocities's death.
- 2009 Google shutdown Dodgeball.com
- 2010-05-14 Google killed Etherpad.com content and URLs
- 2010-08-04 Google announced end of life for wave.google.com
- less than 3 months before, Etherpad users were encouraged to transition to Wave.
- 2010-09-30 Six Apart shutting down Vox on September 30, 2010 (going read-only on 2010-09-15)
- irony: Six Apart encouraged Pownce users to switch to Vox
- 2010-09-03: pointed out by Heidi Cool:
- irony: Six Apart encouraged Pownce users to switch to Vox
- person-specific sharecrop vulnerabilities:
- 2008 - BoingBoing "unpublished" all articles by Violet Blue (>100 posts) (see: William Gibson Completely Deleted from BoingBoing Archives)
and
- Twitter fail frustrations
scratch: DIY indie web, start with my own site
- use my site as my identity - XFN+hCard+OpenID pretty much solved this
- post tweets/notes on my own site
- syndicate out to silos - that's where my friends listen/post
- server-based Twitter client
- called it Falcon http://tantek.pbworks.com/Falcon
- the fastest bird, when trained, can drop things off, pick things up for you
user interface frustrations
itch: crappy Twitter permalink UI, etc.
http://twitter.com/t, http://twitter.com/t/status/18803073634
- inconsistent typography (sans vs. serif ?!?)
- navigation deadend
- no URL embeds
- poor auto-linking (e.g. "federatedsocialweb.net" )
- auto-shortening when not needed!
scratch: improved UI on my site http://ttk.me/t46n3
- Helvetica - at least it's consistent
- next/prev buttons/shortcuts (arrow keys, j/k)
- easy URLs for copy/paste linking
- better auto-linking (handle URLs without http)
- better ellipsing
URL shortener service problems
itches:
- tr.im being down, shutting down, going away
- bit.ly being blocked
scratch: my own shortener domain
everyone should have one (in addition to their own domain of course).
go get one.
URL shortener fragility
itch: url shorteners are fragile (Joshua post), databases are fragile (database dies, IDs die)
scratch: algorithmic URL shortening
- Whistle
- what you use to call a trained Falcon
- introducing "algorithmic permashortlinks"
non-printsafe short URLs
itch: non-printsafe short URL encodings
- http://search.twitter.com/search?q=bit.ly - note use of "O", "l" etc.
- print evidence: http://tantek.pbworks.com/ShortURLPrintExample
scratch: print-safe NewBase60
writing code over and over
itch: tired of writing same logic front/back-end
scratch: CASSIS language subset/framework
- runs native in Javascript and PHP
- http://tantek.pbworks.com/CassisProject
- http://tantek.com/cassis.js
- open source
CASSIS proof of concept
itch: amazon shortlinks too long
scratch: ASIN.cc
- proof of concept of CASSIS, NewBase60, algorithmic shortening
OpenID too hard to consume
itch: OpenID PHP libraries too big/complex
scratch: RelMeAuth - generalize form of TwitterAuth model
- http://microformats.org/wiki/RelMeAuth
- Python open source proof of concept
- PHP proof of concept
- http://github.com/themattharris/relmeauth
- live prototype: http://tantek.com/relmeauth/ (was live demo: http://apps.themattharris.com/relmeauth/ )
Twitter bottleneck
itch: twitter being down - bottleneck to update other sites
scratch: implement PubSubHubbub support (easy) + Atom (bulky)
- goal: unbottleneck myself from Twitter
- e.g. updates my Buzz directly
http://www.google.com/profiles/tantek
discovered:
- Buzz not really support Atom with XHTML (avoiding double-escaping)
- Buzz special treats Twitter - can't emulate yourself (yet)
Maybe Activity Streams can solve this.
diso
itch: DiSo lack of apparent progress, don't want to install/maintain/update WordPress, database backup tax
complexity favors oligarchies, rise of the oligarchies
scratch: reframe DiSo2
- indie web first, oligarchies second
conceptualizing DiSo 2.0:
- personal site+shortlink domains.
- algorithmic URL shortener.
- hAtom store (no DBA tax - easier to maintain/backup than MySQL).
- hAtom activity stream (DRY).
- update notifications to PubSubHubbub (PuSH).
- your own PuSH hub.
- content-type-specific syndication to specific sites (e.g. text notes to Twitter, geo checkins to Foursquare, photos to Flickr, events to Upcoming, etc.).
- reverse syndication of comments+tags+notes from said specific sites.
- edit/comment authorization via RelMeAuth (OAuth + rel-me).
- personal OAuth endpoint.
summary
steps you can take today:
- use your own site as your identity
- publish on your own site: HTML first (XFN, hCard, hAtom), XML next (Atom, ActivityStreams), API last
- syndicate with PubSubHubbub
Most importantly, build things that scratch your own itches first.