• An exercise in frustration

    When I was training for the 2 marathons I ran, I listened to audiobooks to pass the time as training runs could last for hours (it takes awhile to run 20+ miles on the long runs). I bought a number of books from Audible.com. Once I stopped training, I couldn't justify the monthly cost for audible, so I switched to listening to podcasts on my runs. The other day, my dad showed me how he checked out an audio book from the library to listen on his iPod Touch. It looked promising, so when I got home, I went to the San Diego Public Library Web site and browsed to the eCollections link. I found a book that said it could be played on the iPod, so I checked it out and installed the OverDrive software on my iPhone.

    Safari.png

    Unfortunately that's where the easy part ended. After a bunch of frustrating tries and re-reading the help information, I realized that the OverDrive software only played MP3 files. Well, I can use iTunes on my iPhone to do that, so what good was the software? There is a button on there labeled "Add Website" which implies it would make it easier to download directly on the device. I tapped on it and it launched Safari on the iPhone. Lovely. After more searching and reading reviews about the software, I came to the conclusion that the software was almost useless. I would have expected that I could enter my library card number and PIN, browse for books on the device and listen to any available audiobook. That's not what happens; the OverDrive folks didn't implement a WMA player that handles the DRM used on the books, so it would only play unprotected MP3 files.

    I almost gave up on the concept of listening to checked out audiobooks on my iPod that I use for running or iPhone when I decided to install the OverDrive software in Windows 7 in VMWare (remember I'm a Mac user). The software offers an option to transfer the audiobook to an iPod. Hmmm...my iPod is Mac formatted and the documentation said it had to be Windows formatted. I didn't want to do this and dug into my box of cables and stuff and found an old iPod Nano. I plugged it in, grabbed iTunes for Windows, reformatted the iPod and started the process to transfer the audiobooks to the iPod.

    I'm not going to get into the nitty gritty of what is going on, but using the software in the manner it was intended, I was able to transfer unprotected audiobooks to my iPod and iPhone. Wow, this is a huge hole that isn't the same as the analog hole. Either this is a significant oversight or a deliberate choice that the audiobook publishers have decided to accept.

    The process of checking out these audiobooks was quite painful despite reading all the FAQs and me being a software engineer. My dad figured it out much faster than I did, so maybe I over analyzed it or my dad wasn't as discriminating in his choice of books. Our library offers 100 audiobooks in MP3 format which I could have used with much less frustration while it offers 1784 books in WMA format (most of it protected so that it expires after the lending period). I'm not sure how OverDrive has convinced over 13,000 libraries to adopt their system, but the system is almost unusable.

    Has anyone found the process of checking out audiobooks easy? It's almost worth buying them from Audible.com to avoid the dealing with this.

  • Review: MailHub (plugin for Mail.app)

    One of the things I do is "collect" software never knowing when I'll use it, but there are a small staple of applications I use all the time. When I saw MailHub, a plugin for Mail.app, I quickly downloaded it and played with it for a few minutes. I don't think I spent more than 10 minutes with it before I pulled out my credit card and purchased it! One of the problems with receiving so much email is what to do with it. I used to run rules on messages and kept having to setup new rules to move messages. This was inefficient for me, so dealing with messages as I read them seemed much more efficient.

    If you don't use rules in Mail, you have to use the mouse to move messages to different mailboxes/folders. For people like me that like to use the keyboard as much as possible, the process of reading a message, then moving my hand to the trackpad/mouse to file a message just wasn't attractive. With MailHub one or two keystrokes is all it takes to move messages to mailboxes. To top it off, MailHub has smarts that tries to figure out where the messages will go and it does a pretty decent job. MailHub does a number of other things, but the ability to file messages quickly is ideal for me. My inbox is now down to zero as I deal with messages quickly as I read it.

    The $19 cost for MailHub is peanuts as it saves me a significant amount of time. The plugin hasn't affected the stability of Mail and is quite integrated into Mail.

    Pros

    • Excellent integration with Mail.
    • Learns about where to file messages.
    • Easy to use keystrokes to file messages.
    • Low price.

    Cons

    • Every update to Mail requires a plugin update. Mail plugins are not supported by Apple and with Snow Leopard, Apple has added a version ID to each Mail release, so plugins have to get updated. MailHub has been updated to support the new Mail versions.
    • Only works with Mail. This really isn't a knock on MailHub, but I've started using Outlook for Mac to integrate with my work's Exchange server and I miss MailHub when using Outlook

    Summary

    If you use Mail on the Mac and get more than just a few messages a day, MailHub is definitely worth a look. There is a 30 day trial, but I suspect that you'll purchase it after just a few days. The plugin is well done and it's simplicity makes it a breeze to use.

  • The devil is in the details

    I'm a very detail oriented person and one of the things that annoys me in reading code is something like this in header files:

    Copyright 2010 __MyCompanyName__. All rights reserved.

    There are numerous posts including this one that tell you how to change this by default. However, you can change it on a per project basis in Xcode by setting the organization. While many may consider this minor, the question I have to ask is "what else did the developer miss?". This kind of detail is one of the reasons I've been quite good at reviewing code and finding issues.

    I've seen this mistake made in commercial projects as well as open source projects. Do people look at the code when they first create a file? While we're at it, when I create a file, I make sure the copyright is set to whoever really owns the source; when I've done contract work, the source is always owned by the client, so I make sure it is set. About 70% of the code I've seen has had the wrong copyright. Most people don't care about this, but if push comes to shove, I don't want to be in the middle of someone trying to determine who owns the code.

  • New Service: Professional Source Code Review

    While discussing what I should do with my spare time, a colleague suggested that I write a book. That sounds interesting, but what makes me qualified to write a book? He said what makes anyone qualified to write a book. Good point, but I still am not writing a book.

    Today I spent my time on the (almost) daily dog walk thinking about that and came up with an idea "professional source code review".

    So, I'm now opening up my new service. For a flat fee, I'll spend up to 5 hours reviewing source code and then I'll prepare a detailed outline of issues and recommendations on how to proceed. Who am I targeting? In general I'm looking for companies that have outsourced their projects and want to keep an eye on the development to make sure they're getting their money's worth and to be advised of where things can go wrong. Many companies that undertake development don't have internal resources to review source code and rely completely on the outsource vendor. While many applications work, reviewing code can assist in polishing the code and possibly preventing future issues.

    What happens if your vendor fixes the issues and you want another review, I'll spend an additional 5 hours (at half price) re-reviewing the code. Are my services cheap? Well, no, but how much is your vendor going to charge you fixing their own mistakes? Software development is a unique business where we're paid to write the software and then fix mistakes (most projects I've worked on are on a time and materials basis).

    Why should you hire me? I've been writing handheld software for over 16 years (yes, I actually have as I wrote Newton software while I was still in college). I'm very meticulous and have seen enough code to know what is good and what is bad. Software can work, but some of the hardest problems to track down are caused by poorly written code. I can help resolve these issues.

    If interested, contact me. Of course, there are certain projects that I can't review, so I'll need a high level overview of your project before I can let you know about proceeding.