views:

460

answers:

4

What I want to know is when you decide that you need to create a site, maybe for a customer, maybe not, what do you do? What is your process? What do you do in the planning stage to make it easier to create the site. I'm looking at this as in more of a web app... I've only technically created on business site, and it was mostly just a little Javascript functionality. I want to get more into the web application design, and I am going to practice with my own site, but I wonder how everyone else does it. I read Web ReDesign 2.0 for some ideas, would you say that is a good place to start? And, any other advice is appreciated. Thanks in advance for your answers!

+1  A: 
  1. Try to plan all needed functionality. think of all the use cases you can imagine. anything the users can ask to the system, how they'll want to interact with it.
  2. extract from these use cases all the concepts managed. extra points if you find some unobvious relationship between seemingly unrelated concepts.
  3. separate these concepts into 'objects' and 'actions'
  4. turn the objects into a model diagram, where you can see each kind of object and how it relates to the others. this will guide to write your model layer.
  5. most of the actions can be methods of the model classes, those that don't will be external features, deal with them later.
  6. the view and controller layers (or template and views layer if using Django) should be very thin at first, just enough to show the data and trigger the actions.

and you're nearly done! at this point you should have a mostly-functional but rough product. the other 90% of the time will be spent in user-interface refinements.

Javier
Thank you for the answer, I like where you are going with it. It is similar to what my husband tells me, but I get a little confused around number 6, where you are talking about view and controller layers. You mean the physical view or look and what controls will be on that view?
Danielle
I mean the V and C of MVC. Althought I don't really believe a real MVC is appropriate for webapps. what i mean is that once you have a well-designed and fairly complete model, most of the rest is aesthetics and can be done iteratively. a first prototype is just a 'presenter' for your model
Javier
+2  A: 

The planning stage of the Web development process I think is the most important part of the entire project. You will have to outline all the requirements, objectives and how you are going to achieve the desired result.

You will have to review:

  • Technical, functional and operational specifications
  • Design guidelines and considerations
  • Design / Development Architecture
  • Scheduling (major milestones for project evaluation and review)
  • Implementation plan
  • Testing strategies
  • and more...

Planning will allow you to be more prepared to the time when you start the coding stages...

I can recommend you this book:

Web Engineering: The Discipline of Systematic Development of Web Applications

CMS
Thank you, I like your "To Review" list, and I will definitely check out your book suggestion.
Danielle
+3  A: 

I am 100% self taught. My method is refined over the passed eleven years.

  1. outline: I or we if the site is for someone decide what the site is for, who will use it, how it could be used, all that jazz.

  2. mockup: using photoshop I create a visual of the site, how it looks, etc. I really spend some time here. I'll toss it back and forth with all involved until everyone likes it. This stage is important to me because seeing the site always seems to help bring up things that were missed in the outline.

[3. Mockup backend: database stuff I seem to end up writing out on paper, mapping, etc.]

  1. code time: I build one static html page with css. Browser check. Once the page functions I break it up into pieces, wash, rinse, repeat.
This is most definitely what I do when creating a more static site, but I was more curious about planning out a web application. Would you plan it out a bit differently if the website is more interactive?
Danielle
A: 

Here are my thoughts about Web design process