Archive for the ‘Web Design’ Category

Open Letter to Adobe: Please fix the debug version of Flash Player

Dear Adobe,

I am a Flash developer. I do a lot of work in Flash Professional, Flash Catalyst, and the Flex framework via Flash Builder. Working in Flex, of course, makes having the debug version of Flash Player on my systems a simple job requirement. However, I am also a web user – like most geeks (and these days, really like most people in general) I do spend a fair amount of time just surfing the web. Recently, those two activities have come into conflict, though, because surfing the web with the debug version of Flash Player – especially on Firefox – has become annoying at best, and downright infuriating at worst. I know I am not alone here, either, and I have seen others comment on Twitter about their frustrations of trying to be a web user while having the Flash Player debugger installed. I am not one who is generally inclined to just complain about things without at least trying to do something about it, so I have outlined below three things that I believe can be done to fix this problem.

First, why is the debugger installed with Flash Builder, but not Flash Professional? Ultimately, the problem I and others have is that too many Flash designers publish movies with errors in them. To a point, you can almost argue that it is not entirely their fault, since the “normal” version of Flash Player is designed to fail silently, so many of these designers may be entirely unaware that their movie is generating errors. In fact, just today I reported a Flash error to a very large, quite prominent blog, and got a quick response back that they could see no errors when they loaded their page. And of course not: they have the normal version of Flash player. I forwarded them a screenshot of their page with the error displayed, but obviously it would have been better if they had known about it in the first place. So my first suggestion is this: get the debugger out to folks using Flash Pro. Push an update to Flash Pro that installs the debugger, and moving forward, make sure that whenever someone installs Flash Pro, they also end up installing the debugger (just as now happens when one installs Flash Builder). That way, all of those folks out there that are building Flash content in Flash Pro will be able to see and fix their errors before they publish.

Second, please provide a way for those of us running the debugger to turn it off. I absolutely need it in order to build my apps, and I absolutely do not need it in order to just surf the web. I’ll be the first to admit that I do not know exactly how plug-ins work, so this might be more difficult than it sounds. However, I would really love to be able to tell Flash Player that, for this browser session, I don’t need debugging, thank you very much. Even more ideally: allow me to disable debugging by default, and only turn it on when I actually need it. That way, for that majority of the time when I’m using my browser as, you know, a browser, I could actually use it and not spend so much time wondering why so many people publish Flash content with errors (although, see above). When I needed to get some work done, though, I could enable debugging and thus make it so that I did not become one of those folks.

Third, and this is really the most important piece: please fix the debugger for Firefox. It is simply broken. When I hit a page that contains Flash errors in IE, I get the error dialog box, click Dismiss, repeat for each other error, and then continue surfing. On Firefox, however, I get the error dialog, and then the browser locks up. I cannot click the Dismiss button; instead, I just get the little spinning circle. Thankfully, I have learned that I do not need to kill Firefox entirely: I can instead press Ctrl-Shift-Esc and simply kill the plugin-container.exe process. Of course, if I want to then view Flash content, I have to restart the browser. What is even more fun is when the error dialog box pops up but then immediately loses focus and drops down behind the browser window so that it cannot be seen, leading me to think that the browser itself has in fact crashed. Again, none of these problems are present on other browsers, so clearly there is just something wrong with the Firefox plug-in. By the way: I am seeing these issues on Firefox 3.6.13 on 64-bit Windows 7 Home Premium, running the debug version of Flash Player 10.1.

Thank you.

Sincerely,

Rob

(Note to my users: constructive feedback is welcomed in the comments. Generic “I hate Flash” or “Flash sux” comments will be deleted.)

Adobe BrowserLab and Flash Catalyst

This week, I did a user group meeting on two exciting new technologies from Adobe – BrowserLab and Flash Catalyst. Briefly, BrowserLab is a new hosted service (meaning that it’s an online tool hosted by Adobe) that allows you to test web pages in a variety of browsers that you may not have installed on your computer. Currently, it tests on Firefox 2 and 3 and IE 6 and 7 on XP, and Firefox 2 and 3 and Safari 3 on Mac. So as a Windows user running IE8 on Vista, I at last have a way to find out what my page looks like on IE 6 and on a Mac. Pretty cool.

Flash Catalyst is the newest tool in the Flash Platform. Catalyst allows you to take designs created in Photoshop or Illustrator and easily convert them to Flex-based Flash applications.

You can view the recording of the meeting if you want to get more information on either technology and to see my demos.

Because the Catalyst demos ended up taking longer than I had planned, we are going to continue the discussion about Catalyst at our August meeting. This session will also be recorded, and I’ll post the details then.

Ems versus Percents

Recently, a post came through on the Yahoo! Dreamweaver list about ems versus percents for sizing in CSS. Basically, the question was whether or not there was actually a difference between them and whether or not it mattered which one you use. This comes up quite a bit, and I can completely understand how it can be confusing, so I thought I’d share my thoughts on the issue.

I want to start with an explanation of what, exactly, an “em” is. An em is a unit of measurement defined as the height of the given font; specifically, it is (at least in theory) the height of a capital “M” in the font. In practice, that means that one em = the font size, so if you have your font size set to 16 pixels, 1em = 16px. If your font is set to 12 points, then 1em = 12pt.

However, in 16px text, 100% is, obviously, 16 pixels. If your font is at 12 points, then 100% is 12pt. And that’s the root of the question: if 1em = the size of the font, and 100% = the size of the font, then what’s the difference?

The answer is that when dealing just with font sizes, there isn’t a difference. If you have your body’s font set to the browser default (16px for most browsers), then there is no difference at all between setting your h1 to 120% or to 1.2em. They are identical.

Box sizes, though, are a different creature altogether. Percentage widths on a box refer not to the size of the font, but to the browser window. So if I say that I want my “mainContent” div to have a width of 80%, I’m saying that I want it to span 80% of the browser window, however big that may be. But it’s also legal to say that I want my “mainContent” div to be set in ems. So I might decide to set the div to, say, 48em. And here’s where the power of ems comes in. Assuming that I’m using that browser-default 16px, then a box with a width of 48em would be 768 pixels wide. But … and here’s the trick behind using ems … if you then resize your *text*, the box will also resize.

Why, one might ask, would you want to do that? Quite simply, for accessibility. It’s not about YOU, the designer, resizing text. Rather, it’s about tying your design to the browser’s resize text functionality – an important accessibility tool.

You can actually see this in action. Using Firefox*, visit both cnn.com and yahoo.com. On CNN, resize your text (View -> Zoom -> Zoom Text Only, then View -> Zoom -> Zoom In or ctrl-+)**. Then do the same thing on Yahoo’s homepage. What you’ll see is that CNN’s layout breaks pretty quickly, since their layout is pixel-based, but Yahoo’s does not – their boxes expand with the text.

*You need to use Firefox for the above example because IE’s text resizing feature only allows for resizing if the font size on the page is set in percents or ems, and CNN’s is not, so the text will not resize.

** Until very recently, Firefox defaulted to only “zooming” text when using ctrl-+ and ctrl–. I’m not precisely sure when they switched to zooming the whole page (including graphics), which IE has been doing since version 7 was released, but I know that it was very recent – one of the dot releases since 3. I’m personally not a fan of zooming the whole page. If I’m on one of those blogs designed by a moron who is using 3 point text and I need to make the text bigger to read it, I don’t want the whole page to expand to the point that I have to scroll left and right and to the point that the images pixellate, but the browser designers forgot to ask my opinion before they changed the feature.

So I hope that helps explain things a bit.

By the way, in DW CS3 and CS4, the starter pages contain a bunch of layouts called “elastic” that size their boxes using ems for exactly this reason, so you might try playing with them to see what happens. For example, change the font size in the CSS for one of the sidebars and watch what happens to its width. The book “Mastering CSS Using Dreamweaver CS3″ (or the CS4 version) has a chapter on using these layouts. (Stephanie Sullivan, one of the co-authors of the book, actually created all of those starter pages, so she knows of what she speaks.)

The two biggest mistakes made by designers with hyperlinks

The web was originally developed, at least in part, to provide a means by which documents can be linked together. Hyperlinking is one of the very first things you learn when you get started in web design. Yet, as with a lot of other things, a lot of people consistently get it wrong when working with links.

I’m going to cover two basic, but common hyperlinking mistakes here. The first is used to be much more common than it is today, but it still exists: not using logical text for the hyperlink. “Click here” was perhaps the first cliche of the web – a sure sign that a designer wasn’t really thinking through their pages. I hesitate to go right out and call it lazy design, but …

One of the blogs I follow every day is scottkelby.com. Scott, in case you’re not familiar with him, is the President of the National Association of Photoshop Professionals. He’s also the best-selling computer book author out there. More important, at least in my eyes, is that Scott is also the grand-poobah when it comes to Photoshop knowledge. If you use Photoshop at any level and want to get better, you owe it to yourself to so as I have done and add his blog to your daily read list. I have nothing but complete respect for Scott, but that said, there is one thing that I wish Scott would change: his approach to links. Take a look at the screen shot below, taken from Scott’s blog today (March 6, 2009):

Screen shot from scottkelby.com, 3-6-09

See what he’s doing there? He’s not using the words “click here”, but he might as well be with that “Here’s the link” at the end. What purpose does that serve?

There are several problems with the “click here” or “here’s the link” approach. To begin with, it’s a bit insulting to your reader, if you think about it. They know they’re supposed to click; they know it’s a link. So why tell them. It’s kind of like giving someone directions to a store in the mall by saying, “OK, so you need to go out in the mall, turn right, and then go downstairs. Oh, and by the way. That big hole in our wall? That’s the door. You need to go through it to get started.”

Instead, wouldn’t it make a lot more sense to just link the relevant phrase in your text to the page in question? Take the second paragraph from scottkelby.com above: instead of the useless “Here’s the link” stuff, why not just link the words “check out the work of photographer Loretta Lux.”

That approach is also a lot cleaner. It reads better. It’s more accessible: a screen reader will often present all of the links on a page to the user separately. Often, a blind user on Scott’s page would be presented with a list of links that all said “Here’s the link”, and have no way of knowing which one belongs to what text. Oh, and one more key element: search engines like Google do a lot of their indexing based on the text provided by links. Having a site as prominent as Kelby’s link to yours would be a big boon for search engine rankings, but unfortunately for Ms. Lux, most of that boon is lost because Google is going to index the words “here’s the link” with her page, not the much more important words like her name or the fact that she’s a photographer.

So please, take a moment to think about your link text. I’m going to go so far as to say that there is never, ever a time when you need meaningless “click here” text. If you think you have an example where it’s simply impossible to word the text differently to get rid of it, let me know in the comments. I’m willing to bet that I can come up with a rewording that will make more sense.

The second problem I want to mention here, and the one that actually inspired this post, is much newer, and unfortunately becoming much more prominent these days. Ironically, in many ways, it’s an offshoot of fixing the problem above. If you are going to have words in the middle of a sentence serve as your link, please make sure that the text is obviously different! Here’s the example that made me decide I needed to write this post:

Screen shot from cfwhisperer.com, 3/6/09

There are two links in that paragraph. Can you find them? If you were to visit the actual page from which the screen shot was taken, you could of course hover over each word with your mouse, waiting for it to change into the hand and let you know there’s a link. This is in fact exactly what I had to do when I visited the site: I could tell from the context that there should be a link in there somewhere, but I certainly couldn’t see anything, so I had to start mousing over stuff. Seriously? In what design school, exactly, is it being taught that you should make your links into some sort of Easter egg hunt?

In the original design of HTML, links were to be blue and underlined. Blue was chosen most likely because it is the darkest color that is most obviously not black, while underlining links made sense because no real designer would use underlining for anything else. But both were there because it was understood that it’s important that links stand out: that there be contrast between them and the surrounding text.

Link many designers, I’m not a huge fan of underlining links on things that are obviously navigation: look at the sidebar to the right of this article, and you’ll see that the link’s aren’t underlined. That’s because I believe that it’s obvious from the context that those are links, and because in every case, the entirety of the text in question is a link.

The body of a document in a difference story, however. Assuming that you read and took to heart the whole first portion of this post, you know by now that your links should be embedded seamlessly within your text. However, they still need to stand out. So I will always underline the text of the links in the body of a page when I create it from scratch, as well as making them an obviously different color. Rob Sommers, however, pointed out (correctly) that this blog actually contradicts that, since as you can clearly see links in the body on this page are not, in fact, underlined. So the correct statement would be simpler: just make sure that the links are the page are nice and obvious. Underlining is probably best; making the text bold I think works well, too (although if you disagree – if you think that the links within the text are hard to find – please let me know in the comments.)

So there you have it. Rule #1 for linking: link meaningful text, instead of garbage like “click here” or “here’s the link.” And rule #2: Never make your users have to search for that link within the text.

Wow, I’m on Adobe TV

Adobe has posted most, or possibly all, of the sessions from MAX, including as it turns out mine! Pretty cool. So if you would like to watch it, you can do so on the Adobe TV site.