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

Items tagged webprogramming

  • Blog entry // 09.06.2008 // 4:58 PM // 41 Comments

    Back to the great frameworks debate

    Yeah, I’m going there. I want to talk about frameworks again. Bear with me…

    I know I’ve discussed this topic at great length before, but it keeps coming up, and I still don’t have a very good understanding of all the positions people have taken on the topic. Last time I discussed this, I jumped to my own conclusions about why some people don’t like frameworks. This turned out to be a horrible idea, because people got on the defensive instead of trying to answer the simple questions I had asked. Let me be perfectly clear: I don’t care what your position is. If you don’t like frameworks, that’s fine. I’m just sincerely curious about why you don’t. I’m in no way trying to sell you on frameworks or tell you you’re wrong for not using them. I’m just trying to understand all sides. That’s what I do.

    So, with that out of the way: if you’re not a fan of frameworks, I have some questions for you. I hope you’ll take the time to answer.

  • Blog entry // 08.05.2008 // 12:07 PM // 39 Comments

    Default” templates in Django

    Django’s templating system is one of its strongest points, in my opinion, and one of it’s coolest features it the “fallback” system used for locating templates. When used wisely, it can allow for a situation in which you can literally design an entire site by creating only one HTML file.

    In Django’s file, you configure your TEMPLATE_DIRS variable. This is simply a Python tuple representing filesystem paths to the locations your templates reside. For example:


    Here, we’ve got two directories containing templates: templates1, and templates2. Whenever a Django app attempts to load a template, it will look in these two paths to find it. For example, if your blog application needs a template called blog/entry_detail.html, it will first look for it in .../templates2/blog/entry_detail.html. If it’s not found, it will “fallback” to .../templates1/blog/entry_detail.html (if it’s still not found, Django will return an error.)

By content type
Other tags in these items