Falling Leaves: the Ardes blog

Archives filed under "design process"

Implications of Responsive Web Design

Ray Drainville

Web designers who are interested in providing an optimal experience for viewports of widely-varying width—I’m looking at you, traditional computers, iPhone & iPad—will be very interested in responsive web design.

A term coined by Ethan Marcotte in a revolutionary article (and compelling read), responsive web design takes together a number of elements that have been rattling around recently—CSS3 media queries, fluid grids, flexible images, in particular—and Marcotte showed how they can interact with one another to provide a powerful web presence across widely varying viewports. Since then, he’s expanded upon the subject by publishing a book. It’s the single best place to go in order to get up-to-speed on the subject—although, like all “A Book Apart” titles, it’s woefully small & at best a very general introduction to the subject.

I’ve just completed the process of converting a site I’ve been working on to a responsive design. This site is an ideal candidate for a responsive web design approach in that it’s an academic site & the participants, the prime candidates to access its content, are all around the world. The site provides information about upcoming workshops, meaning that the target viewers (participants in the academic project) are very likely to access the site’s content while using handheld devices such as the iPhone or iPad. As such, I received a nice introduction into the subject, particularly with the real-world repercussions.

Janus Cascade

One thing that I didn’t notice in Marcotte’s article or book is that by wrapping our designs in media queries, a style’s cascade is now two-facing. There are massive implications with this approach, and if you take a pixel-based approach, as opposed to the percentage-based approach Marcotte takes, all hell breaks loose. Here’s an example to show what I mean:

Say you have a DIV & when the viewport is a desktop size, you want it to be 100 pixels & float left; but on an iPad’s portrait mode, you want it to remain the same size & float right; and finally, on an iPhone portrait mode, you want it to be 300 pixels & display as a block. Here’s how you might go about that:

  @media screen and (min-width: 1040px) { /* For Traditional Computers */
    div { width: 800px; float: left; }
  }

  @media screen and (min-width: 810px) { /* For iPad: Portrait Mode */
    div { float: right; }
  }

  @media screen and (min-width: 320px) { /* For iPhone: Portrait mode */
    div { width: 300px; display: block; }
  }

If you looked at the page with the DIV in question in your various viewports, everything would seem to be OK. But for the sake of experimentation, on your desktop machine, resize your browser window.

You’d be in for a shock if you resized your browser window. When the browser’s wide, then the DIV is big & floats left. Shrink the window & the DIV floats right. What happens when you make the browser really small? Well, actually, it’ll still float right because you haven’t overridden the iPad portrait mode declaration. Now refresh your tiny browser window & you’ll see that the DIV now displays as a block. That’s because it’s not cascading the iPad portrait mode’s float declarations, because that condition hasn’t been met in your refresh. As Keanu Reeves would say: Whoah!

Now start resizing the window from that tiny width. You’ll notice that your floats aren’t floating, but displaying as a block; and furthermore, your box has not jumped to 1000 pixels in width, but has remained at 300 pixels. Again, it’s because you’re inheriting the display: block from the iPhone portrait mode declaration. See? Cascades now work two ways, depending upon how you resize. Double whoah! The solution here is to explicitly state in your iPad portrait mode that you want the div at 800px & also declare in each case where you want the DIV to float & how it’s to be displayed in the document flow.

Go With Percentages, Not Pixels

The other implication that I’ve only grazed above: working in pixels is a bad, bad idea. This is the reason why Marcotte exclusively refers to items in percentages: it’s a more elastic approach & won’t fall apart quite as thoroughly as pixel-based approaches. And in my experience, when I switched from pixels to percentages, the site coalesced really quickly.

Go Forth Warily

Freaky deaky responsive web design: you probably have a lot more testing to do now. And for Internet Explorer (prior to version 9, which is very good), you’ll need some help for reading media queries.

Make no mistake: responsive design is the future of web design & with the explosion of handheld devices, it’s very much worth it: no longer will you have to design multiple sites for different classes of devices. In fact, the first non-personal site, the Boston Globe, has just launched as a responsive site, and the power of this unified approach is self-evident.

Designing a Font

Ray Drainville

There’s a great article about designing a font over at “I Love Typography” that’s worth a thorough read.

I love, love, love articles like this: they stick you directly in the mind of the author & give you practical tips for doing something similar, if you’re interested in doing so. Even if you’re not interested in designing a font, the observations that arise from the article will help hone your vision for designing anything.

Logo Design: WindowKing

Ray Drainville

Earlier this week, I promised that I’d provide some examples of our graphic development process. This is the first in the series.

Simply put, I love logo design. Even though it’s simply the development of corporate identity—and is therefore about as commercially-oriented as anything can be—there’s something actually exciting about defining someone so precisely in a graphical medium. In logo design, your aim is to get to the essence of an organisation—to idenfity not only what it is that they do, but communicate how they do it. They may sell widgets—but are they friendly? Or are they formal? Do they do or sell one thing, or many things? In your design, how specific can you—or should you—be about their work?

The answers to these questions come through a lot of conversation with your client—you’ll pick up on a lot of how they present themselves to the outside world by how they interact with you; but you’ll also need to speak with them about how they want to consciously present themselves. And in any discussion, note that the client may not be certain about how they want to present themselves. So if you’re presenting multiple designs to them, you often want to highlight different aspects to refine how they see themselves.

When we present work to our clients, we do it online, primarily to avoid scheduling conflicts, but also so that the client can think about what we’ve done in their own time. Pursuing design work in a meeting creates groupthink, which is something you want to avoid: no one is satisfied with work designed by a committee.

But as a designer, your job doesn’t end there. Few people are equipped with the vocabulary to discuss the arts. Your clients may completely bypass elements of your design that are blindingly obvious to you. So you have to walk them through your designs.

It’s also a good idea to present “Pros” & “Cons” for your designs—and to be as honest as you can about them. Why would you need, or even want, to do this? Because every design is a compromise between competing requirements. When you’re developing your work, you might think “This’ll look great on a website, but like ass on a printed page” & you’ve got to communicate this to people who, again, don’t necessarily see it. Why can’t they? Because you’ve got more experience of the print & online worlds: they don’t. They usually just type stuff into a Word document. So, ultimately, you’ve got to guide your clients, as honestly as possible, through the implications—both physical & psychological—of any design that you create.

Case Study: WindowKing

As a way of illustrating the above points, I’ve picked some logo design out of the deep archives. This is the work for a company called WindowKing, the first job we created for a favourite client that’s still with us. Back in 2001, this client wanted to create an e-commerce website to sell windows exclusively, through a new name: WindowKing. The logo would be used primarily on the web, but probably on printed invoices as well. The windows were primarily modern designs in PVC & wood, but they had a line in more expensive, sash-based windows as well, which they wanted to eventually also sell online. At the time the client’s company was fairly small, but they were very forward-thinking: they remain one of our most sophisticated & clued-up clients to this day.

I won’t go through the development of the site, as that’s beyond the scope of this post, but also because, visually speaking, everything stems from the logo design. When you’re creating a completely new entity for a client, you’ve got a clean slate to work on. Colours, fonts & stylistic approach all cascade from the logo to any other material, be it letterhead or website.

We very soon hit upon using a little crown in the logo. In addition, the company was informal in their approach, so we wanted to reflect that. But since they also wanted to sell more expensive, classic windows, we needed to create some designs that reflected this future direction. Also, if you focus too closely on cute imagery & fonts, the result can be cheap & cheeerful—which hardly reflected the client’s products.

NB: Keep in mind that these logos were designed in 2001. The colours & fonts employed are very much of a piece with the graphic design you found on the web at the time. We don’t work in a vacuum. Also, I’ll present what I wrote to the client at the time & add commentary to that afterwards. Finally, we hadn’t yet refined our design presentation, so “Pros” & “Cons” don’t make any appearance here.

edwardian_futura_boldThe first design conveys a combination of modernity (the “Window King” text) with traditionalism (the “WK” in the box at left).

Fonts: Aristocrat & Futura Bitstream

Wow, I have no idea what the hell I was thinking of. It just doesn’t work at all. Combining modernity with traditionalism is a tough thing to pull off at any time, but those colours & those fonts? I look back at this & suspect that this was the “ringer”—the design you put in just to round out a presentation, but don’t intend for the client to pick. Beware. I’m now older and wiser & I can state that all too often, the client will pick the fucking ringer. And you’ll have to live with it. So avoid doing this.

edwardian_scriptThis second design also plays with traditionalism with the type, but the gradated background suggests looking out a window at the sky.
Font: Edwardian Script

A fairly cute design, but this would’ve been expensive to print: you’re talking four colour plates. I also think the “looking out the window” idea doesn’t work at all, it just looks like a blue sky with one part chopped off for no reason except for a dodgy attempt at “dynamism”. Despite all these nasty comments, however, I think it would’ve worked well on a website, but ultimately it doesn’t convey anything of the informal atmosphere of the client’s business.

futura_light_and_bold

This third design is professional & modern, yet somewhat playful in the use of the crown. This logo would be striking used for either a website or printed material such as letterheads.

Font: Futura Bitstream (Light & Bold)

Now we’re talking! I look back & still think this is the strongest logo of the set. It’s striking, cheap to print (one colour!), nicely balanced & amusing without being over the top. It still betrays my love affair with Futura: the font that wanted to be Helvetica, but couldn’t. The colour dates it to the early 2000s, but otherwise this is still a logo I’d be happy to have in my portfolio.

engravers_gothicThis fourth design is straight & classic, eschewing any gimmicks. It’s a little more run-of-the-mill than many of the other desgns, but such designs convey stability over differentiation.

Font: ITC Stone

Hmm, my notes say “Engraver’s Gothic”, which is the correct font. In any event, when I wrote “it’s a little more run-of-the-mill”, I meant it. You have to present clients with a “safe” choice: some people don’t want to stand out from the crowd, sometimes because they’re a really small company that wants to project the idea that they’re big & established (and boring), sometimes simply because they’re timid. You can interview a company all you want & this is the kind of thing that doesn’t come out of any discussions. And whilst it may seem timid on our part to offer a boring design, it’s important to remember that shouldn’t try to force a design upon your client—what might seem great & bold to you may just look crazy to them.

bodoni_compressedThe fifth design suggests lettering painted upon a window. A caveat on this logo, however: it would not make a good logo for any printed material.

Font: Bodoni Bold Compressed

No, it wouldn’t make for a good printed logo; I look back upon this & cringe a bit. I can instantly see what I was getting at: the font & the “window effect” looks like something out of film noir. WindowKing, private eye, at your service, ma’am. This is far too gimmicky.

laserThe sixth design again emphasises the “royal” aspect of the site’s title, and the colours suggest quality.

Font: Laser

I still think this logo works pretty well, but it’s too generic: the company could’ve been “Bedding King” & it would’ve been equally appropriate. I do remember being struck by the wonderful, repeated diagonals of Laser—it makes a great pattern & really conveys dynamism, which is why I chose it for this company.

tf_queen_didoThe seventh design is bright & cheerful, while still suggesting quality. The blue background suggests that the crown has been set on a window ledge.

Font: TreacyFaces QueenDido ExtraBold

The purple is supposed to convey royalty, but it’s the wrong shade. No matter: that can be repaired. What can’t be repaired is the feeling that this looks like the logo for an airline company. I’ve never been able to get the font into any other design successfully, which is a shame: the contrast between thick & thin is really good.

industryThe eighth design, like #4, is based solely upon the typeface. The colours & choice of typeface however, suggest a more technically-oriented site.

Font: Industry Sans

This was an attempt to get a then-favoured font into a design: such love affairs are usually brief & I can’t fathom what I saw in it, as the lowercase letters aren’t in proportion with the uppercase. I was right, the logo looks like something technically-oriented, but that’s because of the colour & not the font: it looks like a line from a terminal window. A technically-oriented design emphasised the client’s eagerness to put their business online & represented at the time that whole “Bright Future” meme. They didn’t pick this one & I’m glad for it.

thai_tradeThe ninth design is a less formal re-working of [the design that looks like an airline logo]. It would be more successful on a web site than on printed material.

Font: ThaiTrade

The reason why it’d be less successful in printed material is because it would cost rather a lot to print. There’s something interesting about the serif strokes that extend from the bottom of the font’s glyphs, but in larger sizes this can become distracting. Of all the designs, this one most successfully mixes both the “window” & “king” aspects of the company’s name.

The green employed in the design is very much a relic of the early 2000s, however: painfully bright, it was supposed to convey freshness.

mona_lisaThe tenth design relies upon the typeface to denote quality.

Font: Mona Lisa

I think this pairs well with the first design: in other words, it’s a non-starter. By “quality” I may have meant “longevity”, as the font harks back to the 1920s & 1930s. The attempt to slice the design in half doesn’t work because the uppercase is so wildly taller than the lowercase: the “K”hangs, awkwardly, in an arbitrarily divided space.

secretarial_poolThe eleventh, and final, design is the most playful of all; yet the choice of typeface also conveys a more personal touch which might go over well with consumers.

Font: Secretarial Pool

I still think there’s something appealing about this design, but it’s risky: whilst it might make the company appear more approachable to consumers, it conversely might make them not take you seriously. The font’s very much of its time: in the late 1990s & early 2000s, there were several designs that harked back to 1950s advertising.

Lessons Learned

So which did the client pick? Off the bat, they picked the “Thai Trade” design: no tweaking requested. In retrospect, it’s obvious why: as I mentioned, it graphically accorded equal weight to both “window” & “king”.

In terms of what we learned from this exercise, it was primarily: don’t present too many designs. First of all, it might confuse the client: with so many avenues they could choose, how do they decide where to go? Second, as I’ve tried to convey in my comments above, there are a lot of non-starters.

In addition, make the advantages & disadvantages of each design very clear to the client: hence the use of “Pros” & “Cons” in our discussions these days. We go even farther than this these days: each design is presented with a title that differentiates it from the others.

I still mourn that third design, though.

Two CSS Debugging Tips

Ray Drainville

Ian may claim to be doing nothing but git-work (and what an unfortunate name that is), but the fact of the matter is that we’re both eyebrow-deep in client work. This business has been running since April 1999 & we’ve never been so busy.

When you’re so busy, the last thing you want is a series of bugs that won’t seem to go away. Since most of my work is in the HTML/CSS/Rails templates realm, I’m speaking mostly of visual bugs, things that seemingly won’t budge no matter how much work you put into them. I thought I’d share two tips which have helped me squash a considerable number of visual bugs, one created by someone else & the other merely a process that I follow.

CSS Debugging Tip 1: Burn it all to the ground

First, the work supplied by someone else: Eric Meyer’s CSS Reset. If you’re unfamiliar with it, go & read up on it ASAP. For those unfamiliar with why you’d need to reset something your CSS, the answer is simple: different browsers have different default sizes for fonts, lists, buttons & a hell of a lot else. By resetting all these items via CSS, you help ensure that all your browsers—Safari, Firefox, Opera & the thorniest of them all, Internet Explorer—start from a common vantage point.

The idea is not new. For years I’ve employed a very basic, simple reset:

  html * { margin: 0; padding: 0; }

The problem is that this didn’t reset nearly enough things—and it often didn’t even reset everything it was supposed to! Eric’s reset is a total razing to the ground of all browser-specific sizing quirks & as such should be adopted by every designer. In my experience, it’s particularly useful for a project that you’re just starting up: my IE-specific stylesheets are a fraction of their former size. For pre-existing sites, however, it’s not going to be a magic bullet. You still assembled your CSS based on different assumptions & short of starting from scratch, it will be of more limited use (although still recommended in my book).

CSS Debugging Tip 2: Build it back up brick by brick

The second tip is merely a process that I’ve been following. I’m surely not the first person to do this, but since it doesn’t appear to be widely discussed I thought I’d write it up here.

I’m going to take a real-world example from a site we’re building. In this site, we’re using some Scriptaculous effects to aid in the creation of a visually compact secondary navigation for a database of imagery. The markup is simple:

    <h4>Section Heading</h4>
    <a href="subsection/1">Subsection 1</a>
    <a href="subsection/2">Subsection 2</a>
    ...

Clicking on the H4 tag will cause the subnavigation links to reveal themselves, or hide themselves if they’re already revealed.

Unless you’re viewing in Internet Explorer 7, that is—no, the problem for once isn’t IE6! In IE7, the links were invisible—they were clickable, but you couldn’t see them.

I tore out what little hair I had left, for weeks, trying to figure out this bug. I even thought it might have been Scriptaculous’ fault. It wasn’t, however & eventually I realised I was compounding the problem by adding CSS declarations instead of removing them—instead of trying to figure out what was triggering the bug, I was trying to pave over the bug. If you’re adding more declarations in order to fix a bug, you may very well be creating a shifting target, which is definitely not what you want to be doing. Particularly when you have a lot of other work to do.

The answer is simply a process & a very simple one at that: take your CSS declarations & strip them out. Add them incrementally, viewing in the target browser every time, until you trigger the bug.

In the example above, removing a declaration of a:link { display: block; } rendered the links visible again in IE7. I don’t know why—I’ve used this declaration countless times with no problems—but nevertheless the declaration wasn’t necessary & it was causing a big problem.

Again, though, it’s the process of stripping away your CSS & then re-implementing your declarations which is the key. It’s all too easy to add more & more to your declarations, but remember: you may only be making the job of fixing your problems worse.