Posts Tagged ‘rant’

Square Peg, Round Hole

Tuesday, November 2nd, 2010

There is going to be a comic that gets attached to this rant, I assure you. However, I’m so fired up on the topic at the moment that I’m tossing this post out sans the punchline.

I’ve used border-radius quite a bit. As far as CSS3 goes, it’s one of my go-to styles for making something look snazzy. Just round it and it’s cool, right? Right?

While working on an internal project for Mindfly Studio, I found myself grabbing this particular tool for rounding the thumbnail images that were attached with a list of article briefs. When I went to test the results, I found to my dismay that the images were square still, with the rounded borders cutting behind the square of the image.

Then I remembered that I’d encountered this particular issue before. No problem, I thought to myself. Just wrap that bad-boy in a div (or in this case, an anchor that already existed around the image) and use border-radius on the wrapper. Perfect! Right?

No, sadly.

At this point I felt like my CSS cred was rapidly drying up, and started debating going by JSONSquirrel instead.

“To the cloud!” I pronounced, feeling inclined to abuse buzz words, and fired up Twitter. I was informed this was an issue with Firefox (my browser of choice. I like big butts and I cannot lie) but that it’d be all peachy in Webkit (also known as Apple Browser Jesus in web designer circles).

But as it turns out, Webkit also does it wrong. Less wrong, but wrong.

Here’s my proof: border-radius test page.

What Webkit does correctly is round the corner of the image itself (when the border-radius property is set for the image, but not the wrapper), but it clips the border if one exists. If placed in a wrapper, like Firefox, it fails altogether.

I tested on the following browsers: Safari 5, Chrome, Firefox 3, Firefox 4 Beta, Opera 10.63, Internet Explorer 8 and Internet Explorer 9 Beta. It’s no shock that IE8 didn’t do what I wanted, as it doesn’t support border-radius at all. Although, humorously enough, their outright failure to round the border (while leaving the image square) was still more aesthetically pleasing than the clipping/overlapping that were the results in Firefox, Webkit and Opera. And yes, Firefox 4 Beta also failed to round the corners as I desired.

Unexpectedly, IE9 Beta did exactly what I desired, which was rounding the image with the border intact (and rounded) with it. The only one, in fact, to do so. That was a shock.

Maybe I’m expecting this property to do something other than its actual purpose. That said, wouldn’t an image tag be the most likely case of an element that you’d want a rounded border to work properly with? It certainly is for me.

I’m aware that setting a background-image on an element and rounding it is a workaround that functions perfectly. However, if styles are turned off, you lose the image. What if you want the actual image present regardless of whether CSS was present? Well, at present, go with square corners, it seems.

If someone more clever than me comes up with a way around this that is CSS-based (and not overlapping it with a PNG with a rounded hole in it or some other such workaround) then please let me know. I’d be really curious to see how others tackle this shortcoming.

Comic Update: Aligning Text In The Outback

Monday, July 26th, 2010

Today’s comic features John Allsopp, the trouble with aligning text vertically, and the Outback. No, not the restaurant. The vast arid part of Australia. Mind you, I have in fact been to the restaurant, and I was disappointed for a number of reasons.

At least one of which is the entire lack of kangaroo steaks.

My apologies to the vegetarians among you.

There’s two non-restaurant related points to the comic. The first is that almost everything I know about Australia I learned from Crocodile Dundee. Which means that large knives, boomerangs, and poisonous animals are everywhere. The second (and more relevant) point is that I am more than a little annoyed at the task of vertically aligning text with CSS. And clearly, John agrees with me. But, naturally, when he discusses the point it sounds so much cooler because of that dreamy Australian accent.

Let’s get to it. CSS has been around in some shape or form since, what, 1994? And most of the early web was all about text. Red text. Blue text. Flashing text. Marquee text. Text that was occasionally on fire with a sword going through it. Epic, taste-shatteringly bad text. In the entire intervening generation since, why has nobody in a position to do something about it said, “Hey, if we want to vertically center more than one line of text… how do we do that?”

Really, why? How wild and crazy is the concept that you may want to vertically align a paragraph of something in the mouth of a giant robot, or otherwise arrange it delicately between two slices of bread?

I’m aware that I can center text vertically inside an element that’s been given display: table-cell. And when the need arises, I’ve even used it. But it leaves my mouth tasting almost as bad as it did the day I chewed on a tiny blue plastic donkey I found in the playground when I was five. It’s the kind of rancid, oily taste that ruins your meals for the next several days. No, really. Kids, don’t chew on blue donkeys.

What if I want an inline-block? What if I don’t want all the behaviors of a table-cell? What if I hate tables with such a passion that I’d rather eat my meals while standing rather than bring back memories of table-based layouts with either using a CSS style that imitates them or eating on a wooden surface that shares a name with them? Huh? What then?

Well, in such a circumstance, I believe I’d be screwed.

I’m not entirely sure how necessary it is to have a Marquee module in CSS3. Don’t get me wrong, panning text is… er, hot… but along with all the whiz bang animations that CSS3 brought us, can I please get something that makes me capable of vertically aligning some bloody text in a bloody parent element with a single bloody style? Especially without invoking tables?

Thanks. Loves and kisses.

P.S. John Allsopp is a nutter. I say this, because he’s running a five week online course, HTML5 Live With John Allsopp, over at SitePoint. My evidence for his insanity is that this course contains 8 structured lessons, 2 Live Q&A sessions, practical exercises and a yak! All for under $10. Ok, it doesn’t have a yak. But it has the rest, and looks to be an in depth look at harnessing HTML5 hotness today and tomorrow (markup, native audio and video, canvas, ARIA and more!)

It’s a crazy good bargain. Go take advantage of it.

Comic Update: This is not a Reference

Monday, July 13th, 2009

[Update: The CSS3 Attribute Selectors article in the Reference was updated just prior to this post going live. So my ranting about that section is largely out-of-date and can be summed up now as "Took much longer than I'd anticipated".]

When I was first hired by Mindfly in 2007 I was not what you’d call “web standards aware”. Upon seeing the table-based layouts, font tags, and massive collection of inline-styles that stampeded through my pages like wild buffalo, grown men would gnash their teeth and wail in torment and mothers would hide their children.

It only took a few crying infants for me to realize something needed to change if I wanted to keep this career. My infovore nature led me to consume as much information on the topic I could muster, starting with Andy Clarke’s Transcending CSS and continuing through dozens of online tutorials and references. Learning the errors of my past, I spent a bit of time quietly taking my old sites out to the woods, instructing them to dig their own graves, then whacking them with a shovel before burying them for all time.

After the evidence had been destroyed, I went about trying to make compliant, pretty sites using the best practices in HTML and CSS. By 2008, I had friends who thought making website was the bee’s knees, but they didn’t know where to look for learning CSS, etc. At that point my bookmarks of handy sites had grown enormously, so I heartily recommended several.

One that I mentioned time and again was the Sitepoint CSS Reference, which was (to my knowledge at the time) a very complete, useful reference to the wonderful world of CSS. It even included tasty tidbits about CSS3 support. The main reason I sent each person who asked to this reference was explained in Sitepoint’s announcement“…the reference contains a bunch of features that make it stand out from the pack — things like cross-browser compatibility charts and user feedback to ensure that it is accurate, up to date, and best-practice. If you’re building sites with CSS, this is a reference you’ll keep coming back to again and again.”

With the speed at which this industry changes, who wouldn’t want access to a constantly updated reference that even incorporated outside feedback?

There is a problem, unfortunately. As near as I can tell, the reference isn’t updating. Since its launch, it seems to be sitting still, failing to modernize its information as browsers march on. Every single browser on their compatibility list has had major updates since its launch, putting much of the CSS3 support information well out of date. Never mind that Google Chrome has been out for quite a bit of time now (as the Internet sees such things) and has no compatibility information present despite it’s higher browser share than Opera in most markets.

In a book, this situation is a necessary reality. Books, by their static nature, are out-of-date typically before they’ve even been published, requiring later editions, etc. But for a web-based reference, which claims specifically to have the benefit of staying up-to-date and incorporating user feedback, this isn’t terribly cool.

For me, the situation is exasperated by their promise to incorporate feedback (or even claiming to do so) when they (at least in situations I’ve experienced) clearly are not. To back my claim, I’d like like to direct you to my own experience I’ve had, which I’ll call Exhibit A. If you examine the page on CSS3 Attribute Selectors, you’ll find that it erroneously claims that Internet Explorer 7 completely fails to support these little gems.

I’m no IE fan, but I can tell you my friends, that this is a falsehood. And because I was foolish enough to take that advice at face value (who doesn’t trust Sitepoint?) I created IE-specific workarounds in a project where I first included these selectors, workarounds which ended up costing me a decent chunk of time. It was only later that I decided the best experience is personal experience and I actually tried the selectors in IE7, only to discover that they work perfectly fine. I’d wasted time (translate that: money) fixing a nonexistent problem they claimed existed.

Not being the type to hoard information, I shared the fact that they were mistaken in a comment on May 2, 2008, complete with a link to a test page to confirm that I wasn’t full of hot air. (The old test page has disappeared, so you can see what I’m talking about if you check this test page in IE7). Eventually they marked that they’d incorporated my comment into the article… only they hadn’t. It still incorrectly stated IE7 support didn’t exist. Sometime much later (aka, this year), I commented in annoyance at the mistake again on Twitter. They responded multiple times over Twitter to me, asking for clarification (which I gave) and then promised to update their Reference (which they didn’t).

That was a couple months ago.

Today’s comic shares my view on the so-called Reference, albeit in a somewhat abstract sense. So let me make it clear: I don’t think the Reference is what they claim: a reference. Rather, much like René Magritte’s unpipe it is not what it appears, merely the image of it. The unreference, if you will, is something that claims authority and completeness but increasingly lacks both as time moves forward.

One erroneous page isn’t worth tearing down their entire reference. However, with a complete lack of modern CSS support information on every major browser, Sitepoint’s “up-to-date” CSS Reference has become largely useless as a source for web designers living and working in 2009.  I’m upset at this, because I sent literally everyone I knew with an interest in learning CSS to their site, saying “Hey, these guys know their stuff.”

Now… well, now I tell people to avoid it. I’ll repeat that for anyone reading: Don’t bother. They mean well, but they’ve failed to live up to their mandate of keeping updated. In March, when I’d commented (again) on my disgruntlement with the lack of updates, I received the following pair of tweets from Kevin Yank (@sentience).

April 6, 2009 4:19pm: “What erroneous compatibility info did you find? We are planning to refresh the Reference for the latest crop of browsers in May.” (after which I gave a summary).

April 6, 2009 4:50pm: “Thanks! Will get that corrected ASAP.

It’s July now. I think we may have different definitions for “corrected” or “ASAP”.

Comic Update: Getting Tough on Static Visuals

Monday, July 6th, 2009

One of my regrets for this year was my inability to attend An Event Apart: Boston or @media ’09. I’m sure each conference was full of great speakers, tons of new ideas, and an atmosphere alive with fellow professionals sharing thoughts about what they love about their jobs.

In particular, though, I’m sad that I missed Andy Clarke’s “Walls Come Tumbling Down” presentation (warning, link goes to a very long presentation transcript.) He expressed a good deal of nervousness about how the topic would be received, which implied it was going to be pretty eye-opening considering his usual bravado. It’s something I just had to see… if I had the funds for traveling, attending, and food and board.

As I don’t, I didn’t see it. Which is sad. Fortunately for me, he posted the transcript and slides online (see link in prior paragraph.) It’s a long read, but it’s worth it for every single one of you to go take the time and check it out. It’s good. It’s great. It pushes on a lot on updating the web design process to reflect not only the state of the modern web, but also the state of the modern economy. It’s so good I wish I could build a time machine, go back to earlier this year, and do the presentation myself to sound as clever as he does.

My short-lived attempt at building a time machine ended when I discovered that DeLoreans are slightly beyond my means to purchase. So instead, I had to content myself with creating a 80′s themed comic that portrayed my agreement with what Andy is preaching. I think today’s comic proves two things: 1. Andy Clarke would probably fit in quite well with the pastels and whites of undercover Miami cops and 2. Some things can’t be built with just a picture.

Let me focus on that last one in more detail, because it’s something I’ve encountered in my own career and talked about before, but keep encountering.

In the example listed in the comic, you can’t expect a speedboat to be built from just a drawing. By the same token, there’s a vast majority of products that require a design that is more than just an image. This is something we accept as common sense in our everyday lives. Have you ever had a home built based only on a picture some guy drew, rather than blueprints from a contractor? No, of course not!

So why do we expect modern web sites (which are more often than not actually applications) to be something your developer can make or your client can easily grasp with a static visual proof/comp? Yet, all too often, this is exactly what we show clients. We finish making a pretty picture in Photoshop set to just the right width, then get our clients to sign off on that. It’s then handed over to your developer (or whatever you’re calling the guy making the code) with little to no cues for how the site responds to a changing browser resolution, how it interacts with the user, etc.

As a result, an iterative process begins. The developer interprets the designer’s vision. It goes to the designer, who naturally will find issues caused by a disparity of vision on how the site interacts, or whether it has a fixed width, or whatnot. Then they mark up their preferred changes, and send it back. This goes on until the designer is happy enough to show the fledgling site to the client, who almost invariably will have a problem with it because it wasn’t what they imagined when they looked at the static picture they were shown!

So it gets revised… again.

Finally, it all seems well, until the client’s mother sees the site on their old e-machine running IE6, and they want to know why it looks different. Where are the rounded colors, the transparencies?

Time and again I’ve heard of this happening or experienced it myself. Why is it still occurring? The web is interactive. The web is different from browser to browser. The web is sometimes seen on a screen slightly larger than a postage stamp. We know this. In order to properly design for it, we need to move beyond habits we inherited from print.

Andy proposes designing in the browser, showing the client how it changes depending on a browser’s support, and how it might interact with different widths, etc. For some designers this could be a pretty radical step, as accustomed as we’ve become to using Photoshop’s powerful toolset. But on tighter budgets in an increasingly complex Web, we don’t have a lot of choices in the matter.

I could repeat Andy point for point, but let me just play the role of fan boy and tell you that he’s brilliant. He’s saying what we all understand: We have to change how we design for the Web. It’s even more crucial in this economy than it was a couple years back. Go read Walls Come Tumbling Down. Even if you’re not in a position to adopt all of his suggestions (or even if you disagree) you’ll come away from it improved.

America the Purple (Or, Shut the Hell Up and Eat Some Apple Pie)

Tuesday, November 11th, 2008

One last political post and then it’s on to my usual diatribes about browser problems, CSS, JavaScript, and the contents of my pockets (right now: chapstick, receipt, four coupons for local eateries, and a small quantity of lint). I just want to get something off my chest.

Disclosure: The candidate I voted for won. This is the first time that’s happened for me. The following doesn’t involve the candidates, however. Also, this is a bit of a ramble.

America (and to a lesser extent, the rest of the world), I’m really sick and tired of extremist/fundamentalist diatribes fueling all our conversations. At some point, it became impossible to simply disagree with someone civilly on any topic. Instead, whether it was about tonight’s pot roast or the national election, if someone disagreed with you they were a damned, dirty, ape. Possibly a communist dirty ape or a nazi dirty ape, depending on what angle you were spinning. It’s become all too common for everyone from newscasters to tweeters (tweet people, what the heck do we call those) to literally go unhinged and accuse anyone they disagree with of being un-American, nonhuman, or worse.

What’s wrong with this picture?