views:

88

answers:

4

I have this idea for a small-medium web application that I would like to build, probably with a combination of Velocity and Spring MVC. My problem is that I have never dealt with issues such as user registration, or with design issues such as CSS, layout, etc.

I'm pretty confident I can build the application/domain layer of this application, but how should I get started on the user interface side of it? Are there any resources on how to manage users, and on how to, well, make the app look good? I don't necessarily need references to the classics on user interaction design, but rather pointers to how to implement these ideas with the most popular frameworks.

+2  A: 

You sound like you are suffering from project-planning-paralysis. I would suggest that you just start working on the parts you are certain of (like the application and data layers) and leave the parts you are unsure of alone.

Depending on the size of the project it may be worthwhile to get someone else involved who has the knack for creating UIs.

Andrew Hare
+1  A: 

Getting web applications to look good is no easy task.

As Andrew said it would be worth doing what you feel most comfortable with, and asking someone to help out with the UI.

Other than that, all I can really suggest is looking at some existing web applications and see how they do things. There's just way too much variety to really give any hard and fast rules about making a web application UI.

Phill Sacre
+1  A: 

If you're familiar with Spring MVC and Java you might want to look at Grails which is built on top of spring amongst other things. There are a number of plugins including at least a couple which handle user registration for you (ie http://grails.org/plugin/acegi based on Spring Security). Scaffolding from your domain model might well not get you a good looking interface but at least gets you a starting point you can then build on.

Having said that you could get scuppered trying to learn grails before you get any work done. Perhaps take a look at the user management plugins for some inspiration. As for the interface, if it's just about how to make it look good I'd suggest having a look at www.oswd.org which has a lot of example open source css designs.

Robin
+1  A: 

Hire an design expert... from the start.

If your specialty is programming, your design will likely hinder your success regardless of your intent. If you aren't comfortable farming out, then hire a consultant to provide feedback on how your app will work. Do this throughout the design and development process.

As someone who does both development and design, when I'm handed a project in which one or the other is completed, I usually have to make them go back and change things since they didn't consider the big picture.

Best case scenario: you avoid common pitfalls, interface problems and your app is drastically improved.

Worse case scenario: you ended up knowing what you were doing and you ended up having that work validated and moved out of a "design team of one".

Paulo