Timeless Design: Creating A Modern, Yet Classic Website

Posted by Christian Keyes on August 18, 2014. Tagged: design

As a creative team, we attend design kickoffs on a regular basis as part of our creative process. During these meetings and calls, we solicit feedback from our clients regarding a number of popular and attractive websites. In addition to looking at the most trendy and cutting-edge designs, we like to revisit successful designs that have aged particularly well. We often hear that designs we create should feel "timeless" for obvious business and aesthetic reasons. It's always a shame when you come across a site that is only a few years old and has no functional issues, but sports a design that was clearly rooted in a passing trend. More and more frequently we're asked to create "timeless" work that somehow remains "contemporary" and "modern". We strive to always produce clean and cohesive designs, so as seasoned pros, we generally don't fret. However, this raises an important question: what exactly makes a site look and feel timeless?

I polled the creative team and asked how best to achieve a look that is not only contemporary, but timeless.

Focus on content and readability

As we've said incessantly for years; content is king. Design in a manner that doesn't detract from the message and you'll be on the right track. Similarly, legibility is always in fashion. Paying close attention to contrast and using an appropriate typeface goes a long way towards constructing a solid design.

Great alignment

It's no secret that solid alignment of elements will make almost anything look cohesive and professional. While there are a million great books and articles about grid systems and their merits, I find that people tend to rely very heavily on such systems, treating them like a visual panacea. Know when to break out of the mold and create your own rules. Be consistent and have a plan, but don't feel obligated to copy a system older than your parents, or one invented by a bored developer last month. This leads well into our next suggestion.

Avoid relying on gimmicks or plug-ins

As designers, we're constantly inundated with new tools, frameworks, presets and libraries that aim to make our jobs easier. When Photoshop first introduced layer styles, it was difficult to find a website that didn't have some kind of beveled glossy button on it, or a thick drop shadow dangling from some glowing text. We all get anxious to try fun new techniques and technology, but always question how it fits into the grand scheme of your site. Another danger here is that if you're using a popular tool to create your work, chances are that your contemporaries are as well.

Add accents judiciously

Absence of design is not design. However, don't feel like you have to add elements for the sake of it. Design is art with purpose, so if something needs to be present, have fun with it and use design to solve problems for your users. A good design should delight viewers visually, so I always try to fight to keep quirky elements present when they add life to a page. The challenge here is to keep out of trend territory.

Don't be a follower

Every designer worth his or her salt should keep a constant finger on the pulse of new trends and best practices. Contemporary design arises from the culmination of hive mind design thinking and steadily advances the norm. However, it's important not to be swept up in any one trend, no matter how wide spread or solid it may seem. We could be chuckling about flat design next year the same way we currently scoff at bevels and rounded corners. Be sensible and let your content and audience guide your decisions. The same amazing network that connects us and let's us show off our trendy new work can be less than open to unconventional ideas. Truly timeless designs originate from sincere and appropriate work.

An exercise in defining timeless design

To witness all of this firsthand, I've devised this task. Visit one of the following Web design galleries:

http://www.cssdsgn.com/

http://www.siteinspire.com/

http://unmatchedstyle.com/

Have a look around the few newest pages. You’ll no doubt see trends emerge that feel very “now”, but look also for designs that seem like they could have existed 40 years ago, or will not look absurd 10 years in the future. Next, use the paginator to journey back in time by choosing the last possible page. Work your way from oldest to present day and you’ll no doubt see designs that not only succeed in looking clean and “modern”, but that would still pass as a beautiful site today.

What do you think defines a "timeless" design?

Top 5 Reasons I Won't Buy Anything From Your Ecommerce Site

Posted by Allison Boyajian on August 13, 2014. Tagged: best practices, strategy, user experience

Ecommerce

If there’s one thing I know and love, it’s online shopping. In fact, if it weren’t for the delicious pretzels and the oh-so-entertaining people watching, I would probably be okay never setting foot in a mall again.

Online shopping is great. I can peruse a multitude of different stores, read what other people have to say about the products, easily check out and have all of my shiny new purchases shipped right to my door (because who really needs to fresh air, anyways?).

But not all Ecommerce experiences are that pleasant. Often times, I know within the first two minutes of browsing a website if I’ll actually buy anything. Here are the top five factors that turn me away from an online store and make me a lot less likely to buy.

 1. No reviews

This is a personal preference, but I’m 99.9% more likely to buy a product that has reviews. Not even good reviews necessarily, just reviews. Why? Because subconsciously, this says Other people have tried this. It’s not weird. It’s not sketchy. You should try it too. Obviously, good reviews help tremendously, and bad reviews hurt. But sometimes, just having reviews and knowing that other people have tried the product makes me want to try it for myself.

That being said, good reviews work some sort of voodoo magic on me. Before I know it, I’m ordering a ceramic garlic roaster (I don’t even like garlic) solely because it had outstanding reviews. People love peer affirmation. And I don’t know about you, but when I do a Google search for a product, my eyes skip over the links without reviews, and go straight for ones with stars.

 2. Bad pictures

It’s simple. The pictures need to be big, clear and should multiple views and angles. And most importantly you need to be able to zoom. If I don’t have enough information about the product from the picture, and there aren’t any reviews, I probably won’t take the chance on buying it. After all, I’m not in-store, so I can’t touch it, hold it, or try it on; all I have is the picture and the description. However, if I can zoom in, and check out the side angle, I might say, “Hey, the shape of that couch will fit perfectly in my living room, and the color looks like it’ll match, too.” $600 later, you’ll have my new business, and I’ll have my new couch.

 3. No saved shopping cart

 We’ve all been there. You put ten things in your shopping cart, and expect to buy at least two of those items. You accidentally close the page. You go back, hoping to find your shopping cart full of all your soon-to-be-purchases. Alas, “Your Shopping Cart Is Empty.”

Most-likely outcome? You turn around, and give up. Unless you were 100% set on buying those, there’s a strong chance you’re not going to go back and search for them all again. So, that company just lost some of your business, simply because they didn’t have a function to save your shopping cart.

 4. “Subscribe now!” pop ups

In an effort to grab your info, a lot of sites have a pop-up asking you to subscribe before they let you enter. Sometimes they hide the “x” so it’s difficult to escape. Sometimes, there is no escape unless you enter your information. In my books, this is an automatic “back button.” Rarely do I want to give my name, number, and email just to access your site, especially if it’s not a well-known one. And even more so if I’m not sure that I’ll like your site, since I haven’t even entered it. If that pop up hadn’t have been there, I may have stuck around and actually purchased something. By trying to attract customers, you’re actually pushing them away. Next time, just try to get their info at the end of their positive shopping experience. If you’ve done your job right, they’ll want to sign up.

 5. Not mobile-friendly

Last week I was shopping for a blender at a kitchen supply store. In the store, they were selling for $29.99. I was just about ready to check out, when I decided to do a quick price check online. Amazon’s mobile-friendly site had the same one for $10 less. After a few clicks my order was placed. Now more than ever, we are on the go. We read on the go, we listen to music on the go, and yes, we even shop on the go. If your website isn’t mobile-friendly, and it takes me a year just to find my shopping cart, there’s a strong chance I’ll give up. Be sure to spend the extra time today to check out your site on a phone and put yourself in the shoes of a prospective customer.

If you’re building a B2C website, be sure to keep these all of points in mind. They certainly don’t apply to everyone (after all, most people don’t buy unnecessary garlic roasters), but overall, they’re crucial elements that can make or break a users shopping experience on your site.

Static Classes, Singletons, and Dependency Injection

Posted by Kevin Hamer on August 12, 2014. Tagged: engineering

The PHP community is thrashing its way into more and more object-oriented territory, but in the process, understanding where conventions are coming from is easy to lose track of for the every day developers who just use libraries instead of writing them.

Static classes, singletons, and dependency injection are all solving the same problem: letting code access code I've configured and written elsewhere. In other languages, this may be more about accessing the same object in memory for PHP  that's pretty much irrelevant. Nearly all PHP is executed on demand, 'run and done', and everything is being initialized every request anyway. However, these approaches have other pros and cons as well that do matter to PHP.

For my example, I used the simplest database class I could. A database class is a good example of a piece of code I may have written elsewhere and may want to keep in a library. In a given page, I may need to access the database in multiple places or I might never need to access it at all.

Static Classes

Above is a simple example using all static stuff. Here, the class represents a database. This works fine, but has a few drawbacks:

  • You need to remember to call ExampleDatabase::connect() before ::query().
  • If you call ::connect() twice, it’ll create another connection to the database instead of using the existing one.
  • You can only use ExampleDatabase to connect to a single database.
  • Every time we referencing ExampleDatabase, it is by its exact classname, making it impossible to extend. While it might not seem likely you'll be extending your classes offhand, if you have any plans of writing any automated tests, it's nearly necessary for mock objects.

Of these three, the first two leading to the most problems. If you don’t have a ‘configuration’ or ‘initialization’ PHP file that get runs only once off the bat, you risk either calling ::query() before ::connect() or calling ::connect() just before every time you call ::query(), both of which aren’t good.

Singleton Classes

This is a simple singleton. Here, an instance of the class represents a database, but the class makes sure there’s never more than one instance.

  • We still need to remember to ->connect() before we can ->query().
  • Calling ->connect() twice would still create another connection to the database instead of using the existing one.
  • You can still only use ExampleDatabase to connect to a single database.
  • We’re still referencing ExampleDatabase directly, although not every time.
  • We still can't easily extend ExampleDatabase which still means, whether for child classes or for testing, its going to be rough.

So what did we gain?

  • Because there’s an instance now, we can pass that instance around. That means there’s less places we’re refencing ExampleDatabase directly.
  • Any function or method that is passed an ExampleDatabase instance should be able to assume its configured. This is a big deal because it allows us to make it easy when one bit of code depends on on ExampleDatabase.
  • Also, any place we don’t reference ExmapleDatabase can now work with any class that extends ExampleDatabase too.

Still there’s a lot we’re left wanting. Ideally, we’d have a way to move all the logic of tracking the ExampleDatabase instance and whether its configured into another class or library where we can reuse it easily.

Enter dependency injection containers.

Dependency Injection

For my example, I used Pimple, though there’s plenty of different container out there. Conceptually, I’m going to use Pimple to just do two things:

  • Store a closure referenced by ‘database’ which will construct and configure an instance of ExampleDatabase.
  • Retrieve (constructing and configuring if necessary) an instance of ExampleDatabase referenced by ‘database’.

Pimple is a dependency injection container. Like the singleton example, an instance represents the database, but instead of using static methods in ExampleDatabase to keep track of that instance, Pimple does it instead.

  • Pimple handles remembering whether an instance is constructed and configured already, so I don’t need to worry about calling ->connect() at all.
  • We could store different instances of ExampleDatabase under different keys.
  • All other code only references ‘database’ instead of ExampleDatabase, which means if I want to extend or replace ExampleDatabase, I don’t need to change all my code.
  • Another plus is that if I want to swap out ExampleDatabase either for testing or for a new version, I'm in great shape. Pimple doesn't care at all, as long as it acts just like ExampleDatabase did.

Conclusion

There are ways to improve the static class and singleton class examples, but using a container

  1. Separates the logic keeping track of whether ExampleDatabase is needed and configured and
  2. Avoids creating hard coded dependencies on ExampleDatabase every time it is used.

Sometimes all you need is a static class or a singleton, however, this progression – static class to singleton to dependency injection – is how I can best explain why dependency injection containers like Pimple can improve our code's flexibility and robustness while also simplifying the code we need to write.

Phone Etiquette 101: 6 Do's and Don’ts of Leaving an Amazing Voicemail

Posted by Katelyn Weber on August 12, 2014. Tagged: strategy

voicemailVoicemails are easy. Or, so I thought.

Someone recently told me that I leave an amazing voicemail and I thought to myself, “Is there such thing as a bad voicemail?” Whether you’re leaving a voicemail for your Mom, your boss, or more importantly a prospect – you should always be sure to leave your best.

After analyzing some of the voicemails I’ve received recently, my own best practices and even a listening ear around my own office, I’ve put together a list of the 6 must-dos when leaving a voicemail (and some don’t-dos, as well):

 1. Say the person’s name

Voicemails aren’t very long, so it doesn’t give you a lot of time to make it personal. Saying the person’s name is going to reassure them that they’re not the 50th person on your calling list and that you’re making an effort when reaching out.

2. State your name and where you’re calling from

I can’t tell you how many times I’ve received a voicemail and not gotten the person’s name or where they’re calling from. Stating your name and where you’re calling from will let them know who’s calling immediately and they’ll be more apt to listen to the entirety of your voicemail.

3. The reason for my call is…

Tell them why you’re calling! Whether you’re following up on an e-mail or trying to schedule 15 minutes of their time, stating why you’re calling is going to help them decide how to follow up with you (e-mail or call back) best. 

 4. I will be available on Monday at 4:30 or Tuesday at 10:30

Phone tag is one of the biggest turn-offs for a prospect and one of the biggest reasons why you don’t end up getting in touch. Providing them with a few times that work for you will allow them to look at their calendar, decide if they’re available and allow you to be prepared for their response.

5. Restate who you are and how you can be reached (SLOWLY)

The prospect knows who you are and why you’re calling; now they’re interested in how they can get back in touch with you. SLOWLY restating your name and how you can be reached is crucial. People forget that when you leave your phone number, it needs to be slow enough for the receiver to write it down!

6. Don’t leave a novel

The most important rule when leaving a voicemail is limiting it to 30 seconds or less (I know, it’s short). But your prospect probably has a lot going on and isn’t going to have time to listen to your life story over a voicemail. Limiting your voicemail to 30 seconds or less will allow you to provide the essential information while allowing your prospect to get back to their day and reach back out accordingly.

Here’s a sample voicemail: 

Hi John, this is Katelyn Weber calling from iMarc – I hope all is well! I’m following up on the email I sent you earlier this week, feel free to give me a call back when you get a chance, I will be available today at 3:00 PM EST or Monday, at 10:00 AM EST. Again this is Katelyn Weber calling from iMarc, you can reach me at 978-462-8848. Look forward to hearing from you, have a great day!

 Happy calling!

iMarc Announces Leadership Changes

Posted by Nick Grant on August 11, 2014.

Our President and founder, Nils Menten is retiring. As a company founder, Nils’ contributions to iMarc over the last 17 years have been immeasurable.

While we will miss Nils, we are looking forward to the company’s next chapter, and Nils’ departure completes a transition in leadership that was actually initiated over a year ago. iMarc partner Nick Grant will now serve as iMarc’s CEO and partner Dave Tufts will be the agency’s CTO. Senior managers Katie Desmond and Patrick McPhail will also be joining iMarc’s leadership team.

Nothing will change with our account team structure or our client engagement model. Our clients will continue to receive the same high level of service and commitment they have come to expect from iMarc.

When reflecting on the transition, Nils remarked, “The company is on a firm financial footing, our client list is growing by leaps and bounds, and if I may be immodest for just a moment, the work is the best it's ever been.”  We couldn’t agree more. We wish Nils the very best as he retires to Arizona to pursue his passion for the outdoors.

Since its inception in 1997, iMarc has grown to be a premier full service digital agency with revenue and headcount increasing at a steady and sustainable rate. The company is in the midst of one of the most successful years in its history, added new services and capabilities, and continues to attract top talent. We will provide the same web and mobile development, strategy and user experience design, engineering, and branding services to our roster of more than 300 clients.

iMarc continues to grow; we are taking on new clients and projects in the airline industry, high technology and the business-to-consumer sector. To support our existing clients and services and our new clients, we are adding staff in all areas.

Nick Grant commented, “We're extremely excited to be working with such fantastic clients and look forward to producing more award winning work with the support of our talented staff. Nils' contributions to our culture serves as a reminder to all of us that commitment, collaboration and honesty are the underpinnings of a healthy business and great client relationships.“

If you have any questions, please feel free to reach out to us at nick@imarc.net or dave@imarc.net

Why Every Designer Should Have a Pet Project

Posted by Jared Laham on July 31, 2014.

pet_project

Designers are always helping others with their goals, abiding by their timelines, and adhering to their restrictions. This fast paced environment we work in is exciting, poses unique challenges daily and will help you grow as a professional, but like any balanced diet, needs to be complemented with “free range" work. 

It’s time to stop for a second, focus on your own goals and how they can help you grow. A personal pet project is a great opportunity to go all in without any of the restrictions or snares normally associated in client work. Leaving your comfort zone as a designer always leads to growth and sharpening of existing skills.

Top Reasons Why You Need A Pet Project.

1) Create something for what you are passionate about

Pet projects are always hard to make time for, but when you chose something you are passionate about you will find a way. These types of projects don’t even have to be rooted in your area of expertise. If you are an developer, try your hand at photography. If you are a digital designer build furniture. Chose something that will challenge and enrich your skills. youtube.com and skillshare.com/ are jam packed with tutorials and expertise that will get you headed in the right direction. The work that feels the most authentic and resonates the best is work formed with passion. 

 2) Explore trends

This is a great opportunity to experiment with new trends without sweating about how timeless it will be or if dilutes a brand's visual identity. This should be a playground where you are free to get weird with it and take a concept where ever you feel it needs to go. I like to scan dribbble.comdesignspiration.net, and siteinspire.net for fresh unique styles other designers are exploring. When I see a style that really resonates with me, I make it a goal to try to not only recreate it, but to take it to new heights in context of my project.

3) Dive into the unknown. Fail hard. Learn harder.

"Man cannot discover new oceans unless he has the courage to lose sight of the shore." - Andre Gide

The best designers are chameleons that can reserve their natural predisposed style in favor of aligning perfectly to a brands visual identity. The beauty of these pet projects is that you can be in the driver's seat for the whole aesthetic. This is a great opportunity to push the limits of your abilities. Go big. Fail hard. Learn from those mistakes, quickly recover and produce something even better and amazing.

4) Stop. Collaborate. And listen.

These types of projects are a great opportunity to collaborate and work with people you normally wouldn’t have the chance to. I have collaborated with my brother, neighbor, and friends on several pet projects in the past. When I start on a project, I like to collaborate with people I respect and are as excited about the concept as I am. If you get to the point where you really want to reach out, but don't know who else would be down; bring your idea to twitter.com or dribbble.com and see how much interest it sparks. 

5) Lock down a real deadline and stick to it

If there isn’t a real deadline on your calendar, you will never be finished. Having that (gentle) heel on your back is a good thing (most times) and will motivate you to work harder, faster and help you make a realistic plan to accomplish everything. My pet projects usually last around 1 month.

6) Try new mediums and tools

As a digital designer, I love getting offline and working with my hands to create things in the physical world where there isn’t crtl+z. When you can't undo a mistake, you learn to work around it, or better yet, incorporate it into your design. The perspective this gives me always has a positive effect on my digital work and keeps my raw creative mind engaged and happy. When my pet projects are digital, I like to explore new frameworks, workflows and resources that I normally wouldn’t in my day to day work. This is a great time to explore what works and what doesn’t without the pressure of a real project.

Sounds great. Now What?

So if you are wondering how to get going and figure out your next pet project, here is my advice on where to start:

  • Grab your sketch book and write down the top 10 dream projects you currently have. You are going to have a ton, but I tend to wait a day or so after writing them all down to see which ones keep me excited. Ideas that have been on your mind for a while and keeps getting pushed off.
  • Quickly google search your idea and see if it’s been done to death. "What?! The Snuggie is a thing? Dang it!" 
  • Estimate how much time you can devote to it. Be honest with yourself. If you have under an hour every week, I suggest using that time to sketch out your ideas until you have larger pockets of time to start really fleshing them out.
  • Select the one project that gets you the most excited and is doable with your available time.
  • If you fear you can't do it all on your own; this is a great time to pull in other skilled awesome people to help and collaborate.
  • Make sure you are having fun and your inner child is entertained.

So whatever your pet project is, make sure to share it with the world. Can't wait to see what you all make.

Where to eat in Newburyport, 2014 Edition

Posted by Robert Mohns on July 28, 2014. Tagged: culture

Hungry? Here's a quick reference, created by iMarc's Newburyport team. All are in walking distance of our office. 

17 State Street 978-948-3456 Excellent diner that replaced Fowles; also now a bakery.
Abe's Bagels & Pizza 978-465-8148 Best bagels in town; great sandwiches, wraps and pizza.
Agave 978-499-0428 Excellent tex-mex, great margaritas, and the widest selection of Tequila I've ever seen. Three bars across three floors.
Anchor Stone Deck Pizza 978-463-3313 Simply outstanding pizza.
Angie's 978-462-7959 A classic American diner.
Atomic Cafe & Roasters 978-358-7539 Great coffee, sandwiches, coffee, and breakfast.
Carry Out Cafe 978-499-2240  
Jewel in the Crown 978-463-0956 Pretty good Indian food. Their website is pretty but unusable, so the link here is to Foodler. Caution: Some days "medium" means "hot", other days it means "mild".
Loretta 978-463-0000 An iMarc favorite: fresh ingredients, relaxed atmosphere, comfortable bar, amazing food.
Mandrava 978-465-7300 Great juices and chef's bowls.
Metzy's Taco Truck (978) 992-1451 Best tacos in town. Often found at the Plum Island Airfield. Check their Facebook page to see where they are today!
Middle Street Foods 978-465-4100 Great sandwiches and salads, they bake their own bread.
Not Your Average Joe's 978-462-3808 Part of the regional chain, with great outdoor seating.
Oregano Pizzeria 978-462-5013  Gourmet pizza.
Pizza Factory 978-462-2015 A new owner took over a couple years ago; both the food quality and prices went up. Fair enough.
Port City Sandwich Company 978-358-8628 Not only is the food excellent, watching the manager in action is a study in efficiency.
Purple Onion 978-465-9600 Try the chili; in the warmer months, the gazpacho is a must. Excellent sandwiches, wraps and soups all around.
Szechuan Taste 978-463-0686 Standard American-Chinese and Sushi.

 

See also Marcel's Best Lunch in Newburyport for his tips on the best of the best. 

 

Our Newest (And Shiniest) Awards

Posted by Allison Boyajian on July 23, 2014. Tagged: awards

We don't mean to toot our own horn but...toot toot! Say hello to our 4 newest awards!

awards

We are honored to receive these for creative and engineering excellence. Check out the websites, we're so very proud!

Communicator Awards of Excellence:

Off The Front Productions, Self Promotion

Communicator Awards of Distinction:

RSA Conference Website, Events

Anna Jaques Hospital Women's Health Care Site, Health Care Services

NESHCO Award: 

Anna Jaques Hospital Women's Health Care Site, Health Care Services

The 5 Rules for Useful Blog Tags

Posted by Robert Mohns on July 23, 2014. Tagged: best practices, content

Tags are tremendously useful for enabling your site visitors to find related content. Providing a good experience depends upon a well-defined and consistent tag taxonomy. Here's how.

Rule #1: Avoid redundancy and overlap.

Don’t add synonyms or slight variations of keywords. While this helped SEO in the late 90’s, modern search engine algorithms incorporate thesauruses and context to help searchers find content.

Adding synonyms adds visual clutter for the user, but does not improve discoverability. If they sound similar, they are similar; choose one.

Don't do this:
Redundant Tags

Any time you’re tempted to create a new tag, consider whether an existing tag will do the job. And if you do create a new tag, make sure it actually relates to existing content as well, rather than being a solo tag.

Rule #2: Use as few tags as possible.

Long tag lists on blog articles make it harder, not easier, for the reader to make choices. Worse, impairs their ability to focus and fatigues their decision-making and follow-up ability.1

Two or three tags is ideal; don’t exceed five. Really.

Don't let your your tag list become longer than your content:
Despite the tag abuse it's a really good blog

Rule #3: Standardize tags across authors.

This is a bit of a corollary to Rules #1 & #2. To make it easy to avoid redundancy and keep the list short, provide a list of tags for your authors to choose from.

Here's an example of it in action in our SiteManager CMS which powers this blog:

iMarc SiteManager tag picker

Rule #4: Don't use your main subject as a tag.

iMarc is an interactive agency. We make a lot of websites. Notice how many of our blogs are tagged "websites" or "interactive" or "agency"? Right. None.

If it's your main subject, your content already reflects it. No need for a tag.

Rule #5: No solo tags

Visitors always should be able to use Tags to discover new content; a tag used only once is useless. When a visitor clicks on a tag and the only result is the very article they were just at, they begin to question the site’s integrity. It’s better for an article to have no tags than a tag used just once.

There may be occasional exceptions, such as when an article is the first in a series. Even in this case, it’s usually better to start out tag-free, then add relevant tags as you publish new content.

Solo tags make for lonely content:
Solo Tags are a No-no

That's it. Go forth and tag responsibly.


  1. Phys.org. “Too many choices – good or bad – can be mentally exhausting.” 14 April 2007. http://phys.org/news127404469.html. Vohs, Kathleen D. “Making Choices Impairs Subsequent Self-Control: A Limited-Resource Account of Decision Making, Self-Regulation, and Active Initiative.” Journal of Personality and Social Psychology. 2008;94(5):883-898.