Opinions need on whether or not to use WordPress?

I’m a web DESIGNER. I know how to hand code my own layouts using html/css. I do NOT know any programming, have tried to learn, but I just have not been able to pick it up. So I thought it would be better use of my time to focus more on design and front-end development. I’ve learned a lot recently about responsive web design and I’m pretty sure I could do a basic responsive design hand coding it myself. But what I’m wondering is…should I learn WordPress? I know it can be useful as a content management system and it’s free to use and fairly simple to use. I looked at a few responsive design themes recently and it’d definitely be nice to be able to just focus on the design rather than worrying about my code and is it cross-browser compatible, etc. etc. But then I’ve also been learning about the Twitter Bootstrap framework which is pretty nice and easy to use and customize.

I’m just not sure what I should focus my further learning towards. There’s sooo much to learn in this industry that it just gets overwhelming. I think I’ve just come to accept that I may never learn programming. It seems helpful to have a CMS and it’d be really nice to just either customize my own theme or use an already built theme. Sorry, not really sure what I’m asking here. Maybe I just need to talk with some other web designers to see what you do and should I use WordPress or a CSS Framework or both? I’m just having a hard time knowing what to focus my learning efforts towards. Need some advice or something…

Hi capescafe,

I think it’s completely normal that you feel overwhelmed. The area of expertise we need to acquire in order to label ourselves true web designers, is enormous and sometimes ludicrous…

Learning WordPress is not a requirement. However, WordPress is the most popular CMS/Blogging application in the world. That doesn’t mean you have to learn it, but it can come in handy should your clients ever set WP as a requirement. But, and that goes for almost all content management systems, you’ll not get around to learning basic PHP. Granted, it isn’t much you need to know in order to comfortably work in WordPress, but the more you can do, the more you can bend the system to your own design and coding standards, e.g. trimming the fat and customizing output.

As for the Twitter Bootstrap framework, I don’t recommend using it. It may be okay for monstrous sites, but for 99% of sites, it’s overkill, like most frameworks are. The thing is, frameworks are generally built for all types of layouts and have code included for all kinds of potential scenarios. They are, if you will, like Home Depot, or like Photoshop. You don’t go to a supplies store and buy the entire stock, and if you’re like 99.9% of us designers, you’ll never use more than 10% of Photoshop’s functions. By using these frameworks, you’re basically supplying the whole shebang even though you’ll be using some 30 odd percent of it which is somewhat counterproductive.

For this reason, I’d build my own framework instead, implement what needs to be implemented and be rewarded with lean, clean, and easy-to-understand markup and CSS. That way you know exactly what every single line of code does because it’s your own and having less headaches during maintenance.

The next thing I’d do is learn Javascript. And, after that, I’d get into jQuery. It’s a framework, yes, and it’s overkill for most projects too, but if you’re in the Web Design market, it can’t harm to add it to your arsenal.

I hadn’t thought about the bloat of the Bootstrap framework. Glad you mentioned that. So I went to your website…very nice by the way and responsive! I like it! I see you are self taught and that you are primarily a designer. Did you learn javascript and jquery also? Was it easy for you to pick up? Also any good articles or anything you could recommend on building my own framework? I really do love lean and clean code. Then also how did you focus your learning especially in recent years with learning responsive web design. And how do you continue learning now. Do you set aside time for reading current articles? Do you focus your time on design or typography or mostly new coding techniques? I’m sure you’re also learning constantly as you work on your client’s projects as well?

It’s pretty essential to have familiarity with at least once CMS up your sleeve if you want to be able to deliver a standard website these days. Each has a learning curve, to be sure, which is why it’s a good idea to choose one you can rely on. I started out with WP but ditched it in the end, as I found it too much of a mess to work with and not really suited to standard websites. There are lots of free CMSes out there, the giant being Drupal, but they can be a mess to work with and learn, and most of them force some pretty messy and clunky code on you. A few, however, are very clean, allowing you to create your own HTML and CSS with little or no interference. The best of these is ExpressionEngine, and, although it costs a bit, I chose to learn that one because of its cleanness and ease of use. It’s not everyone’s choice, of course, but I do think it’s well suited to front-end people, as you don’t need to have programming skills to use it. And the price tag does not bother me, because if a client baulks at a relatively small cost like that, IMHO they are not worth working for anyhow.

I’ve heard of ExpressionEngine before but never knew what it was. I think I’ll check that one out. Thanks.

Yes, my background isn’t in design at all. My educational background is literature and dead languages.

Did you learn javascript and jquery also? Was it easy for you to pick up?

I have a very basic understanding of both, but it’s definitely not (yet) at an intermediate level. I’m currently learning Javascript again from the ground up because all I’ve used lately was jQuery and it feels wrong to me to use a framework without understanding the underlying language properly. I really like Dom Scripting by [URL=“http://adactio.com/”]Jeremy Keith. He has a fantastic way of explaining things so that even I understand it. :slight_smile: It’s the one I started out with and am currently working through again.

Also any good articles or anything you could recommend on building my own framework?

A framework is just a set of styles you use over and over again in your sites. You basically create a CSS stylesheet with basic rules that you know you’ll almost always need, e.g. like resetting margins, padding, borders, etc. Then you define basic layout containers, e.g. #container (to wrap all of your content), a basic #nav (for main navigation), a standard sidebar, heading levels, p, a set of columns you know you’ll always be needing on your pages, form elements, and so on. That’s all a CSS framework does. For the HTML documents, I’d create a basic markup document that contains the DOCTYPE, meta tags, document title, etc.

My basic HTML template for a standard two-column layout looks something like this:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
    <title>Site Title</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <link rel="stylesheet" href="style.css" type="text/css" media="all">
</head>
<body>
<div id="header">
    <h1 id="logo"><a href="#">Title</a></h1>
    <ul id="nav">
        <li><a href="#">About</a></li>
        <li><a href="#">Support</a></li>
        <li><a href="#">Blog</a></li>
        <li><a href="#">Contact</a></li>
    </ul>    
</div>
<div id="container">
    <div id="main">
        <h2>2nd Level Heading</h2>
        <p>paragraph</p>
    </div>
    <div id="sidebar">
        <p>sidebar content</p>
    </div>
</div>    
    <div id="footer">
        <ul>
            <li><a href="#">About</a></li>
            <li><a href="#">FAQ</a></li>
            <li><a href="#">Terms</a></li>
            <li><a href="#">Privacy</a></li>
            <li><a href="#">Contact</a></li>
        </ul>
    <p>company name &copy;2010 - all rights reserved.</p>
    </div>
</body>
</html>

I have a standard template for various layouts, e.g. a three-column fluid layout, a three column elastic layout, and a three column fixed layout. Rinse and repeat for two columns, four columns, etc. For each of these different layouts, I have a standard homepage, about, blog, contact, and generic styles pages where I include all elements such as headings, paragraph styles, links, forms, tables, lists, and so on.

To make life easier, I use PHP includes in order to not having to type in the basic markup over and over again. My standard PHP includes consist of a header.php, footer.php, nav.php, and forms.php.

In addition to that, I have a collection of HTML and CSS snippets for more complex markup/styles that I just paste into my HTML or CSS documents when needed, e.g. an HTML form, a full-fledged table, drop down nav, and the like to save time.

I really do love lean and clean code. Then also how did you focus your learning especially in recent years with learning responsive web design.

Responsive Web Design is just a term for something that’s existed forever. Fluid and elastic (or hybrid) layouts have always existed. The only new(ish) thing are @media-queries and I admit I haven’t used them much myself yet. On my site, I use a very simple fluid layout. Actually, my site really isn’t all that well designed. It’s a few years old now and I’ve learned a lot since that time. My new design will definitely be less cluttered and much leaner in terms of code and visuals. The times are a changin’. :slight_smile:

But yes, I’d keep up-to-date with the quality web design blogs/magazines out there such as A List Apart, [URL=“http://456bereastreet.com/”]456bereastreet, [URL=“http://css-tricks.com/”]CSS Tricks, [URL=“http://filamentgroup.com/lab”]The Filament Group, and [URL=“http://webstandardssherpa.com/”]Web Standards Sherpa. And then there is the mandatory reading such as [URL=“http://www.w3.org/”]W3C (important for HTML and CSS specs), and the invaluable references for [URL=“http://reference.sitepoint.com/css”]CSS and [URL=“http://reference.sitepoint.com/html”]HTML, all three which give us the skeleton on which we base everything we do.

And how do you continue learning now. Do you set aside time for reading current articles? Do you focus your time on design or typography or mostly new coding techniques? I’m sure you’re also learning constantly as you work on your client’s projects as well?

Yes, I do learn a few hours per week, sometimes more, sometimes less, depending on my workload. I don’t read all that much articles, I admit. I’m more of a book person and buy new books of interest as they are released. There is such an information exuberance that I need to to set myself a limit as I’d otherwise go crazy, plus, the more I contain the amount of new information intake, the more likely I’ll actually remember it the next day and not end up like a goldfish.

As for the kind of information… that really depends on my mood. When I have my creative phase, I tend to concentrate on visual design, typography, colors, iconography, sketching and the like. Right now I’m more in a coding mood (HTML, CSS, Javascript, PHP), so it’s only those type of topics that I pursue at the moment.

I’m also currently reading up on Accessibility, a topic I’ve neglected for way too long, I admit to my shame.

It changes on a monthly, weekly, and sometimes, daily basis.

Definitely do. Like Ralph, it’s my favourite CMS too. I use it on my own site and it’s definitely a lot more sophisticated than WordPress. The downside (or maybe not?) is that a commercial license costs around $300 which likely is one of the reasons it’s not as widely used. But it’s really, really outstanding.

There are lots of articles like this online, but since I saw this one today, I thought I’d post a link, in case it’s of use:

Oh good to know. I’ve had that book on my Amazon wishlist for a while and have almost bought it a couple of times but wanted to wait until I was ready to tackle it. Someone else recommended that book to me also a little while ago. So I think I will definitely get it now.

Responsive Web Design is just a term for something that’s existed forever. Fluid and elastic (or hybrid) layouts have always existed. The only new(ish) thing are @media-queries and I admit I haven’t used them much myself yet. On my site, I use a very simple fluid layout. Actually, my site really isn’t all that well designed. It’s a few years old now and I’ve learned a lot since that time. My new design will definitely be less cluttered and much leaner in terms of code and visuals. The times are a changin’.

I knew about fluid and elastic layouts before but I never knew how to successfully implement one. So I’ve always designed fixed width layouts. So because I’m so used to thinking in terms of fixed pixel widths it just is hard to think a different way. I’ve read Ethan’s book and Aaron Gustafson’s book on Adaptive Design and also the book on Mobile First by Luke W. Now I just need to practice, practice, practice. What is your design tool of choice? Do you use mostly Photoshop? Illustrator? Fireworks? InDesign? Do you still design a general layout first in one of those and then go to HTML and CSS or what’s your typical workflow?

Thanks so much for all your answers and explanation. It is most helpful.

Oh and by the way…in your code you showed me as a sample, I’m sure you know but just in case, I wanted to point out that there is a missing closing </a> tag after the title in the h1. Then right after the div id sidebar there’s an extra closing div. I’m sure if you’re using this code though you’d figure that out but just in case. I just noticed that.

Thanks, I wrote the code into the SitePoint editor and didn’t double check the code. I’ve fixed it now.

You’re right, it does take some time to switch from thinking in pixels to thinking in variable layout, but it’ll come after a while. Once I understood the benefits of flexible layouts, it was clear to me that fixed designs were, more often than not, attributed to my ego of wanting to be exact and have as much control over the design as possible. I’ve grasped now that this attitude has no place in web design, that pixel perfection is as counterproductive and harmful as it can get in the majority of cases. If clients now ask for a visually highly detailed design and don’t want fluid, I’ll use ems, otherwise I do percentages.

I have a few tools I use. For coding I currently use mainly Espresso, but sometimes also Coda, TextMate, and occasionally v(im). There’s no editor I swear by at the moment. They’re all good at some things and so so at others.

I use Illustrator when designing vector icons and logos. I also use Photoshop for experimenting with colors and general feel once I have the content and structure down, but I don’t do full mockups in PS anymore, unless a client insists, which many still do. But, because I’ve got quite a few years of coding under my belt now, when a client insists on having a PS mockup first, I design the mockup with having the HTML structure in mind, so that I don’t run danger of designing elements that aren’t either not sensible or require too much bending of the markup. After a few years you get a feeling for what will work and what won’t.

Ah ok. I just thought if that was what you copied from your file you might wanna know. I didn’t wanna nit pick your code though if you had just typed it in. :slight_smile:

How do you begin your design? So say you have a new client and they’ve given you all the details of what they want and now you’re going to start on it. Do you begin with sketches from ideas you’ve got goin in your head? Then do you use any sort of wireframing program? I’m actually using a PC so sounds like the things you mentioned for coding were on a Mac, so I’m assuming you work on a Mac. Wish I had a Mac. Someday perhaps. Also do you tend to make a full wireframe or sketch of the larger desktop layout? Or do you start out small with say a small mobile phone layout?

So sorry for so many questions but all your answers and descriptions are super helpful. It’s really great to find out how other web designers work especially more experienced ones.

How I start largely depends on the type of client. There are clients who are programmers or developers. These type of clients often have a very clear idea of what they want and how they want it. And it’s not seldom that these clients want nothing but a visual design in PSD format and have their own devs who do the rest of the work or already have the content and barebones site ready, needing someone to translate the project visually.

Then there are clients who come to me without a clear idea of what they want design-wise, but with a clear business and project plan.

Whatever the type of client, I find I can produce the best results when I have the ability to ask them questions over questions. I ask them what their goals are, what type of visitors they’d like to attract, who their competition is, how they want to set themselves apart, whether they have the content ready or have a copy writer, what kind of designs they like/don’t like, etc. With these types of clients, I can also explain to them the advantages of doing a user-friendly layout, the drawbacks of using scripting where not needed, the issues with pixel-perfect designs, browser compliancy, and the redundancy of making a site look 1:1 in every browser, graceful degradation, and the like, though not in too technical terms if they have nothing to do with the web industry.

When these basics are done, then I mockup the layout on paper, then code it into HTML and basic CSS, really basic and without colors & just the content structure, because they may otherwise think it’s the design itself, which it isn’t. I’ll only do the more important pages like the homepage and whatever other pages need a lot of attention. Once scrutinized, I’ll do the logo (if it doesn’t yet exist) and the visual design of the homepage via PSD. When approved, I get to implementing the CSS, crop whatever imagery I need from the PSD, and create all the pages that are required, unless there’s a CMS involved. Then I configure that first and do the rest of the pages by implementing them directly into the CMS to save time.

I do start with the web site first. I’m only now slowly looking at whether the mobile-first approach is something to consider. I have the same book(s) as you have listed above, but I’m still not quite sure about it. It definitely makes for good practice to keep mobiles in mind, but I am still learning on what exactly that entails, other than the obvious considerations, advantages, etc. There’s a lot to learn.

Yes, I use a Mac Pro (desktop).

Nice summary, Maleika. Out of interest, how/when do you deal with the dreaded money side of the job? Do you break each component of the job into different quotable sections? E.g. I find it can take weeks to settle on content, layout and design before a single line of code is written, and I find that some clients don’t expect to pay for this unless I am really careful (and I’m very bad at this side of things). Do you estimate an amount of time those initials will take and set a price for it, or just list it as part of an overall price?

I do that right after all the aspects of the project’s tasks have been discussed. When I have all the information I need from the client, I ask him whether he likes a fixed or an hourly rate, but when the client opts for the former, I let him know right away that anything that goes beyond what we have discussed and agreed on will be billed extra at my hourly rate.

When the client decides on a fixed rate, I sit down and calculate the time each task will approximately take. I do break it down into components. I currently have four categories: Wireframe/prototype phase, identity & visual concept, coding, and CMS integration/configuration.

I include a fixed number of concepts the client can expect and set a fixed number of concept revisions.

I also break down the time it takes for each phase. For example, the first phase is always the wireframe phase. It hasn’t been all that much of a problem if a client didn’t have content right away. The most important thing (I find) is that the client knows exactly what his project is about, what he wants to achieve. I get a sense of whether that condition is met after the interviews and back-and-forth discussions. I’ve learned that, if a client cannot be bothered to write extensively about what he wants, doesn’t know how to put his ideas into words, then the likeliness is high that the project will fail. I used to have many of these type of clients, those “oh, don’t worry about content, I just want a sexy site and will fill it with content later”. That rings my alarm bells instantly, so I have opted to not touch those projects because these type of clients will have a new fancy idea every few hours and will arbitrarily add workload (“oh, I just saw a feature on site xy, can you do that on mine, too” or “I just thought of this super duper idea and I think I want it too!”) that has nothing to do with what had initially been discussed. Of course, this would be a different matter if the project was set at an hourly rate…

When all that is done, I propose a price and time estimate. The client must pay 50% upfront if the project is below 5k. If it’s above that, then it’s either 30/30/40 or 4x25. I categorically do not start work without prior payment and, likewise, I will not hand over the files before payment has been completed, so if a client cannot pay for a given amount of time, then the project will be put on hold for that period. I work very hard for a client, and I expect the same level of integrity and respect that I put forward from the client.

Anyway, during the wireframe phase, I and the client work out the different content sections of each of the essential pages, define the call-to-action areas, and the like. The preliminary content is comprised of the client’s ideas and mine. Each section is discussed, scrutinized and evaluated, then implemented.

We (I and the client) set a time limit as to when this phase should preferably be done. For smaller projects (like start-ups) I prefer a timeframe of two weeks, but it depends largely on the scope and how much content/concrete ideas the client has prepared in advance.

The same goes for the second, third, and fourth phase. I’ve tried various methods before and this method has worked best for me. I’m sure there are better ways, but it’s going well for me doing it this way at the moment.

Thanks very much for sharing this workflow, Maleika. It’s very similar to what I have established, except that I tend to get weak about indicating where things have blown out beyond what was originally agreed–a big shortcoming of mine that I need to correct. I’ve decided never again to “quote” for a job, but merely to provide an estimate based on a clearly defined list of requirements … while making it clear that there’s no guarantee the final price will fall within that estimate, based on unforseen conditions. One of my current clients loves to talk on Skype, and I had no idea at the start that I would end up spending over 30 hours discussing things on Skype. That’s nearly a week’s work time that isn’t officially covered in the agreement, so I now know that I need to plan for such things in future.

Yes, thanks so much for sharing with us, Maleika! I think I may read through this again. Thanks so much for taking the time to answer all my questions! Much appreciated.

You should check out some of the lightweight CMS options out there. You should be able to code your site using standard HTML/CSS and then add editability in afterwards. Full disclosure, I’m a co-founder of MagicEdit, but one of the most common is Cushy CMS. Also, check out PageLime and Webpop.

That said, Wordpress is super popular, and there is a huge support community out there. It certainly has its place, and lots of people who aren’t programmers regularly roll sites out with it.

Good to know. Thanks for the info. I’ll check those out as well.

This is a great thread with some fantastic opinions and ideas.
Thanks for sharing your workflows Maleika & Ralph. Very interesting stuff.

It’s very nice to have know where to go when you’re searching for an answer to a problem. When creating a website with wordpress or any other cms,it will be better if you knew html, css and javascript. I found a bunch of references that cover all of these for beginner or advanced developer or designer. I these help you.