Kevin: June 4th, 2010. CSS know-it-all Russ Weakley and I talk web education, Full Code Press, and more. I’m Kevin Yank and this is the SitePoint Podcast #64: Learning the Web with Russ Weakley.
And this week I am joined by Russ Weakley. Russ you own and run Max Design, is that right?
Russ: That’s correct.
Kevin: So what is Max Design?
Russ: I suppose you could say it’s a web design business, but we do all sorts of things from designing to developing websites and teaching CSS.
Kevin: Yeah. So my impression is that you’re like the — you’re the full time staff member there and that you do a lot of the work yourself but you also have friends that you draw on for any given project; you know people with various strengths. Is that pretty much how it works?
Russ: Yes, it’s a lonely world, no one else in the office.
Russ: But yeah, we use what we call a plug and play model where if we need a skill set luckily I have a lot of people that I’ve got contact with, and I can quickly get people in, and so we build up a team based on need rather than teams that are available or already there.
Kevin: I think a lot of people work that way on the Web.
Kevin: It varies from project to project exactly what people expect of you, and often I guess what the client brings themselves, right?
Russ: Absolutely. One of the things we learned years ago is that if you have a forced solution then it suits some clients but not all. Whereas the plug and play model means it’s completely adaptable; you can scale a team up or down, you can bring in skill sets as needed. So yeah, it’s just a much looser model and it suits the Web perfectly because they can also exist in different cities and different countries, it doesn’t matter.
Kevin: So the reason we’re talking to Russ today is because you said it’s a lonely world as a web designer, especially a freelance one like yourself, and so we’ve gotten Russ out of his office for a bit, and Russ will be doing SitePoint’s CSS Live Course at the start of July.
Russ: July 5.
Kevin: July 5 it starts, and that comes right after PHP Live that I’ll be leading from the middle of June until the start of Russ’ course. So we’re both going to be doing courses over the next little while.
Russ this isn’t your first experience with teaching the Web to people, right?
Russ: No, no I’ve been doing it for quite a while; far too long.
Kevin: (laughs) Well, you say that but you were very eager to take on this new project.
Russ: Absolutely. I do really love it. Doing projects for people and fulfilling, you know, an end for a website is a great thing. But there’s nothing that really compares to sort of teaching people and have people get something, and that’s a really, without sounding corny, it’s quite an enriching experience.
Kevin: I know what you mean. I guess I first met you through the Web Standards Group, which is mostly Australian but there have been pockets of it springing up around the world. What’s the Web Standards Group do?
Russ: Well, it’s primarily — its purpose was originally a bit of a con. Really what we want to do is just get web developers and web designers together. And early on the concept for web standards was something that was really new to people and something that was a very good vehicle to begin with. And so we just began a group called the Web Standards Group; but primarily it was just about letting designers and developers— giving them a space where they could chat in a mail list, but more importantly where they could meet and sort of have presentations and share and, you know, that sort of thing. So it’s been going for a long while, and they’re meetings that spring up and disappear, so it’s been as you’ve said a lot in Australia, but there have been some in Singapore and Russia and London and New Zealand. So all sorts of different countries have taken up at various times and ran meetings for periods.
You’ve been doing workshops for how long now?
Russ: Um, it’s probably about five years.
Kevin: Five years.
Russ: I do two different sorts of workshops; one is the ones that we did together which are sort of like a series which we travel around different countries. But a lot more of my stuff is actually just onsite training where a company will get me in and have anything from three to ten developers or designers, and I just teach them for a day, which is also a lot of fun.
Kevin: Hmm. So this sort of stuff, the Web Standards Group, the workshops, it all sort of started around the same time for you.
Russ: Yeah, I suppose. I guess probably like you, when I began it was a very frustrating experience learning CSS, and there wasn’t a lot of resources out there at the time, whereas now there’s books and everything’s out there. So it really began out of, it was painful for me, it’d be great if I didn’t make it, you know, if I could stop some of that pain really.
Kevin: Hmm. So as a web educator I guess you are continually being exposed to people who are just learning web design for the first time. I find that something I struggle with. Working at SitePoint in an office environment surrounded by people who live and breathe the Web, every once in a while I have to stop and remind myself that not everyone knows this stuff as well as the people around me. And you know that article that we wrote five years ago about getting started with CSS might not be the best way to learn CSS anymore.
Kevin: So it’s exciting to come back to these concepts in a new format, for me, and refresh my memory as to what it means to learn this stuff for the first time and also see how it’s changed so much since I last looked at it from the beginner’s perspective. How for you— Is the Web changing a lot for beginners these days?
Russ: Oh, yeah, I completely agree. First of all your first point I think that yes we constantly have to put ourselves in that mindset. I think that there’s a lot of articles written out there that are really good articles, but often they’re written from a perspective of someone who understands the Web, and so it’s very important that we go back down to—“down to”, it sounds really derogatory—sit at a level where you can discuss things that make sense to everybody. And in terms of how it’s changing, yes, it’s constantly changing. When I was learning CSS back in the dark ages, there was really very little, I think there was like three or four websites that did it, and so there was very little resources out there. And there was, you know, one of Eric Myer’s books or something like that.
Kevin: When you see “websites that did it” are you talking about like CSS, full CSS layout design?
Russ: Oh, no, there was none of them, and probably same as you when you start a move to CSS there was no big websites that were actually doing it. There were— what I meant was there were resources that explained how CSS worked.
Kevin: Oh, right.
Russ: It was a fair while after that when the first rash of full CSS sites came along. I remember when Wired, when Doug Bowman pushed Wired out, that was probably a real tipping point when people suddenly realized, hey, this has gone mainstream now. But there was a period before that when, you know, a lot of people talked about it, it was much more theoretical; “we should be doing this.”
Kevin: Well, yes, CSS was an optional extra for years.
Russ: Yeah. And it was a frustrating thing because it was, you know, you’re battling with Netscape 4, which probably many of your listeners would have no idea what it was, but basically it was a bundle of pain.
Russ: But, yes, it’s changed radically. I think the biggest shift is in some ways beginners are now dealing with overload of information whereas when I was learning it was a, you know, a lack of information. So now it’s not a matter of being able to find it, it’s just there’s so much information out there it’s more a question of where do I start? And there’s a lot of articles that provide a great deal of information, but a lot of them don’t start right at the base level and say here’s some basic building blocks, let’s build up from there.
Kevin: When you talk about information overload it’s also the fact that, you know, if you expose yourself to that wide range of resources you find a lot of mixed messages and a lot of conflicting information.
Russ: Yeah. Absolutely. I think one of the classic examples of that is this concept of CSS reset where, for those who haven’t heard of that, that’s about, I suppose it’s about putting CSS back to a level playing field where you can force all browsers to render pages in the same way and then build your CSS up from that. And there is very contentious issues, opinions out online; and yes, if you’re new to it you can read something and think okay that makes sense and, you know, then five minutes later come across an article which categorically denies everything stated in the other article. So, yeah, it is; there’s a lot of stuff not only to address but also to work out where you stand when you’re learning.
Russ: Yeah. Every course I run I start by saying, by the way, I’ve left a trail of destruction behind me, and I think all of us do; whether we admit it or not is another matter, but you change your methodologies quite regularly and you look back at stuff you did a year ago, two years ago. Hopefully you look and go I can see why I did it, but I’d do it slightly differently. But the further you go back the more you start to go, my God, what was I thinking, so I think it’s pretty important.
Kevin: It’s something we’re working hard to get really a little more humble about at SitePoint. You know, we have books like—books with words like “the right way” in their title.
Kevin: And they’re great books, but especially now on the Web in the past few years I feel like things have started changing so quickly that you really can’t, I mean you could say today this is the best way to do this particular thing, and I can prove why that’s true today. But it’s really hard to pick even the simplest technique on the — that goes into building a website at the moment and saying that that is going to continue to be the best way even in six months time. So I felt like I’ve had to stop blaming people for following bad advice, and it really calls for a change of approach.
Russ: I couldn’t agree with you more. I mean one of the things starting in the Web Standards Group sort of movement quite early, I mean obviously there were people well before I came on the scene, but one of the things that I used to really find of concern was that people would talk about simple things in black and white terms; this is the way to do it, that’s not the way to do it. And I always found that, one, it was a big turn-off to people just starting because to say to someone you must do it this way when they may not be able to from a skill perspective or from a software perspective or from a CMS perspective, it’s not a great approach. But as you say, you know, what’s right now may not be right in future.
The other thing is that sometimes it’s completely debatable. I think early on one of the first lessons I learned about that was when I think it was SimpleBits put out those quick quizzes which would say how would you mark up this solution?
Kevin: Oh, wow.
Russ: And the massive range of ways that people came in and argued vehemently that this was the best way, it became quickly clear that even something like semantic markup was so much personal opinion involved.
Kevin: Yeah, it’s subjective at times.
Kevin: When we’re hiring developers at SitePoint we have for various types of positions we have different tests that we can administer, and some candidates will just give us their answer, some candidates will go, well, your question is flawed because this is a gray area, and here is my essay on the various options and why you would pursue one over the other.
You know, if someone gives us what we would consider a correct answer they get full points for that, but if someone goes to the trouble of explaining the pros and cons of things I’m thinking, I’m starting to think that maybe they are better suited to a career as a web educator than a developer.
Russ: Yeah, I think you’ve hit it on the head that a lot of designers and developers are very sure that their answer is correct, and that’s fine, but as an educator, I’m not sure I like the term, but as a web educator you have to be very careful about making categorical statements in any shape or form.
Kevin: Hmm. So with all of that in mind, you’ve signed up to participate in this ongoing experiment that we have at SitePoint, these new Live courses, and I’ve said a whole lot over the past couple of months about how exciting this is for me. What really sold it for you, because I don’t feel that I had to twist your arm a whole lot when I brought this up?
Russ: What sold it for me? Well, I suppose the biggest thing for me was I’ve been doing a lot of stuff in front of people, standing in front of people talking about CSS in the past. But something that this offered was just something brand new. There are a lot of online courses and there are a lot of workshops that have covered, but very rarely have I come across something where it’s kind of the whole range in one place. And when you described the course to me, you know, I was pretty well sold on the spot; the idea that you can have courses that are sort of based on a day or a lesson, and that they involve a range of different media so they can involve videos and articles and presentations. And then on top of that you can have places where people can go and chat directly after the lesson and share their ideas. I mean it’s pretty well got everything that you need, and then you talked about the Q&A sessions and that’s where on top of all that they can talk live to the person running workshop, the course, so it’s an amazing setup.
Russ: So what happens to the Q&A live? Are they cloning you and putting you in…?
Russ: Oh, no, don’t tell people that. You were professional; you had it all completely set up.
Kevin: (laughs) No, this is a feature of it to me.
Russ: Okay. (laughs)
Kevin: Because people were asking questions, and when I realized that something was a sticking point or a little confusing in the first week, I could address it in the second week.
Russ: And so in those cases did you immediately kick them out and say you’re not welcome back?
Kevin: (laughs) Yeah, that’s right, we put them in a separate forum where they could play by themselves.
Russ: (laughs) The troublemakers.
Kevin: (laughs) But the thing is although we’re now offering a static version of the course, I’m really looking forward to going back and re-offering the next live iteration of that same course and taking the opportunity to tweak and refresh those materials. And rather than have these articles that you publish once and that stick around for years on the Web and become stale and out of date and become sources of bad advice for people, these courses I’m really hopeful that the interactive nature, the fact that the instructor is in constant communication and going through this feedback cycle with the course participants, that it’s going to allow those course materials to be refreshed and improved and kept up to date over time.
Russ: Yeah, it’s a great idea. I think one thing you might have to do, though, is for these ones where they’re not quite live; it might have to be relabeled semi-live.
Russ: Something else, I noticed that teaching CSS over these years, um, that it’s constantly iterated for me that I’ll put something out there and I’ll try and explain it, and you can see in a classroom setting where people look at you blankly and you go, man, I won’t explain it that way again. And so the next time round you explain it differently and after a while you quickly see that people, if you explain it a certain way, people go yes I get it. And so over five years you build up quite a good understanding of how not to explain something.
Russ: Obviously it’s permanently changing, even over the course I ran with you around Australia, I noticed that over the four days that I ran the in-depth workshop, and probably you felt the same, that you would explain something or talk about something and over the four workshops you’d explain it slightly differently or add something in slightly differently. So it’s a permanent, permanent iteration.
Kevin: Yeah. And what I find with these courses is the social aspect of it means that even if, you know, not everyone will understand the same explanation. If you come up with the perfect explanation for CSS positioning contexts, to pull something out of the air, even at your best you’re only gonna get 90 percent of the people to completely click in on your way of explaining it.
Kevin: But the fact with these courses, that 10 percent who don’t really get it immediately hop in the forum and go I didn’t really get it when Kev was talking about this. And the other 90 percent of the class are really keen to share their newfound wisdom, they’ve just managed to understand this tricky concept, and they’re really excited to share that knowledge. And what you find is five people jump in on that forum thread and explain it in their own way.
Russ: Oh, that’s fantastic.
Kevin: And so if you don’t get it the way the instructors explained it, you’ve got five other students jumping in within minutes ready to teach it to you their own way. And so it’s really exciting; if you don’t get it the way one person explains it you can try someone else’s explanation and someone else’s explanation. And I’ve yet to see someone walk away from the forum going, yeah, I really don’t get this, sorry this isn’t working for me. It’s surprising.
Russ: I’m really looking forward to this. It will be a lot of fun. And if nothing else then we can steal some of these explanations.
Russ: Hmm-mm. I’m sorry, is that what I’m doing? I thought I was doing Flash.
Kevin: (laughs) That’s next; we’ll get you to do Flash next.
Russ: God, no, don’t do that.
Russ: I suppose it’s always been a passion. And to answer your question about where we are now, I think it’s an amazing time to be learning CSS because I don’t know about you, but for years there’s been all these amazing selectors, for example, that I just haven’t taught people simply because there’s nothing worse than standing in front of a group and saying here’s a selector that is fantastic but you just can’t use yet.
Russ: And we’re on the cusp now where a lot of this stuff can be used. And so there’s a real change in — you know for the first time this year even in the basic course I taught every single selector. And I said these are really worth knowing now because, you know, IE9 is coming along and it’s a time when we can really accept that all browsers are on the money. So it is a fantastic time to be sort of in this industry and learning about CSS.
Kevin: Yeah, during that Internet Explorer 6 lull there was just, you know, the browsers stopped moving but the standards kept moving forward. And those of us who had come to grips with what you could do in browsers today, it was very easy for us to get excited about what might be coming next. And you want to tell everyone what might be coming next, but to someone learning CSS for the first time, and considering it as a new tool, it’s kind of — I mean it must ring really hollow when you go here’s the most exciting thing about CSS but you can’t use it yet.
Russ: Exactly right.
Kevin: And they go, you might as well have just made it up, there’s no practical use for that in the real world.
Russ: I think you’ve hit it on the head. I used to — in the very beginning I used to teach people everything that was possible, and then there’s a huge gap between the theory of CSS and the real world of CSS, even today. And so I quickly changed and moved back to teaching ways that you can basically walk out the door and use it on the spot. And luckily now that gap between theory and reality is much, much tighter than it was. But for those that were before the IE6 era, the Netscape 4 era was far worse. So for people that have been round even longer—
Kevin: I must have blocked it out.
Russ: (laughs) But that period was far, far worse, so. A lot of people used to whinge about IE6 and I kept thinking you should have been around during the Netscape 4 era.
Kevin: Yeah. So does that mean in five years time people will going, wow, that Firefox era, that really sucked.
Russ: (laughs) Well, you know, what’s interesting is that you look at the mobile space, and to me the mobile space is reminiscent of the early browser wars era. You know, in the early days we had all these different devices and they’re all doing different things, and it was a chaotic landscape. And if you look at the mobile industry that’s the same, and even some of the CSS3 selectors, some of those sort of areas where in order to make a CSS3 selector work you have to do vendor specific properties and things like that. So in some ways what’s old is new again.
Kevin: Hmm. So what has you most excited in the CSS world at the moment? I know you talked my ear off for about half an hour in Brisbane about media queries; is that where you heart is at the moment?
Russ: Yeah, I suppose. I think a lot of people focus on CSS3 and the cool factor. So they’ll be talking to you about drop shadows and transitions and things like that, which I think they’re all great and obviously round corners and things like that. But to me I think the two most amazing features that people should be really be getting a handle on are CSS3 selectors and media queries, because those two are like the ultimate weapons for designers and developers. They allow us to build websites in amazing new ways. And also in terms of selectors they allow us to target different aspects of the code with minimal mark-up, and I think that’s something which I know that you’re in the same boat, that the cleaner you can keep your markup the better. And with CSS3 so much more power enables you to target onto elements and say make that element red, etcetera.
Kevin: So let’s shift gears here a minute and talk about your other project. Gosh, you have no shortage of things to keep you busy, Russ. But tell us a bit about Full Code Press because down here in Australia Full Code Press is a big deal, but I suspect there’s plenty of people listening who haven’t heard of Full Code Press.
Russ: Yeah, it’s an interesting idea. It came from a guy called Mike Brown from— he runs Webstock in New Zealand, and basically just rang me up one day and said why don’t we do a competition between Australia and New Zealand for bragging rights. But the key point of it was that it would be for charity. So basically the idea is that two teams, one from Australia, one from New Zealand, are given a charity, a real charity website, and they’re literally given 24 hours. So at the start of the competition they’re literally handed their clients, physical clients; they sit down, they get a brief, and 24 hours later they have to have full and complete website. And it’s an amazing competition to watch; I’ve never participated in it being an organizer, so I’m sure it’s hell for the participants—
Russ: —but I don’t care about them. What’s been amazing is that seeing the clients walk away with a complete website has just been quite a staggering thing that they’re genuinely so appreciative of what these teams are able to achieve in such a short time.
Kevin: Do you find that, I don’t know, do you find that these sites that are generated could be accused of being demo-ware, that they’re just barely able to hold up to scrutiny of a judging panel but you wouldn’t want to actually put them out on the Web the next day? Is there more work to be done after Full Code Press is over?
Russ: Well, there are two things here. One, both these are good points; one is that after they were handed over, in almost every case the team has gone to the client and said this is pretty well ready to go live, but there’s a couple little things if we’d had more time we’d like to do. And in most cases just off their own back the teams have chosen to work a little bit extra to tweak some things that they would like to have seen improved over that 24 hour period.
But I think the bigger question is what’s the quality of what’s being handed over. And in all years we’ve had a serious panel of judges, like it has been quite a rigorous process. And the judges have always been really impressed with the quality of the product. And I think a lot of people forget that— they look of it is you’re building a site within 24 hours; what they often forget to realize is that really in the past years it’s been seven people. So if you put seven people times 24 hours, I’m no good at maths, but that adds up to a lot of hours. And the reality is on small projects the amount of time you put in that 24 hours is almost equivalent to a small team working on a non-for-profit website anyway. So it’s not that far removed in the actual hours that would have been spent, it’s just all condensed down into a panicky, sweaty 24 hours.
Kevin: Yeah, my calculator says that’s 168 man-hours, and that is pretty significant.
Russ: Yeah, I think when you look at it like that if you were to say to someone, you know, could I build a website in 168 hours start to finish, you’d say absolutely. And I think it’s just the way you look at it; people focus on the 24 hours rather than the actual person hours, if you know what I mean.
Kevin: So I know last year there was a bit of a clash between the two teams, and one of the teams used like a ready-made content management system, and the other sort of did a build from scratch kind of approach; is my memory serving me right?
Russ: Yes. Well, it’s actually both years in fact. And oddly enough, in both cases the New Zealand team built from scratch and the Australians chose I think the first year I believe it was either Drupal or Joomla — I think it was Drupal, and the second year, last year, was WordPress.
Kevin: Yeah. Well I know Brad Williams, one of our regular co-hosts would approve of the choice of WordPress. Did that site win?
Russ: In fact, as embarrassing as it is to admit, the Australian team has, I’m not going to use the word lost, come second on both occasions.
Russ: This year — this year there’s three teams because there’s the Dream Team coming from the States.
Russ: So it’s held in Wellington, and this year it’s not only the Aussies versus New Zealand, but Aussie versus New Zealand versus USA, so there’s gonna be some blood and sweat on the floor for sure.
Kevin: Gee. I was gonna say I could see this model working as a Canada versus the United States in North America.
Kevin: Maybe even Britain versus France in Europe, something like that; I’m sure there’s some national rivalries that you could exploit.
Russ: Yeah. Well, oddly enough, when we first — when we ran the first event we went all sort of open sourced and said actually what we can do is just open this up to competitions around the world. And we sort of started to put our feelers out there to see who’s interested, and then were just bombarded with people from around the world just saying we want to take part. And we had to take a step back and just went, hang on, this is a huge undertaking. So it’s something we’re still interested in, but I mean both Mike and I have to run jobs and things like that, and really to do that, while it would be amazing, it would be like a full time career.
Russ: So it’s something that we’re interested in doing, but —
Kevin: We could kiss our CSS Live Course goodbye is what you’re saying.
Russ: (laughs) For sure.
Kevin: So when is Full Code Press kicking off this year?
Russ: It’s kicking off, he says looking at the website dates, 19th and 20th of June, so quite soon.
Kevin: Alright! Wow, so that’ll be done and dusted by the time your course starts up.
Russ: Yes, and oddly enough, I think I can hear Mike’s voice in the back of my head saying, Russ, make sure that you tell them about the workshop you’re running over there.
Mike asked me to run a CSS workshop I think the two days before Full Code Press takes place. So —
Kevin: Hopefully not for the benefit of the teams.
Russ: (laughs) God, no!
Russ: If the teams are sitting in on the workshops we’ve got a lot of problems on our hands. No these are — I think that we can call them crack teams; is that a word you use, crack teams?
Kevin: Oh, absolutely. So you’ve got the dream team, you’ve got the crack team, which I assume is the New Zealand team.
Russ: I don’t know, I think the word crack has too many bad connotations, so we should stay away from it (laughs).
So thanks for joining me today Russ.
Russ: It’s been an honor.
Kevin: It’s been a great chat. I look forward to a de-brief after our two courses are over because, yeah, its exciting stuff and I can’t wait to see what you thought of it in retrospect.
Russ: Yeah, I’m sure it’s gonna be a lot of fun. I can’t wait to meet people in the forums, and if it’s as good as you say I may never leave; I may just dive into the forums and never come out.
Kevin: Ha, ha, ha, ha. Well, they’ll need to find someone else to run Full Code Press next year.
Thanks again, Russ.
Russ: No worries.
Kevin: And thanks for listening to the SitePoint Podcast. If you have any thoughts or questions about today’s interview, please do get in touch. You can find SitePoint on Twitter @sitepointdotcom, and you can find me on Twitter @sentience.
Visit sitepoint.com/podcast to leave a comment on this show and to subscribe to get every show automatically. We’ll be back next week with another news and commentary show with our usual panel of experts.
This episode of the SitePoint Podcast was produced by Karn Broad, and I’m Kevin Yank. Bye for now!
7 Habits of Successful CTOs
"What makes a great CTO?" Engineering skills? Business savvy? An innate tendency to channel a mythical creature (ahem, unicorn)? All of the above? Discover the top traits of the most successful CTOs in this free guide.