Jeff Croft

I’m a product designer in Seattle, WA. I recently worked at Simply Measured, and previously co-founded Lendle.

Some of my past clients include Facebook, Microsoft, Yahoo, and the University of Washington.

I’ve authored two books on web and interactive design and spoken at dozens of conferences around the world.

I’m currently accepting contract work and considering full-time opportunities.

Filter content

January 2012

  • Blog entry // 01.31.2012 // 4:55 PM // 37 Comments

    On CSS preprocessors

    Over the past couple of years, I’ve become a huge fan of Sass. It’s really the only way I write CSS now, and frankly, if anyone tried to make me write plain ol’ CSS I’d probably knee them straight in the taint.

    But CSS preprocessors like Sass and LESS aren’t for everyone. At least not yet. There’s still a lot of resistance to them from the community. In fact, I resisted them for a long time, myself (here’s an old post from Nathan Borror’s blog where I outwardly hated on Sass). When you’re very comfortable with something, like many of us are with CSS, it’s hard to switch to doing it a different way.

  • Blog entry // 01.31.2012 // 9:11 AM // 15 Comments

    How I shut down comment spam on this site

    In the past, I’ve only allowed comments on recent blog posts, not older ones. Because I didn’t blog for the longest time, I had no recent blogs posts, which meant I got no comments (or comment spam). When I re-launched recently and started writing again, I actually started getting comments again (thanks, guys!). Of course, I also started getting comment spam again. Like, a ton of it. On average, I was getting about 10 comment spam posts per hour.

    Frustrated, I went to my standby from the good ‘ol days, Akismet. I quickly found that it wasn’t working for me. It was letting through most of the spam and also preventing a lot of ham from being posted. After a tweet on the matter, Mike Davidson pointed me down a path that has worked beautifully for two weeks now — not a single comment spam post.

  • Blog entry // 01.30.2012 // 12:21 PM // 7 Comments

    This ain’t your Mama’s Internets

    Sometimes I feel like our community (that of standards-oriented web professionals) prefers to talk about what we do in the most simplistic way possible — the way we built websites many years ago. In fact, most of us don’t actually build websites like this at all, and those on the cutting edge of modern web development have a process that looks almost nothing like what we talk about.

    I took the time to outline the workflows at play:

  • Photo // 01.29.2012 // 12:37 AM // Seattle, WA // flickr

    Fred singing.

    Taken at Sole Repair, a Lounge in Seattle, WA.
  • Photo // 01.29.2012 // 12:34 AM // Seattle, WA // flickr

    This happened.

    Taken at Sole Repair, a Lounge in Seattle, WA.
  • Photo // 01.28.2012 // 11:30 PM // Seattle, WA // flickr

    Holy shit, people. Nat and Rach are MARRIED!

    Taken at Sole Repair, a Lounge in Seattle, WA.
  • Photo // 01.28.2012 // 10:21 PM // Seattle, WA // flickr

    That kind of night. Eight Jäger and eight Cazadores. Live Natalie and Rach so much. Also I can kick the shit outbid Rachel in arm wrestling. Is that impressive?

    Taken at Sole Repair, a Lounge in Seattle, WA.
  • Photo // 01.28.2012 // 7:51 PM // Seattle, WA // flickr

    Wedding karaoke?! OH HELL YES.

    Taken at Sole Repair, a Lounge in Seattle, WA.
  • Photo // 01.28.2012 // 7:07 PM // Seattle, WA // flickr

    Huge congrats to Natalie and Rachel on their marriage. Love you both so much.

    Taken at Sole Repair, a Lounge in Seattle, WA.
  • Photo // 01.26.2012 // 4:54 PM // Seattle, WA // flickr

    Out our window right now.

    Taken at The Grandview, a Home in Seattle, WA.
  • Blog entry // 01.25.2012 // 4:42 PM // 11 Comments

    Identifying the same content on multiple services

    As the social web has grown, we find ourselves, more and more, cross-posting content to different service. For example, when I post a photo to Instagram, I often cross-post it to Twitter, Facebook, Foursquare, and Flickr. In the process of developing this latest version of (which pulls in my content from several social networks), I found myself wishing there were a way to identify the same content in multiple places.

    Each place that photo goes adds some metadata to it. I wanted to collect all of this metadata and display the photo as one item on that, for example, included both how many Flickr comments the photo got and how many Instragram likes it got — and include links to this piece of content on all the networks it exists on.

  • Blog entry // 01.25.2012 // 10:12 AM // 14 Comments

    The tools I use: Mac

    I’d love to have something meaty and heady to write about today, but I’ve got nothing. So, because some folks have asked for it, and because Kenny did it, how about a simple list of the tools I use on my Mac everyday and couldn’t live without? I consider myself a bit of a software minimalist—I don’t use a lot of the geeky tools many web pros do. I try to only have what I think I really need. Note that this only includes native Mac software, not web apps I use regularly. Here goes:

  • Blog entry // 01.23.2012 // 2:03 PM // 12 Comments

    What it means to be “responsive”

    Over the past couple of years, I’ve been tagged with a reputation of being somehow an opponent to the technique Ethan Marcotte coined “Responsive Web Design” in his seminal A List Apart article of the same name. Ethan defines Responsive Web Design as a technique that incorporates fluid grids, flexible images, and media queries to deliver experiences that accommodate today’s multi-device world, and he has vigorously defended his brand name against any suggestions that there are other ways (besides fluid grids, flexible images, and media queries) to achieve the same effective result.

  • Photo // 01.21.2012 // 1:47 PM // Seattle, WA // flickr

    Forgot to post this last night.

    Taken at Rabbit Hole, a Dive Bar in Seattle, WA.
  • Photo // 01.20.2012 // 7:07 PM // Seattle, WA // flickr

    I could eat this dish every day for the rest of my life.

    Taken at Wasabi Bistro, a Sushi Restaurant in Seattle, WA.
  • Photo // 01.19.2012 // 10:04 PM // Seattle, WA // flickr

    But if you bring minors, we will totally overserve the shit out of you.

    Taken at The Upstairs in Seattle, WA.
  • Photo // 01.18.2012 // 12:21 PM // Seattle, WA // flickr

    Current status…

    Taken at The Grandview, a Home in Seattle, WA.
  • Photo // 01.18.2012 // 12:20 PM // Seattle, WA // flickr

    Taken at The Grandview, a Home in Seattle, WA.
  • Photo // 01.17.2012 // 9:37 AM // Seattle, WA // flickr

    Taken at Space Needle, a Historic Site in Seattle, WA.
  • Blog entry // 01.16.2012 // 2:51 PM // 17 Comments

    Forest, trees, and

    Few people can take the fun out of something quicker than an over-zealous user experience nerd.

    Over the weekend, I came across Steven Wittens’ blog If you read Steven’s About Page, you’ll discover that he’s a programmer who likes to “build and design cool pieces of technology.” And that’s exactly what he’s done with the latest version of his personal site. The entire UI is done in 3D, using Javascript, CSS, and not a single image. In order to build it, he had to first build his own 3D scene editor for Three.js. The end result is a mind-bending UI that not only animates perspective changes on each individual page as you scroll, but also neatly uses the HTML5 pushState API to animate changes from page to page. The whole thing is responsive, and gracefully degrades for smaller screens and browsers without support for the 3D goodness.

  • Photo // 01.15.2012 // 8:43 PM // Seattle, WA // flickr

    Arturo Sandoval!

    Taken at Dimitriou's Jazz Alley, a Jazz Club in Seattle, WA.
January 2012
Su Mo Tu We Th Fr Sa
25 26 27 28 29 30 31
01 02 03 04 05 06 07
08 09 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 01 02 03 04
By content type
By tag