Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Me and a friend are looking to team up for some freelance web designing. We both are very strong PHP coders and website designers, but I am better at design and he is better at PHP. So, I'll be controlling the stuff the user sees, he'll be controlling the stuff the user does.

In order to speed up development, I'm wondering if anyone has experience or recommendations for asynchronous web designing and coding. So far my best idea is to create a doctrine of which tags and classes every element should be wrapped in (if any), then have us developing via FTP. He would create the code that spits out snippets of HTML, and I would simply style those snippets and wrap it in the page. Does anyone know of a better way?

So, any ideas?

share|improve this question
    
Upvoted for lack of explanation by downvoters. But yes, your idea is not great. –  Erik Reppen May 30 '12 at 0:50

2 Answers 2

up vote 0 down vote accepted

I tell you this out of sheer experience: get a @#$! graphic designer. Your clients will be able to tell the difference from developer designs (even if they are paid templates) and graphic designers' designs. If possible, get a web designer.

If you are the one with the best design feel, take the role of creative director and filter the graphic designer's input as you implement it. You can then focus on other related things such as UX.

If you want to do things right, you might also want to seek a copywriter or at least train yourself and/or your friend in copywriting, books 1-4 of Copyhackers are a great start. Believe me, content matters.

Functionality (sadly) won't matter to your clients as much as design and content. Once you nail design and content you can focus on functionality.

In my experience, these two factors will define your success.


Oh, yeah, and regarding your actual question, you might want to try Mercurial instead of using an FTP. And you might want to look into Joomla and Drupal as platforms (CMSs)for your web sites, so you can focus on developing what matters and not reinventing the wheel.

P.S.: I like Joomla better because of Gantry

share|improve this answer
    
Thanks for the advice! –  Connor Peet May 30 '12 at 4:59

The bad news is that doing good front end work isn't about being a designer. There's a ton of best practices out there worth picking up that you'd do well to advise yourself on but here's some of the bigger ones:

  • The separation trinity - You separate HTML (content), from CSS (presentation), from JavaScript (behavior) by linking files and avoiding inline/embedded styles and keeping JS completely out of the HTML. Just try it. It makes your job easier. And yes, there are gray areas. That's okay. Nobody punishes you for violating/bending these rules. Just consider them as you work. Because it's easier.

  • Semantic HTML - HTML describes content. Div and spans are not blanks to be fired at will. We do not wrap things willy nilly unless it saves gobs of time and effort to (once in a rare while) do so. So no, knock it off with the HTML wrapper business and yes you can tell the Drupal and Joomla communities that I hate them. WordPress is okay. Again. Sounds strict. Makes front end work easier. There are also accessibility and SEO wins that are IMO, oversold compared to the reduction of HTML bloat factor.

  • Unobtrusive JavaScript - tied to the separation principle but the general idea is to wire your event logic from behind the scenes not at the source via onclick handlers. Considered a gray area by too many, IMO, I find it's almost like an index for your front end app's behavior to have all event handlers in one centralized area. Again, it makes your job easier. That's the intent. Lazy developers think about this stuff, not ones that like to work hard.

  • Use JQuery. Sorry but it's pretty much duh. Most people don't have time to normalize and reduce DOM cruft and boilerplate looping of large HTML collections.

  • Don't overuse JQuery. Learn JQuery so you don't become overly reliant on plugins and libraries. Because they tend to stink. Also make sure you learn enough to know how to DIY outside of a JQuery context. Not everybody uses it after all.

  • Learn new stuff about CSS and JavaScript daily. There is a lot to know. No, it never ends. No, if you want to be a pro at it you have to know how to DIY before you can even pick the tools that don't stink unless you're just focusing on temporary disposable one-off sites for the sorts of people who go to advertising/interactive agencies looking for web sites.

  • Start with DRY and loose coupling (google). Then learn OOP principles when you feel like they might start to matter to you.

share|improve this answer
    
Why not recommend a better js library like MooTools? –  dukeofgaming May 30 '12 at 3:33
    
I'm not sure what has this response has to do with my question... but thanks for the advice anyway. I already do all of what you had mentioned, I could definitely improve my Javascript's coupling. –  Connor Peet May 30 '12 at 4:57

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.