One strange misconception I often run up against is the idea that my work as a designer comes from this ethereal world of creativity and magic… as though problem solving, business acumen, and skill have nothing to do with it. Similarly, Web Developers – at least the ones I work with – need to tap into larger goals and strategy. I recently sat down with the very clever and thoughtful Jasper Palfree to chat about how he works and what clients could better understand about what he does.
I started off by asking Jasper about his process & planning:
Some may think that developers start by sitting down and coding. But I spend just as much time thinking, planning, and visualizing as I do typing away on the keyboard. The less one understands about the requirements the messier the code will get, so the first step is getting a high-level understanding of the project. I need to ask questions like: “What browsers am I supporting?”, “Is it responsive?”, and if so, “what exact devices are we using for testing?”. I need to figure out if I can use libraries to help me out, or if they will just add extra bloat to the site.
So how do you get started with a new project?
I use my own boilerplate setup for most things (if I’m starting from scratch). Then I add any third-party libraries, and build a rough draft. I try to get functionality sorted out before making anything pretty, because if I run into problems and need to change something fundamental, I’d have been wasting time painting an unfinished house, so to speak.
Jasper, tell me, who do you like to work with?
I love working with designers that understand web design. Let me clarify. Some designers have more experience with print design than web design. They can produce beautiful work, but the whole design tends to have a bias towards a single screen size. This makes things incredibly hard for developers because, effectively, they are unfinished designs. Designers who have a basic understanding of CSS (the scripting language used to style websites) tend to be able to communicate their design choices very effectively to developers. It’s always a pleasure to work with them.
That makes sense. Apples and oranges. Some people just see fruit, but web design really is quite different from print.
Anyone else that you like to work with?
I also love working with clients that get developers in on the planning process. Projects where the designers sit down with the developers before anything happens in Creative Suite, tend to go much better than projects where the developer is hired only after the final designs are complete.
When diving in to a project, what’s more important: research or gut instinct?
Neither. It’s testing.
Ah, yes of course. Tell me more about how that works for you.
You have to test. Never underestimate the user’s ability to ruin your beautiful code. The only way to be sure the product works is to have a plan to test it, and test it until you’re blue in the face. There are so many variations on web browsers, screen sizes, feature support, etc. There is such a thing as “Web Standards”, but no web browser follows it perfectly… so research is good, but at the end of the day, you need to test for quirks.
In your field, how important is marketing? Is it important to connect with an audience? How do you find your audience, keep in touch with them, and grow your base throughout the year?
I love that. It’s so great that you’ve been successful with a project that you obviously enjoy so much. I think that’s key: that idea that we explore and pursue our passions through our work. You never know when a passion project can be a game-changer! Hey, do you have a dream project?
I’d like to be the team lead on a large interactive educational endeavour.
I currently build interactive educational simulations as part of a project called MinuteLabs.io. But currently I’m the only developer, for the most part. There are others out there that are making _amazing_ stuff. But they too, are working solo. I’d love to rally those like-minded developers and content creators around a large-scale project and build something that would knock The Internet’s sockets off.
That’s a very exciting idea!
I’m going to switch gears a bit here because sometimes it’s the less… shall we say… ‘inspiring’ projects that keep the lights on. And even when you are into what a client is doing, sometimes you’re asked to take the job in a direction you may not be so keen about. It’s the nature of Client Services. How do you handle creative differences if they arise? What do you do to turn the project around?
I try to listen. I try to figure out why the client has that opinion, because maybe they are thinking about it with completely different considerations in mind and arriving at a logical conclusion. Once I understand that, either I change my opinion, or I try to convince them that it is in their best interest to take my advice. I will debate to a certain point, but at the end of the day the client calls the shots. They have hired me for my expertise and if they don’t want to trust my years of experience, then that’s their choice.
I totally agree with you, and I know you to be a really good listener. I also know just how valuable a skill that is as a service provider. I admire that about you and your methodology. Have you had any mind-changing or about-face moments?
When I was learning web development, I tended to build everything myself. Any functionality I needed, I would make my own library for. I knew exactly how everything worked and I could fix any problem. But then I completely changed my mind and thought the solution was to use a third-party library whenever possible. Why reinvent the wheel? People have dedicated lots of time to sorting out mundane problems. I shouldn’t concern myself with those problems.
I can relate to that. You’ve since changed your mind?
Yes, now I think a combination is needed. Sometimes libraries will add unnecessary complexity to fix a really simple problem you have (or don’t have!). Sometimes, a library will not be maintained and if there’s a bug with the library and the creator hasn’t touched the code in a year, you’re going to be wasting time trying to fix the library. Nowadays I think about it in terms of risk assessment. Does the risk of using this third-party library outweigh the time it would take me to write it myself? Sometimes, yes. Sometimes, no.
So true. Okay: what’s the best piece of field advice you were given?
“Justify your design decisions.”
This may sound like advice specific to a designer, but it also applies to coding as well. When coding something, you make certain architectural (design) decisions about how the code is laid out. Sometimes I can get carried away with making the code “do everything”, or become overly fancy. But if I ask myself “why?”, it keeps me in check. “Does this component need to handle these extra options, or is that adding unnecessary complications and making the code harder to maintain?
Life lessons, right?!
I really enjoyed speaking with Jasper and learned a lot about how he approaches the other side of a web design. To follow Jasper’s tweets on web development, science, and more, find him on Twitter at @. You can visit his website at wellcaffeinated.net.
Check back again for more conversations with interesting experts like Jasper.
Reesa Del Duca is a Graphic Designer with Ballyhoo Graphic Design in Toronto.
Jasper is the well-caffeinated developer for MinuteLabs.io. He is also based in Toronto.