Pirates being pirates

Don't Be Afraid to Layout with (CSS) Tables

Tables are the black sheep of HTML. Overused and misused for years, they were finally corralled into orderly pens by the CSS lords in their blue beanies, with only numbers and charts to keep them company. While I'm not suggesting we let them run wild again, I do think their purpose can be broader, if you're willing to bend the definition a bit.

If your first reaction to that is, indignantly, “No! Use flexbox!” I’m gonna stop you right there. Unlike lots of bloggers and dreamers out there, we have to make our sites look great in IE 8 and sometimes IE 7 (don’t get me started) every day. So unfortunately, new technologies (that determine major layout) are relegated to playground status, and we are left using the least common denominator. Continue Reading

A shave in the royal Navy

Creativity is Subtraction

When you add another cluttered piece of creative to an already cluttered media environment, you’re making a pretty common communications mistake. It’s called blending in. Which, last time I checked, is not a metric most marketing folks would gleefully present at the quarterly board meeting.

Next time, subtract. Then subtract some more. Finally, when you think you’ve subtracted all you can, subtract even more.

Subtract words. Subtract design elements. Ask yourself: What’s necessary? What’s not? What elements can be combined? What information is redundant? What can you spill onto your landing page instead of trying to cram it into a quarter-page newspaper ad? Be brutal about editing your work and you’ll become a better communicator. Continue Reading

These favicons have been modified from their original version. They have been formatted to fit your screen and for thematic elements.

Adding Favicons to the WordPress Admin & Login Pages

TL;DR: Use this Gist to insert a custom favicon into the WordPress admin. Use a black and white copy so that you don't confuse it with the front-end of the site.

First off, some code, because I know that’s why you’re really here.

I left a good bunch of comments, but here’s what the code does:

  • It creates a function that returns a link to the favicon
  • It then instructs WordPress to call that function at login_head and admin_head

Continue Reading

The blog log

Why Blog on Your Website?

Blogging about blogging is my favorite!

Search engines like domains that continually produce content. It makes sense. As a search engine, you are going to want to send your users to the most relevant, most up-to-date information available on the Internet. If you consistently send your users to stale, out-of-date, irrelevant information, they are likely to go try out the competition next time they perform a search.

One of the most effective and easy ways any business can ensure that their website demonstrates this continuous activity is to write a blog. Writing content about the type of work your business does helps establish your domain as an authority on that subject.

Say you are a company that sells gardening supplies (services apply to this example as well), and you want to rank well in search engine results pages for the keyword ‘watering systems.’ In order to show up in search results, your site is going to need to have relevant information about water systems on it.

Continue Reading

a tangled bit of rope

Untangle HTML and Javascript using Dependency Injection

At the Converge SE conference this April in Columbia, SC, I had the pleasure of listening to Jed Schneider of Mode Set discuss untangling jQuery from the DOM using object-oriented best practices and patterns. The biggest takeaway for me was Mode Set's Utensils component library, specifically how their Bindable utility helps to decouple the components' HTML markup from the behavior driven by JavaScript. I would now like to show you why this separation is important to having high-quality, maintainable code and how to apply it to your own projects.

Mode Set wrote Utensils specifically for use with the Ruby on Rails Asset Pipeline. We will be a bit more agnostic in terms of the platform, but I will implement the examples in CoffeeScript. If you are unfamiliar with CoffeeScript (you should definitely read through the docs!) or would like to see the compiled JavaScript, check out the Gist for this article. Continue Reading

Severely overloaded truck

Trim Hidden Bulk In Your Sass @extend Directives

Sass was, to me, as big a revolution to my web development workflow as changing from tables to CSS for layout way back in the day. Variables, functions, nesting and more are powerful tools I never took the time to want from CSS, but once I had them, couldn't imagine working without them!

A big benefit of Sass is the reduction of your CSS files. But if you're unaware, one of Sass's time-saving features, the @extend directive, can bloat your resulting CSS file worse than an overzealous truck driver comically over-packing his vehicle (segue!). Here is the issue I discovered and how to fix it. Continue Reading

CNP User's Guide Part 1: The Creative Brief

While Mad Men might have you believe that most advertising projects are born from a fortuitous combination of naps and "old fashioneds," there is - in fact - a process. The CNP User's Guide series offers valuable insight about this process and what helps us be most effective.

Home builders have blueprints. Chefs have recipes. Navigators have the stars.

At CNP, we have the creative brief.

Continue Reading

Happy Birthday, America!

Fourth-of-July-ArtFINYou have to love a nation that celebrates its Independence every July 4th, not with a parade of guns, tanks and soldiers who file by the White House in a show of strength and muscle, but with family picnics where kids throw Frisbees, the potato salad gets iffy and the flies die from happiness. You may think you have overeaten, but it is patriotism.  – Erma Bombeck

Happy 4th of July from your friends at CNP!

Vector vs. Raster Images: What's the Difference?

As a graphic designer for CNP, I sometimes receive rastered jpgs of a requested logo when a vector-based file is needed. Here is an easy to understand explanation of raster vs. vector files.

Vector images are composed of mathematically defined lines, curves, shapes, gradients, etc., and have no resolution. A vector file can be infinitely scaled and look crisp and clear at any size. This makes the format perfect for logos, illustrations and other line art uses on print materials of all kinds. They are essential for use on specialty items, signs, vehicle wraps and billboards. Vector files commonly have file extensions such as .AI or .EPS created in Adobe Illustrator.

Continue Reading

A Good Way to End the Day

It’s a creative team that sees a large conference room meeting table and thinks “I have to play ping pong on that!”