/ blog

Topic: Widgets

Dashboard Widgets for Fun and Profit

March 19, 2009, 11:59 pm

I gave a presentation tonight to the Auckland Web Design Meetup on Dashboard widgets. Here are my slides and a little commentary for those who were unable to attend.

Sending Growl notifications from Dashboard widgets

March 14, 2009, 3:14 pm

Recently, on Dashboard-Dev, Aaron Vizzini asked how to integrate Growl notifications into Dashboard widgets. I just did this in Hurler and, so I am happy to document the process here.

Make long URLs short with

November 1, 2008, 12:34 pm

The best Dashboard widgets scratch an itch. I’m a big fan of for URL shortening, but even their excellent bookmarklet wasn’t quite convenient enough for me. Lucky for me that a) publish a public API, and b) I know how to build widgets.

Using Coda’s Terminal Tab Locally

August 22, 2008, 8:22 am

This might be pretty obvious, but it’s really simple to use Coda’s Terminal tab to interact with your local system from the command line. Here’s how…

Widget JavaScript, the Un-series: Part 0 (Namespacing and the Module Pattern)

May 13, 2008, 3:45 pm

I’m not big on series of blog posts. Others have done it successfully, but personally I’ve promised this kind of thing before and not delivered. So, I’m not making any promises that this series will get past Part 0, but please know I have the best of intentions. If all goes as hoped, over the next however-many posts I will provide a few useful JavaScript code snippets that Dashboard widget authors can take and easily adapt to their own needs. This is based on my experience authoring nearly 20 widgets over the last 3 years. As you can imagine, some patterns have emerged. In this pre-series post, I will discuss a couple of concepts important to understanding my examples (you know, if I get around to posting them): namespacing and the module pattern.

The first 48 hours of PHP Function Reference, by the numbers

April 8, 2008, 11:00 am

I thought I had it all sorted. I thought I had put together a foolproof way to track exactly how many times my PHP Function Reference widget had been downloaded and from where. I was wrong.

PHP Function Reference 1.0

April 7, 2008, 4:07 pm

It’s done, finished, out the door, in the can. Version one-point-oh of my PHP Function Reference (aka, PHPfr) widget is officially available for download. And, oh my dog, it’s about time.

New version of PHPfr in the works

March 30, 2008, 12:34 pm

There’ve been a couple of false starts over the 2 years that I’ve been developing this Dashboard widget, so excuse me if I didn’t want to say anything until I knew a release was close, but PHP Function Reference 1.0 is nearly done. w00+!

So Many Widgets, So Little Time

January 8, 2008, 8:01 am

How’s this for a New Year’s Resolution? I resolve to simplify my life by not pretending I have time to maintain 10+ Dashboard Widgets. Anyone want to take them over?

Sundial 1.1

October 16, 2006, 10:16 am

Sundial 1.1 is now available for download. This version adds support for several new languages, fixes a couple of minor bugs, and adds a few tweaks to the user interface. Enjoy!

Google Code Search: Dang

October 6, 2006, 10:06 am

Google Labs has done it again. The company that made it OK to use AJAX now lets programmers search the source code of jillions (that’s a technical term) of software projects. OK, so this probably isn’t news to developers out there, but the reason I’m excited about it is a little more personal.

Widget Localization

September 28, 2006, 9:28 am

Sundial taught me how to localize Dashboard widgets. It’s pretty painless, really. If you’re not doing it already, hopefully this article will inspire you.

What Sundial Taught Me

September 19, 2006, 9:19 am

In case you missed our announcement, we recently released a Mac OS X Dashboard widget that allows you to track time in Basecamp. It’s called Sundial, and, despite having built several widgets before, I learned a ton from working on it.

Announcing Sundial

September 12, 2006, 9:12 am

Sundial is a widget for Mac OS X that makes Basecamp time tracking as simple as click, click, type, type, click. Click: Select a project. Click: Select a to-do item (optional). Type: Enter a description. Type: Enter the number of hours. Click: Save your time to Basecamp.