I have been building Dashboard widgets since the feature was first released with Mac OS X 10.4, summer of 2005.

I have had a widget be the featured widget on Apple.com, another been a staff pick, and a couple of them have hung around the Top 50 list at different times.

My widgets have been distributed with magazines on CD-ROM in France, Germany and Taiwan, written about in MacWorld and other online publications, and been the subject of several podcasts and blog posts.

Like my widgets? Find them useful? Support my work with a few Euros as thanks and to encourage me to write more!

Widgets

Warning: Dashboard Widgets are kind of not really a thing anymore. This page is here primarily for posterity’s sake. If any of the widgets work for you, great. If they don’t…sorry, but I offer them with no support or liability, you know, like if they delete your entire filesystem. Which is unlikely, but I’m just covering my bases.

Mac OS X 10.4.x users: The latest versions of PHPfr are not compatible with Tiger. You are welcome to download the 0.9 version of the widget. The documentation is a bit out of date, but you may still find it useful.

Version history

1.0.1 – May 25, 2009

Updated default (English) documentation to the most recent version on PHP.net (22 May, 2009).

Fixed a bug that was causing the topics select list to be not selectable

A couple of minor cosmetic fixes

1.0 – April 7, 2008

Resizable widget interface

Adjustable font size

User can now set the path to the PHP binary

Select functions by topic (e.g., Arrays, Strings, MySQL, etc.)

1-click installation of new documentation languages

Localized in English, French, Spanish, German, Italian, and Romanian

0.9.6.2b – February 24, 2007

Updated default (English) documentation to the most recent version on PHP.net (20 Feb, 2007).

0.9.6.1b – July 2, 2006

Fixed a minor bug that would prevent the widget from loading for the first-time user (because the language preference was not set).

0.9.6b – June 29, 2006

Mac OS X 10.4.7 changed the behavior of widget.system calls. Synchronous calls now break widgets, whereas before they were tolerated (though discouraged). In this version, I fixed my widget.system calls to be asynchronous.

0.9.5b – March 23, 2006

Added integrated version checking.

0.9.4b – March 20, 2006

With help from the dashboard-dev mailing list, I got the Chinese Cantonese, Chinese Traditional, and Romanian versions of the documentation working.

0.9.3b – March 20, 2006

Dashboard expects all input to be UTF-8. Some versions of the PHP documentation (Chinese Cantonese, Chinese Traditional, and Romanian) are encoded in other charsets. The fact these languages will not work is now documented in the FAQ.

Fixed language installation instructions in the FAQ.

0.9.2b – March 19, 2006

Actually fixed bug where English was not set as default language on first run.

Fixed race condition in dragging of password length slider and resizing of widget that limited how fast the actions could be performed (thanks to Per von Zweigbergk!)

Changed password generation algorithm so it ensures all options appear in the first four characters

Changed random number generation algorithm so it retrieves its seed from /dev/random based on discussion at MacOSXHints.com

2.2 – July 1, 2005

Speeded up generation of pronounceable passwords by a factor of two or more by changing from using a PHP script to a compiled C script based on Tom Van Vleck’s gpw password generator (thanks again, Joshua Rochester!)

Made minor interface enhancements

2.1 – June 29, 2005

Added ability to resize widget from 509 to 400 pixels wide based on user comments at MacUpdate

Hurler

tr.im.it

heheboy bobblehead

I built this widget as a thank you to @heheboy for being my 1000th follower on Twitter.

TheObfuscator

TheObfuscator takes whatever string you give it and changes it into a bunch of HTML-encoded gobbledygook. This is a technique sometimes used to combat spam, hence the interface.

SlideShow

SlideShow displays a slideshow (funny, that) of some of my photographs. It was an early example of the use of Quartz methods and the canvas tag, so Apple made it their featured widget for a few days. Killed my bandwidth, but the recognition was nice!

ColorSafe

ColorSafe gives you a visual way of picking colors from the web safe palette.

SnippetComposer

SnippetComposer shows an HTML rendered version of whatever you type in the upper pane. I thought it might be useful for composing simple bits of HTML.

MyResolution

MyResolution displays the resolution of the current monitor. It also uses a simple AppleScript to link to the Display System Preference so you can change your resolution.

Tic-Tac-Toe

A simple rendition of the kids game of the same name.

Duhbya’s Days Are Numbered

Duhbya counts down to the inauguration of the next POTUSA.

iTunes Billionth

When the iTunes Store was nearing its 1 billionth song sold, Apple had a countdown on their web site. I lifted the code and widgetized it. Never did hear from Apple legal, so I guess they didn’t mind too much.

TodayInNM

TodayInNM displays the latest from the events calendar on New Mexico CultureNet, my former employer.

Mac OS X v.10.4 Tiger is required. If you’re using Safari, click the download link. When the widget download is complete, the widget installer appears. Click Install if you want the widget installed on your Mac. If you’re using a browser other than Safari, click the download link. When the widget download is complete, unarchive and open it to show the widget installer.

I'm excited to announce my latest widget: tr.im.it. tr.im.it makes it easy to make short URLs out of long ones using the tr.im API.

April 29, 2008

GetDilbert is no longer kaput. It now pulls from the official RSS feed on Dilbert.com. All is right with the world.

April 21, 2008

Yep, I'm aware that GetDilbert is kaput at the moment. United Media updated their web site without consulting me. (The nerve!) The good news is that they now provide an RSS feed of the comics, so I should have GetDilbert back up and running soon. Thanks for your patience!

April 9, 2008

I guess I’m just in a widget kind of mood lately! I just got IP Locator working again after a long hiatus prompted by DNSStuff.com taking down the service I was using to fetch geolocation information. IP Locator now uses the HostIP.info API, which is open, but is not as accurate. If the IP address comes up with no match, you will see a link to add the location to the HostIP.info database. Please use it!

April 7, 2008

PHP Function Reference has finally reached version 1.0 after over 2 years in development. Bug reports and feature requests can be submitted at the project home on Google Code. Thanks to everyone who helped make this possible!

March 30, 2007

I blogged today about the imminent release of PHP Function Reference 1.0 (and it’s about time!). PHPfr has been stuck at version 0.9.6.2b for over a year now, but the project is fast approaching this important milestone. There are some great new features and it’s localized in English, German and Romanian so far, with more to come. Watch this space for the big announcement sometime (hopefully) in the next week!

February 27, 2008

I have (finally!) updated Make-A-Pass and GetDilbert with UI tweaks that make them more copacetic with Leopard.

August 18, 2007

A few of you, loyal IP Locator users, have written to let me know that the widget is not working. IP Locator gets its geolocation information from DNSStuff.com. It appears that DNSStuff.com has moved to a subscription model for most of its services. I have written to R. Scott Perry, the owner of the site and asked him what is to become of IP Locator in light of this change. Scott and I have enjoyed a good working relationship since I approached him 2 years ago and asked if he would like to collaborate on the widget. I will post an update here as soon as I know more. Thanks for your understanding. –Andrew

July 24, 2007

Remember how last time I updated it I said, “GetDilbert now handles Sunday comics correctly for folks outside the Western Hemisphere”? No, you probably don’t because it was 17 months ago! Well, long suffering GetDilbert users, this time…I really, really, really, really, really mean it. Really. I guess all it took was for me to become one of those GetDilbert users outside the Western Hemisphere to prompt me to get off my “arse” as they say here and spend the 20 minutes it took to finally, once, and for all, ’til death do us part, squash that pesky bug! Thanks for your patience, everyone (not that you had much choice)!

Fans of GetDilbert might want to check out Out There. Out There is a Far Side-like comic written by George Webster. Good stuff!

June 17, 2007

Safari 3 beta breaks widgets that use the search history feature of search input field types. I have put together a version of IP Locator with that feature disabled for anyone who wants to continue using it with the broken version of Safari. You can download it here. A bug has been filed with Apple and I suspect this will be a fairly high priority fix considering how many Dashboard widgets are affected.

February 24, 2007

A new, maintenance release of PHP Function Reference is now available. Version 0.9.6.2b updates the included version of the documentation to the latest available on PHP.net (20 Feb 2007).

January 14, 2007

I am excited to announce that PHP Function Reference is now open source, under the the New BSD License. The project is being hosted on Google Code and I have a discussion forum set up here for it as well. So far, three individuals have stepped forward to contribute to the project: Kelly Patrick Robinson was first in line at the opening of the Albuquerque Apple Store and adds to his list of conquests as first to join PHPfr; Nelson Darkwah Oppong, creator of the Fire ftp widget, is a programmer and graphic designer from Germany; and Barbara Napholtz, a longtime, paid user of PHPfr has agreed to do quality assurance testing on the widget. I am hopeful that with this infusion of talent we will finally be able to push PHPfr to a stable, 1.0 release. Thanks Kelly, Nelson, and Barbara for joining!

January 1, 2007

I am officially a freelancer, doing business as Newfangled Telegraph. If you need a widget developed, now is the time to contact me!

October 16, 2006

Sundial 1.1 is now available. This version adds support for a truckload of languages and fixes a few minor outstanding issues. Download it now!

October 10, 2006

Looking for a secure, random WEP/WPA passkey generator? Check out Entropy. It’s like Make-A-Pass for wireless.

September 28, 2006

Over at clearwired.com, I have posted the first in a series of blog entries about What Sundial Taught Me. The first one is on Widget Localization. It’s a pretty thorough overview, if I do say so myself. If you’re a widget developer who wants to get started with localization, it’s worth a look!

September 16, 2006

I am excited to announce easily my most sophisticated widget ever, Sundial. In the past I have sort of hacked my widgets together. This project was for work, so I was really thorough and did things according to the Apple guidelines (imagine that!). What is Sundial, you ask? Sundial makes it easy to track time on projects through Basecamp. Check it out!

August 11, 2006

Good news! GetDilbert has been updated to work again! Actually, I have updated the stuff on my server that enables GetDilbert to work, so you don’t even have to download a new version. Pretty slick, eh?

July 2006

Faithful GetDilbert Users,

Sorry about the recent kaputsnik status of the widget. I’ve recently changed my server set up and the script I was using to scrape the image URL no longer works (if you’re interested in the technical details, email me). I am working on a new method for scraping the URL and hope to have an update posted within a week of today (25 Jul, 2006). Thanks for your patience!

–Andrew

June 29, 2006

Mac OS X 10.4.7 changed the behavior of widget.system calls. Synchronous calls now break widgets, whereas before they were tolerated (though discouraged). In this version of PHP Function Reference, I fixed my widget.system calls to be asynchronous. Download the new version now.

May 1, 2006

Recently, I started compressing my widgets by first tarring them, then zipping them. It seems, zip is not very efficient at compressing lots of little files (like in my PHPfr widget, which ships with a full copy of the PHP documentation, over 5,800 files). Using just zip, that widget weighed in at over 9 MB. Tarring it first (which just takes all of the files and creates one contiguous file), PHPfr weighs in at just over 3 MB, a big bandwidth saver! The problem is, I have had a small handful of reports from users that my widgets don’t work. They uncompressed them, but the system won’t recognize them. Turns out they’re all Stuffit Expander users. In each case, I recommended they use Mac OS X’s default unzipper, and in each case the widget worked as expected. Others have written in more depth about the evils of (or, at least, the lack of necessity of using) Stuffit Expander. I suggest just trashing the stupid thing, but if you can’t bring yourself to part with this vestige of the bad old days; at least, please, don’t use it to unzip my widgets!

April 2, 2006

I just added the ability for visitors to make comments about my widgets. So let’s hear it, people!

I am excited to announce the release of what I think is my best widget yet: PHP Function Reference. This is a beta release, so I encourage anyone who downloads it to email me with suggestions and bug reports. Thanks!

February 19, 2006

Not ever having received a letter from Apple Legal, I thought I’d use their graphics and code to throw together a widget that counts down to the billionth song sold on iTunes. After much agonizing, I decided to call it iTunes Billionth. Enjoy!

February 6, 2006

For folks using Mac OS X 10.3.9 and enjoying widgets thanks to Mesa Dynamics’ Amnesty Widget Browser, I have posted the contents of the WidgetResources directory for download. Just unzip it and drop it in /System/Library/ and you will have access to widgets that are not “backwards compatible.”