How I Create Websites: A Look Inside the Creative Process
devgrow.com
devgrow.com
1. Draw some ideas out on paper, and work out the minimal viable feature set.
I try and convince all clients to do this, that way we can get something out
the door ASAP, and then take a breather before adding the remaining features.
It also gives them more time to think their ideas through; the amount of
features a client has decided against a few weeks later is pretty
unbelievable. Before I started following the MVP way with clients, I very,
very rarely got any requests for features to be *removed*. As a developer,
it's just as much my job to keep the client's applications lean and
bloat-free, as it is to actually write the code, I think.
2. Use Balsamiq mockups to neatly replicate what I've drawn and make
adjustments (this step could be skippable, but it only takes 10 minutes
generally, so it's nice to have. I would get Draft for iPad or something,
but I find it a little *too rough*, especially when working with clients.)
3. Create the design in Photoshop, rarely pixel perfect, I just use it as a
supped-up Balsamiq, to get a feel for the design.
4. Create a Rails or Sinatra base, depending on the complexity of the project.
For a Rails project, I git clone http://github.com/ashleyw/Slate
5. Write some Cucumber features, referring to any notes or drawings I made in
step #1
6. Design the model structure, write some unit tests for them, and then
implement each model until the tests pass
7. Once I have a model basis, I move on to the controllers and views (HAML),
going by the Cucumber features I wrote until they pass. Semantic markup is
important here, but styling is not.
8. Replicate the Photoshop design in CSS (or SASS)
9. Launch
10. Reiterate adding features which didn't fit into the initial versionAnyways, I didn't expect it to hit the front page really but I guess some people are finding it somewhat useful/interesting.