About this site's lack of design: Yes, it's supposed to look this way — I'm using a sandbox theme for WordPress (see it on GitHub).

Dan Rubin's SuperfluousBanter

Design, random musings, and the Web. Since 1977

Archive for 2008

Older

The Final Word on IE6

Wednesday, September 3rd, 2008

A friend of mine recently asked the question “Why the Hate on Internet Explorer 6?” He explains some very logical reasons why it doesn’t make sense to be so negative about IE6, and as I agree with him on just about all points, I thought I’d give the clearest answer I could.

Simply put, IE6 shouldn’t get any hate. Nor should it receive any love, either.

The best thing the web standards community (and any other smart web folk) can do is stop complaining about an ancient browser whose developer waited too long to replace, and just stop supporting it altogether.

One of the benefits of web standards is that our documents are marked up correctly before we reach the presentational stage. One of the benefits of IE6 (et al) is that we can target specific versions using Conditional Comments. The combination of the two means we can still send our content to old browsers, but not have to bother with the presentation, thus saving ourselves hours of needless headaches and frustrations, while not punishing the users of said old browsers by denying them access to our content.

There’s constant discussion about whether or not to continue support for IE6, and the only reason ever given these days in favor of supporting that browser is its market share. That market share is diminishing, and we’ve already reached the second beta of IE8, so let’s start dropping it already. Make the argument against supporting IE6, to your clients, your boss, your team—whoever needs to hear it, keep applying pressure and don’t back down.

It’s time to stop supporting IE6. Period.


This article has very kindly been translated to Serbo-Croatian language by Jovana Milutinovich from Webhostinggeeks.com.

Categories:

56 Comments

Regex Patterns for Single Line CSS

Friday, August 29th, 2008

Update: You can now download the Textmate macro file rather than recording your own (skip to the download »).

There has been plenty of discussion about the pros and cons of single-line style sheets, and I’ve been including them as an option when teaching CSS management and organization in my Web Design World presentations in Chicago, Seattle, and later this year in Las Vegas (at WebBuilder) and Boston.

It’s a matter of preference

As a fellow Sidebar-ian (Sidebarbarian?) Steve has been trying to convince me to use the single-line approach for a while of course, and Bryan and Jon have also become fans of this formatting style for their own work. Although they are enamored with it, I haven’t taken to it yet, still preferring to write my style sheets using the “normal” indented formatting most of us are used to.

Now, before anyone gets their knickers in a twist about why they love, hate, “can’t live without” or “will die before they try” single-line formatting, let’s just take a step back and remember one thing: it isn’t anything special, just an alternate formatting style that doesn’t affect the way the browser interprets the style sheet one iota. It’s a personal preference—remember that before jumping on or off this particular bandwagon.

Always keep your options open

Now that I’ve got that out of my system, let’s talk practicality: there are indeed benefits to be had when using single-line CSS formatting—for example, I find it can make a difference after a project has been completed, at which point I’m usually more interested in visually scanning a style sheet for the selectors first, and then for a particular property I’m interested in editing. This is where I’ve found single-line formatting can come in handy.

But my editor already does that!

This is the point where some people will start going on about how you could just use Textmate’s “foldings” feature to get the same visual result (without altering your file), or how CSS Edit has a handy list of all the selectors in a column on the left side of its window, or that you could always use your editor’s “find” command and search for the selector you want to edit. Yet while those are all perfectly logical, sane suggestions, they don’t account for flexibility and choice.

Just another way of doing things

Much like Jon Hicks with his harem of web browsers, I tend to be a bit of a “text editor polygamist”, bouncing from Textmate to CSS Edit to Coda to BBEdit to Transmit’s text editor and a host of CLI editors, mostly depending on my mood (though sometimes contextual if I’m at a computer that doesn’t have a particular application—a WindowsXP box with nothing but Notepad, for instance). It’s the times when I’m using an editor that doesn’t have “foldings” or pretty columns of selectors that I start to appreciate single-line CSS when making quick edits, so I’ve started converting style sheets to a “simple” single-line format (without the left-aligned tab blocks to start each rule’s properties) once they are ready to go live.

Patterns fit for a kilt

Editors like Textmate and BBEdit have built-in commands for formatting (the standard, multi-line approach) or compressing (the entire style sheet on one line, ostensibly to reduce file size by stripping white space) CSS, but no way to convert to single-line formatting and Textmate’s “Format CSS Compressed” bundle can format your stylesheet to a single line per-rule, though it’s all squished together, making it difficult to scan due to a lack of whitespace. Converting a style sheet by hand every time would be much too time-consuming to bother with, but that’s where regular expressions come to the rescue.

In Textmate, you can record a macro using each of these regex patterns as a separate step (I’m sure other editors have a similar feature, so please feel free to post details in the comments below). This allowed me to create a “Format CSS Single-line” command, complete with a keyboard shortcut, which enables an easy switch between multi- and single-line formatting.

Unfortunately, as of this writing Textmate macros cannot be exported and shared For those using Textmate, getting the macro is a simple matter of downloading, expanding and double-clicking this file:

While similar to “Format CSS Compressed”, this macro retains a single blank line where your original contained two or more blank lines (helpful if you group your rules), and adds whitespace that matches my standard formatting preferences (which I find makes it easier to scan quickly). To switch between each formatting style, just run each command in turn (via the Bundles menu or the keyboard shortcuts).

However, that wouldn’t be much use to everyone who doesn’t use Textmate, so here are the respective groups of regex I used for the conversion:

\n{3,}
\n\n

[ \t]+
 
(?m)([;:])\s+
$1

\s*}
 }

\s*{\s*
 { 

[ \t]*,[ \t]*
,

@import(.*?);
@import$1;\n\n

What’s missing

In Textmate and BBEdit I can return to multi-line formatting with a single command, but that might not be as simple in other editors. What I’d love to see is a pair of shell scripts that convert from multi- to single-line and back, and possibly a web-based processor that does the same (paste your style sheet into a textarea, select your formatting, hit “process” and the script produces the result). If anyone would like to take on those tasks, I’ll happily update this post to link to the products of your labor.

And in the end…

If you’ve never tried single-line formatting, this makes it easy to experiment without committing yourself (and I do recommend giving it a try—you may be surprised once you’ve worked with it a few times).

Ultimately, because I can return to multi-line with a single command my primary text editor should I ever feel like it, automating the switch from multi- to single-line is a convenient way to get the benefits of single-line formatting without backing myself or my clients into a formatting corner.

Categories:

67 Comments

Simple CSS Hover Tab

Tuesday, August 19th, 2008

Update: The original edit of this post and demo file didn’t work in IE6/7. See the comments for my quick explanation of the fix (the demo now works in FF2/3, Safari 2/3, Opera 9, and IE6/7).

After throwing together a quick little hover/tab widget for my previous article, I thought I’d share how it was made, in case you find a need for it someday.

Bulletproof lists

The widget in question is just a simple unordered list, with each list item containing an anchor and an image—we want the images in this case because I want them to display in my RSS feed and for anyone who can’t (or chooses not to) view the styled version of this site.

Note: Feel free to reference images in the stylesheet rather than inline if that suits your purposes.

See the widget in use in my previous article, or check out this demo.

The code

First, the markup (with URLs truncated to save trees):


Simple, uncluttered, uncomplicated.

Next, the CSS:

ul#hover-tab-thingy {
  position:relative;
  padding:0;
  width:500px;
  height:498px; }
#hover-tab-thingy li {
  float:left;
  list-style:none; }
#hover-tab-thingy li a {
  float:left;
  padding:9px 21px;
  background-color:#eee;
  color:#999;
  font-size:9px;
  text-align:center;
  text-transform:uppercase;
  border-right:1px solid #fff; }
#hover-tab-thingy li a:hover {
  background-color:#f60;
  color:#fff; }
li#one a,
li#one a:hover {
  background-color:#e5e5e5;
  color:#555; }
#hover-tab-thingy li a img {
  position:absolute;
  left:0;
  top:30px;
  width:500px;
  height:460px;
  clear:left;
  margin-left:-9999px;
  padding:1px;
  border:3px solid #e5e5e5; }
li#one a img,
#hover-tab-thingy li a:hover img {
  margin-left:0; }
li#two a:hover img,
li#three a:hover img {
  border-color:#f60; }

This is all fairly straightforward, so here are the highlights that may help when duplicating this on your own:

  1. The entire idea is that you have tabs that are each associated with content (images in this case) which are made visible when the user hovers over the tab. There are more things you could do with this, but that’s your job, grasshopper.
  2. The tabs are floated; the content elements (img in this case) clear the floats.
  3. The content elements are set to position:absolute, so they can appear in the same location for each tab. To accomplish this, the ul is set to position:relative (in short: an absolutely positioned element will be positioned relative to its nearest positioned ancestor—see Doug Bowman’s great write up for more), and it’s probably a good idea if the dimensions of your ul (the container for your content) have a lot in common with those of your content elements.
  4. IE6 has a problem reverting elements that set display:block on :hover to their original state (e.g. display:none). To counter this, use a negative left margin as the default positioning, and then set margin-left:0; on the hover state, which works in all modern browsers.
  5. The width and height is specific to my example (the dimensions of the images I used), ditto for the padding on the tabs and the top positioning on the img elements (to push them below the tabs). Bend them to your will.

Wrap-up

This may be something that you’ll find use for on a regular basis—one of those tiny snippets of reusable “stuff” that you’ll be glad you don’t have to type every time.

Categories:

15 Comments

I Need Some Spacing

Tuesday, August 19th, 2008

Way back in June over on Subtraction, Khoi presented a tweaked version of the Gmail interface (and then a follow-up article regarding the feedback on the first), improving spacing and alignment by making a few small but significant changes overall:

“…by normalizing the space between like elements, aligning elements along similar spatial planes, moderately increasing the space between stacked items and paying attention to how elements are framed by negative space, we can get what is, in my opinion, a significantly more attractive Gmail interface.” Khoi Vinh

This is something I’ve wanted to see for a while in Gmail, and in fact had presented a few examples last year (July 2007) as part of my interview process at Google (I really must write about my series of amazing job interviews last summer, but I’ll leave that for another time). After reading—and commenting—on Khoi’s post, I had intended to publish my variation on Google’s mid-2007 interface, but as the dedication to blogging continues to elude me, this too fell a few pages back in the Moleskine to-do list—until now.

The Setup

I took a slightly different approach than Khoi, though my goals were similar:

That last goal was important and acted as a guide to the rest: I wanted to present improvements that could be made right away without causing a negative reaction among Gmail users.

Rather than adjust the line height of the main message area, I decided to bring as many of the other elements in line with that as I could. You’ll notice spacing improvements within each line however, reclaiming some poorly used horizontal space. Like Khoi, I felt the message lines were a bit crowded, so to give the impression of more room in those lines, I removed the grey horizontal lines between each item and allowed the background color to bleed through (all they need is some separation—further emphasis on those lines just adds weight). The result is that it feels like there’s a bit more space, without actually adding any.

The main navigation lost its underlines (again, removing unnecessary visual weight—the “this is a link” cue is superfluous here) and gained space (matching the baseline of the message list). The “Compose Mail” link got an extra highlight by way of a background; the extra padding makes it the only navigation item that doesn’t align with the baseline, but that also gives it a little more contrast vertically, thus it stands out more without having to scream for attention. Less important text links within the message area were made slightly smaller (but kept their underlines), and “Mark as read” was pulled out of the drop-down menu and given its own button: I had spent a week or so watching people use Gmail before doing this exercise, and that was the second most frequent action users needed (right behind “Delete”) but was hidden in the drop-down.

Finally, all rounded corners were cleaned up a bit, footer text was aligned to the baseline, and the message list was enclosed on the right side (maybe it’s just me, but it’s always bugged me how those lines just run right to the edge).

Reveal Already!

I’m still happy with how this turned out a year later, and it was well received by the Google interview crew. Compare the before and after images, and you’ll also notice that the improved spacing in this example actually reduces the overall height of the page, allowing two additional message lines to fit in the space of the original.

Both Khoi’s and my realign leave almost all the original elements of the interface intact—this is very important when making changes (even if only suggested ones) to such a popular application, and the same goes for any product, publication or web site that is part of a person’s daily routine.

Whether Gmail incorporates any of these suggestions is out of our hands, but it’s still nice to have the chance to compare.

Note: many changes have already been made to the Gmail interface over the last year, and even in the last few months since Khoi posted his example. Not all are improvements, but at least someone’s making an attempt.

Categories:

13 Comments

Some Thoughts on Logo Design

Friday, June 20th, 2008

A few months ago, I had the pleasure of answering a few questions for an article being written by my friend Elliot Jay Stocks for .net Magazine (Practical Web Design here in the States). Elliot quoted me quite nicely in the article, but I thought it would be interesting to publish my complete answers here, along with his questions, and he kindly gave his permission.

Note: The article itself is full of some solid information and quotes some bright minds—well worth picking up if you get the chance (as is the rest of the issue).

EJS: Please could you tell us a bit about yourself and your work with logos so far?

DR: I’ve always loved logos, and some of my earliest experiments with design were logotypes (I tend to prefer type-driven logos with minimal imagery). I don’t get as many opportunities to design logos for clients as I’d like, but I do a fair amount for friends and personal projects, sometimes for imaginary ideas just as an excuse to design a logo or logotype.

EJS: Which logo (that you’ve designed) are you most proud of and why?

DR: I’m torn between the current logo for SuperfluousBanter and a logo I did a few years ago for a real estate company that by brother was starting. I put most of the work I do into two categories: design for myself, and design for others—so those are my current favorites from each category.

In the case of SuperfluousBanter’s current logo (there have been a few over the years), the “sb” mark on an orange field sporting a lighter spiral (with the counter of the “b” over the center of the spiral) has a nice balance of symmetry and asymmetry at the same time, without getting complicated.

With the logo for the real estate firm, the business name was that of the main partner in the company, so it required a visual mark in addition to the logotype in order to communicate the type of business. Not that it was groundbreaking in any way, but the mark does its job well, without being too complicated—the more basic the shapes, the easier it is to recognize an image at a glance (important for property signage), and the better its reproduction at various high- and low-resolutions. The qualities of the mark that make it my favorite are similar to those of the SuperfluousBanter mark: a combination of symmetry and asymmetry that results in balance (it’s extremely important to have all three), and in this case, the end result was almost exactly what I pictured in my head before even sketching the first rough.

EJS: Can you name an all-time favourite (web-related) logo that someone else has designed? Why do you like it so much?

DR: It’s hard to decide, but I’ll go with Dan Cederholm’s Cork’d logo. I like Dan’s style in general, but the Cork’d logo is just elegant in its own little way (recurring theme: combination of symmetry and asymmetry resulting in an overall balance). I wear the t-shirt so much that I’ve almost worn it out ;)

EJS: What do you consider to be the current trends in web industry logo design? Are they good or bad?

DR: While there are still a lot of “web 2.0” design trends everywhere (not just online, either), in my experience these design trends result almost as much from client demand as from designers imposing those trends on their work. As I said before, I’m a fan of type-driven logos, with simple, straight-forward visual marks to support the type. Aside from the drop-shadows, bevels and other standard design clichés, I don’t think there are any awful trends per se (some people might say there’s been enough rounded type and bright, happy colors, but if a client wants their brand to be ‘friendly’ etc., more often than not it’s the right direction), but I could still do without blatant 3-D or an over abundance of filter effects. And let’s not get into the pros and cons of reflections…

EJS: Where do you get your inspiration from and can you recommend any good places of inspiration or resources (books, websites, designers, etc.)?

DR: I’m constantly searching for new sources of inspiration—my personal preference is to find as much as possible offline rather than use the web. Not only does it give my eyes some needed respite from the glare of the screen, but I find my reactions are different when reading a book, sifting through old album covers, digging through piles of magazines—the tactile experience engages more senses, and that helps get the creative juices flowing for me. As for specific resources, I think it’s useful to have good examples around (for comparison if nothing else), and the Logo Lounge series of books is a good place to start for more recent designs. A similar resource online is LogoPond (though I wouldn’t personally subject in-progress work to public examination like some users of the site). If you can find books about logo design and branding written/printed prior to the mid-1980’s, you’ll find some great examples of how to design marks without going overboard (a simple mark that reproduces well in black after being faxed will likely translate quite nicely to the web).

EJS: How do you approach the logo-designing process? Is there a system (maybe in 6 steps) that you can recommend?

DR: While I don’t have a fixed set of steps in place for any of my work (I like to think it helps avoid patterns and forces me to think from a fresh perspective on every project), I do tend to go about the problem-solving process the same way each time:

  • Find out as much as you can about the client/product/organization/person/service that the logo will represent. Without that input, a logo is just some text, lines and color.
  • Research other brands in the same market—I used to use this step as motivation to “design a better logo” or “beat the competition” but I feel that was misguided. Now I use it primarily to get a feel for what is already successful, and to know what to avoid visually in order to create something unique.
  • Sketch and Play—this step is the most random for me: sometimes I’m sketching with pencil in a Moleskine, other times I’m messing around in Photoshop or Illustrator, and a few times the good ideas have come on the requisite cocktail napkin or in the margins of a magazine. The experimentation is the fun part—it’s not always needed (if you see the final logo in your head the first time inspiration hits, get to a computer as quickly as possible and just draw the thing!), but when you’re waiting for the lightning to strike it’s a good way to try things out.
  • Design in black and white until you have your logotype and/or mark, then add color and adjust as needed.
  • Once you have something, print it out. A lot. I tend to do most digital logo work in Illustrator so everything is vector and easily printed at various sizes. Print variations in type weight/style, as well as inverted versions of your logotype and mark. Print large versions and paste them to the wall, or lay them out on the floor. Look at them for a few hours, or a day, or a few days—as much time as it takes you to really let things sink in.
  • If it’s paid work, don’t deliver final art until receiving final payment. If it’s for a friend, give them a CD over dinner.

EJS: What tools feature in your logo-making process (and how prominently, like mainly Illustrator and only a bit of Photoshop?), and can you name any that people might not know about (i.e: any apps outside of the Adobe family)?

DR: I guess I already answered that for the most part. Illustrator is my primary weapon, though anything that allows vector illustration should be fine (even if you’re designing a logo for a web site—there’s nothing worse than designing a kick-ass logo in Photoshop at 72dpi and then realizing that you have to recreate it from scratch as vector art because the client wants to make t-shirts).

EJS: What problems have you encountered in designing logos and how do you avoid them?

DR: Aside from figuring out the starting point (always a moving target from project to project), clients and their expectations/preferences are the biggest problem. That’s a bigger topic of discussion, but I retain as much creative control as possible, and let my clients know up front that I expect them to trust my opinions. If you’re firm with your client from the beginning, their expectations will fall more closely in line with yours.

EJS: What general tips can you offer for other logo designers out there?

DR: Play. A lot. Look for sources of inspiration that may not seem immediately obvious—if you’re stuck for ideas on a logo for a children’s book, start digging through some heavy metal album covers, or a stack of performance car magazines, or some swimwear catalogs. The contrast can do wonders for your subconscious.

EJS: How would you define a good logo? What elements does it need?

DR: Though I have my own, subjective thoughts on this, I’m sure not many would disagree that a good logo is one that communicates the intended message effectively. Usually that message helps define the brand in an easily digestible way. So a successful logo is one that can represent the brand (whether it’s an individual, a small non-profit organization, or a multi-national corporation).

When it comes to the actual visual elements, I prefer logos that do the above described job without being complicated. Striking the correct balance between typography, color, shapes and symmetry isn’t something that can be quantified—it will be different for every logo. I find that the logos that pique my interest the most are those with some level of balanced asymmetry: if you split a logo down the center of either axis, it should not result in a mirror image. Type is a straightforward way to achieve this, since you can very easily balance the letterforms without creating a mirror image. In fact, you’d have to work very hard to achieve that effect, to the extent that if it was the intended effect, it would likely be a more creative end result (and as such, become a successful exception to the mirror rule), for example the ambigrams of John Langdon.

EJS: What would you consider to be mistakes in logo design, be them your own or made by others?

DR: A level of detail that precludes low-resolution or small-size reproduction, including color and type selection in some cases. This is a potential issue with the preponderance of photorealistic logos that are becoming increasingly popular with software companies, but I’m starting to see it creep into other uses. I also feel like typeface selection is often not given as much careful consideration as it requires. Of course, logos can still be successful without being “perfect” by any one person’s definition.

Many thanks again to Elliot and the editors of .net Magazine.

Categories:

10 Comments

Older