1. The smarter, faster, easier way to build a successful web application
2. starting
2.1. build less than others
2.1.1. Getting real is less
2.1.1.1. flowcharts
2.1.1.2. features
2.1.1.3. papers
2.1.1.4. abstractions
2.1.1.5. options
2.1.1.6. wirframes
2.1.1.7. people
2.1.2. non-essentiel features
2.1.3. forces you to deal with reality.
2.2. solve my problems
2.2.1. in software
2.2.2. => everybody's problem
2.3. fund yourself
2.3.1. external funds
2.3.1.1. you have to answers to them
2.3.2. constraints force creativity
2.4. fix time and budget
2.4.1. launch on time
2.4.1.1. less is better than crappy everything
2.4.1.2. flexibility
2.4.2. launch on budget
2.5. Have an Enemy
2.5.1. anti-project
2.5.2. on similar projects
2.5.2.1. fight what is wrong
2.5.3. could be
2.5.3.1. rigid rules
2.5.3.2. structure
2.5.4. marketing message
2.5.4.1. is a good
2.5.4.2. to compare your product
2.5.5. don't be obsessed
2.5.5.1. by the ennemy
3. stay lean
3.1. easier to change
3.1.1. and change
3.1.1.1. must be easy
3.1.1.2. and cheap
3.1.2. mass is increased by
3.1.2.1. long terms contracts
3.1.2.2. to much staff
3.1.2.3. permanent decisions
3.1.2.4. meetings
3.1.2.5. hardware, software
3.1.2.6. proprietary data formats
3.1.2.7. long term roadmaps
3.1.2.8. and reduced
3.1.2.8.1. jit thinking
3.1.2.8.2. multi tasking
3.1.2.8.3. embracing constraints, not trying to lift them
3.1.2.8.4. less software, less code
3.1.2.8.5. less features
3.1.2.8.6. small team
3.1.2.8.7. open data
3.1.2.8.8. open to admit mistakes
3.1.2.8.9. simplicity
3.1.2.9. better to implement cutting edge features
3.1.2.10. cheap and fast changes are small's secret weapon
3.2. tree musketteers
3.2.1. developper
3.2.2. designer
3.2.3. sweeper
3.3. Be yourself
3.3.1. familiar language
3.3.2. closer
3.3.3. communicate with me
3.4. embrace constaints
3.4.1. not enough
3.4.1.1. time
3.4.1.2. money
3.4.1.3. people
3.4.2. that's a good thing
3.4.3. constraints drive innovation
3.4.3.1. force focus
3.4.4. big tasks in
3.4.4.1. small bits
3.4.5. IM
3.4.5.1. email
3.4.6. work with what you have
4. priorities
4.1. be explicit
4.1.1. one-point vision for the app
4.1.2. what dows it stand for?
4.1.3. vision
4.1.3.1. ex
4.1.3.1.1. basecamp
4.1.3.1.2. campfire
4.2. ignore details early on
4.2.1. work from large to small
4.2.2. details reveal themselves as you use what you're building
4.3. It’s a Problem When It’s a Problem
4.4. Hire the Right Customers
4.4.1. know who your app
4.4.1.1. is intended for
4.4.1.2. to please them
4.4.1.3. they would evangelize the product
4.5. Scale Later
4.5.1. You don’t have a scaling problem yet
4.6. Make Opinionated Software
4.6.1. The best software has a vision.
4.6.2. have an attitude
5. feature
5.1. Half, Not Half-Assed
5.1.1. What you really want to do is build half a product that kicks ass.
5.1.1.1. not a half-ass product
5.1.2. start with the heart of the project
5.1.2.1. let s base future decision on real world usage
5.1.2.2. let it gain traction
5.2. eassential only
5.2.1. why didn’t you do this or why didn’t you do that?
5.2.2. Because it just doesn’t matter.
5.2.3. Figuring out what matters and leaving out the rest.
5.3. start with no
5.3.1. stuck with implemented features
5.3.2. like adopting a child
5.3.3. like "fight club"
5.3.3.1. not now
5.3.3.2. if it keeps coming back
5.3.3.3. considere it
5.3.4. we don't want 1000 features, we want the bests
5.4. hidden costs
5.4.1. simple ideas
5.4.1.1. might snowball
5.4.1.1.1. into major headache
5.4.2. For every new feature you need to...
5.4.2.1. 1. Say no.
5.4.2.2. 2. Force the feature to prove its value.
5.4.2.3. 3. If “no” again, end here. If “yes,” continue...
5.4.2.4. 4. Sketch the screen(s)/ui.
5.4.2.5. 5. Design the screen(s)/ui.
5.4.2.6. 6. Code it.
5.4.2.7. 7-15. Test, tweak, test, tweak, test, tweak, test, tweak...
5.4.2.8. 16. Check to see if help text needs to be modified.
5.4.2.9. 17. Update the product tour (if necessary).
5.4.2.10. 18. Update the marketing copy (if necessary).
5.4.2.11. 19. Update the terms of service (if necessary).
5.4.2.12. 20. Check to see if any promises were broken.
5.4.2.13. 21. Check to see if pricing structure is affected.
5.4.2.14. 22. Launch.
5.4.2.15. 23. Hold breath.
5.4.3. build what you can manage
5.4.3.1. sustain
5.5. forget feature requests
5.5.1. read them
5.5.2. throw them away
5.5.3. forget them
5.5.4. the important ones will keep bubbling up
5.6. hold the mayo
5.6.1. ask users what they don't want
5.6.2. what they'd remove
5.6.3. what they don't use
5.6.4. what bother them the most
5.7. human solutions
5.7.1. build for general concepts
5.7.2. encourage people to create their own solutions
5.7.3. build a framework
5.7.3.1. so people have guidelines
5.7.3.2. and build something they can customize, create their own way
6. Interface Design
6.1. Interface First
6.1.1. programming is the expensive part
6.1.2. interface is cheap, easy to change
6.1.3. the interface is your product
6.2. Epicenter Design
6.2.1. focus on the core
6.2.1.1. the prime content
6.2.1.2. the true essence
6.2.2. then build outward
6.2.2.1. second most critical element
6.2.2.2. and third
6.2.2.3. and menu
6.2.2.4. and etc
6.2.2.5. allow also to start the dialogue between designer and developper right away
6.2.3. Untitled
6.3. Three State Solution
6.3.1. regular
6.3.1.1. default screen when everything is ok
6.3.2. blank
6.3.2.1. first time sight where there is no data
6.3.3. error
6.3.3.1. when something goes wrong
6.4. The Blank State
6.4.1. at design time, the app is full with fake data
6.4.1.1. customer decides if an application is worthy at this blank stage
6.4.1.2. but it's empty for him
6.4.2. first look first impressions
6.4.2.1. you never get a second chance
6.4.3. helpful blank state
6.4.3.1. quick tutorial
6.4.3.2. sample screenshot
6.4.3.2.1. populated with data
6.4.3.3. how to get started
6.4.3.4. answer key questions
6.4.3.4.1. what is this page
6.4.3.4.2. what do I do know
6.4.3.4.3. How will it look once it's full
6.4.3.5. tell the story
6.5. Get Defensive
6.5.1. things will go wrong online
6.5.2. your app could work great 90% of the time
6.5.2.1. but nobody will forget if you abandon them
6.5.3. defensive design
6.5.3.1. make
6.5.3.2. or break
6.5.3.2.1. the user experience
6.5.4. strees on error messages
6.5.5. crisis points
6.6. Context Over Consistency
6.6.1. give people just what matters
6.6.1.1. it's ok to be inconsistent
6.6.2. give them what they need
6.6.3. it's better to be right than to be consistent
6.7. Copywriting is Interface Design
6.7.1. keep it short and sweet
6.7.2. no internal lingo
6.7.3. good writing is good design
6.8. One Interface
6.8.1. admin screens
6.8.1.1. often looks like crap
6.8.1.1.1. becaus time is spent on public-facing interface
6.8.1.2. build them into the regular interface
6.8.1.2.1. the fewer screens you have
6.8.1.2.2. to worry about
6.8.1.2.3. the better they'll turn out
6.9. see also
6.9.1. how to create wireframes
7. Code
7.1. Less software
7.1.1. KISS
7.1.1.1. keep it simple, stupid
7.1.1.2. less features
7.1.1.3. less code
7.1.1.4. less waste
7.1.2. restate any hard problem
7.1.2.1. into simple problem
7.1.2.1.1. easier to implement
7.1.2.1.2. easier to understand
7.1.2.2. maybe not exactly solve the same problem
7.1.2.2.1. is ok
7.1.3. deal with the problem of today
7.1.4. leave what's too hard
7.1.4.1. unless absolutely essential
7.1.4.2. search for alternate way to do it
7.2. Optimize for Happiness
7.2.1. a happy programmer is a productive programmer
7.2.1.1. who write simple
7.2.1.1.1. readable code
7.2.1.1.2. clean
7.2.2. don't just choose industry standards or performance metrics
7.2.3. would you be happy to work 8 hours a day with such environment
7.2.3.1. passion
7.2.3.2. pride
7.2.3.3. craftmanship
7.2.4. work with tools you love
7.3. Code speaks
7.3.1. listen when your code pushes back
7.3.2. listen to your code
7.3.2.1. good design will appear
7.3.2.2. listen to technical people
7.3.2.2.1. leave them time to fix things
7.4. Manage Debt
7.4.1. Pay off your code and design “bills”
7.4.2. hack some bad code
7.4.2.1. or design
7.4.2.1.1. and you're building up debt
7.4.2.2. ok to do this
7.4.2.2.1. often needed
7.4.2.2.2. but you need to recognize it as a debt
7.4.2.2.3. an pay it off at some point
7.4.2.2.4. by cleaning up the hairy code
7.5. Open Doors
7.5.1. get your data into the world
7.5.1.1. RSS
7.5.1.2. API
7.5.1.3. don't try to lock-in your customers
8. process
8.1. race to running software
8.1.1. up and running quickly
8.1.1.1. flush what don't work
8.1.1.2. skip details
8.1.1.3. approximations
8.1.1.3.1. wireframes
8.1.1.3.2. stories
8.1.1.3.3. mockups
8.2. rinse and repeat
8.2.1. let it
8.2.1.1. morph
8.2.1.1.1. and evolve
8.2.1.2. the app grow
8.2.1.2.1. speak to you
8.2.2. iterative
8.2.3. Get your story straight. Make sure the pieces work. Then launch and revise.
8.2.3.1. Seth Godin
8.3. idea to implementation
8.3.1. brainstorm
8.3.1.1. our own needs
8.3.1.2. big questions
8.3.2. paper sketches
8.3.2.1. rough interfaces
8.3.3. HTML screens
8.3.4. code
8.4. avoid preferences
8.4.1. decide the little details
8.4.1.1. eg
8.4.1.1.1. 25 items/page
8.4.1.1.2. reverse order
8.4.2. evil
8.4.2.1. <-
8.4.2.1.1. more software
8.4.3. busy work
8.4.3.1. for the people
8.5. "Done!"
8.5.1. magical word
8.5.2. mistakes will happen
8.5.2.1. ok
8.5.2.1.1. change quick
8.5.2.1.2. correct
8.5.2.2. don't
8.5.2.2.1. paralyis through analysis
8.5.2.3. move
8.5.2.3.1. move forward
8.6. test in the wild
8.6.1. test
8.6.1.1. real people
8.6.1.2. real data
8.6.1.3. real feedback
8.6.2. formal usability testing
8.6.2.1. <-
8.6.2.1.1. too stiff
8.6.2.1.2. people don't perform well in fornt of a camera
8.6.2.2. release beta
8.7. shrink your time
8.7.1. weeks, monthes
8.7.1.1. are
8.7.1.1.1. fantasies
8.7.1.2. you just don't know
8.7.1.2.1. what will happen so far
8.7.2. break down timeframes
8.7.2.1. 1 projet de 12 semaines
8.7.2.1.1. =
8.7.2.2. 30h
8.7.2.2.1. = 6-10 hour chunks
8.7.3. apply to other problems too
8.7.3.1. smaller pieces
8.7.4. Untitled
9. Words
9.1. Untitled
9.1.1. Untitled
9.1.1.1. why
9.1.1.1.1. fantasies
9.1.1.1.2. appeasement
9.1.1.1.3. illusion of agreement
9.1.1.1.4. force you to make important decision
9.1.1.1.5. lead to feature overload
9.1.1.1.6. don't let you evolve
9.1.1.2. alternative
9.1.1.2.1. one page story
9.1.1.2.2. build the interface
9.2. Don't do Dead Documents
9.2.1. don't stop here
9.2.1.1. don't produce docs
9.2.1.2. build don't write
9.2.1.2.1. but mock up
9.2.1.2.2. prototype
9.2.1.3. documents living outside the application are worthless
9.2.1.3.1. everything should evolve into the real thing
9.3. Tell me a quick story
9.3.1. Write stories, not details
9.3.1.1. don't be technical
9.3.1.1.1. don't design
9.3.1.2. the flow of what happens
9.3.1.2.1. if so
9.3.1.3. stick to the experience
9.3.1.3.1. not on the details
9.3.1.4. think strategy, not tactics
9.3.1.4.1. tactics will fall once you begin building
9.4. use real words
9.4.1. insert actual text instead of lorem ipsum
9.4.1.1. changes the way copy is viewed
9.4.1.2. won't see the little variations
9.4.1.3. is a veil between you and reality
9.4.1.4. type it
9.4.1.4.1. do not copy it
9.4.1.4.2. shows how long fields should be
9.4.1.4.3. tables will expand
9.4.1.4.4. what it truly looks like
9.5. personify your product
9.5.1. think of it as a person
9.5.2. what type of person do you want it to be
9.5.3. serious? loose? paranoid? trusting? modest?
9.5.4. once you decide
9.5.4.1. keep it in mind
9.5.4.1.1. as the product is built
9.5.4.1.2. when you change ask
9.5.5. your product has a voice
9.5.5.1. and is talking to your customer 24 hours a day
10. Pricing and Signup
10.1. Free Samples
10.1.1. give something for free
10.1.2. apple
10.1.2.1. itunes
10.1.2.1.1. sell iPod
10.1.2.1.2. music
10.2. Easy On, Easy Off
10.2.1. big button
10.2.2. announce 1 mn signup
10.2.3. let's try it for free
10.2.4. cancel my account
10.2.4.1. don't trap
10.2.4.1.1. your users
10.2.4.2. open data
10.2.4.2.1. people can get their data
10.3. Silly Rabbit, Tricks are for Kids
10.3.1. avoid long-term contract
10.3.2. 1 month contract
10.3.3. no setup fees
10.3.4. no contract, cancel anytime
10.4. A Softer Bullet
10.4.1. bad news?
10.4.1.1. price increase
10.4.2. make it painless
10.4.2.1. advance notice
10.4.3. grandfather perdio for customer
11. The Organization
11.1. Unity
11.1.1. don't split into silos
11.1.1.1. integrate
11.1.1.2. work together
11.1.2. multiple talents
11.1.2.1. different hats
11.2. Alone Time
11.2.1. get in the alone zone
11.2.1.1. takes time
11.2.1.2. interruption is the enemy
11.2.2. where the development magic happens
11.2.3. 4-5 h
11.2.3.1. working together
11.2.4. setup a rule
11.2.4.1. shut up and get to work
11.2.4.2. 4 hour without a word
11.2.4.3. no
11.2.4.3.1. im
11.2.4.3.2. phone
11.2.4.3.3. twitter
11.3. Meetings Are Toxic
11.3.1. don't have meetings
11.3.1.1. us quick email
11.3.1.2. im
11.3.1.3. why
11.3.1.3.1. break the day in small incoherent pieces
11.3.1.3.2. abstract not code
11.3.1.3.3. small amount of info
11.3.1.3.4. always a moron waste your time
11.3.1.3.5. drift-off subject
11.3.1.3.6. nobody prepare it
11.3.1.3.7. lousy or no agenda
11.3.2. if you must
11.3.2.1. 30 mn
11.3.2.2. as few people as possible
11.3.2.3. clear agenda
11.4. Seek and celebrate small victories
11.4.1. realease something today
11.4.1.1. long release kill the celebrations
11.4.1.1.1. find a 4 hour vixtory
11.4.1.2. quick wins
11.4.1.2.1. let you celebrate
11.4.1.2.2. and is a great motivator
11.4.2. motivation
11.4.2.1. is the most important thing
11.4.2.2. otherwise
11.4.2.2.1. its going to
12. Promotion
12.1. Hollywood Launch
12.1.1. teaser
12.1.1.1. preview
12.1.1.1.1. launch
12.1.1.1.2. beta
12.1.1.1.3. describe the product
12.1.1.1.4. tell people about the ideas
12.1.1.2. drop hints
12.1.1.3. let people know what you're working on
12.1.1.3.1. post a logo
12.1.1.3.2. blog
12.1.1.3.3. get a site up
12.1.1.3.4. try to get boing boing
12.2. A Powerful Promo Site
12.2.1. overview
12.2.1.1. explain
12.2.1.1.1. the app
12.2.1.1.2. the benefits
12.2.2. screen captures and video
12.2.2.1. show
12.2.2.1.1. what it looks like
12.2.3. manifesto
12.2.3.1. philosophy
12.2.3.2. ideas
12.2.4. case studies
12.2.4.1. real life example
12.2.4.2. what's possible
12.2.5. tour
12.2.5.1. guide to various featurs
12.2.6. buzz
12.2.6.1. testimonial
12.2.6.2. quotes
12.2.6.3. reviews
12.2.6.4. press
12.2.6.5. etc.
12.2.7. forum
12.2.7.1. help one another
12.2.8. pricing and sign-up
12.2.8.1. get people into your app
12.2.8.2. as quickly as possible
12.2.9. weblog
12.2.9.1. news
12.2.9.2. tips
12.3. Ride the Blog Wave
12.3.1. can be more effective than advertising
12.3.1.1. cheaper too
12.3.2. tips
12.3.2.1. tricks
12.3.2.2. link
12.3.3. anectodes
12.3.4. Backpack
12.3.4.1. 10'000
12.3.4.1.1. signed up
12.3.4.1.2. in 24hours
12.4. Promote Through Education
12.4.1. share your knowledge
12.4.1.1. with the world
12.4.2. promotional technique
12.4.3. education
12.4.3.1. teaching
12.4.4. get your name
12.4.4.1. and your product's name
12.4.4.2. in front of people
12.4.5. people you educate
12.4.5.1. your evangelist
12.4.6. forms
12.4.6.1. tricks
12.4.6.1.1. tips
12.4.6.2. speak
12.4.6.2.1. conferences
12.4.6.2.2. stay afterwards to meet and gret
12.4.6.3. workshops
12.4.6.4. give interviews
12.4.6.5. write articles
12.4.6.6. write books
12.4.6.7. the Yellow Fade Technique
12.4.6.7.1. the subtle spotlight on recently changed
12.4.6.7.2. post
12.4.6.8. open source
12.4.6.8.1. rails
12.4.7. is about karma
12.4.7.1. helping others
12.5. Feature Food
12.5.1. features
12.5.1.1. new
12.5.1.2. interesting
12.5.1.3. cheap and effective way to build your buzz
12.5.1.4. DON'T add the latest obscure tech
12.5.1.4.1. to gain some notice
12.5.2. rails
12.5.2.1. -> programmers
12.5.3. ajax
12.5.3.1. Business 2.0 magazine
12.5.3.2. naming 37signals a "key player in Ajax"
12.5.3.2.1. as Google
12.5.3.2.2. Yahoo!
12.5.3.2.3. Microsoft
12.5.4. RSS
12.5.4.1. -> Bloggers
12.5.5. iCal integration
12.5.5.1. minor feature
12.5.5.2. -> mac press
12.6. Track Your Logs
12.6.1. study your logs to track buzz
12.6.1.1. who's talking about you
12.6.1.2. who's linking to you
12.6.1.3. who's bitching about you
12.6.2. leave comments at
12.6.2.1. make your presence felt
12.6.2.2. Technorati
12.6.2.3. Blogdex
12.6.2.4. Delicious
12.6.2.5. Daypop
12.6.2.6. thank people
12.6.2.6.1. invite them
12.6.2.7. negative
12.6.2.7.1. pay attention
12.6.2.7.2. show you are listening
12.6.2.7.3. respond toughtfully
12.6.2.7.4. we apreciate your feedback but we did it this way because...
12.6.2.7.5. ok, you raise a good point ..
12.7. Inline Upsell
12.7.1. promote upgarde opportunities inside the app
12.7.2. free
12.7.2.1. -> paid
12.7.3. customers
12.7.3.1. -> upgrade
12.7.4. when someone tries to upload
12.7.4.1. we explain why
12.7.4.2. encourage them to the paid version
12.8. Name Hook
12.8.1. easy name
12.8.2. short
12.8.3. catchy
12.8.4. memmorable
12.8.5. don't bother for the exact domainname
12.8.5.1. get
12.8.5.1.1. backpackit.com
12.8.6. Post-Launch
12.8.6.1. One Month Tuneup
12.8.6.1.1. major update
12.8.6.1.2. knowing that
12.8.6.2. Keep the Posts Coming
12.8.6.2.1. go on blogging
12.8.6.3. Better, Not Beta
12.8.6.3.1. private betas are fine
12.8.6.3.2. public betas are bullshit
12.8.6.4. All Bugs Are Not Created Equal
12.8.6.4.1. prioritize your bugs
12.8.6.4.2. be honest with customers
12.8.6.5. Ride Out the Storm
12.8.6.5.1. new features
12.8.6.6. Keep Up With the Joneses
12.8.6.6.1. subscribe
12.8.6.6.2. technorati
12.8.6.7. Beware the Bloat Monster
12.8.6.7.1. resist to scaling up
12.8.6.7.2. desktop soft
12.8.6.7.3. web-based software
12.8.6.8. Go With The Flow
12.8.6.8.1. be open to new paths
12.8.6.8.2. part of the beauty
13. Support
13.1. Feel the Pain
13.1.1. traditionally
13.1.1.1. designers + developpers
13.1.1.1.1. in the kitchen
13.1.1.1.2. support
13.1.2. avoid building walls
13.1.2.1. don't outsource support to a third party
13.1.2.2. you need to be annoyed too
13.1.2.3. hear what they say
13.1.2.4. better support
13.1.3. The way to compete with the big guys is by
13.1.4. starting small and paying attention to every one of your customers.
13.2. Zero Training
13.2.1. inline help
13.2.1.1. faqs
13.2.1.2. a problem?
13.2.1.2.1. upload a logo which doesn't replacethe previous one?
13.2.1.2.2. link to a faq
13.2.2. build a tool that requires zero training
13.2.2.1. yahoo
13.2.2.2. google
13.2.2.3. amazon
13.3. Answer Quick
13.3.1. respond within 1/2 hour
13.3.1.1. 90mn
13.3.2. say something even if it's not perfect
13.4. Tough Love
13.4.1. be willing to say no
13.4.1.1. #1 request
13.4.1.1.1. is keep it simple
13.4.1.2. no IE5
13.4.1.2.1. 7% market
13.4.1.2.2. 93% other is better
13.4.1.3. you won't love your product
13.4.1.3.1. if it's full of bunch you don't agree with
13.4.2. consumer is not always right
13.4.2.1. sometime you just have to piss off some people
13.4.2.2. c'est la vie
13.5. In Fine Forum
13.5.1. forum
13.5.1.1. chat
13.5.2. let people help each others
13.5.3. eliminate the middle man - me -
13.5.4. customers post tricks, tips, features requests, stores and more
13.5.5. peoplo want to help one another
13.6. Publicize Your Screwups
13.6.1. get bad news out
13.6.1.1. and out of the way
13.6.2. tell people
13.6.2.1. be open
13.6.2.2. be honnest
13.6.2.3. before they know
13.6.3. fast for bad
13.6.4. slowly for good
13.6.4.1. prolong the vibes
14. Conclusion
14.1. execution
14.1.1. everyone can
14.1.1.1. have an idea
14.1.1.2. find a coder
14.1.1.3. write a blog
14.1.2. difference between you and everyone
14.1.2.1. is how well you execute
14.1.2.2. succes is all about great execution
14.1.2.3. doing lots of things right
14.1.2.3.1. key is balance
14.2. people
14.2.1. most important ingredient
14.2.2. passionates
14.2.3. pride in their work
14.2.4. sweat the details
14.3. more than just software
14.3.1. special ops forces
14.3.2. white stripes
14.3.3. ipod
14.3.4. eliminate bureaucracy
14.3.5. try applying them to different aspects of your life
14.4. keep in touch
14.4.1. did it work?
14.4.2. [email protected]
14.4.3. blog
14.4.3.1. Untitled
14.4.3.1.1. www.37signals.com/svn