Hi,<p>I run an online music community with decent traffic and usage. When we started out, I had no background in web (and usability) and have learnt a lot in the last two years. I can now tell whats lacking in the current design (aesthetics/usability/interaction wise) but still don't know if I can design from scratch. I do have a designer (to help with graphics) but he is good only with skinning so I have to do the usability and interaction design work.<p>What is the best way out of this situation given that I can't hire external help (for financial reasons of-course). I have been thinking of reading some good books on web design patterns and following standard practices. Does that work well?<p>Thanks in advance<p>PS: I have a coding background in case its not obvious why my design/usability skill aren't that great :)
1) Don't mess with the database. Back it up, remotely.<p>2) It's good to have a semanticly sane code base with all the common pages elements factored out into templates, but it's not a requirement. If it ain't broke.<p>3) Involve the community. Have a poll asking your users what to fix first, and start from there.<p>4) With a copy of the database, you can start developing the site using better technologies and processes; invite a few users to test the redesigned site, preferably on another machine. Report back to the community, publish a newsletter, show screenshots, etc.<p>5) Don't fuck with that database. Don't lose the server logs.<p>Good luck.
I've posted a reply to you on my blog (cause it's too long for here): <a href="http://bjclark.me/2009/07/03/how-do-you-redesign-something/" rel="nofollow">http://bjclark.me/2009/07/03/how-do-you-redesign-something/</a><p>Excerpt:
The biggest thing to manage in a redesign is risk. Risk you alienate your user base or do something that negatively impacts revenue, or whatever you're most afraid of.<p>The easiest way to manage it is to shorten your feedback cycle (not user feedback, any type of feedback) to the smallest possible interval. When talking about design, this means you need to spend the least amount of time on the design you can before you put it in front of someone that exemplifies your average user (persona).
Really depends on what needs redesigning. You are basically talking about three interlinked projects. As far as possible it is best to chunk down into lots of small tasks, keeping them as separate as possible. That's one of the huge benefits of webapp world, you can maintain clean separation between functions. I'll assume that you can't just build a complete new site, migrate the data and axe the old one.<p>If the database needs redesign, then you'll need a way to have transactions from the current database propagate through to the new one. You don't want to break anything from the users' perspective while the redesign takes place.<p>If business rules need to be improved, then you'll have to make a decision whether to hit the current database or the new one.<p>Finally, the skin/usability part, keep it modular so that you can incrementally 'improve' your site. You would call the business rule codebase from either the old or new part as appropriate.<p>Just look at Amazon, eBay, Google, etc. They do continuous improvement without breaking much at any given time. The key is to keep each change small, test and be able to revert if something goes wrong. The reversion needs to be designed into every database change to minimise pain and lost transactions. Of course, good project management is key, yes! even with just the two of you working on it. "Failing to plan is planning to fail." :-)