Be Good Not Bad by Brian Warren

Hi, I’m Brian Warren. I work at Happy Cog. When I’m not making websites, I like to make beer and shoot photos. I live in Philadelphia with my awesome family.

SXSWi Panel Voting

Every year in August we turn our eyes to March of next year. It’s crazy, but now is when people are pitching and voting for what kinds of panels they want to see next year at SXSW.

My colleagues at Happy Cog are in no fewer than 18 different panels, and I suggest you vote for all of them. The team at SXSW will use your votes as a big part of their decision making in deciding what’s in the final line-up in March.

Last year, I had the honor of presening alongside some of my favorite people for our ExpressionEngine panel, and this time, I’ve submitted a new idea on an entirely different topic.

Digital Bookmaking for Designers & Developers

With the help of your votes and a bit of luck from SXSW, I’ll be appearing with good friends Scott Boms and Grant Hutchinson to talk about books, bookmaking and, especially, digital books. Making digital books, such as for the Kindle, iPhone or iPad is a weird mesh of design and development and while it’s been around for many years, it still feels like it’s in its infancy. This is just the kind of stuff I enjoy thinking and talking about; and with such seasoned pros as Grant and Scott by my side, it’s definitely going to be an interesting talk that’s a bit off the beaten path of SXSW ideas.

Please take the time to vote now, and try to do it by the end of the day on August 27th, 2010, as voting will close at midnight.

Posted 27 August 2010

These are just gorgeous.

Posted 11 August 2010 from bookmarklet

One of my Favorites: Stranahan’s Colorado Whiskey

My favorite whiskey in the whole wide world is Stranahan’s Colorado Whiskey. These guys really know what their doing. Aside from making delicious whiskey, they have done a marvelous job of doing some simple but effective things to build a unique brand.

Stranahan's Colorado Whiskey

The Stranahan’s logo is decidedly secondary in this label design. The label is dominated by the words “Colorado Whiskey”. Are there other whiskeys made in Colorado? Probably. Does it matter? No. When you go to the store and see “Colorado Whiskey” on this label, it really stands out among all the other whiskeys on the shelf. Colorado, with its rich history of craft brewing, is seen as a place where delicious liquids are made. Add to that the cowboy and mining history of the the Rocky Mountains and you almost feel Stranahan’s came from that era.

The label is set at an angle. I suspect that’s intentional. These guys don’t have a labeling machine. In fact, they have volunteers come in and put all the labels on by hand, walking home at the end of the day with a couple free bottles of whiskey. So Stranahan’s embraces the inexact nature of hand-labeling their bottles and has everybody put them on at an angle. Yet another thing that will help this whiskey stand out on the shelf.

The label is also hand-signed by the distiller with a batch number, the date and comments. The one pictured in this post says “1st Batch in New Distillery”.

So, they’re doing the design and labeling right, and I can attest that they’re doing a fabulous job at making the whiskey. I do, however, have a huge problem with Stranahan’s: Their website is an absolute mess. It’s a nervous mix of varying type treatments and troublesome navigation. They obviously ran out of room for tabs across the top and had to start adding them to the side with a totally different design.

I’m not going to spend a lot of time harping on Stranahan’s for their website. One could argue it’s even charming: Given that making whiskey is such an analog process, of course they will have a lousy website. But, I’ll say this: When you have such a lovely product, with an established recognizable brand, you’re doing a huge disservice to that brand to give it such a crappy website.

A brand isn’t just a logo. “A brand is the personality that identifies a product, service or company” (Wikipedia). Your brand is informed by everything from the design of your labels to how you treat your employees. So when you decide to have a pretty lousy website, you’re saying something about the kind of company you want to be seen as.

I’ll say it again: Stranahan’s is an exceptional product. I hope I’m not being too hard on these guys. They really do great work. I hope for their sake that Stranahan’s decides to improve their website to match the quality of the rest of their product.

Posted 9 August 2010 1 note
Lovely new shirts from Panic, designed by none other than Draplin Design Co. of Field Notes fame.

Lovely new shirts from Panic, designed by none other than Draplin Design Co. of Field Notes fame.

Posted 6 August 2010

Backslider: A workaround for background positioning PNGs with IE6

How many times have you run into this problem?

You have a translucent PNG for which you had to run the AlphImageLoader trick to get IE6 to render properly. Everything is great, except this PNG is a sprite, and you also need to change the background-position, such as for a hover or focus state. Cue the sad clown kazoo. Oh well, I guess IE6 doesn’t get a hover state, right?

That’s what I thought too, till I thought of this handy little trick.

Setting the stage

Usually with this sort of situation, I am using an image that is a sprite which contains three states of the same image: The default, hover, and active state. Then I use background-position to move that sprite to where I needed it.

Take the following example:

New Post Button Example

This is a navigation element with the following code:

<li id="new"><a href="/new">New Post</a></li>

Normally, we’d do something like this to show a nice pretty title for this link:

#new a { 
    width: 99px; 
    height: 39px; 
    display: block; 
    text-indent: -9999em;  
    background-image: url(/m/titles/new-post.png); 
    background-repeat: no-repeat; 
    background-position: 0 0; 
    }

Of course this is a sprite, so the actual image for it is (Note: For this example I gave it a dark background so you can see it):

New Post Sprite

And for hover & focus classes we’d do something like this to expose the hover version of the image:

#new a:hover, #new a:focus { background-position: 0 -39px }

And we would do something similar for the active version and the on-state:

#new a:active, #new a.on  { background-position: 0 -79px }

This all well and good, but as you may know, since this is a translucent PNG, none of these hover, focus, active or on states are an option with background-position for IE6, since background-position does not work with the AlphaImageLoader filter fix. The only alternatives are to just do without these states, or to cut separate image for each state and write separate lines in CSS to pull said images in under each condition. That’s a messy solution that, despite being pretty sub-optimal, is a heck of a lot of extra work.

What if there were a better way? I think there is, and this is my solution: I named it “Backslider”. I know, it’s silly.

Backslider

When you think about what background-position really is doing, it’s moving an image around a mask, based on specific events or situations. The trick is, that you don’t need background-position to do this, and often we don’t need any more markup than what is already available to solve this problem.

Remember, what we’re dealing with is a link inside of an #new element. Let’s use that #new element to provide the mask, and then move around the #new element using absolute positioning. CRAZY, RIGHT?!

#new { 
    position: relative; 
    width: 99px; 
    height: 39px; 
    overflow: hidden; 
    }
#new a { 
    display: block; 
    width: 99px; 
    height: 117px; 
    position: absolute; 
    top: 0; 
    left: 0; 
    text-indent: -9999em; 
    background-image: url(button-sprite.png); 
    background-repeat: no-repeat; 
    background-position: 0 0; 
    }
#new a:hover, #new a:focus { top: -39px; left:0; }
#new a:active, #new a.on {top: -78px; left:0; }

In the IE stylesheet you can still apply the filter fix for the new-post.png. But because you’re not using any sort of background-position changes, it works like a dream.

One little caveat for our good friend IE7: You still need to do that left:0 property. Every single time. Otherwise, it pretends you didn’t really mean to position that element at all. You were only joking, right? Oh, IE7, you do seem to have an extra special sense of humor.

Really, though, it is that easy. It involves very minimal IE6-specific styling and works great for everybody else. This can be used for navigation elements, headings, logos, and more.

When I discovered this little trick, I just assumed people had done it before, and I was just late to the game. However after asking around, apparently this isn’t a widely used idea, so I humbly submit Backslider to the internet.

Have a better idea, hate the name “Backslider”, or just want to set me straight? Send me a note: http://begoodnotbad.com/ask Thanks!

Posted 2 August 2010 14 notes

My good friend Dan switched to Tumblr, did a handsome, responsive redesign, and explains his thinking in this post. His reasons for switching to Tumblr and his thoughts on his current in-process redesign/rejiggering mirror mine and what’s going on here to a T.

Reblogged 1 July 2010 from simplebits 146 notes
It&#8217;s trash day. Which means I&#8217;m locked out of the office.

You see, on most mornings, I eat breakfast, gather my things together, get my iPhone and headphones, and then kiss my family goodbye before leaving the house. Today, it&#8217;s trash day. So I do all of those things, but I leave out the back door so I can take the trash to the curb. All of that is well and good; however, I always keep my keys on a cabinet by the front door, and pick them up on the way out. So, today, leaving out the back door, I left my keys at home.

I take the trolley to work, so this isn&#8217;t a mistake I realize when I get to my car or scooter. It&#8217;s a mistake I realize after getting to our office building, grabbing the three packages that were delivered last night, toting said packages upstairs to the office, and finding I&#8217;m the first one there and can&#8217;t unlock the door.

I headed downstairs to pick up a latte and get to work at a table there. Delicious. Bonus: Our office wifi reaches down to the cafe.

I think I&#8217;ll forget my keys more often, at least on trash days.

It’s trash day. Which means I’m locked out of the office.

You see, on most mornings, I eat breakfast, gather my things together, get my iPhone and headphones, and then kiss my family goodbye before leaving the house. Today, it’s trash day. So I do all of those things, but I leave out the back door so I can take the trash to the curb. All of that is well and good; however, I always keep my keys on a cabinet by the front door, and pick them up on the way out. So, today, leaving out the back door, I left my keys at home.

I take the trolley to work, so this isn’t a mistake I realize when I get to my car or scooter. It’s a mistake I realize after getting to our office building, grabbing the three packages that were delivered last night, toting said packages upstairs to the office, and finding I’m the first one there and can’t unlock the door.

I headed downstairs to pick up a latte and get to work at a table there. Delicious. Bonus: Our office wifi reaches down to the cafe.

I think I’ll forget my keys more often, at least on trash days.

Posted 30 June 2010 from bookmarklet 4 notes

James

Bridget and Baby James

On May 28th, my son, James Baden Warren, was born. We are so thrilled to start getting to know this guy. It was a crazy fast labor, and he was a couple weeks early, so all of this came as a pretty fast surprise! We’re not complaining. He’s awesome.

Posted 10 June 2010

My first ever article on EE Insider was published today. It goes in depth on how to use one seemingly simple technique using Pages to simplify how content works on a website. I’m excited to write for EE Insider and I hope I can do a bit more of that in the future. I say that knowing full well I have other writing projects on my plate and a baby due in three weeks (!), so we’ll see how much of that I can do in the short term. In the meantime, enjoy this article.

Posted 25 May 2010
If developers need to rewrite their Flash websites, why not use modern technologies like HTML5, CSS and JavaScript? … Perhaps Adobe should focus more on creating great HTML5 tools for the future, and less on criticizing Apple for leaving the past behind.
Posted 29 April 2010 from bookmarklet

Ads by Yoggrt