views:

117

answers:

4

I would like to ask those web developers who do freelance what their development process is for creating quick, simple websites for clients. The kind of sites I am referring to would be simple sites for small businesses. Maybe 4-8 pages, a contact form, simple jquery slide show, that type of thing.

What development methods / process have you used to make these websites in a quick and efficient manner that makes the client happy?

By development process I mean something like: I start with a downloaded template, modify it, save that as my template, then modify that page for all the pages or, I work with the client to create a design in PhotoShop, bring it into DreamWeaver and code or, I use xxxx PHP framework and xxxx other tools

I usually use PHP, MySQL, and jQuery to build web apps from scratch, but I am a little ignorant on the process to build simple and quick sites that may not be based on these tools.

+2  A: 

I don't design, but aside from that:

  1. Take a stock CodeIgniter build.
  2. Add in Blueprint and jQuery.
  3. Sketch out the sections with controllers. Frontend gets one, backend gets one.
  4. If there is some form of login create a security library to handle it.
  5. If there is database interaction add in DataMapper and create models.
  6. Write some of the base code and set up views. Shared things (header, footer, navigation, etc) should go in a shared/ folder.
  7. etc...

This gives me a very quick framework to develop off of. I can sketch out new areas with ease. Adding additional pages is as simple as adding another view. I have this "base" build already prepackaged, but if I had to put it together from scratch it still would only take 15 minutes or so. Database backed sites will naturally take longer and have more logic to them, but everything else is simple.

I prefer CI because it's a fast, lightweight framework to develop off of. Sites can be setup very quickly while still taking advantage of all the great features it offers.

If I'm not building a PHP based site then you simple toss Blueprint and jQuery into folders (typically css/ and js/) and setup some shared html files. Include those in your new pages. If I have to work with a form that can be handled with one PHP file to process it, everything else is static.

No matter what, design always comes last. I am not a designer by trade. You will save yourself a headache later if you lay things out syntactically correct in the HTML before starting to design.

Josh K
+1 for CodeIgniter. I think any novice should actually start with this over stock PHP; it's so much harder to make mistakes (obviously still possible, but it does a lot of good things for you)
Alex Mcp
Coincidentally, i have been just starting playing around with codeigniter in the last week and i like it a lot. A lot easier than the start-from-scratch PHP coding i used before. I have been trying out the 960.gs css system, but i will look into Blueprint. Never heard of DataMapper, but I will check that out as well.
Douglas
@Alex: It's great to start with a framework, but doing stock PHP has it's benefits as well.
Josh K
@Douglas: DataMapper is a ORM database tool. Give it a try, neat stuff. Not for everything though, I still find myself using Active Record or even straight MySQL on occasion.
Josh K
A: 

I like to start with a power point presentation that visualizes the layout of everything so the client and I can come to a good agreement where everything goes and how it will look in the end. That way I don't waste my time coding and designing things that will get modified or not even used. It seems primitive but is very helpful in the longrun. A power point will cover your contract, purpose, header, and (usually) examples and template for each page all in one. Then once everything is all set up, coding and testing it is a breeze.

animuson
A: 

You start with a framework, your own or an open source one. As you build sites, you add to the framework so you can reuse code you created before. Each site will be quicker and easier than the one before it because you have more tools to use.

Eventually it just comes down to designing the overall look and feel of the site and skinning your "tools" to match.

Brent Baisley
A: 

Its almost impossible to write a "use this, do that, then that"-list because its (in my experience, even on small projects) always a case-by-case thing..

Taking your "4-8 pages, a contact form, simple jquery slide show" example:
If the client doesn't plan anything for the (near) future i usually wouldn't use a framework. Fire up vim, write some HTML, some JS, use a contact form snippet, throw into svn and that's it..
Simple, clean, fast and if someone else should have to fiddle with the page some day he doesn't have to sniff through a framework he probably knows nothing about.

But it rarely is as simple as that..
The supposably most important part is to find out what the customer really wants (for the future) and plan accordingly.

Some examples of things that maybe screw your todo-list:
Is a final layout available or just some pictures of how it should look? Or no design at all? Are you able/good enough to create a design/images that satisfies the client or do you need a designer as well?

What functionality does the site need? Just a contact form? Display some data uploaded daily by some employee? Do they want to change content (through a web back end)?

Are there any plans to change/extend the site/functionality in the future?

Will you or someone else work on that site in the future?
...?


Considering everything i know about the project:
Do i have an advantage when using a framework?
What problems may i/someone else have when trying to change/add something?
...?
Check what has to be done and how it should be done, do it.


My 2¢ in short:
Be flexible. Try to find the best solution for each individual project instead of working of a static list.

Kuchen