Learning How to Develop a Dashboard Widget
Several months ago I started working on a widget for my employer. It was pre Tiger release, and there might have been 20-30 widgets available online, and no real way (other than trial and error, and Apple’s Dashboard Documentation. How did I learn? I ripped into several of the widgets provided by Apple (I had a pre-release copy), and started learning by example. Fortunately for me, I do a lot of XHTML/CSS development, so a lot of this came quite easy.
The other day, I ran across a Dashboard Development Guide eBook. I’ve only read one other eBook before (and it was treacherous), so I decided to give this one a try under one condition… I could print it out. Hey, I stare at a screen all day long, is it wrong for me to want to do my reading on paper? Yeah, I know… my apologies to the trees, or cotton plants that were killed in order to enhance my learning experience. Anwyays, I’m almost halfway done with the eBook, and even though I haven’t really learned anything new, I do see the value of this eBook (I think it sells for $15). This eBook and accompanying tools, could have saved me hours of learning on my own. I’ll write up a full review once I’ve finished reading it.
ShortStat for WordPress
I decided to ignore my awstats for a while, and try out ShortStat by Shaun Inman. And then use the ShortStat Widget to moniter my stats from my dashboard. I’ve heard that its a good simple stats program… Only time will tell.
Patches released for WordPress 1.5.1.3
WordPress, in conjunction with a couple Ecto testers have worked together to create a patch to the WordPress 1.5.1.3 release that allows WordPress to play nicely with its XML-RPC counterparts. Now WordPressDash, and other XML-RPC clients of WordPress can resume daily activities. Thanks to WordPress and the Ecto testers for addressing this quicly. The patch can be downloaded on the Ecto site.
WordPress release 1.5.1.3 Breaks WordPressDash
Thanks to Cory Cooper (if you want me to link, let me know), I have been alerted to the fact that WordPress version 1.5.1.3 breaks WordPressDash. Ok, so it really doesn’t break it, it just injured it a little. Something changed in the way posts are handled (i’m not sure if it’s an xml-rpc thing or not), but when you post to a blog the xmlhttprequest receives a 404 “Page not found”. Its the weirdest thing too, because the post actually goes through, but the categories won’t set. To make things more confusing, the 404 is generated on the xmlhttprequest to actually make the post, not to set the categories…
I’ve got a support thread started to try and get to the bottom of this. And I’m crossing my fingers that the solution will be backwards compatible.
Quicktags for WordPressDash
I have had a lot of good feedback for WordPressDash. The community wanted to post to multiple categories, so I gave them that support. The community had trouble configuring their widget, so I enhanced error reporting. Now the community wants UTF-8 support and QuickTags. Well, I will do my best to make WordPressDash UTF-8 compliant. QuickTags? Maybe not. Due to Safari’s inferior cursor position handling in textarea’s, Quicktags were actually turned off for Safari users in Wordpress 1.5. And According to another post about quicktags in safari.
..until they allow you to get and set cursor position and selection in a TEXTAREA, the Quicktags will suck on Safari.
Alex King
And for those wondering what quicktags in safari has to do with quicktags in my WordPressDash widget, dashboard widgets use the same engine as safari
Dashboard NOT a ripoff of Konfabulator
According to Daring Fireball, Dashboard widgets stemmed from an old apple application called Desk Accessories and not the cross-platform Konfabulator. Daring Fireball goes on to state that had Konfabulator fit the needs that apple was looking for, then Apple would have either bought Konfabulator, or hired the development team to work on Dashboard. However, Apple wanted something that was more tightly integrated with the OS, and that had better resource consumption and smaller footprints.
Either way, Im glad I don’t need to write custom XML and custom Javascript in order to write software for a platform that I have to pay for (granted, I do have to pay for Tiger, but I’m getting a lot more than just a widget runtime environment…).
WordPressDash Development Update
I found out today that chattablogs does allow posting via xml-rpc (which is great!), but unfortunately WordPressDash cannot post to it, despite MoveableType and WordPress using the same API.
In other development news, I’ve been working on providing support for posting to multiple categories(because that seems to be a pretty important feature request), but my code is bombing out after the first category is set. There are only 2 reasons this would happen:
- My code is off. Perhaps I’m clearing some variables or not successfully iterating through the full category array.
- Their code is off. Maybe the API will only allow 1 category to be set per post. That would really suck… If that is the case, I might have to get in touch with WordPress to fix this, or offer an altered xmlrpc.php file to complement the widget.
What Happened?
For all 3 of you out there who are now wondering "What happened to Kyle’s old website?", here is my official explanation. My old site was stale, and I wanted a way to keep my site current with all of my latest thoughts and activities. A blog seemed like the most obvious solution, and I decided WordPress would best suit my needs. Besides, one of my latest programming projects has been WordPressDash, which is a blogging widget for Apple’s Tiger operating system (OS X 10.4).
I was tired of the old site anyways.