We usually think of fragile and robust as being at opposite ends of a spectrum.
Something fragile, for instance a tea pot, is damaged by disorder, for instance a bull.
Something robust, for instance a bollard, shakes off disorder, for instance a bicyclist.
But there is something beyond robust.
Antifragile describes systems that benefit from shocks and disorder. Once you hear the concept Antifragile, you start seeing it everywhere.
Harry Reknapp was first person I heard use the phrase ‘What doesn’t destroy you makes you stronger’. That expresses the crux of antifragility.
The market economy incorporates shocks from the small - like the innovation that is black tomatoes - to the big, like the internal combustion engine or the rise of China.
The legal system, via the use of precedents, uses shocks to become richer.
You can do stuff with Lego that would never have been anticipated by Lego's designers.
Evolution is all about incorporating surprises and shocks. The meteor strike may have been bad for dinosaurs, but it was good for for us. (That's assuming you think humans are a good thing.)
A good party always has a few surprises. (If Stonehenge appeared, that would be a great surprise.)
It's interesting is that antifragility plays a big part in the success of the big social web systems.
YouTube wasn’t designed as a jukebox, but it does that job really well.
As one example from millions of songs, here’s a reggae version of Adele’s Rolling in the Deep.
Twitter wasn’t designed as a platform for political rabble rousing.
But Twitter doesn’t care. It publishes minor-league demogagory from @johnprescott just as it publishes web dudes discussing what’s hot at SWSX.
Git wasn’t designed as a general data store, it’s a source code management system.
Here’s a talk from earlier this year on Git as a data store. I don't know whether that's a good idea but the important point is the system is benefitting from being used in a way its designers didn’t expect.
Are any systems not open to the benefits of antifragility?
If you are trying to land a vehicle on Mars, you just want it to work. You want the system to be robust. There's not much room for a positive surprise.
Similarly with trading systems. The important thing is they do what's expected.
Pretty much all the multi-billion dollar social web platforms benefit from antifragility… but I’m not sure there’s been much discussion about how to design for it.
It’s also noticeable that since the glory days of Friends Reunited, Bebo and Last.fm, the UK hasn’t had much success in this area. (Unless you count Badoo, Mendeley or Moshi Monsters.)
Design is about making assumptions about what users will do, herding them in a certain direction. Antifragile is trying to benefit from behaviours we haven’t even expected. Is that even possible? What principles might we suggest for antifragile design?
Here's a few suggestions. As I say, this talk is rather speculative, so please let me know your thoughts.
Be as general as possible. The early Twitter was very tolerant.
As well as asking 'What's happening?' it would have been easy to add ‘Where?’, ‘Who with?’, 'For how long?' fields… but Twitter kept it simple.
When your users demand something, go with it.
At Mint we run StickyGram, an instagram magnet printing business.
GitHub asked us to print their employees most popular instagrams on a subscription basis.
I guess it is obvious you want to respond to your client's requests. Perhaps slightly less obvious is that well-written software pays dividends because it allows you to adapt. Bad software sets business processes in stone.
People do surprising things with Lego.
They don’t do surprising things with Thomas the Tank Engine train sets.
Being modular facilitates surprising uses.
(Software developers benefit from modular design, e.g. APIs. I'm not so sure for end-users. NetVibes and iGoogle worked hard on this area but neither delivered lasting value.)
The basic message of Lean Startup is (i) you don’t know what’s going to succeed and (ii) it keeps getting easier to try stuff. If you optimise your process to have as many iterations as possible, that maximises the possibility of a happy surprise.
Writing this talk, I began to wonder, does antifragility boil down to lean startup thinking?
I don’t think so. Peter Thiel’s makes a great case against lean startup thinking, in the lecture You Are Not A Lottery ticket. But nothing in that essay counts against antifragility.
Finally, here’s an example from the software layer.
NetFlix chaos monkey is a piece of software that goes around trying to break Netflix's infrastructure on the basis that the 'best defense against major unexpected failures is to fail often'
It's hard to imagine what the equivalent of this might look like on the user layer, but it would be interesting.