Rachel Andrew is a massively experienced, self-taught web developer, managing director at edgeofmyseat.com and one of the developers of the really little content management system, Perch. She is also a much sought-after writer and speaker on all things web. We caught up with her at Future of Web Apps London.
Awwwards Team: How did you get into web development?
Well, my background's not this at all. I trained to be a dancer and danced for a while, did some choreography and things.
I eventually quit dancing and went backstage in the theatre, and I worked in the West End as essentially a theatre carpenter for about a year and a half. Then I got pregnant with my daughter when I was 22 and had no real other skills other than working in the theatre, I left school at 16 with dreadful GCSEs. And so I'd got a computer, and I could type reasonably well. I thought, well if I've got this computer I could do word processing for people and I could make some money by typing people's CVs and things like that. And because I was on my own, pregnant and not really knowing anything about babies, all my friends were men, I'd never even held a baby, so I was using the internet in the fairly early days of things to talk to other parents and find out about things.
So that's how I got into it, in a very bizarre way and a way that I think only really worked back then when things were an awful lot simpler. It took me an afternoon to teach myself HTML and it was before CSS. I now remember CSS happening, going "Oh, I don't know what this is". So it was a lot easier to teach yourself, so I kind of grew up with it and new things would come along. I can remember seeing my first image rollover, thinking "Wow, what magic is this?" So I just learned the next thing that I saw. I think it's a lot harder these days to know where to start.
And how did you start speaking at events? Which was the first one you did?
I think probably an @media was the first big conference I did, which was three or four years ago. I've not done a huge amount of speaking until very recently, I think people think I've been around for a very long time doing this, and I haven't, but I've been writing for a long time. I've written a ton of books and lots of articles and things, so people sort of assume that I do more speaking, I think, than I do. It's really been this year that I've done a lot of speaking. I've been all over the place this year and it's been great. Mainly because my daughter's got old enough for me to be happy about leaving her. She's busy doing her own thing and it's not really a problem for me to be away for three days at a conference. She can get herself around. So I think just in the way that my life's changed, it's made it easier. So really in the last 2 years or so I've done more speaking, but certainly this year it seems like I'm out somewhere every month, which is cool.
What do you think's the biggest one you've been involved with?
These [Future of Web Apps/ Future of Mobile] are probably the biggest events in terms of number of people. I did a Future of Web Design, I'm not quite sure what the audience was for that.
Were there any you were really pleased to be asked to?
I've just come back from Smashing Conf in Germany, and that was brilliant. I was really pleased to be asked and that was really good fun. The group of speakers they had, it was a bit like going on holiday with my friends. They're all people I've known for years, and it was just a nice conference. It was relatively small, maybe 350 people they could get in. It wasn't a huge conference, limited by the venue they were in and things, but it was just very nicely organised and we were very well looked after. It was fun to be asked for that first conference they were doing. Given the other people on the line-up as well, it was quite cool. But I'm always really pleased when people ask! Whether it's just a local geek night...I did the Reading Geek Night last week, went and talked a bit about our product, Perch, for 20 minutes, and that was great fun. I'm always pleased when people ask because I think it's very nice that they want to hear what you've got to say.
About Perch CMS
Can you tell me something about Perch? What's different about it?
Perch is a little Content Management System. Really that came about because as a company, we'd been building big Content Management Systems. We tended to build the sort of thing where someone realises that none of the off-the-shelf systems are really going to work for whatever they need to do. So we were doing these large-scale things and we cared a lot about the front-end code that was output by the CMS, because a lot of the problems with CMSs is that they output awful, awful code, and so they sort of destroy designs, they're very inflexible, you can't use whatever design you want. With our big framework we'd kind of solved those problems, and made something that worked really well, and we wanted something similar but that worked for tiny sites, and that was incredibly quick to deploy. So we sort of distilled that down into Perch, and the whole idea of Perch, really, is that you can drop in a couple of tags onto a page, refresh the page, go to your admin area and then start editing the content. And the other thing is that you're in complete control of the markup. We don't output any markup that you don't choose. So you write your templates, you decide if you want to use HTML5, or if you want to output an XML document, or anything else. Perch just deals with the content, it doesn't decide on your design for you.
So that was really where that came from. It was our need, we wanted something like that. We wanted something to recommend to clients. We traditionally worked for design agencies, so they'd get us in for some great big project and then they'd say "Oh, you know, we've got this little thing that needs a CMS as well, and we didn't really have anything to suggest to them, and so that was why we built Perch. Really for ourselves initially and then as we were designing it and deciding what we were going to do, we kind of realised that actually, other people will want this. And at this point, most of our business is just Perch. We do a very small amount of client work. We did one big site this year, for a festival , but we're not doing a lot of client work at all now. So we've really turned the company from being a service business to a software company in the last three years.
And was that the plan?
No! When we launched Perch we thought, well if we could sell maybe three copies a week or something like that it'd be quite cool, you know. We're not from a product background, either of us. Before Drew joined the company he was working for Yahoo and he's worked for agencies and things before. I've been running the business as a service business since 2001, after I left the dot com companies I was working at. So we don't have a background in product, so really everything we did was just like, "Oh well, we'll try this". So it's been really interesting, and I've talked quite a lot about launching Perch and the things that we did just because we didn't really do anything special, and we're not anything special, you know, and we had no investment. It's just us in an office, going "Oh, I think we might try this". Which is great, because that is reproducible, other people can do that as well, which I think is the nice thing. We're no different to any other developers out there.
Do you read any blogs regularly? Is there anyone whose writing you look out for?
I'm always interested in what's coming up on A List Apart, because I think people write in an interesting way for that. They tend to write about things that are a bit more about what they're thinking and putting ideas out there, rather than technical How-tos. If I'm looking for how to do something then I'll search and see what comes up. I like stuff where people are just putting thoughts out there, because that's the kind of thing you can run with and say "Well, hang on, where does this lead technically?" Because most of what we do is from a development point of view, so I enjoy reading stuff by designers or content people, just to see what they're thinking about and how does that map to the sort of stuff we code. And then often I'll meet people at conferences. I always like to read stuff that Mark Boulton writes, for instance, because I think he has interesting thoughts on the industry generally. It tends to be, I'll meet people and then I'll follow their writing. But generally I'm always looking for people thinking about this business. I've always written a lot of "how to" articles - for print magazines as well as online. There's definitely a market for that as a lot of people learn well from step-by-step tutorials. The stuff that inspires me, however, is often more people thinking around a subject, rather than just explaining how to do something. I think that is something A List Apart do very well, they give people the space to talk like that.
And they do produce some important things that really take hold.
Yes, like with Responsive Design. But when you write that kind of thing you don't really know what is going to catch on. Even on my own blog it's funny the sort of things that people are interested in. You know, you sort of dash something off that's in your head, and find that that gets a load of traffic.
You're going to be speaking tomorrow. Can you summarise the main points that you want people to take away?
So I propose that people take the opposite approach and start with nothing, and add the stuff as they need it, as they hit the problem, say "Well how do I solve this problem? And what's out there? Or do I write something myself to solve it?" And I think it's becoming a real problem and as someone who's been involved in educating people as well as writing code, I've been writing for years, and I worry that if we're encouraging people just to copy and paste then we're kind of stopping people from learning. We're saying to them "Oh, just use this and it'll be fine", and they don't know why they're using it.
What do you think are the key trends that will be coming in the near future?
I think it's very interesting that a few years ago we were all expecting that everyone was going to be on huge screens with high bandwidth, and that's what we were all predicting. We were all saying "in a few year's time we're going to have massive screens and all this space and people are going to have really fast connections" and what's happened is we've all ended up on tiny little screens with crappy bandwidth. I think it's in that area. What I hope is that we're going to have better ways to deliver content to different devices and different bandwidths. Because at the moment, you know, there's the responsive images problem. How do I know whether I should be serving a small image, or a retina image, or a giant image for a posh display? Because it's not just on screen size, it's also on bandwidth. If I'm on my iPad at home, on my Wi-Fi, I want the nice images so I can see them on the retina display. If I'm on the train somewhere and I'm going to use 3G, I'd like to have the optimized image. So it's not just screen sizes, it's to do with where you are and that, I think, is the biggest issue with doing responsive design at the moment. You can't just make assumptions based on screen size, you need to be thinking, "Where is this person and what connection are they on?"
The only client work we did this year was this festival website and a lot of the traffic while the festival's on is obviously mobile traffic. But an awful lot of it is also people on laptops, so normal screens but on mobile broadband, either tethered to their phone of with Wi-Fi or whatever. Now, you can't detect those people easily. So it's how do we deal with that issue? There are a lot of people thinking about the responsive images issue and I think this is part of that. How do we deliver appropriate content, particularly when it comes to images and video as well? And ow do we let people make the choice? Because sometimes you might be on a crappy connection but you actually do want to get the big image for some reason. What kind of interfaces allow people to say "Give me the best you've got, not the low quality". That, to me, is an interesting area. It involves working right through from browser manufacturers and device manufacturers. It's not an easy thing to solve, but I hope that's something that will be solved. That would really give us the ability to do truly responsive stuff.
What kind of technologies are you getting into? What disciplines are you going to be focusing on in the near future? Are you learning anything now?
Well, we're all PHP because our product has to be hosted anywhere, and that kind of ties you to a very low baseline, really. We use PHP and we can't even use the latest version of PHP because shared hosting is often terrible. There are many rants I could have about shared hosting. For instance, these NoSQL databases would work really well for Perch. We can't use them because they're not on anybody's hosting, so we have to use MySQL. If you were designing Perch and you could choose the hosting environment then you would probably choose a different database, or you could well do. So we spend a lot of time actually having to use essentially outdated technology, because we can't even use the latest stuff that's in PHP. We're always like "Oh, that'd be great", but we can't count on it being there. When we launched three years ago we were PHP5- any version. We've recently moved to PHP 5.2, which is what WordPress also did. We figured if WordPress has done it, that's going to force hosts to upgrade to at least 5.2, which it has. We've not had any problems with that.
And I'm quite interested in things like Node.js, and I'd quite like to spend a bit of time learning about that as well, because I think that's quite useful. I've been talking to a few people at conferences who are saying "You definitely should look at it" and giving me some actual use-cases for it, rather than just "Oh, it's a cool thing". I'm not very good at just learning things because they're there, I like to think "I could use this". I learn better on a project basis: "I want to do something, I need to learn this to do it". Because that's how I've always taught myself. I learned Perl originally because I wanted a guest book for my website. So I've always learned like that. So that's probably something I'll be looking at. Node, and just seeing what can be done with that.
Other things on the server level, things like Varnish for caching and Solar for search, and things like that are interesting. I like playing around with those kinds of technologies.
What would you recommend for a complete newbie to learn first, apart from HTML?
HTML and CSS, because it doesn't matter where you are, or if you're a designer or a developer, that's the output, that's what goes to the browser, so you need to know HTML and CSS to be able to work on either side of that. And then from a development point of view, I don't think it matters so much which language you learn, as long as you learn one really well, because it's actually quite easy to hop from language to language once you understand how to write code. As I say, I learned Perl first, I was fairly quickly then a Classic ASP developer, which is a completely different Syntax, and it didn't take me very long to shift my skills. And then when Microsoft moved to .net rather than Classic ASP, I went to Java first and then to PHP.
The best thing to do is to learn one thing well. PHP's quite good because it's very cheap to get into and you can get hosting, but lots of people really don't like PHP. But whether it's PHP, Ruby or Python, it doesn't really matter as long as you learn how to do it well and you learn the programming constructs, and from that point, really, you can move to something else. The worst thing to do is to hop around from one thing to another and get this surface level of everything, because you never then learn how to do anything seriously and you get into that copy-and-paste code trap.
Who do you think is leading the way now, who's moving things forward?
It really depends where you are and what you're looking at. If you take, for instance, responsive design. Obviously, Ethan came up with that concept, but then loads of people are doing different bits of that and moving that all forward, and I think it's the same with most things. It's almost like there's some sort of hive mind. Lots of people are thinking about the same things, someone then will voice it. That's why I think things like A List Apart are so important, that give a good platform for someone to voice something and say "Hang on, this is something we've been looking at" and then lots of other people suddenly pop out of the woodwork and say, "Well I'm kind of doing that".
I was talking at Smashing Conference about content management, and the evils of WYSIWYG editors, and then doing a search around, I found quite a few other people from different areas talking about similar things, from a content point of view, and Karen McGrane has talked a lot about content management in terms of the content itself, and then at Frontiers. It's almost like, just as someone raises their head over the parapet, there are other people out there. So it's difficult to point at someone and say, "Ah, this person is our leader". I don't think we have someone in the position that say Zeldman was in with the early days of WaSP. There was a clear focus to that movement. I think there are so many different things going on now, you could ask that question and everyone would have different answers about the people that are inspiring them at the time. I think there are just so many more people doing this stuff now.
Is there anything you've read recently that's grabbed you, and made you think "I was thinking that"?
I think particularly the responsive images stuff, because Drew and I were discussing that in the office when we were doing the Greenbelt site, and then a couple of weeks later I started seeing other people saying similar things and I thought "Ah, yes" and I think it was just because people were building their responsive designs and then hitting up against these problems. I think that's a lot of what it is, really. As technology moves on, we all start finding the same issues at around the same time and it just takes someone to put pen to paper and frame it in a good way.
Have you got any Apps that you couldn't live without?
Well, I used to have an Android phone and I've just got an iPhone 5. In fact I was just tweeting because I couldn't figure out how to turn the noise off on it! So I haven't really got into the different apps yet. Mainly I was just finding the things that I used on Android, like for Twitter. Just keeping up with work, so calendaring and social stuff, keeping up with what my daughter's doing by watching Facebook. I don't need her to check in with me because I can just look on Facebook and see she's all right. So really it's that sort of stuff I use my phone for. As I say, I'm so new to the iPhone, I'm still looking at it. With my Android phone, I got fed up of the fact that you'd get a phone and 6 months later they wouldn't offer any updates for it. That's the problem with Android, it's so fragmented and people bring out devices then just abandon them. I'm also having to learn how to use a touchscreen, because I had an Android phone with a physical keyboard, which is what I like. I used to have Nokia Communicators with a big keyboard. So I'm currently sending everyone really stupid-looking messages as I try and type. I'm only just getting to grips with it.
Present and Future Plans
So you said you've moved towards Software. Are you still building any client projects at all?
Just really the odd thing, as I was saying. Greenbelt Festival's a client of ours and has been for a very long time, so we're carrying on because we really enjoy working on their project and we rebuilt their site for them earlier this year. And that's a really good, fun thing, being involved with an arts festival is brilliant. We're there on site when the festival's on. I floor-manage the TV studio on site, and we filmed 41 TED-stlye talks on site this year, so they'll be going out onto the website, and Drew is also on their photography team during the festival. So we're actually involved in creating a lot of the media which then goes onto the site, which is great fun. Apart from that, at this point I'm really more interested in doing consultancy, to help other people do stuff well and start projects well, rather than doing a lot of writing code for other people. I think we're both very, very experienced developers and there comes a point where actually, we're probably more useful passing on what we know, and letting people build their own things, than doing everything ourselves. That's more interesting, I think, and potentially more useful, because a lot of what you do when you're actually building a project is relatively trivial. The hard part is getting the project started well and after that point, relatively junior people can write the code. The hard part is planning it and making sure the architecture's sensible, and making decisions. And that's really the experience, and people don't need that experience for months and months and months while the project's being developed, if it's been started well. So that's really what both of us want to be doing more of, that kind of consultancy, and helping people make the big decisions which are then going to formulate how the project works out.
What are your plans in the very near future?
I'm writing a small book for 5 Simple Steps, about the new stuff that's coming into CSS that's going to be useful for responsive design. So that's going to be quite fun, I'll be doing that towards the end of the year. They've brought out this pocket guide series. There are a few people writing long essays, almost, which are going to be produced as eBooks. So that's quite fun. Then, as a company, we do Drew's project, 24 Ways, so that all kicks off soon. I try and stay out of the way on that.
Can you give me any hints about it?
I actually tend to watch from the sidelines, but we try and keep whoever's writing a secret until they come out, so it's more fun. But then of course the authors sometimes announce that they're writing on Twitter. There's some fantastic content on 24 Ways. Drew started it just as a personal thing, "I wonder if I could get 24 people to write the first year?" That's all it was, just "I wonder if people will do this" Then it somehow grew into this thing with a life of its own. So that's coming up.
We'll definitely be keeping an eye on 24 Ways, and we'd like to follow up on the book, when it does come out.
Yeah, definitely. It's quite nice as an author to write something that's shorter. I've written big proper books that sit on shelves, and they take quite a long time to write and to some extent, particularly writing about very new stuff, you're almost going to be out of date by the time it gets onto the shelves because things are moving so quickly. So the nice thing about doing these small eBooks is that they can be updated and they can link to examples that can be updated. Especially when writing about things which aren't that well implemented in browsers yet, there's a fair chance that something that goes in will be different a few months later. So it's nice to write in that way so you can change things if it does change.
Women in Web
There aren't many women working in this world. Have you found it to be in any way a limitation, being a woman?
It's certainly not been a limitation. I was working backstage in the theatre, where there are even fewer women, because there it does actually come down to physical strength. I happen to be very strong, I did quite a lot of weightlifting and things, so I was always fine in that world, but there is a physical limitation in that world. If you're not strong enough you're not going to be safe and you're not going to be a good part of a team, when your job is lifting heavy stuff.
There's obviously no reason, in this world, why women shouldn't be more represented. It's never really been a problem to me because I'm quite happy working in a male environment, and I've always had lots of male friends, far more, I think, than female friends. I'm a bit of a tomboy. I think that's kind of the issue, though. If web development's full of women like me, and people think "Well, you can't be a feminine person and into clothes and make-up or whatever, and be a web developer"... I think that sometimes gets put across, that you have to be a certain type of woman to want to be doing this, and that a geek is someone who looks a certain way. I think that is a bit of a problem. I am a scruffy nerd, with the jeans and the geeky t-shirts. But there's no reason why someone couldn't be, and there are lots of women who are, really into clothes and fashion and looking fantastic and also be brilliant programmers. But I think sometimes that's the impression we give, that a certain type of woman does this. And that would be a shame.
I think the older you get, the less hassle you get. It's easier being a woman the older you are in this sort of industry, because people stop thinking they might like to sleep with you and just worry about what code you're writing. The friends I've got in the industry who are younger women get an awful lot more hassle. I'm very glad that when I was a young woman in this business, no-one knew what anyone looked like, because 10 years ago people didn't have digital cameras, they didn't have Facebook profiles and Twitter profiles where you've got your picture on them. People just didn't know what each other looked like. You could be talking to someone for years without knowing what they looked like. There weren't even conferences, there weren't large conferences, particularly in the UK, so you never met anyone. I'd often meet someone for the first time who I'd been talking to for years, and we'd have no idea what each other looked like. That was easier, because I think I would have had more hassle. I get plenty of weird e-mails, when people realise you're female doing this, and think they've been looking for a girl like you all their life. But I've seen younger women in this industry getting real nasty hassle and that's not fun, and we should be calling that out when it happens.
But on the flipside I think we need to be careful not to dwell on that too much, because otherwise we make it look like the industry's very unwelcoming to women and it's not. These things happen but that's because there are idiots everywhere. You look at women in politics, and you look at women generally in the media- they get that kind of hassle. That's a cultural thing, that we treat women like that, and so of course it happens here. And I think it's right that we say "That is not acceptable" when we see it happening, but we need to be careful that we don't make it look like that happens more than it does, because most of the time I don't get any hassle, most people are great, most people aren't assuming I can't do my job.
Have you ever had hassle in person?
When I used to work in dot com companies, one of the things we had to do was look after the company laptops. I had a stack of laptops under my desk, and I used to just re-format them all. And when someone's laptop broke I'd just give them another one. So I was kind of the person in charge of laptops and I knew what sort of problems they had, they were all the same. I'd get called from the sales floor to go upstairs and fix someone's laptop, and I'd go up and there was one chap who'd say "Can you send up one of the boys?" He really didn't like a woman coming and knowing more about it. I'd say "Well, I can send up one of the boys, but he won't be able to fix your problem. You can have a nice chat." That sort of thing is just bizarre. And the other thing I get is sometimes when I go to places with Drew, people will talk to Drew as if he knows more about the business or the technology than I do. I don't even think people realise they do that. They just kind of assume that they should talk to the bloke. Less so, now that I'm more visible in my own right as a speaker.
Finally, what four or five sites do you go on every day?
I seem to spend an awful lot of time looking at stats for Perch. I generally check up on the news, BBC news, and see that the world's still out there. Zeldman said the way people are consuming the web now is looking at Twitter, and seeing what people are talking about, and that really is how I find things a lot of the time now. So I'll have a look at Twitter in the morning and see what people have been saying overnight, interesting things, and just go down that rabbit hole. Not even necessarily thinking which sites I'm ended up on, just "That's interesting" or "that's relevant to something I'm going to be writing about" and just collecting stuff like that.
So Twitter's the main thing, and I've also joined App.net, so I've started using that as well. So it's more seeing what the buzz is and following that. I normally spend half an hour or so in the morning just looking and seeing what's happening in the world, really, and what people are talking about and really taking it from there. It wasn’t until Jeffrey said that, that I thought "Yeah.” I don't have a bunch of bookmarks anymore that I open in the morning and look at. I very much look and just see what people are talking about and then follow the links. That really is a big change. Often that'll lead me to searching for more information about something. So Twitter is really my first port of call.
How many people do you follow?
About 500 I think. Generally I follow people I meet at my conferences, or someone who I know says interesting stuff. I try not to follow too many because it gets ridiculous, but the people I do follow tend to post interesting stuff, as well as a load of nonsense. I was told off by someone who followed me at a conference, because I came back and it was the Olympics closing ceremony, which I was hosting stupid things about on Twitter, and they tweeted me saying "I followed you, can you not just post technology tweets?" and I was like "No, this is my personal Twitter account, it's got my name on it". I do just use it for that. If people don't want to follow me, I don't mind! I don't use Twitter as some kind of promotional tool, I just use it as a person. But everything I do is like that. I'll mention the stuff I'm working on and what I'm doing, and if people are interested in it they can get in touch with me. But I'm not really out there selling constantly. I hope that the work speaks for itself really, if I'm doing good stuff people will be talking about it. If you're just a nice, approachable person, interesting stuff will happen and you'll get to do good things.