Getting Real

Getting Real: The Book by 37signals

Get Started. It's Free
or sign up with your email address
Getting Real by Mind Map: Getting Real

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 flowcharts features papers abstractions options wirframes 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 you have to answers to them

2.3.2. constraints force creativity

2.4. fix time and budget

2.4.1. launch on time less is better than crappy everything flexibility

2.4.2. launch on budget

2.5. Have an Enemy

2.5.1. anti-project

2.5.2. on similar projects fight what is wrong

2.5.3. could be rigid rules structure

2.5.4. marketing message is a good to compare your product

2.5.5. don't be obsessed by the ennemy

3. stay lean

3.1. easier to change

3.1.1. and change must be easy and cheap

3.1.2. mass is increased by long terms contracts to much staff permanent decisions meetings hardware, software proprietary data formats long term roadmaps and reduced jit thinking multi tasking embracing constraints, not trying to lift them less software, less code less features small team open data open to admit mistakes simplicity better to implement cutting edge features 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 time money people

3.4.2. that's a good thing

3.4.3. constraints drive innovation force focus

3.4.4. big tasks in small bits

3.4.5. IM 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 ex basecamp 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 is intended for to please them 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. not a half-ass product

5.1.2. start with the heart of the project let s base future decision on real world usage 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" not now if it keeps coming back considere it

5.3.4. we don't want 1000 features, we want the bests

5.4. hidden costs

5.4.1. simple ideas might snowball into major headache

5.4.2. For every new feature you need to... 1. Say no. 2. Force the feature to prove its value. 3. If “no” again, end here. If “yes,” continue... 4. Sketch the screen(s)/ui. 5. Design the screen(s)/ui. 6. Code it. 7-15. Test, tweak, test, tweak, test, tweak, test, tweak... 16. Check to see if help text needs to be modified. 17. Update the product tour (if necessary). 18. Update the marketing copy (if necessary). 19. Update the terms of service (if necessary). 20. Check to see if any promises were broken. 21. Check to see if pricing structure is affected. 22. Launch. 23. Hold breath.

5.4.3. build what you can manage 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 so people have guidelines 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 the prime content the true essence

6.2.2. then build outward second most critical element and third and menu and etc 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 default screen when everything is ok

6.3.2. blank first time sight where there is no data

6.3.3. error when something goes wrong

6.4. The Blank State

6.4.1. at design time, the app is full with fake data customer decides if an application is worthy at this blank stage but it's empty for him

6.4.2. first look first impressions you never get a second chance

6.4.3. helpful blank state quick tutorial sample screenshot populated with data how to get started answer key questions what is this page what do I do know How will it look once it's full 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 but nobody will forget if you abandon them

6.5.3. defensive design make or break 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 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 often looks like crap becaus time is spent on public-facing interface build them into the regular interface the fewer screens you have to worry about 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 keep it simple, stupid less features less code less waste

7.1.2. restate any hard problem into simple problem easier to implement easier to understand maybe not exactly solve the same problem is ok

7.1.3. deal with the problem of today

7.1.4. leave what's too hard unless absolutely essential search for alternate way to do it

7.2. Optimize for Happiness

7.2.1. a happy programmer is a productive programmer who write simple readable code 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 passion pride 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 good design will appear listen to technical people 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 or design and you're building up debt ok to do this often needed but you need to recognize it as a debt an pay it off at some point by cleaning up the hairy code

7.5. Open Doors

7.5.1. get your data into the world RSS API don't try to lock-in your customers

8. process

8.1. race to running software

8.1.1. up and running quickly flush what don't work skip details approximations wireframes stories mockups

8.2. rinse and repeat

8.2.1. let it morph and evolve the app grow speak to you

8.2.2. iterative

8.2.3. Get your story straight. Make sure the pieces work. Then launch and revise. Seth Godin

8.3. idea to implementation

8.3.1. brainstorm our own needs big questions

8.3.2. paper sketches rough interfaces

8.3.3. HTML screens

8.3.4. code

8.4. avoid preferences

8.4.1. decide the little details eg 25 items/page reverse order

8.4.2. evil <- more software

8.4.3. busy work for the people

8.5. "Done!"

8.5.1. magical word

8.5.2. mistakes will happen ok change quick correct don't paralyis through analysis move move forward

8.6. test in the wild

8.6.1. test real people real data real feedback

8.6.2. formal usability testing <- too stiff people don't perform well in fornt of a camera release beta

8.7. shrink your time

8.7.1. weeks, monthes are fantasies you just don't know what will happen so far

8.7.2. break down timeframes 1 projet de 12 semaines = 30h = 6-10 hour chunks

8.7.3. apply to other problems too smaller pieces

8.7.4. Untitled

9. Words

9.1. Untitled

9.1.1. Untitled why fantasies appeasement illusion of agreement force you to make important decision lead to feature overload don't let you evolve alternative one page story build the interface

9.2. Don't do Dead Documents

9.2.1. don't stop here don't produce docs build don't write but mock up prototype documents living outside the application are worthless everything should evolve into the real thing

9.3. Tell me a quick story

9.3.1. Write stories, not details don't be technical don't design the flow of what happens if so stick to the experience not on the details think strategy, not tactics tactics will fall once you begin building

9.4. use real words

9.4.1. insert actual text instead of lorem ipsum changes the way copy is viewed won't see the little variations is a veil between you and reality type it do not copy it shows how long fields should be tables will expand 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 keep it in mind as the product is built when you change ask

9.5.5. your product has a voice 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 itunes sell iPod 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 don't trap your users open data 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? price increase

10.4.2. make it painless advance notice

10.4.3. grandfather perdio for customer

11. The Organization

11.1. Unity

11.1.1. don't split into silos integrate work together

11.1.2. multiple talents different hats

11.2. Alone Time

11.2.1. get in the alone zone takes time interruption is the enemy

11.2.2. where the development magic happens

11.2.3. 4-5 h working together

11.2.4. setup a rule shut up and get to work 4 hour without a word no im phone twitter

11.3. Meetings Are Toxic

11.3.1. don't have meetings us quick email im why break the day in small incoherent pieces abstract not code small amount of info always a moron waste your time drift-off subject nobody prepare it lousy or no agenda

11.3.2. if you must 30 mn as few people as possible clear agenda

11.4. Seek and celebrate small victories

11.4.1. realease something today long release kill the celebrations find a 4 hour vixtory quick wins let you celebrate and is a great motivator

11.4.2. motivation is the most important thing otherwise its going to

12. Promotion

12.1. Hollywood Launch

12.1.1. teaser preview launch beta describe the product tell people about the ideas drop hints let people know what you're working on post a logo blog get a site up try to get boing boing

12.2. A Powerful Promo Site

12.2.1. overview explain the app the benefits

12.2.2. screen captures and video show what it looks like

12.2.3. manifesto philosophy ideas

12.2.4. case studies real life example what's possible

12.2.5. tour guide to various featurs

12.2.6. buzz testimonial quotes reviews press etc.

12.2.7. forum help one another

12.2.8. pricing and sign-up get people into your app as quickly as possible

12.2.9. weblog news tips

12.3. Ride the Blog Wave

12.3.1. can be more effective than advertising cheaper too

12.3.2. tips tricks link

12.3.3. anectodes

12.3.4. Backpack 10'000 signed up in 24hours

12.4. Promote Through Education

12.4.1. share your knowledge with the world

12.4.2. promotional technique

12.4.3. education teaching

12.4.4. get your name and your product's name in front of people

12.4.5. people you educate your evangelist

12.4.6. forms tricks tips speak conferences stay afterwards to meet and gret workshops give interviews write articles write books the Yellow Fade Technique the subtle spotlight on recently changed post open source rails

12.4.7. is about karma helping others

12.5. Feature Food

12.5.1. features new interesting cheap and effective way to build your buzz DON'T add the latest obscure tech to gain some notice

12.5.2. rails -> programmers

12.5.3. ajax Business 2.0 magazine naming 37signals a "key player in Ajax" as Google Yahoo! Microsoft

12.5.4. RSS -> Bloggers

12.5.5. iCal integration minor feature -> mac press

12.6. Track Your Logs

12.6.1. study your logs to track buzz who's talking about you who's linking to you who's bitching about you

12.6.2. leave comments at make your presence felt Technorati Blogdex Delicious Daypop thank people invite them negative pay attention show you are listening respond toughtfully we apreciate your feedback but we did it this way because... ok, you raise a good point ..

12.7. Inline Upsell

12.7.1. promote upgarde opportunities inside the app

12.7.2. free -> paid

12.7.3. customers -> upgrade

12.7.4. when someone tries to upload we explain why 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 get

12.8.6. Post-Launch One Month Tuneup major update knowing that Keep the Posts Coming go on blogging Better, Not Beta private betas are fine public betas are bullshit All Bugs Are Not Created Equal prioritize your bugs be honest with customers Ride Out the Storm new features Keep Up With the Joneses subscribe technorati Beware the Bloat Monster resist to scaling up desktop soft web-based software Go With The Flow be open to new paths part of the beauty

13. Support

13.1. Feel the Pain

13.1.1. traditionally designers + developpers in the kitchen support

13.1.2. avoid building walls don't outsource support to a third party you need to be annoyed too hear what they say 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 faqs a problem? upload a logo which doesn't replacethe previous one? link to a faq

13.2.2. build a tool that requires zero training yahoo google amazon

13.3. Answer Quick

13.3.1. respond within 1/2 hour 90mn

13.3.2. say something even if it's not perfect

13.4. Tough Love

13.4.1. be willing to say no #1 request is keep it simple no IE5 7% market 93% other is better you won't love your product if it's full of bunch you don't agree with

13.4.2. consumer is not always right sometime you just have to piss off some people c'est la vie

13.5. In Fine Forum

13.5.1. forum 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 and out of the way

13.6.2. tell people be open be honnest before they know

13.6.3. fast for bad

13.6.4. slowly for good prolong the vibes

14. Conclusion

14.1. execution

14.1.1. everyone can have an idea find a coder write a blog

14.1.2. difference between you and everyone is how well you execute succes is all about great execution doing lots of things right 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 Untitled