/dev/fort: you can build it in a week @emw


Published on

Imagine a place with no distractions – no IM, no Twitter, in fact no internet access at all. Within, a dozen or more developers, designers, thinkers and doers. And a lot of a food. Now imagine that place is a fort. I talk about why anyone would want to go on holiday to do their day job, the bits of the internet we had to rebuild to work without the internet, and some tips you can use even when you don't have a fort.

Published in: Technology, Design
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

/dev/fort: you can build it in a week @emw

  1. 1. You can build it in a week*James Aylett/dev/fort* even if you get caught in a blizzard/dev/fort is a tried & tested way of kidnapping a dozen people andstranding them in an isolated spot where they are at risk of starvation,hypothermia, whiskey and Carly Rae Jepsen parodies.As a side effect we build websites.
  2. 2. What is /dev/fort?A dozen people. An isolated location. No internet. No phones. A week tochoose an idea, develop it, design it & build it.
  3. 3. What is /dev/fort?Some things we’ve builtWLNY (bit bucket). Mostly Final. Spacelog. History Mesh. BeHabitual.
  4. 4. Technology at about 8.5I want to talk about one of the reasons I do /dev/fort. Because it’s aholiday where you do your day job: it’s a bit weird. But in your day jobyou’re balancing constraints of the real world against what you knowprofessionally.We compromise; it’s rare that we get to turn technology up to 11. Oreven 10.Before the first fort I’d pretty much given up programming. I didn’t haveany interest in it. I’d also had too many conversations that includedphrases like…
  5. 5. Technology at about 8.5“We don’t have time”
  6. 6. Technology at about 8.5“Something something velocity”
  7. 7. Technology at about 8.5“I don’t care about accessibility”
  8. 8. Technology at about 8.5“I don’t care about accessibility”“I don’t care about testing”
  9. 9. Technology at about 8.5“I don’t care about accessibility”“I don’t care about testing”“I don’t care about security”
  10. 10. Technology at about 8.5“I don’t care about accessibility”“I don’t care about testing”“I don’t care about security”“I don’t care about users”
  11. 11. Technology at about 8.5“I don’t care about accessibility”“I don’t care about testing”“I don’t care about security”“I don’t care about users”“We just need to ship this”If your manager says this, he may mean “our CEO has heard agile meanswe move faster”. If your CEO says this, he may mean “our investors haveheard agile means we move faster”.
  12. 12. Technology at 11But in a fort we get to set our own constraints. We don’t have managers.CEOs and investors can’t find us. Nor, as a point of fact, can Sainsbury’shome delivery. Although we did get a book from Amazon once. This isgetting off point.
  13. 13. Technology at 11Doing the Right ThingWe choose not to compromise on quality. We call it “doing the rightthing”.And I came back from the first fort excited about building things for theweb again. Other people have as well.
  14. 14. Technology at 11Doing the Right ThingTest your code
  15. 15. Technology at 11Doing the Right ThingInformation security
  16. 16. Technology at 11Doing the Right ThingMonitor usage
  17. 17. Technology at 11Doing the Right ThingSemantic HTML
  18. 18. Technology at 11Doing the Right ThingMaintainable CSS** this is a lie; CSS isn’t maintainable
  19. 19. Technology at 11Doing the Right ThingJavascript not required
  20. 20. Technology at 11Doing the Right ThingAnd we do this in a weekSince we started /dev/fort I’ve become much more hardline about doingthe right thing when I’m working elsewhere. Sometimes you have tocompromise, but more often than not I’ve been better off sticking to myguns. I’ve started to feel uncomfortable if anyone suggests otherwise.People who pay attention to these things have been looking at GDSrecently and saying things like that it’s (quote from Paul) “won [us] theright to finally say ‘no’ and do less, better, to do it properly and stopcutting corners”. This is basically the same thing. Maybe, *maybe*, nowwe can stop having this argument with managers and so forth…in aboutten years when they’ve heard of GDS.
  21. 21. Internet in a boxSomething we get asked a lot is “how do you do this without theinternet?”. And I tend to assume the people asking are intelligent andmean things like access to documentation rather than Twitter.So we take the useful bits with us. RFCs, Internet Drafts, w3.org, jQuerydocumentation, CPAN, ruby gems, PyPI, npm.
  22. 22. Internet in a boxPackage mirrorsCPAN, ruby gems, PyPI, npm…
  23. 23. Internet in a boxDocumentation mirrorsRFCs, Internet Drafts, w3.org, jQuery documentation…
  24. 24. Internet in a boxWikipediaWikipedia provide dumps of their content. Turns out that greppingthrough giant XML files is a painful way of reading Wikipedia, so wewrote our own browser.
  25. 25. Internet in a boxTwitterOh yeah, and we have twitter as well.
  26. 26. Internet in a boxBugleOr rather bugle, “group collaboration tools for hackers in forts”, whichSimon Willison wrote. In a fort. We keep on adding bits to it, so it’s notparticularly like twitter any more. Warning: *only* suitable for use in afort due to hideous security holes that don’t really matter when you’resurrounded by stonking great stone walls.
  27. 27. Internet in a boxgithub.com/devfortWe try to release anything useful so other people can use it too. Bugle’sup there, and Steve Marshall is taking the lead in making chef recipes tobuild a copy of the useful bits of the internet.Plus, we put the sites we build up there.
  28. 28. Internet in a boxgithub.com/spacelogAnd there…
  29. 29. Internet in a boxgithub.com/historymeshAnd a lot of places…
  30. 30. What can we learn from this?There are obvious things like eliminating distractions. Everyone kind ofknows this, but seriously: turn off notifications, don’t let email or IM orIRC or kittens suck you in. Too many meetings is pretty bad too; youcan’t get away with none at all, but informal talks are usually better.But there’s other learnings too. Some of them may be more surprising.
  31. 31. What can we learn from this?Collaborate betterReally quickly, too.
  32. 32. What can we learn from this?Collaborate betterA group working togethertowards a clear goalIt’s surprising how few teams have a clear idea of what they’re trying todo. It’s surprising how few *companies* have a clear idea. And if theydo, they’re not always great at sharing this with everyone.
  33. 33. What can we learn from this?Collaborate betterMentoring works both waysYou don’t really understand something unless you can explain it tosomeone else. Also, everyone knows something you don’t. It might be atrick with vim, a CSS technique you haven’t seen before, or somethingreally complicated like how to slice an onion. Mentoring providesbenefits in both directions, and isn’t a waste of more experienced folks’time.
  34. 34. What can we learn from this?Collaborate betterTry eating togetherSome companies have made this a cliché. It’s not about paying foreveryone’s lunch, it’s about socialising. Admittedly at forts we do morethan just eat lunch together; we eat, we cook, we laugh, we drink, wegive impromptu performances of Gangnam Style. You may not want togo that far.
  35. 35. What can we learn from this?You can do things properly andstill have velocityPrioritise what’s important. Make sure things get talked through beforeyou start building. If someone’s still arguing it means something’swrong, although it might not be what they think.
  36. 36. What can we learn from this?You can do things properly andstill have velocityTech doing it right seems toaffect scope less than designPerhaps because these days there’s *lots* of off-the-shelf support forwhat developers care about, but only *almost* what designers careabout. eg: Django ships with a password reset flow that sends a one-useemail token. But it doesn’t log you in after setting the new password,and doesn’t send HTML email.
  37. 37. What can we learn from this?Learn to love distributedgit means that you can commit from the battlements.Scripted deployment (“continuous deployment”) means you can deployfrom anywhere, which means you can fix problems & do your jobanywhere. A pub, a restaurant, the deck of HMS Ocean.I’d love to say that we’ve released a /dev/fort site from an airport, butwe haven’t. Although we did nearly get one running from a hotel in themiddle of a blizzard.
  38. 38. What can we learn from this?Don’t get stuck in a blizzardSeriously, those things are cold.You may be wondering “how do I come to a fort?”. We run about two ayear, but forts are always popular so I’m talking to potential sponsors sowe can run more. In the meantime, get a recommendation fromsomeone who’s been.
  39. 39. Additional photos byMark Norman Francishttp://flickr.com/photos/mn_francis
  40. 40. Additional photos byStephanie Hobsonhttp://flickr.com/photos/stephaniehobson
  41. 41. Questions?
  42. 42. Questions?
  43. 43. Questions?james@devfort.com
  44. 44. Questions?james@devfort.com** so call me, maybe?