Dev Shed Lounge
 
Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
User Name:
Password:
Remember me
Go Back   Dev Shed ForumsOtherDev Shed Lounge
View Poll Results: In which order do you design your applications
UI, Backend (DB) then Application Code 6 27.27%
Backend (DB), UI then Application Code 4 18.18%
Application Code, UI then Backend (DB) 0 0%
Backend (DB), Application Code then UI 11 50.00%
Application Code, Backend (DB) then UI 1 4.55%
Voters: 22. You may not vote on this poll


Reply
Add This Thread To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
Thread Tools Search this Thread Rate Thread Display Modes
 
Unread Dev Shed Forums Sponsor:
  #1  
Old May 31st, 2003, 02:33 AM
jpenn's Avatar
jpenn jpenn is offline
Contributing User
Dev Shed Frequenter (2500 - 2999 posts)
 
Join Date: Jun 2002
Location: Washington, DC
Posts: 2,693 jpenn User rank is Sergeant (500 - 2000 Reputation Level)jpenn User rank is Sergeant (500 - 2000 Reputation Level)jpenn User rank is Sergeant (500 - 2000 Reputation Level)jpenn User rank is Sergeant (500 - 2000 Reputation Level)jpenn User rank is Sergeant (500 - 2000 Reputation Level) 
Time spent in forums: 5 h 41 m 10 sec
Reputation Power: 16
In which order do you design your applications

Please give a breif description on why you believe one way is better than the other. Thanks...
__________________
~ Joe Penn

Reply With Quote
  #2  
Old May 31st, 2003, 02:49 AM
Viper_SB's Avatar
Viper_SB Viper_SB is offline
Psycho Canadian
Dev Shed Demi-God (4500 - 4999 posts)
 
Join Date: Jan 2001
Location: Canada
Posts: 4,793 Viper_SB User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Viper_SB User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Viper_SB User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Viper_SB User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Viper_SB User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Viper_SB User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Viper_SB User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Viper_SB User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Viper_SB User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Viper_SB User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Viper_SB User rank is Lieutenant Colonel (40000 - 50000 Reputation Level) 
Time spent in forums: 4 Weeks 22 h 50 m 49 sec
Reputation Power: 437
UI, Backend (DB) then Application Code

Not sure if I would say one is better then the other for me, I personaly am terrible at design so I don't do it, I work with a designer and he does that and site updates, once he has the design finished (he creates static html test pages first then I create new stuff from how it looks) I then get to know what data is needed on the site, then I create the dbs then code the thing together.
__________________
Miscellaneous Software
Viper_SB
Developershed E-Support


Anyone else play chess?
Challenge me

Reply With Quote
  #3  
Old May 31st, 2003, 04:00 AM
SilkySmooth's Avatar
SilkySmooth SilkySmooth is offline
Newbie :P
Dev Shed Frequenter (2500 - 2999 posts)
 
Join Date: Jan 2001
Location: In the PHP Engine :-)
Posts: 2,880 SilkySmooth User rank is Sergeant (500 - 2000 Reputation Level)SilkySmooth User rank is Sergeant (500 - 2000 Reputation Level)SilkySmooth User rank is Sergeant (500 - 2000 Reputation Level)SilkySmooth User rank is Sergeant (500 - 2000 Reputation Level)SilkySmooth User rank is Sergeant (500 - 2000 Reputation Level) 
Time spent in forums: 11 h 32 m 23 sec
Reputation Power: 15
I always start with the database, getting the relationships all planned out, etc. saves time (in my opinion) when coding. I then get the coding done before plugging it into a UI.

I did start off the way Viper and echo did, but I always found that I would twist the UI around so much and multiple times that I found the dev time was much faster doing it last.

My tuppence worth
__________________
---------------------
-- SilkySmooth --
---------------------
Proxy | Little Directory

Reply With Quote
  #4  
Old May 31st, 2003, 09:41 AM
rycamor rycamor is offline
Gödelian monster
Dev Shed Regular (2000 - 2499 posts)
 
Join Date: Jul 1999
Location: Pembroke Pines, Florida, USA
Posts: 2,300 rycamor User rank is Sergeant Major (2000 - 5000 Reputation Level)rycamor User rank is Sergeant Major (2000 - 5000 Reputation Level)rycamor User rank is Sergeant Major (2000 - 5000 Reputation Level)rycamor User rank is Sergeant Major (2000 - 5000 Reputation Level)rycamor User rank is Sergeant Major (2000 - 5000 Reputation Level)rycamor User rank is Sergeant Major (2000 - 5000 Reputation Level) 
Time spent in forums: 3 Days 3 h 12 m 27 sec
Reputation Power: 56
I used to kind of come up with screenshots of the UI while developing the database design, simply because it helped me think through what the users wanted.

But these days I am leaning toward automated, or at least semi-automated GUI creation, at least as far as form elements and navigation. So really, the "design" phase (choosing graphics, colors, alignment, general templating, etc...) can happen after the logic is done.

The reason I now believe in doing the GUI design last is an interesting insight by Joel oh Software: don't make the GUI too pretty too early in the project. Because, if the GUI looks great, people assume the work should be done, so they are outraged that you still want to do "testing" and that there are "bugs". My experience confirms this exactly .
__________________
The real n-tier system:

FreeBSD -> PostgreSQL -> [any_language] -> Apache -> Mozilla/XUL

Amazon wishlist -- rycamor (at) gmail.com

Reply With Quote
  #5  
Old May 31st, 2003, 09:59 AM
jharnois's Avatar
jharnois jharnois is offline
mod_dev_shed
Dev Shed God 19th Plane (14000 - 14499 posts)
 
Join Date: Sep 2002
Location: Atlanta, GA
Posts: 14,461 jharnois User rank is Lieutenant General (80000 - 90000 Reputation Level)jharnois User rank is Lieutenant General (80000 - 90000 Reputation Level)jharnois User rank is Lieutenant General (80000 - 90000 Reputation Level)jharnois User rank is Lieutenant General (80000 - 90000 Reputation Level)jharnois User rank is Lieutenant General (80000 - 90000 Reputation Level)jharnois User rank is Lieutenant General (80000 - 90000 Reputation Level)jharnois User rank is Lieutenant General (80000 - 90000 Reputation Level)jharnois User rank is Lieutenant General (80000 - 90000 Reputation Level)jharnois User rank is Lieutenant General (80000 - 90000 Reputation Level)jharnois User rank is Lieutenant General (80000 - 90000 Reputation Level)jharnois User rank is Lieutenant General (80000 - 90000 Reputation Level)jharnois User rank is Lieutenant General (80000 - 90000 Reputation Level)jharnois User rank is Lieutenant General (80000 - 90000 Reputation Level)jharnois User rank is Lieutenant General (80000 - 90000 Reputation Level)jharnois User rank is Lieutenant General (80000 - 90000 Reputation Level) 
Time spent in forums: 1 Month 1 Week 2 Days 15 h 14 m
Reputation Power: 825
I like to start with the DB, then build my code around that, modifying the DB when necessary. If you use templates then you build the very basics of the GUI while coding (ie, the form elements) but add zero color, style, or even layout. I have to keep the GUI last b/c I'm one of those perfectionists and I find myself taking too much time changing the GUI while I'm trying to code if I do the GUI anytime but at the end. I also completely agree with rycamor's last statement about the customer feeling a finished GUI is a finished product.

Reply With Quote
  #6  
Old May 31st, 2003, 04:06 PM
MJEggertson MJEggertson is offline
Contributing User
Dev Shed Novice (500 - 999 posts)
 
Join Date: Jan 2002
Location: Seattle WA
Posts: 863 MJEggertson User rank is Corporal (100 - 500 Reputation Level)MJEggertson User rank is Corporal (100 - 500 Reputation Level)MJEggertson User rank is Corporal (100 - 500 Reputation Level)MJEggertson User rank is Corporal (100 - 500 Reputation Level) 
Time spent in forums: 22 sec
Reputation Power: 8
UI? Gah, I hate creating UIs, I tend to ignore them as long as I can. The only UIs I don't hate designing are application level UIs (executables) where I can draw them out in resource editors.

Specifically for web development and UIs: everything I do now is xhtml, and I'm starting to really love Smarty for templating. Combine those tools, and for me, UI design is real easy, in the sense that everything can be changed by simply tweaking a template file, or changing a shared css file. I still, for the life of me though, can't design an attractive interface...

As for the backend versus code, I usually work on them simultaneously. I think out the project ahead of time, usually really well. I think that step is crucial. It may seem like a waste to spend a day or two with the computer off, not coding at all. But for me, it saves alot of time. Otherwise, if I need to change the database structure half-way through the project because I never considered x or y, there's no telling how many scripts that will affect. When I finally sit down to do the coding, I know how the databases are going to look, and have a good idea of what I need to code. So I usually do them synchronously as they're needed, going from component to component.

Reply With Quote
  #7  
Old June 2nd, 2003, 11:21 PM
dotcomguy dotcomguy is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Mar 2003
Location: #devshed @ irc2.beyondirc.net
Posts: 231 dotcomguy User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 22 m 40 sec
Reputation Power: 6
Send a message via ICQ to dotcomguy Send a message via AIM to dotcomguy Send a message via Yahoo to dotcomguy
Quote:
Originally posted by jharnois
I like to start with the DB, then build my code around that, modifying the DB when necessary. If you use templates then you build the very basics of the GUI while coding (ie, the form elements) but add zero color, style, or even layout. I have to keep the GUI last b/c I'm one of those perfectionists and I find myself taking too much time changing the GUI while I'm trying to code if I do the GUI anytime but at the end. I also completely agree with rycamor's last statement about the customer feeling a finished GUI is a t
zzinished product.

This is how I would most likely do it. The DB is definitely first, because the entire app is built on that. Taking care to create a good database design and schema can save headaches and coding time down the road. It can also help to plan out the overall application froma n abstract point of view. Then I might plan out the UI. Low-fidelity prototypes work great. Then I would work on the application code while creating functional HTML templates. I would probably put the final touches on the UI after the application "works".
__________________
.

Reply With Quote
  #8  
Old June 3rd, 2003, 12:25 AM
a.koepke's Avatar
a.koepke a.koepke is offline
Second highest poster :p
Dev Shed God 5th Plane (7000 - 7499 posts)
 
Join Date: Jul 2001
Posts: 7,323 a.koepke User rank is Sergeant (500 - 2000 Reputation Level)a.koepke User rank is Sergeant (500 - 2000 Reputation Level)a.koepke User rank is Sergeant (500 - 2000 Reputation Level)a.koepke User rank is Sergeant (500 - 2000 Reputation Level)a.koepke User rank is Sergeant (500 - 2000 Reputation Level) 
Time spent in forums: 8 h 11 m 27 sec
Reputation Power: 27
I always design and make the DB first. I don't think you can really program without the database created since most of the work I do is based around the database. I then program all of the logic and link it into a templating system for the UI.

Reply With Quote
  #9  
Old June 3rd, 2003, 01:20 AM
roninblade's Avatar
roninblade roninblade is offline
// no comment
Dev Shed Intermediate (1500 - 1999 posts)
 
Join Date: Dec 2001
Posts: 1,639 roninblade User rank is Sergeant Major (2000 - 5000 Reputation Level)roninblade User rank is Sergeant Major (2000 - 5000 Reputation Level)roninblade User rank is Sergeant Major (2000 - 5000 Reputation Level)roninblade User rank is Sergeant Major (2000 - 5000 Reputation Level)roninblade User rank is Sergeant Major (2000 - 5000 Reputation Level)roninblade User rank is Sergeant Major (2000 - 5000 Reputation Level) 
Time spent in forums: 1 Week 3 Days 4 h 45 m
Reputation Power: 33
i usually do the database design first then create a basic UI so i have a "storyline" for the application. then when im satisfied with both... i do the code.

database design always comes first for me. but i sometimes tend to create the ui and code hand in hand. i know it's more headache that way but clients tend to have a lot of revisions as the project progresses.

Reply With Quote
  #10  
Old June 3rd, 2003, 08:28 AM
hedge hedge is offline
Contributing User
Dev Shed Novice (500 - 999 posts)
 
Join Date: Apr 2002
Posts: 693 hedge User rank is Sergeant (500 - 2000 Reputation Level)hedge User rank is Sergeant (500 - 2000 Reputation Level)hedge User rank is Sergeant (500 - 2000 Reputation Level)hedge User rank is Sergeant (500 - 2000 Reputation Level)hedge User rank is Sergeant (500 - 2000 Reputation Level) 
Time spent in forums: 4 Days 23 h 47 m 32 sec
Reputation Power: 20
None of the above. I use a method of continually evolving a prototype.

I'm somewhat surprized that nobody does prototyping. I have found that it is too hard to elicit feedback from the business people with just a blank sheet of paper.

The discussion is more useful when they can see something, sometimes they can't tell you what they want but will notice things when in front of them.

We used to write specs but found the project would get bogged down in paperwork with all the change orders. With some clients I would still write specs to avoid the he said/she said issue but with my current client that's not a problem.

Reply With Quote
  #11  
Old June 3rd, 2003, 09:17 AM
bcyde's Avatar
bcyde bcyde is offline
Me likey breadsticks...
Dev Shed Beginner (1000 - 1499 posts)
 
Join Date: Jan 2003
Location: Los Angeles
Posts: 1,189 bcyde User rank is Sergeant (500 - 2000 Reputation Level)bcyde User rank is Sergeant (500 - 2000 Reputation Level)bcyde User rank is Sergeant (500 - 2000 Reputation Level)bcyde User rank is Sergeant (500 - 2000 Reputation Level)bcyde User rank is Sergeant (500 - 2000 Reputation Level) 
Time spent in forums: 3 Days 1 h 12 m 58 sec
Reputation Power: 12
Send a message via AIM to bcyde Send a message via Yahoo to bcyde
Usually go for modelling the DB then writing classes for the main objects that will interface with the DB and then go to the UI.

I used to like designing UIs, however after dealing with marketing and end users I quickly got over that after following all the suggestions and plans detailed beforehand and still having all of it torn down because one person doesn't like how it feels. In the past we had marketing tell us flat out that the UI sucked and that it was clunky and unintuitive. When we pulled out the design docs and showed it to the person who said this, we showed him it followed the exact layout and design that he wanted from the very beginning.

-b
__________________
PostgreSQL, it's what's for dinner...

Reply With Quote
  #12  
Old June 3rd, 2003, 10:23 AM
Sepodati's Avatar
Sepodati Sepodati is offline
Banned
Dev Shed God 19th Plane (14000 - 14499 posts)
 
Join Date: Dec 1999
Location: Afghanistan
Posts: 14,385 Sepodati User rank is General 12nd Grade (Above 100000 Reputation Level)Sepodati User rank is General 12nd Grade (Above 100000 Reputation Level)Sepodati User rank is General 12nd Grade (Above 100000 Reputation Level)Sepodati User rank is General 12nd Grade (Above 100000 Reputation Level)Sepodati User rank is General 12nd Grade (Above 100000 Reputation Level)Sepodati User rank is General 12nd Grade (Above 100000 Reputation Level)Sepodati User rank is General 12nd Grade (Above 100000 Reputation Level)Sepodati User rank is General 12nd Grade (Above 100000 Reputation Level)Sepodati User rank is General 12nd Grade (Above 100000 Reputation Level)Sepodati User rank is General 12nd Grade (Above 100000 Reputation Level)Sepodati User rank is General 12nd Grade (Above 100000 Reputation Level)Sepodati User rank is General 12nd Grade (Above 100000 Reputation Level)Sepodati User rank is General 12nd Grade (Above 100000 Reputation Level)Sepodati User rank is General 12nd Grade (Above 100000 Reputation Level)Sepodati User rank is General 12nd Grade (Above 100000 Reputation Level)Sepodati User rank is General 12nd Grade (Above 100000 Reputation Level)  Folding Points: 72717 Folding Title: Intermediate FolderFolding Points: 72717 Folding Title: Intermediate FolderFolding Points: 72717 Folding Title: Intermediate FolderFolding Points: 72717 Folding Title: Intermediate Folder
Time spent in forums: 2 Months 4 Weeks 20 h 19 m 49 sec
Reputation Power: 1784
Send a message via ICQ to Sepodati Send a message via Yahoo to Sepodati
Quote:
Originally posted by hedge
None of the above. I use a method of continually evolving a prototype.
Okay... but when you start your prototype, do you design the database, UI, or code first? You still have to start somewhere...

I'll agree with most that I do the database first, design a basic UI, then the code to tie it all together. The "fancy" design comes last and I usually try to pass that off to someone else. I hate design (unless it's micro-electronic design... but that's different).

---John Holmes...

Reply With Quote
  #13  
Old June 3rd, 2003, 02:02 PM
macskeeball macskeeball is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: May 2003
Posts: 65 macskeeball User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 24 m 13 sec
Reputation Power: 6
Content brainstorming, UI, backend, application programming

I start off first by thinking of what the site will be about.

I make a very simplistic on-paper sketch of the general layout, which later evolves into a Photoshop mock-up that I print out and show family and freinds to see what they think of it.

After I've gotten a decent design, I create folders for each section (and subsection) of the site. I fiddle around with it until I have it as organized as I can think of. Each weekday I work on 1 or 2 simple pages of the site (I have to go to school on the weekdays) and do several complex pages over the weekend.

Last edited by macskeeball : June 3rd, 2003 at 07:00 PM.