?A field of lettuce at dusk in Griesheim, Germany. This photo was taken in August of 2007.

All this fuss over some measly boxes

10:00 on Thursday, March 17, 2005 • 10 responses

Before I publish the followup to my last entry, I think it’s a good time to divulge some of the motivations and machinations behind this design, both for posterity’s sake and for the benefit of all the fine folk coming from Stylegala. There’s no way I’ll be able to do this in one article, so I’ll take a stab at regularly publishing etherfarm production and ExpressionEngine information on Thursdays. This kind of weekly series will allow me to consolidate EE-related punditry and code geekery to one day a week, so the non-technical readers don’t feel alienated. This week I’ll tackle layout.

Update 3/29/05: I’ve been ridiculously swamped with work for the last week and a half. Be back soon.

Soaked

There are good reasons why many web designers have moved away from liquid layouts—they’re much less straightforward to pull off with CSS than they are with tables, and tables are so 2003. Cross-browser issues (synonymous with “IE sucks ass issues”) plague liquid layouts and the hacks required to get things in order accumulate pretty quickly. On top of the technical issues, many designers simply don’t like liquid layouts.

I’m the opposite—I don’t particularly care for fixed-width layouts, despite the fact that when I saw my first web page in NCSA Mosaic back in 1995 or 1996, it scared the hell out of me. I cut my design teeth in print, and compared to the typographic and positional control a print designer had, designing for early browsers and HTML specs was basically a rather futile exercise in corralling entropy (and most people, myself included, unfortunately tried to get around this by designing entire pages as graphics).

I’ve since grown to love liquid layouts, thinking them the best use of text on the web. Fixed-width designs certainly have their place, but quite frankly if I wanted to work in a fixed-width medium, I’d move back to print. I don’t have the readability issues with line length which many designers seem to use as arguments against flexible-width designs (remember, I’ve more or less been a professional bookworm for more than 5 years now). I think the “readability” issues are at heart just “scanability” issues, and I guess I’m old-school in that I actually read.

etherfarm v4 is the “most” liquid etherfarm has ever been, in that all column widths are determined by percentages. The site forces scrollbars at less than 780px wide using min-width for most browsers and a hidden, fixed-width <hr> hack to assist IE into the 21st century. Furthermore, etherfarm more or less holds together with browser text-zoom one or two sizes in either direction from the default, and that’s good enough for me.

I developed v4.0 using a combination of Safari, Firefox, and OmniWeb. I really wasn’t looking forward to seeing how badly IE6 would mess up the site, and more or less committed to ignoring IE altogether if too much work was involved in massaging the CSS to be IE-friendly. Much to my surprise, there were almost no positioning errors in IE6 (though there were a bunch of style errors). I attribute e4’s almost-instant IE compatibility to a decision I made early on to try and avoid floats as much as possible (whenever I have to hack CSS for IE, it almost always has to do with strange float-related bugs).

The biggest challenge regarding v4.0’s liquid layout was getting the center column to expand when registered viewers opt to see larger images on Oculus archive pages. There are three image widths for Oculus images—400px (what everyone sees and what’s displayed on the Oculus index page), 520px, and 640px; the larger image sizes are available to those who register, mostly so that I don’t throw bandwidth out the window to people just breezing by. Getting the center column to grow with the member profile setting solved with some PHP and some EE finessing—something I’ll detail in a future article.

Ionic, Doric, Corinthian

One thing I really wanted to do with this design was make the columns more useful. Due to the way that most columnar sites structure their code, auxiliary columns almost always have all their content at the top of the page. I wanted to make the columns useful throughout the vertical length of the page, and ultimately came up with styles which fake column positioning by using absolute positioning and a negative percentage. Observe:

.rightsupport
{
position: absolute;
right: -30%;
width: 27%;
margin-top: 2px;
background-color: transparent;
}

There are some drawbacks to this technique; content contained in these support divs will overlap “regular” column content if the center column, in which this support block is located, doesn’t have enough content to space things appropriately, though I don’t see that happening (I don’t tend to write short articles). Also, those with keen eyes will notice 1 or 2 pixel vertical-positioning differences between browsers. Those with less keen eyes will probably realize that IE messes up the ‘percentaged’ width.

I originally had all sorts of things appearing in columns—comment indexes for entries with more than 10 comments, descriptions of page sections, but cut back significantly just before the beta, wanting instead for content which appears.

Internet Exploder

IE disclaimerIE users get a special message at the top of the rightmost column of etherfarm’s section entry pages (thanks, Khoi). As you may have surmised by now, I’m not a huge fan of IE. It’s a shame that one piece of software forces web designers to choose between the design they want and the design that will work, and that until very recently, MS was completely content with this fact. I was willing to make some compromises in regards to IE compatibility, but basically decided that IE would not corner me into making any compromises to the design as a whole. I would never do this for a client site unless specifically asked, of course, but think it perfectly acceptable spec for etherfarm.

As a result, I only use (half of) one hack, and it’s used only a dozen times in the stylesheet. Everything else which doesn’t work in IE just doesn’t work, and I’m not going to waste any more of my life trying to get it to work.

A few of the known issues (which haven’t already been mentioned):

  • Due to IE’s lack of support for 32-bit PNGs, it doesn’t show translucent backgrounds for the masthead description icon or the masthead description
  • IE respects the column minimum widths due the aforementioned hacky use of <hr>, but last I checked, it insists on applying the browser window percentage to content within columns. Obviously, I could put a fixed-width element within each block to prevent IE from doing this, but um….no.
  • IE for some reason refuses to display the upper border on the info line for posts and responses. I can get it to display by drawing a 4px border for IE then scaling it back to 1px for other browsers via the hack, but screw it.
    Melange of IE mess-ups

    IE issues: block width, opaque background, no top border on info line

  • IE messed up the previous entry and next entry buttons on archive pages, so I just removed them for IE. Instead, IE users see previous entry and next entry links as text in the rightmost column.

IE previous next

IE previous and next substitute

I’m sure there a bunch of other problems IE poses for etherfarm, but that’s just it—they’re problems with IE. IE users constitute only 25% of etherfarm visitors at this point (FF at 33%, Safari at 17.5%), and I’m guessing most of them come from Google doing searches on keyword sets such as “eunuch genitals pictures”. They deserve what they get.

That’s all the meta I have in me for this week. In my next “meta” article I’ll share some thoughts on and experiences with integrating the design with ExpressionEngine. Several people have already sent me EE-related questions they’d like me to cover; if there’s anything specific in which you’re interested, let me know.

top

10 responses

1

Mark Boulton

Comment posted at 04:39 on Friday, March 18, 2005

What a great read. It’s really interesting to hear a designers breakdown of their own site like this (makes me think I should be doing one for mine, as I think we share some similarities where typography is concerned and the less is more approach).

My site also echoes the etherfarm visitor stats in terms of browser usage. I’ve been thinking about this and whether the indications are that early adopters (such as the web industry) are using browsers such as FF and Safari and eventually those browsers will become the standard? Or is just because of the audiences our kind of sites receive?

Looking forward to your EE integration as well. I for one found it a superb piece of software to use, but limiting in certain ways. It’d be good to hear your views.

top

2

Aegir

Comment posted at 06:52 on Friday, March 18, 2005

I use EE for all the sites we have at work, it’s such a great tool.

One thing I noticed on this site, the comment block seems to be broken. Looks like the thing you get when you terminate a containing DIV too soon.

top

3

Narayan

Comment posted at 08:08 on Friday, March 18, 2005

Mark, I think those browser stats are pretty common these days for sites considered “designer” sites. Given the rather hermetically-sealed (but oooh, trés chic) chamber in which most designers choose to live, it’s easy to forget that designers probably constitute a very small percentage of the web-viewing public, and most of the web-viewing public is more or less content with IE (since most of the things they want to do online—pay bills, shop, get driving directions, etc.—all work in IE.

Case in point: the University of California Santa Cruz made OS X the standard on Apple computers three years ago, after a year of a hybrid OS9/X deployment. I know Safari isn’t three years old, but a few weeks ago I walked into someone’s office and saw them using Explorer. She’s an extremely competent user in regards to her job, but she had no idea Safari existed (and was thrilled when I showed her some of its features). She asked if she would have Safari on her home computer and I asked what kind of Apple she had at home. She responded, “I got an iMac G5 two months ago.” This really brought home for me how much IE use is a force of habit for users. She’s by no means ignorant. Not everyone watches Jobs’ keynotes.

Aegir, thanks for the head’s up. As far as I know, the problem was only on this page (not the whole site), and it was due to a missing div around one of the screenshots in the entry. 5 bonus points for you.

top

4

Khoi Vinh

Comment posted at 14:06 on Sunday, March 20, 2005

When I made the switch from table-based design to CSS/XHTML, I decided to give up flex-width designs (like many others)—in spite of the fact that I had been arguing for them for years. It was a form of compromise, I suppose. This post reminds me that there’s some real value to the liquid layout approach.

In terms of interactivity, it’s certainly a legitimate argument to say that such designs are truer to most rules of interactivity than fixed-width. CSS limitations aside, however, I now find flex-width too limiting a design principle, at least for myself. I may be on the wrong side of history on this, but at least for now I still prefer the fixed-width approach. But if you can make liquid layouts work for your needs, more power to you.

top

5

Mark Boulton

Comment posted at 02:49 on Monday, March 21, 2005

What interests me about flexible width designs is the potential for correct typography.

The thing is, type size and leading was always related to the measure in book design, why can’t we apply the same to CSS driven sites?

I’m still kind of rattling this around in my head, and have been for a while now, but if a type size increases, by the user, then the grid must change to accomodate the larger text. This will retain the delicate balance of white space and therefore the type will be the most legible it can. Is there more opportunity to do this with fixed width, or flex? Not sure.

Sorry, thinking out loud again!

top

6

Narayan

Comment posted at 23:42 on Monday, March 21, 2005

Khoi, it would be interesting to hear from you what it is about liquid layouts which you find limiting, particularly if, as you state, one disregards the difficulties and limitations of getting such layouts to work with CSS. It’s particularly curious that CSS was not only impetus for you to switch back to fixed-width, but that, if I understand you clearly, you now see fixed-width as offering more design possibilities.

Mark, I think if blocks and block spacings were sized using ems, a fixed-width layout could keep the proportions between font sizes and elements on a page’s layout grid.

Grids in the strictest sense don’t really apply to liquid layouts, since liquid layouts by their very nature break the rigid horizontal component of grids, and without the rigid horizontal, a grid is…well…more of a “stack”. I suppose horizontal gridlines could be evenly spaced using equal percentages, but you get what I mean.

The real question for me, Mark, is this—should designers want to apply the same standards we used in book design to web pages? I understand the inevitability of such transitional phases (for those who are interested in terminology, these technology/design transitions are called skeumorphs—always the pedant, aren’t I?), but I’d be perfectly fine moving towards design principles which are more, for lack of better terms, native or organic to electronic media. I think liquid layouts are a small step in that direction (which, admittedly, may not necessarily be a step forward).

top

7

Khoi Vinh

Comment posted at 18:47 on Tuesday, March 22, 2005

My main complaint: with liquid layouts, you can never have a truly expandable photo, so you must either compensate for the widest likely display of a photo by using a very, very wide photo and revealing it in the div only as the browser is expanded, or you come up with a not-so-clever fade-out to the right of the photo so that it looks like it’s expanding into a color field. Or you can use the photo in such a way that no expansion is expected, which is kind of besides the point.

Mark touches on some another interesting wrinkle of liquid layouts: when you expand the browser window, it should intelligently accommodate the new width. The way browsers do it now, they just make it wider, but a grid should expand, and the leading should increase, and heights should increase, and all of these things should be controllable through CSS8! I can’t wait for that spec!

top

8

Allan White

Comment posted at 18:50 on Thursday, March 24, 2005

I’m enjoying the discussion on the oft-neglected fluid layout - thanks for taking us in-depth.

I’ll be watching for the EE discussion and punditry - It’s been the one CMS that’s stuck with me through all the others. It’s heartening to see more designers using it, and doing quality work with it.

top

9

Allan White

Comment posted at 19:06 on Thursday, March 24, 2005

I did some fun things last year with EE, a flexible layout, and a Flash header that scaled with the browser width (but without stretching - smart scaling). I found that minimized many of the visual problems of a flexible-spaced header.

It didn’t survive (for unrelated reasons), but was definitely the pinnacle of my own fluid layout work. Where’s that old template now…

top

10

pixeldiva

Comment posted at 07:35 on Saturday, April 02, 2005

I’m not sure what cave I’ve been living in, but I can’t believe I haven’t seen your site before today.

The design has absolutely blown me away, and I’m very impressed with your camera collection too (well, except for the Canon stuff, but everyone’s allowed a little eccentricity wink)

It’s been particularly interesting reading the discussion on liquid vs fixed with designs here, because I’ve been struggling with exactly this for a while now. My current design is fixed, because for the life of me, I just can’t make it work as liquid.

I’m also intruiged by your use of EE. I experimented with the first couple of versions of pMachine, but just couldn’t get my head around it, and so I’ve stuck with MT, but seeing what you’ve got here is definitely making me want to have another look at EE.

top

What's This?

Required field

Email addresses are never published

§Followup comment notifications contain a link to turn off further notification

The captcha system verifies you're a human by having you enter text which spambots cannot read.

About Comments

IPs are logged and can be banned, so be civil and don't make an ass of yourself.

Registering greatly simplifies comment entry.

Allowed Tags

a, blockquote, em, strong

Note: only the above tags will be used in submitted comments, despite what that sneaky live preview leads you to believe.

Comments open

Name
Email
URL
Mmmm Cookie Remember this info for future comments

Comment Preview

Comment will be posted on Friday, July 25, 2008

Comment
 
 
 
Live Preview

Subscribe? Receive follow-up comments via email§
Enter the word below
 

top

This Entry

This is the permanent date-based archive page for the entry All this fuss over some measly boxes. It's filed in the Synapse section under the Design and Meta Matters categories.

Synapse Archives

Hop to it