Archive for September, 2005

Cocoalicious 1.0b37

Saturday, September 17th, 2005

I feel like I’m keynoting my very own MacWorld Expo today, what with being able to announce updates across the entire Sci-Fi Hi-Fi product line. In addition to a rather routine PodWorks update, I’m pleased to announce the first new release of Cocoalicious since I went on my summer hiatus, and, if I do say so myself, possibly the best release evar. As Steve would say, we think you’re really going to like it.

Here’s what’s new:

Favicons: Cocoalicious now displays favicons for each site in the main post list, in much the same way Safari does. Icons are automatically downloaded for new posts, and are refreshed every time the bookmark is viewed in the built-in browser. Thanks to Eric Blair for his work on this, as well as Ken Ferry for his help.

Automator: Cocoalicious AppleScript czar Armin Briegel has implemented some minimal Automator support for Cocoalicious. Examples of things you can do include finding every post within a certain date range tagged with “toread” and sending the URLs to Safari to open. My experience working with these actions so far has been a bit troublesome (I suspect due more to Automator wonkiness that anything else, but I’m not sure yet), so definitely treat them as beta.

(Slightly) Improved AppleScript: There is now an AppleScript property to get the current selected post (I implemented this to improve the Automator support).

“delicious:” URL scheme: I think this last minute contribution by Gus Mueller may steal the show for this release. What Gus has done is make Cocoalicious register to handle URLs beginning with “delicious:”, and automatically come forward with a pre-populated posting sheet when the system sends it one. So a URL like
delicious:url=http://www.scifihifi.com&description=Sci-Fi%20Hi-Fi,” when clicked in a web page link, will cause Cocoalicious to bring up its posting sheet pre-populated with “http://www.scifihifi.com” for the URL and “Sci-Fi Hi-Fi” for the description.

What makes this extra cool is that it makes a “Send to Cocoalicious” bookmarklet possible. Just drag that link to the bookmark bar in a browser that supports bookmarklets (Safari, Firefox, Camino, OmniWeb releases greater than 4.5), and you instantly have a convenient button to send the current page to Cocoalicious.

Improved authentication: We all owe Mike Smochko a lot of thanks, because he’s been helping take care of some of the less glamorous coding chores in Cocoalicious–things like making sure errors get displayed for things that go wrong (something Cocoalicious is currently very lax about). For this release, Mike improved the login dialog to make it show an error (rather than simply fail silently) for incorrect logins. As a result of this work and some related improvements to Cocoalicious’ keychain support, I believe using multiple accounts with Cocoalicious should also be bit easier.

Case insensitive tags: The tag “Mac” is now treated exactly the same as the tag “mac.” I believe this is more in line with the way del.icio.us does things.

And, of course, who can forget assorted bug fixes!

All in all, I think this update does exactly what any good Apple software release should: it fixes a load of long-standing complaints, while providing some eye candy for the box. Thanks again to all the contributors who made it possible!

PodWorks 2.8.5

Saturday, September 17th, 2005

Last week I finally got around to fixing the problem that caused PodWorks 2.8.4 to break on Jaguar (thanks a lot Xcode 2.1/GCC 4.0!) and while I was at it I decided to fix a few long-standing bugs related to the iPod selection pop-up list. I also took advantage of the opportunity to confirm that PodWorks works correctly with iTunes 5.0 and my new iPod nano. If you’re a PodWorks user, be sure to get the update.

Better iPod Management Through Journaling

Wednesday, September 7th, 2005

Today’s announcement of iTunes 5’s “folders” feature and the relatively small capacity iPod nano reminded me of something that I’ve been meaning to write about for a long time: my iPod management scheme. I’ve long been convinced, you see, that the iPod mini is (now was, sadly) the finest iPod Apple has ever released, yet I’ve got far more music than I could ever fit on mine at one time. Fortunately, I’ve developed a very effective scheme to help me choose what music stays on my iPod while still ensuring a steady diet of fresh content.

There’s definitely some distinguished prior art in the limited size iPod management field, ranging from Bill Bumgarner’s old random sampling method to Willo O’Brien’s more interactive multiple smart playlist method. My own approach is similar in spirit to Willo’s (which involves automatically syncing both a playlist containing checked songs and a playlist containing recently added songs), but it’s based more directly on actual listening patterns. I’ll call it the journaling method.

Here’s how it works:

  1. Create a playlist called “iPod sync” (or something to that effect), and set iTunes to automatically sync it to the iPod.
  2. As you get new music, add it to the iPod sync playlist manually. Usually I just drag whole albums in there.
  3. Every month, compile a “Favorites” playlist containing the 10 or 12 songs you most enjoyed that month. I usually give priority to that month’s new music, although I try to simply make the list reflect whatever songs I really am enjoying. It may help to use On-the-Go Playlists created on your iPod as a sort of listening journal to remind you of what you were listening to at specific times (as you can see in this screenshot, I generate lots of them) and help you compile the final list. Lastly, you may also want to compile a yearly list of overall favorites, based on the results of your various monthly favorites lists.
  4. As you create them, add your favorites lists to the list of playlists iTunes automatically syncs to the iPod.
  5. As you get tired of old albums or start to run out of room for new albums on your iPod, begin to remove older music from your iPod sync playlist.

The beauty of this scheme, in a nutshell, is that it allows you to cull large swaths of old stuff from your iPod, while still ensuring that your absolute favorite songs stay on. Even though you may remove an entire album from the iPod sync playlist, your favorite songs from it won’t disappear because they’ll be present in the other playlist that get synced to your iPod (the favorites lists). And that’s a comforting thought.

Of course, like the other methodologies I mentioned, this scheme won’t work for everyone. It happens to suit me well because, first, I tend to be song rather than album-oriented (I subscribe–with a big grain of salt, of course–to the Phil Spector definition of most albums as 3 singles and 7 pieces of shit); second, because I’m incredibly fastidious and (as the British say) anorakish when it comes to music listening; and, third, because (like Jason Goldman in his excellent post on the subject) I tend to develop powerful enough associations between songs and times and places that keeping a sort of music journal is attractive to me.

Whatever the case, hopefully at least a few other music nerds out there will find this a helpful solution to their iPod mini or nano woes. I’d be curious to hear about other peoples’ novel solutions to the same problem…

Cocoalicious: Not Dead Yet!

Friday, September 2nd, 2005

After a long summer hiatus, I’ve finally started working on Cocoalicious again. A few nights ago I finally got around to converting the project to Xcode 2.1 (which means that, thanks to Xcode’s new file naming and CVS’s maddening inability to remove directories, contributors will now have to remember to open the “Delicious Client.xcodeproj” file, not the “Delicious Client.xcode” file). And, more interestingly, last night I checked in significant performance enhancements to the existing favicon code, meaning that the current CVS version is 75% of the way to a shippable favicon implementation (I just need to make it so that favicons are downloaded for new posts, and provide a menu item to refresh the entire icon cache).

Other priorities for the next release include improved authentication (which has mostly been implemented by Michael Smochko), some Automator actions (which have been mostly implemented by Cocoalicious AppleScript czar Armin Briegel), and a universal binary. I’ll also try to address as many of the bugs Jon Hicks and others have been good enough to report on the Sourceforge site.

Finally, if you’ve contacted me recently about contributing and I haven’t responded, please accept my apologies. Like Rentzsch, my email latency has been extremely high lately due to general summer busyness and my move to a new job, and the project (with its half-completed favicon implementation) wasn’t really in great shape for other people to work on.