Archive for July 2010

 
 

How to Navigate Design by Committee

Design by Committee is the wooden stake to any designer’s heart. But there is a way around it.

The latest post on Six Revisions offers up some opinions on how to circumvent Design by Committee and still actually make something useful.

The entire article is worthy of a read, but in my experience, it’s always been one single phenomenon that makes the design process come to a screeching halt - a lack of direction:

A successful design starts with a well-defined objective that everyone understands and supports. Without one, it’s nearly impossible to complete a design project on your own, let alone as part of a large group.

It’s safe to assume that everyone in the room wants this project to succeed. Get out of the habit of defending why the blue link is underlined “because it just looks better” and into the habit of attaching it to a goal: “the blue links are underlined because one of our goals was better usability, and this is one step towards that.”

Apple Fanboy Employees

Apple to AT&T:

They have even fought about wardrobe: When an AT&T representative suggested to one of Jobs’ deputies that the Apple CEO wear a suit to meet with AT&T’s board of directors, he was told, “We’re Apple. We don’t wear suits. We don’t even own suits.”

If the quote is accurate, that’s not “thinking different” or whatever bullshit, hipster mantra the fanboys are chanting. That’s just being a prick.

Bad Connection (Wired) via DF.

HTML5 Essentials

Marc Grabanski has put out some very good overview presentations lately on lots of web development essentials. His latest is on the essentials of HTML5.

It’s much more of a “this is HTML5″ and not so much of a “this is how to use HTML5″. I’m linking to it because it’s a great way to dip your toes in and figure out what you can use now.

HTML5 Essentials

Mobile UI Design Restrictions

We’ve been working on the mobile apps for Lookit lately. With this being our first attempt at doing anything mobile, Tanner and I have both been learning A LOT.

An article on MobileTuts (ps: add this to your RSS reader if you’re working on mobile stuff) talks about a couple of the big differences between mobile design and development and “normal” web development:

  • Space-saving UI elements
  • Designing for multiple mobile experiences

Read the article here. Be sure to add their RSS feed to your reader. There  hasn’t been an article in the last three weeks I haven’t bookmarked.

jQuery for Designers: Manipulating the DOM

Now that you know how to understand the DOM, let’s manipulate it with jQuery! There are a few prerequisites you should do before tackling this tutorial:

How jQuery thinks
My “aha!” moment with jQuery came as soon as I figured out the way jQuery thought. Luckily, this is easy and only two steps:

1. Find some HTML
2. Do something with it

That’s it! That’s literally all you need to know to start understanding and writing your own jQuery. Let’s break it down:

Finding some HTML
In the previous article, we discussed finding things in the DOM. Luckily, jQuery uses the exact same kind of selectors you probably already use in your CSS, like:

  • h1
  • ul#mylist li
  • a:hover

A basic jQuery selector for the same elements look like this:

  • $('h1')
  • $('ul#mylist li')
  • $('a:hover')

The $(' ')part is how you tell jQuery to select that item. Cake, right? Right.

Doing something with it
Now that you’ve selected your element, it’s time to do something with it. In this case, we’re going to add a class of “active” to that item. addClass() is a built-in jQuery method that will add a class to your selection.

To add the “active” class to the same elements from above:

  • $('h1').addClass("active"); find all h1′s in the HTML and do something (add the class) “active” to them.
  • $('ul#mylist li').addClass("active");find every li in your “mylist” unordered list and add the class “active” to them
  • $('a:hover').addClass("active");find every anchor in the hover state in your document and add the class “active” to them

Get it? The basic syntax of jQuery is “select something dot do something semicolon”: $('selectSomething').doSomething();

Some other very handy jQuery methods you’ll likely use a lot:

  • show() and hide() – shows or hides the selection. e.g.: $('h1').hide();
  • removeClass() – remove a class from your selection. e.g.: $('h1').removeClass("active");
  • hasClass() – finds items in your selection with a particular class. e.g.: $('ul#mylist').hasClass("active");
  • fadeIn() and fadeOut() – changes the transparency of your selection slowly, like a prettier show() and hide(). e.g.: $('h1').fadeIn(500);

Did you notice that we added a number to the fadeIn() method? According to the jQuery documentation, fadeIn accepts a duration. One second = 1000, so $('h1').fadeIn(500); brings any h1′s from completely hidden to completely visible in half of a second.

Try this
Download your example docs for this tutorial and open jquery2.html in both your text editor and Firefox. Activate Firebug and go to your console.

We have a list of places here. In the markup, you’ll notice that it’s an unordered list with an id of “places”. In the console of Firebug, type this and click “run”:

$('ul#myplaces').hide();

Bam! List gone! You should know that you’re not removing the list from the DOM, just hiding it in the browser. How would you make it visible again?

Often, you’ll want to edit the styling of an item with jQuery. For example, let’s make the h1 tag red:

$('h1').css("color","red");

The jQuery documentation for css() says we can give css() a property name and then the property, separated by quotes.

One of the most used jQuery methods in UI development is the ability to “select all items”, So, let’s check all of the checkboxes in the “numbers” fieldset:

$('fieldset#numbers input[type="checkbox"]').attr("checked","checked");

We’re finding all of the checkboxes in the “numbers” fieldset, then changing the attributes of the checkbox to checked using jQuery’s attr() method.

As you (hopefully) know, adding checked="checked" in the markup for a checkbox checks that checkbox. jQuery lets us assign attributes to elements in the DOM using syntax you’re already familiar with. Check? Check.

Homework
Using the Firebug console in Firefox:

  • Hide all of the food images on the page. A beverage while you’re learning to code is always helpful, though, so never hide the Newcastle. Hint: you can select multiple items the exact same way you would in your CSS.
  • Make the h1 bold and blue. Feel free to rely on the jQuery documentation for an example.
  • Uncheck all of the checkboxes in the numbers fieldset
  • Check the last checkbox in the letters fieldset

Cavs Owner’s Public Comic Sans-laden Tantrum Over LeBron

Now that LeBronapalooza is over, the world knows one of the greatest players in the NBA is leaving Cleveland and heading to Miami.

Obviously, people in Cleveland are pissed. It seems like their entire economy is tied to that team and this player.

So, if you’re the  majority owner of this team and your home-grown star ups-and-leaves for greener pastures, what do you do?

You write a scathing letter. In comic sans.

In the meantime, I want to make one statement to you tonight:

“I PERSONALLY GUARANTEE THAT THE CLEVELAND CAVALIERS WILL WIN AN NBA CHAMPIONSHIP BEFORE THE SELF-TITLED FORMER ‘KING’ WINS ONE”

You can take it to the bank.

Typeface selection aside, the letter comes off like a whiney little kid whose upset that Dad took his bike away.

Actually, typeface included.

[via]

10 Things CEOs Need to Know About Design

I don’t remember where I picked this up from, but everyone could learn a little bit about design before they start managing designers, right?

Tiny Bits of Inspiration

The other day, I was working to redesign a major part of the crowdSPRING site when I was struck with one of the most annoying design blocks I’ve had in a long time.

While it still hasn’t gone completely away, a site like Visual Bits usually helps.

Curated by Alex Girón, The site is simple, clean, and offers a bunch of different posters, layouts and colors to help break through that stupid, gut-wrenching, inefficient place where you can’t seem to draw anything that makes sense.

Vintage Design

I love when they do this to ANYTHING, but this Alaska Airlines plane looks sexy with a vintage treatment:

I’m especially fond of the Boston Bruins 2010 Winter Classic retro jerseys:

Bunch of Interesting Links Today

The Internet was ripe with new UX articles today. Here are the best ones I read: