A Dashboard Widget for DirecWay Satellite Users

12/3/05

So I wrote my first Dashboard widget, just to see if I could.

This widget will be extremely useful to anyone who is using a DW7000, as well as a Mac running OS 10.4 Tiger, who needs an easy way to check whether he needs to go use a long stick to knock snow off the dish. It should also work for people with the older and slightly more crappy DW6000, though I’m not sure if the text displayed on that one’s web interface is different enough to break the screen-scraping the widget depends on.

So, basically, this is just for me.

A few thoughts about widget authoring:

It feels really, really weird to not have to do browser-specific testing.

Building a Dashboard widget is basically identical to building a web page, except that you don’t have to include workarounds for the inevitable bugs in IE, you don’t have to test it in FireFox or on a Windows box or worry about degrading gracefully for missing features: if it works in your dashboard, it will work in everyone’s dashboard. Weird. (That said, if by some bizarre set of circumstances you happen to be part of this widget’s target audience and it doesn’t work for you, let me know.)

Widgetarium is a not-bad IDE for Dashboard widget development.

If only for its decent javascript debugger and easy compile/preview workflow. I haven’t paid my shareware fee, but if I ever write another one of these, I’m gonna cough up the dough.

Thank God they didn’t force you to use AppleScript.

Instead, they chose to let you build these things using technologies (i.e. HTML and Javascript) that people actually have a reason to learn. I’ve tried to suss out AppleScript at least twenty times, because in theory it’d be incredibly useful for me to be able to automate tasks between applications the way AppleScript is theoretically designed to do. But I’ve gotten bogged down every single time, for two reasons: one, “human-readable” scripting languages inevitably suck. English syntax is ambiguous. Programming languages can’t be. Trying to mesh the two will fail. Always. Two, AppleScript is a dead end. Once you’ve learned it, you can’t do anything with it but more AppleScript. Which means nobody bothers to learn AppleScript, which means there are no libraries of useful code or development tools floating around out there, which means if you want to do anything with it, you’re starting from scratch every time. I’d bet a dollar that if Konfabulator hadn’t already been out there leading the way, Dashboard widgets — if they existed at all — would have been based on AppleScript, which would essentially mean that the only people who would be willing to write new Widgets would be Apple employees. Which would mark it as a doomed, useless technology. Just like Automator.