Jeff Croft

I’m a digital product designer and developer in Seattle, WA. I currently work with nGen Works, and recently co-founded Lendle, a Kindle book sharing service.

Some of my clients include Facebook, Microsoft, Yahoo!, Copious, The New York Review of Books, The Lawrence Journal-World, and the University of Washington.

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

Filter content
Feed

Items tagged webprogramming

  • Blog entry // 02.23.2012 // 9:23 AM // 18 Comments

    The many ways to work with CSS preprocessors

    There’s a fair amount of confusion surrounding CSS preprocessors like Sass and LESS, and I think some of it has to do with the fact that there are so many different ways you can use them. I thought I’d outline the different approaches, and some of the pros/cons to them.

    More
  • 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.

    More
  • 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:

    More
  • 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 JeffCroft.com (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 JeffCroft.com 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.

    More
  • Blog entry // 01.16.2012 // 2:51 PM // 17 Comments

    Forest, trees, and acko.net

    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 acko.net. 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.

    More
  • Blog entry // 04.25.2011 // 2:06 PM // 6 Comments

    Magic

    When I first joined the team that built Django, back in late 2005, they were hard at work doing something they called “Magic Removal.” Apparently, Django’s first few iterations had been way too magical, and it had now been deemed desirable to break down the illusions and make it very obvious how everything was being done.

    This seemed absurd to me. In my very limited understanding of Django at the time, I totally agreed—it was magic. It made things that I’d previously never been able to do not only possible, but so easy and—dare I say—fun. I couldn’t understand why anyone could possibly want to remove that magic.

    More
  • Blog entry // 02.15.2011 // 11:11 AM // 24 Comments

    Go ’head, Mr. Lendle

    About a month ago, I got a call from Brian Ford, who happens to be my cousin. Brian’s wife, Carolyn, had come up with an idea and Brian wanted my thoughts. Amazon had recently rolled out a new feature that allows users to lend Kindle books to others using their e-mail address. This, in effect, means you can really only lend books to people you know (because you probably don’t know many stranger’s e-mail addresses). Carolyn’s idea was simple: what if there were a site that could hook you up with a stranger that has the book you want, so they can lend it to you?

    Although I owned exactly zero Kindle books and in the past five years have literally written more books than I’ve read, it sounded like a pretty great idea, and I was interested in building it. The first thing I did was call up my homeboy Nathan Borror, whom I trust implicitly on all things, but especially all things web and all things books. Nathan runs social book site Readernaut, and I figured he’d be able to help me understand the ins and outs of how a service like this might work, and he’d probably also know if something similar was already out. Nathan dug the idea and said wasn’t aware of anyone else already doing it. I was sold. That same night, I dug into Amazon’s Product Advertising API to see if I could make this thing happen.

    More
  • Blog entry // 09.21.2010 // 3 PM // 46 Comments

    On admin interfaces

    A few minutes ago, I tweeted the following: “Starting to feel like any site which requires a separate admin interface is not fully baked. Am I crazy?” A couple people responded asking for more details on what I meant, so I logged into the admin interface (or backend, or CMS interface, or whatever you want to call it) of my personal site, and started this here blog post.

    Which is ironic, because the point of my tweet was to say that, more and more, I’m wondering if these kinds of interfaces are necessary, or even helpful.

    More
  • Blog entry // 07.30.2010 // 11:56 AM // 21 Comments

    Why I’m a hybrid. (Like a Liger. Or a Tigon. Or a Prius.)

    One of the most popular blog posts I’ve ever written was titled Django for non-programmers. In it, I explained that I was not a programmer, and had no desire to become one. The article, written over four years ago, was all about how people with very little programming experience can use Django to build cool stuff. And while I still think it’s true that Django lets non-programmers do some pretty neat things, a funny thing happened over the years: I learned to love being a programmer.

    Well…sort of.

    More
  • Blog entry // 03.03.2010 // 11:46 AM // 11 Comments

    Building BarStar

    Over the past few months, I’ve spent a lot of my free time working on a personal project centered around a social activity I’ve become pretty passionate about: karaoke. Karaoke? Yes, karaoke. Why? Because it’s fun, dammit. I could write a whole separate post on why I love karaoke and what makes a great karaoke performance, but my boy Jon Culver already did, so just read that, instead. But I did think I’d take a few minutes to write about the process of building BarStar, and how it came to be.

    Back when I was at Blue Flavor, Keith Robinson had this idea for a simple iPhone app. We were calling it “karaoke finder.” All it was really supposed to do was use your physical location to tell you where some karaoke is going down tonight near you. Simple, but very useful, especially for those of us who travel and want to find karaoke in a city we’re not familiar with. The idea kind of died as Blue Flavor fell apart last summer.

    Separately, way back in May, my good friend and fellow KC-to-Seattle transplant Scott Phelps and I had the idea to somehow make a karaoke game. Both of us were (and are) very interested in real-world social games like Foursquare and Gowalla, and wondered if such an idea could work for a niche hobby, like karaoke.

    More
  • Blog entry // 05.20.2009 // 12:34 PM // 91 Comments

    On applying OOP concepts to CSS

    Last night, while work on a very cool client project for Blue Flavor, I took a short break to make the following tweet: “It’s amazing what you can do in very little code when you apply object-oriented principles to CSS. Wish more front-end devs understood OOP.”

    I got a surprising number of responses from people asking what I meant, exactly, and for examples. I also got several responses, and a few IMs, from people touting Compass and Sass, a pair of Ruby projects that provide useful language features and syntax to CSS and CSS frameworks, allowing you to do all sorts of fancy things.

    More
By content type
Feed
Other tags in these items