Archive for Software
09.29.05
Posted in Software at 5:13 pm by Nicholas
Recently I decided to switch from a POP3 email setup to IMAP. Fortunately, most of the pieces were already in place: when setting up my server I followed the Gentoo Linux Virtual Mailhosting System with Postfix Guide, which includes both POP3 and IMAP servers, and I knew the IMAP server was working because SquirrelMail worked. What I wanted was for SquirrelMail to contain all of my old email, rather than just the new stuff. This was partly because I’m planning on upgrading to Tiger soon and want the transition to be as quick and easy as possible, and partly because every time I tell someone who’s using my server for email how to access the webmail client, I have to explain again that they won’t be able to access email they downloaded a month ago. Before I suggested that anyone else use IMAP, I had to try it myself.
For the most part, the switch was completely unremarkable. I set up a new account for the IMAP server in Apple Mail, using the same settings as the POP3 version, and then disabled the POP3 account. I also clicked a few boxes in the settings of the IMAP account to save Drafts, Sent Items, Junk Mail, and Trash on the server (and to delete the latter two categories after a week). I hit send and receive, and got no errors. I sent a test message to myself, and received it. I logged into SquirrelMail and saw the message. I deleted the message in Apple Mail, refreshed SquirrelMail, and saw that the message was gone. Next I dragged all my folders of archived mail on top of the IMAP server entry in the Apple Mail mailboxes drawer and watched Mail copy all my old messages to the server. I refreshed again in SquirrelMail and saw that all my folders were there, and the messages within them were accessible.
The only problem was that my sent test message wasn’t showing up in the Sent Messages folder of the IMAP account, and deleted messages weren’t showing up in the IMAP Trash. In fact, I couldn’t find them anywhere at all. A little digging revealed that once you’ve chosen to store these items on an IMAP server, you have to tell Mail where to store them—it won’t just use a pre-existing folder with a correct-sounding name. In the Mailboxes drawer, I selected each appropriate folder and chose the appropriate category from the Mailbox -> Use this mailbox for… menu. Now my Trash, Sent Items, Junk Mail, and even Drafts are saved on the server for me so I can use them from anywhere via webmail.
If you have an email account on my server, you can do the same—feel free to ask if you need help.
Permalink
08.20.05
Posted in Software at 11:33 am by Nicholas
For some reason I can’t seem to leave comments on Jim’s blog, so instead I’ll comment on his iPod bookmarking travails here. There are two ways to bookmark files in iTunes and on an iPod, and which you choose depends largely on how you get your tracks into iTunes in the first place.
For podcasts, as long as you’re using iTunes 4.9 (the latest version, as of this writing) even MP3 files should be bookmarkable with no modification whatsoever—but in order for iTunes to know that the track is supposed to be a podcast, you have to use the built-in RSS reader. In other words, as long as the podcast is coming in via the built-in “Podcasts” section in iTunes, and appears in a dedicated “Podcasts” category on the iPod (separate from the rest of your music files), it should just work.
If it doesn’t, or if you need to get the files into your iTunes library by some other means (like NetNewsWire or the like), converting the files to AAC is a good first step. But AAC files aren’t bookmarked by default, because for most music files that would just be annoying—most of the time when you stop listening to a song before it’s over, you don’t want to pick up where you left off next time; you just want to listen to the song again from the beginning. But if you change the file’s extension from .m4a to .m4b, iTunes and the iPod will see the track as an audiobook, and will insert a bookmark whenever you stop playback. You can change the file extension manually, or via a handy Applescript.
Permalink
07.05.05
Posted in Software at 12:06 pm by Nicholas
I have frittered away the bulk of the morning playing with Context Free. I highly recommend trying it out, unless you have something important to do today.
Permalink
06.30.05
Posted in Software at 11:41 am by Nicholas
Apple now has an Official FAQ on the podcast support in iTunes 4.9 with, among other things, a little bit of detail on the bookmark feature I mention in my AppleScript page. An interesting point is that the play count tracking works differently in the podcast library than it does in the regular music library: although the play count number isn’t incremented until you reach the end of a track, a podcast episode is no longer considered “unplayed” the moment you hit the play button. This is visually represented by the disappearance of the blue dot to the left of the episode title. What it means, though, is that if you use the built-in play count-based management (“Keep all unplayed episodes” in the settings panel), episodes you’ve started but not finished won’t be synced to a clickwheel-equipped iPod. Just one more reason to use my script instead.
Daring Fireball today features the best explanation I’ve ever read of the iPod’s commanding market share. I particularly like the bit about the font change—I personally am not a typography geek (though my limited desktop publishing experience has left me with a deep and burning hatred for Comic Sans and Matisse ITC and the people who use them), but I love reading analyses by people who really know and love this stuff.
Permalink
06.29.05
Posted in Software at 5:54 pm by Nicholas
As I mentioned yesterday, the new version of iTunes with podcast support rendered the most popular post on this blog obsolete. Since iTunes has an option to automatically delete podcast episodes you’ve already listened to, the main reason for using the script is now built-in.
But not the only reason. There still isn’t a way to mark tracks for removal or retention while away from the computer, listening to tracks on an iPod. I’ve updated the script to work with iTunes 4.9’s built-in podcast support, and I’ve created a special page just for both versions of the script. Enjoy.
Also on that page is a little bit of technical information on some of the interesting features included in the new iTunes. Executive summary: Apple now has the premiere platform for listening to podcasts, at home and on the go. If you’re listening on anything else, you’re missing out.
Permalink
06.28.05
Posted in Software at 10:01 am by Nicholas
A while back I created an AppleScript to manage podcasts in iTunes. That script, which has brought more traffic to this blog than all my other posts combined, just became obsolete. Today Apple released iTunes 4.9, which includes support for podcasts.
Rather than putting enclosures into a separate playlist or genre, iTunes 4.9 keeps them separate from the rest of your Library. Clicking “Podcasts” in the “Source” window brings up a list of all your podcast subscriptions, each of which can be expanded to view all the individual files that have been downloaded or are available to be downloaded. The iTunes Music Store now has a Podcasts genre, and the directory contained all the podcasts I currently subscribe to except one (the exception was My Silver Mount Zion, a post-rock music podcast, which I’ve submitted for inclusion). Unfortunately, there doesn’t appear to be a way to subscribe to podcasts that aren’t already in the directory. This is incorrect—see update below.
The part that makes my script redundant is in the settings for the podcast source: you can tell iTunes to keep all episodes, just the most recent episode, all unplayed episodes, or the most recent 2, 3, 4, 5, or 10 episodes of each podcast. I’ve set mine to “all unplayed episodes.” Unfortunately, there’s no way to use ratings to save or keep episodes regardless of play count, so my script still has some functionality that isn’t duplicated in iTunes—but I could probably script a way to manipulate play count based on ratings. I’ll look into it.
Update: You can add podcasts that aren’t in the directory, simply by dragging a link to the RSS feed into iTunes. I’d tried this before and it didn’t work, but I was trying to drag the URL from NetNewsWire. Dragging a link from Safari works just fine.
Permalink
03.14.05
Posted in Software at 10:59 am by Nicholas
In my last entry on the subject of podcasts, I mentioned that I was planning on writing an AppleScript to help me manage the podcasts to which I subscribe. That AppleScript—my first—is now complete.
My problem was that deleting podcasts after listening to them was not just a matter of dragging a few files to the trash. Let’s imagine, for example, that I have five files from one podcaster. Let’s say that I listened to two of them in their entirety while walking around with my iPod yesterday, meaning there are two files with a play count of 1, and of those two I want to save one to listen to again. And maybe I also started listening to another, realized I wasn’t interested in the subject matter of that particular episode, and stopped listening before the playcount was incremented (which occurs when the iPod reaches the very end of the file). Let us further imagine that all five of these podcasts are labeled according to the date on which they were uploaded, which means absolutely nothing to me, the listener. How do I remember which podcasts I wanted to save and which I wanted to delete? Probably by playing them in iTunes in the hope that the first couple of minutes will be enough to jog my memory.
My new AppleScript changes all that. It looks at all the tracks in the “Podcasts” playlist (which is assigned to them by NetNewsWire 2.0 Beta) and deletes
- tracks with a rating of exactly 1 star and
- tracks with a play count greater than 0 unless they also have a rating of exactly 5 stars
I chose to use the ratings this way because the rating is the only tag I can change while listening to a file on my iPod. If I’m listening to a track and decide I don’t want to finish it, I just set the rating to 1 star and it’ll be deleted the next time I synchronize and run this script. If I want to save something even if I’ve already listened to it all the way through, I set its rating to 5 stars. Otherwise, anything with a play count greater than 0 gets deleted.
By “deleted,” by the way, I mean the track is removed from the iTunes library (which also removes it from the Podcasts playlist) and the file is moved to the trash. At the end of the script, a dialog is displayed showing how many tracks were affected.
So the workflow now is this: when I plug in my iPod, it sends the new play counts and ratings to iTunes and receives any new files I’ve downloaded since the last sync. Then I run the script, cleaning out anything marked for deletion according to the rules detailed above. If any changes are made, the script automatically re-synchronizes the iPod. (A previous version of the script didn’t automatically re-synchronize.)
The script, if you’d like to try it yourself, is here. Since it’s written in AppleScript, it will work on Apple computers only—I’ve tested it on my PowerBook running iTunes 4.7.1 under OS X 10.3.8. To use it, unzip the file and drop the script in /Library/iTunes/Scripts/ (if you want it to be available to all users on your computer) or ~/Library/iTunes/Scripts/ (if not). Please note that I make no guarantees about the functionality or safety of this script, and you use it at your own risk.
Incidentally, everything I know about AppleScript I learned from Beginning AppleScript, and everything I know about controlling iTunes via AppleScript I learned from iPod and iTunes Hacks. If you’re interested in learning AppleScript and/or getting more out of iTunes and your iPod, you can help me out while helping yourself by buying a book through one of those links.
Update: I’ve added a couple of lines to the script so that if it does find tracks to delete, it automatically re-syncs the iPod, so you don’t have to do it yourself. If it doesn’t delete any tracks, there’s nothing new to synchronize, so it skips that step.
Permalink
03.10.05
Posted in Software at 3:21 pm by Nicholas
Update: Since writing this entry, I’ve received feedback from the developers of three of the programs mentioned below (two in the comments, and one by email). I’ve also noticed a couple other errors that no one had called me on yet. I’ve inserted updates inline based on the information they sent. Obviously, the fact that they took the time to get back to me about the issues I had and the features I wanted is a very good sign, and something I encourage my readers to consider when deciding on a podcast client (or any other software).
As you might guess from the new podcast category in the sidebar, I finally got bit by the podcast bug. It’s not enough that I have an RSS reader open all day bringing a few dozen feeds in on a regular basis; now I’m filling my iPod with even more blather from around the web. For those who aren’t familiar with the concept, podcasts are like audio blogs—regularly-updated audio content that can be downloaded automatically via RSS feed and optionally sent to iTunes to be synchronized with an iPod (or, of course, just listened to at home). Some are professionally produced, like the BBC’s In Our Time, and some are just a guy in his bedroom with a plastic microphone, like the Singularity Podcast. Most fall somewhere in between.
But this new interest brought with it a dilemma: which Podcast client should I use? There are several clients available for OS X … and I’ve now tried most of them. This is my report.
I noticed, first of all, that iPodder seemed to be the default recommendation from a lot of people—due in part, I’m sure, to its status as one of the first clients, its cross-platform compatibility, and its price tag (free as in beer and free as in speech). I’m all about open source, but I must confess a certain bias against GUI applications based on scripting languages—too often it’s slow and fails to take advantage of the Cocoa libraries, leaving the user with a non-standardized interface. I’d heard a lot of good things about it, but in the end I decided to try it only as a last resort. Note: in the original version of this entry I confused iPodder with jPodder somehow (I guess they look kind of similar in certain fonts). iPodder is written in Python, while jPodder is written in Java. Sorry about that.
Next I turned to iPodderX—a very slick-looking piece of software that, unfortunately, failed to live up to its potential. I don’t know if it was something unique about my system that caused it, but iPodderX crashed on me a lot. When it worked it worked very well, but nearly every time I closed it, it failed to reopen unless I trashed the prefs. A couple times I managed to get it to work by just deleting some of the entries in the subscription and history files, but not always. Anyway, unacceptable. I moved on. One of the developers of iPodderX has commented on this, and I intend to get back to him to see if we can figure out what was causing this problem. I’ll keep you posted.
I was interested in trying PoddumFeeder partly because it’s entirely written in AppleScript Studio, and I’ve been curious lately about what could be done with that platform. PoddumFeeder is a good client with some excellent features—one that I particularly liked was the ability to automatically remove podcasts from the iTunes library after they’ve been listened to. Unfortunately, limitations in AppleScript itself make PoddumFeeder a lot less useful than it could be. For example, it can only handle one task at a time, meaning that while it’s updating, for example, none of its menus are accessible. You can’t even scroll down the list of feeds, and the only indication that it hasn’t locked up entirely is a spinning icon—there’s no progress bar. Once I tried to download a podcast from IT Conversations, walked away for three hours, and returned to find PoddumFeeder still trying to access the feed. I had to force-quit, and when I opened it up again it didn’t remember any of the feeds I’d already downloaded. Robust it most certainly is not.
Podcast Tuner bills itself as “Absolutely the best downloader for podcasts out there,” but again I found too many bugs for my comfort level. The bugs started with the integrated ipodder.org podcast directory—certain categories and feeds failed to load with a message telling me to reload or try again later, while others loaded without a problem. Maybe the XML parser is a little too strict. The software felt clunky to me, and again I had stability issues, so I gave up.
Finally, I decided to take a look at NetNewsWire 2.0 Beta, and at last I’d found a winner. This was a tough decision for me, because I’ve been an avid Shrook user for about a year now—but Shrook doesn’t do podcasts yet (Note: Graham says via email that podcast support is planned, but the top priority right now is improving performance) to give NNW a try. Although it’s labeled Beta software and the web page starts off with a big fat warning about “nasty, vicious bugs with great big, sharp teeth,” this was by far the most stable podcast client I tried—it hasn’t crashed on me once so far. Furthermore, it handles my text RSS (and Atom) feeds as well as Podcasts, so there’s no need to run separate clients for the two types of content. I do have a few complaints: there’s no way I could find to tell it to download, for example, only the most recent file from a feed, or only podcasts uploaded in the past week—options that are particularly useful when adding a new feed to the subscription list. And I’d really like to see NetNewsWire include PoddumFeeder’s option to automatically remove already-heard podcasts from the iTunes library (I’m planning on writing an AppleScript to handle this, but I shouldn’t have to). Overall, though, I found it to be exactly the sort of robust, stable, feature-packed software I’ve become accustomed to since switching to Mac a year and a half ago.
It’s important to remember that as of this writing, only version 2.0 Beta of NetNewsWire has the ability to download podcasts automatically. Previous versions also lacked Atom feed support, which was one of the reasons I chose Shrook over NNW when deciding on a feedreader last year. But in spite of being Beta software, and in spite of its relatively hefty $24.95 price tag, it’s the best option in its category for OS X right now. Highly recommended. (I originally had the wrong price in this paragraph—the Beta version is $24.95; it’s version 1.0 that’s $39.95. Sorry about the confusion—I’m waiting until I get paid on the fifteenth to register my copy, so I was just going by the first price I saw on the web site.)
Permalink
02.28.05
Posted in Software at 9:37 pm by Nicholas
Lately I’ve been learning AppleScript as a means of automating certain repetitive tasks and because I might some day finish writing a proper Mac application, which of course I’d like to make scriptable. AppleScript Studio piques my curiosity, too.
Anyway, in the preferences of Apple’s Script Editor are a couple of interesting options: Default Language and Plugins. Turns out Apple isn’t really doing anything with those right now; they don’t seem to distribute any plugins and the only language available is AppleScript. But in searching the web for things I could do with those preference screens, I found Appscript, which is pretty cool. Appscript is a Python-based substitute for AppleScript. You get all the power (as far as I can tell), but with a syntax more familiar to experienced programmers. That’s not a small thing, either—as friendly as AppleScript strives to be, its verbosity and stubborn insistence on doing things its own way can be a difficult adjustment to those of us who pretty much grew up with C-based syntax.
I still intend to learn AppleScript, because I’d like to be able to distribute the scripts I write and I can’t depend on end users having Appscript installed. Still, for those of us who know Python and have repetitive personal tasks to automate, it’s a nice option.
Permalink
Posted in General, Software at 11:29 am by Nicholas
Until today, visiting my current favorite online map in my current favorite web browser yielded a “we’re working on it” sort of message. Now it actually works. For those using the Google Map Of… and/or Get Google Directions Applescripts to map locations in Firefox, instructions to modify those scripts for Safari are on the macosxhints discussion thread (scroll down to the comment titled “Modifying Applescripts”). Or, if you’d rather not get your hands dirty, you can download my modified scripts. Just drop them in ~/Library/Address Book Plug-Ins (creating this directory if necessary) and restart Address Book to make it work.
Permalink
« Previous entries