Super Quick Archiving with Mail.app on OS X Lion

In my own personal ups and downs to hit InboxZero every day, I find that the silly tool that helps me the most is having a keystroke to move the current email into an Archive folder.

I used to use Mail-Act-On, but was too cheap to pay for it. Now, in Mail.app of OS X Lion, it’s dead simple to do, no extra purchase required. Lion’s copy of mail now has an Archive button that will create an Archive folder if it doesn’t exist already, and then move the current message there. Here’s how to get a shortcut key assigned to it:

First, open up System Preferences.

Continue reading »

Post Divider

The Best Way to Install Hudson on Mac OS X

For the short-attention spans (like mine):

brew install hudson

OK. That should work now. That may not work…yet. There are details after the jump for those who don’t want to wait for the pull request to go through. Oh, and read the directions after running that command to get it to launch automatically.

UPDATE: mikemcquaid was super fast and the changes are merged. Read the details below for more info both on what happens, the basic approach, and how you can brew install your own version.

Continue reading »

Post Divider

Subtle Activity Cues

One of the topics that fascinates me is how to provide subtle kinds of useful information to users of software. I like sparklines, typography, and subtle graphic design elements that call attention to information with the right weight.

One simple example I ran across today was the metric provided by StackOverflow on my profile for the number of days I’ve visited — 195 days out of just over a year since breaking down and creating my account.

So that’s just about right considering how frequently good questions and answers from StackOverflow show up in my Google searches. You can tell I don’t contribute a lot, and I don’t show up even every other day, but it’s not far off from that. That kind of information was surprising, since I never really thought about how many times I had come to the site.

What about your site or web app, or even iPhone app? Do you have quarter-over-quarter user retention goals? Do you think that your users would suddenly realize the value they implicitly already placed on your service if they saw out of the corner of their eye how much they used it? I had that feeling. If they saw how much they cared about it in hard data, would they respond more frequently to your requests to refer their friends to you?

Think about it. You might be able to tap into more power than you think with simple, subtle cues.

Post Divider

CSS, Aspects, and Screencasting

I recently came across an old draft post from 2007 that I never published. It looks finished enough to simply push it out as-is. While it was obviously written before the explosion of CSS frameworks and tools like Blueprint and Compass, those don’t really have much impact on the core of what I was saying. I hope you find it useful…

–Tim


This morning I read a post by Jon Udell that ignited a series of latent thoughts I’ve had, mostly centered around CSS, aspects, and screencasting.

In his post, Matthew Levine’s holy grail, Jon praises the theory of CSS but bemoans the drudgery that so many of us not-a-designer-but-geek-enough-to-try types face at some point or other:

To be honest, although I’m hugely fond of CSS styling, I’ve always struggled with CSS layouts, and I know I’m not the only one in that boat. When you read the explanation in Matthew’s article, you can see why. CSS layout is like one of those games where you slide 15 tiles around in a 16-square matrix. In principle it is a declarative language, but in practice the techniques are highly procedural: Step 1, Step 2, etc.

Jon goes on to request a pattern library for CSS layouts, and while I think it’s a great idea I don’t think it’s enough. In my many years of web programming experience few things been more intriguing and challenging as deconstructing a complex web design from someone else and distilling it to the essentials. In the end, we muddle through, leaving unnecessary HTML and CSS constructs littered throughout our new site. Data needs evolve for the site, invoking the corresponding evolutionary change in the HTML and CSS constructs. The ebb and flow of change ultimately builds up enough sediment in our design that, like your old water heater, you simply throw it out and start afresh.

Continue reading »

Post Divider

Query Your Filesystem

Queries are a way of asking a computer system questions. (I heard you say ‘duh!’) You’ve probably done this lots in SQL to ask your database questions. How many members have this condition? How much money was sent to these people in August? But how about this one: Which file has the bean named ‘myCrazyService’ in it? Or, How many projects refer to the old version of ‘projectFastMoving’? For these questions you should turn to the *nix-like file utilities.

Standard *nix tools can be used to create queries that your filesystem can answer. Let’s start with find.

The find utility

The find command lets you locate files that are named in a specific way, and that have certain file attributes. Let’s look at an example:

find . -iname SpriNg.xml

This query searches the current directory, and looks for files with names like: spring.xml, Spring.xml, or sprinG.xml. The i in iname means that the pattern will use a case-insensitive comparison when matching against existing files. Let’s try another:

find . -name proj*.xml -maxdepth 2

This code searches the current directory, and will go down only 2 folders below this one in search of matches. It will look for files named like: projector.xml, project.xml, and proj2.xml. Limiting the depth can greatly speed your search. So can starting at a lower level of the directory structure.

Continue reading »

Post Divider

Design Example: MobileMe Bad Password

I love to find examples of small details around the web that impress me in their innovation, craftsmanship, beauty, or structure. Here’s one I ran across last week:

When you type in a bad password on MobileMe, it doesn’t simply show an error dialog, but animates in a bubble that points to the password box and hovers over the existing text. This is a nice departure from error messages that insert themselves into the 2D HTML layout that’s typical of most websites.

Continue reading »

Post Divider

Review: Balsamiq

Balsamiq seems perfect for quick impressions

The bottom line? Balsamiq is even cooler than it’s great first impression — you should use it. Bugs? A few. Do they impact me? Not enough to care. Support? Very good. In short: buy it. It’s worth it.

When to use it.

Anytime you want to talk with someone about how something should work. And especially when you’re comparing it to how something works already.

I’ve been using Balsamiq for the last several months. When I say that, I also need to give a bit of explanation. You see, it’s not the kind of application that begs you for daily use. At least not to me. But it’s the kind of app that just aches to be used at certain key points — when you need to -communicate- help someone get what you’re thinking, or when you need to explore that idea that seems just right in your head (Balsamiq will have a way of giving you usable feedback quickly — maybe you really haven’t thought things out so well…), or in a dozen other scenarios that come up.

Think of it as Test-First UI design.

Continue reading »

Post Divider

iPhone Icons By Verb

I’ve had an iPhone for a while. I’ve had 3 of the 4 versions, actually. I’m trying something with the folders introduced back in iOS 4: I put every app into a folder, even Phone and Safari. Yeah, it’s a bit weird, I think. But it’s forced a new mental process that I like so far.

I have to think about why I unlocked my phone.

Continue reading »

Post Divider