Shareware or Freeware?

I was taking a look at programs to go with my new Forerunner 405 and stumbled upon TrailRunner and am fairly impressed. The author says it is donation-ware as he doesn’t have time to support it and people would expect support. That’s fine and dandy, but if you don’t donate, you get a reminder when you launch the app to donate. So what is the difference between shareware and donation-ware that nags you? In my opinion, there is no difference. The author wants 25 Euros for the app to get rid of the screen.

While the application looks well done, I have a problem with what the author is doing. He should either make it free without a nag (and accept donations) or make it shareware. It is misleading, in my opinion, to say it’s free, but nag you at every startup to donate. Will this prevent me from buying (let’s face it, it is not a donation), I’m not sure. I like how it presents the data and like the mapping, but this really irks me.

Hey author, wake up and make your app shareware. You’d actually be surprised how much well written software can earn you and then you can stop making excuses on why you can’t support the software.

What not to include in a Mac application

I just got a Garmin Forerunner 405 and will be posting a review in the near future. However, I just had to post about the Garmin ANT Agent software. After seeing an erroneous dialog about a new network interface and thinking that the developers need a lesson in Mac development (I can’t connect to the Internet with the GPS unit!), I decided to poke around in the application.

I found files called DefaultGarminDebugSettings.xcconfig and DefaultGarminReleaseSettings.xcconfig. These files are used by developers to build the application, but should NEVER be shipped with an application. To me, this shows a development team that isn’t all that familiar with Xcode and Macintosh development. While it might have just been a mistake, this is kind of the icing on the cake to me of a poorly written application. Since the Garmin ANT application has to run in order to transfer data, there was really no need to install a kernel extension as all the USB communications should be doable via userspace calls. Anyone that has ever dealt with a kernel extension knows that they’re hard to develop, hard to debug, and could make a computer less stable.

While Garmin has made great strides in supporting the Mac, I’d like to see Garmin invest a little money on developing quality Mac software.

Shifting the blame

When I see kiosks with Windows error messages, I usually love to blame Windows as I’m a life long (OK, I was 16 when I got my first Mac) Mac user so Windows is an easy target. Several weeks ago, I was at the San Diego airport picking up my wife and son when I saw an error on one of the displays. I realized that the displays were still running and the only problem was the crash message on the screen. I attribute this error to the person that setup the kiosk. Software is going to crash running most operating consumer operating systems (Mac OS and Windows primarily), so whoever sets up the kiosk needs to do whatever is possible to make sure the kiosk or display keeps running. This includes background processes to monitor the foreground processes and vice versa. In addition, all error messages need to be suppressed. Mac OS X has a command line option

defaults write com.apple.CrashReporter DialogType server

to prevent the crash dialog from coming up. I can only imagine that Windows has something similar.

I’ve worked on a kiosk system before and setting them up is not trivial. It takes a lot of thinking and failure design to get it right.

Imprinting a signature in a PDF

The other day I needed to put my signature on a PDF, so I used PDFPen to do so, but noticed that I could still move the signature even after saving it and tried to use the “Merge Imprint into Page” option, but found that it didn’t work either (their support confirmed that due to changes in PDFs, this feature was kind of useless and should be removed). My solution was to print out the PDF and scan it back in; my signature was definitely imprinted on the PDF as the entire PDF was a bitmap image. I kind of forgot about this until today.

I heard about the TSA document leak on the news and searched for it. Wired had a lot of information including a link to a document that explains how to properly redact information. The basic idea is to save the PDF as a multi-page TIFF, then convert the TIFF to a PDF. While PDFPen, this is easy:

  • Open PDF in PDFPen.
  • Add signature and other information that you don’t want editable.
  • Save PDF as TIFF.
  • Open TIFF in PDFPen (or Preview).
  • Save file as PDF.

Presto! Now the PDFPen folks just need to adds this as an option to eliminate the steps. I realize that this significantly increases the file size, but it does accomplish my goal.

Unhelpful error of the day

I was working in Quicken today and decided to online enable some of my accounts as I’ve never done that before. I am using Quicken 2007 for the Mac and have applied the latest “update” (update is in quotes for reasons that will become clear soon.

I checked my bank for the FAQ on what to use as the username and finally found a reference on the web (the bank was no help) and knew I had that correct, but Quicken kept giving me a OL-249 error. I searched and searched and finally found a “Quicken Certificate Updater” to update the SSL certificates. After applying the “update”, I was able to connect to my bank. I then found an article on Quicken’s Web site referencing this error.

So why didn’t the error say “unable to establish SSL connection which would have been a lot more helpful? Why didn’t Intuit make the Certificate Updater a version update to the application; the updater patches something in the app, so it had to go through some QA. If they had done this, a check for updates or the automatic updates would have alerted me to this and I would have applied the patch 2 months ago. Instead, I wasted 20 minutes looking for the answer.

Now that I have this working, will I use it? I’m not sure. I manually enter all my transactions so that I can independently verify that no extra charges are posted to my account. Then I go through the statement and reconcile each transaction. In theory, reconciling the statement by hand is the same as reconciling it using the downloaded transactions as they should be generated off the same data. I’m sure it will save me a bunch of time if I do it this way and I still have my manual check of entering all the transactions.

On a side note, it appears that more and more banks are charging customers to use this feature in Quicken. I realize that banks have to pay Intuit for the feature, but passing on the fee to the customer is just nickel and diming us. Luckily one of the banks I use doesn’t charge for this privilege AND supports the Mac (many banks don’t support the Mac.)

Squeezebox 7.4 and Bonjour

Thanks to the efforts of Neil Potter on the XM Radio plugin for the Squeezebox software, I was finally able to update to Squeezebox 7.4 which has many new features over the 7.3 software I was running before.

Once I saw Neil’s email about the new plugin, I quickly updated the Squeezebox software and gave it a whirl. I was able to play XM Radio and was pretty excited. However, I went to the Bonjour menu in Safari and didn’t find the familiar “Squeezebox” link to control the server using a web browser. I rebooted my Mac Mini, poked around and didn’t find any problems. After a search of the forums, I found a reference to a bug filed on this issue. The response from the developer was pretty crass if you ask me. The developer said:

No, it was removed because it’s a stupid feature. We had a standalone binary
and tons of support code just to add a bookmark to Safari?! Give me a break,
we’re better off not having to support it.

Wow, that kind of response is a bit rude and, in my mind, short sighted. In many home setups, the server will get a dynamic IP address which means knowing the IP address of the server may not be possible. In my setup, I can use mediacenter.local to access the machine; sometimes, however, this doesn’t work as the machine gets confused and gets renamed mediacenter-2.local when the server is restarted. I setup a DHCP assigned, static IP address using my Time Capsule base station so it always gets the same address to hopefully avoid the renaming issue. That solves part of the problem. The other problem is that in the past, when my wife has wanted to control the server, she used the Bonjour bookmark to get to the server. Now I have to setup a bookmark for her which isn’t hard, just another step. Now that we’re using the Squeezebox Controller, we use the web interface much less.

While I can understand not wanting to maintain a separate binary, the developers are making it a bit harder for the average user to use the Squeezebox server. This will be fun setting up my parents with their Squeezebox if/when my father decides to update the software. They have 2 Macs that they use; one Mac is the server, so that’s easy, access it via http://localhost:9000, but the other machine is harder.

I hope that someone in Logitech’s product management takes a look at this feature and re-considers it.

Review: BusyCal

When the folks at BusyMac showed BusyCal off at Macworld Expo, I was excited to see an iCal replacement. Unfortunately, at the time, it didn’t handle CalDAV and we were using CalDAV at work. So, I didn’t have a use for it. The BusyMac folks do great work and I’ve known John and Dave for years. Now that BusyCal has been released, things have changed for me. I’m not using CalDAV at work (some people are, but some are now using Google Apps for Your Domain). I downloaded BusyCal, installed it, and within about 10 minutes, purchased it!

While on the surface, it looks like just an iCal replacement, it isn’t. It integrates with Google so well, that it simplifies my calendaring tremendously. I have 3 calendars I use for work, and 3 for home. All of the calendars are on Google in 2 separate accounts. I’m not really sure what to say about it, but it is much more pleasant to use than iCal; iCal feels like a dog compared to BusyCal. iCal’s CalDAV syncing (to Google) is problematic and has many quirks. For instance, if I receive an ics file sent to one account that is forwarded to another, iCal won’t let me add it. If I do the same thing with BusyCal, it lets me add the event without problems. In addition, I trust that the BusyMac folks will listen to feedback and make more frequent updates than iCal.

I’m not going to go in depth here as the trial version will give you the opportunity to test drive it in the comfort of your own home.

Pros

  • Excellent syncing with Google.
  • Ability to add .ics events without strange error messages.
  • Easier setup for Google syncing than iCal.
  • Responsive tech support.
  • Weather icons are a nice touch and saves me from having to watch the weather on the news.
  • The details for calendar events is much easier to use than iCal.

Cons

  • It’s not cheap at $40 per copy.
  • Doesn’t handle CalDAV calendars like iCal does.

Summary

If you use Google for calendaring, this application is a must have. If you have BusySync, it’s only a $10 upgrade, so it is definitely a no brainer. If you don’t have BusySync, but want easy calendaring, I don’t think you’ll regret this purchase. Go grab the trial and give it a whirl. If you’re like me, you’ll be hooked pretty quickly!

Confusing user interface

I’ve always been puzzled by dialogs that have OK, Cancel, and Apply buttons. This has been pretty typical on Windows and relatively uncommon in decent Mac applications. If a preferences window has these 3 buttons, what do they mean? If I click some buttons, hit Apply, and then Cancel, do the changes take effect? If I click some settings, and click OK, but don’t click Apply, do the changes get applied?

I would have thought that by Windows 7, this would have been resolved, but apparently not.

iChat2.png

I collect software and have seen lots of programs. I recently saw this in a Mac program.

Screen shot 2009-11-10 at 10.13.36 AM.png

Why this is in a Mac program, I have no idea.

After looking into this a bit, a friend pointed out that Xcode also has an Apply button. Furthermore, the Xcode Preferences is a window and windows don’t normally have OK and Cancel buttons. So it looks like Apple needs to look at its developer tools.

XcodePreferences.png

Something Microsoft does right

I’ve never been a Microsoft fan and really haven’t had positive things to say about their software. There are lots of people that are as against Macs as I am against Windows. Today, I attended a Microsoft event where Microsoft was showcasing Windows 7, Windows Server 2008 and Exchange 2010. I decided to go as most of the companies I interact with are Microsoft shops and it was about time for me to learn about the “dark side”.

I went to the track on Exchange 2010. As the presenter started talking about Exchange, my view on Microsoft (at least Exchange) really changed. Microsoft has implemented so many things that companies need and made it easy to use (at least it looks that way).

The presenter was touting how well Outlook Web App worked in Safari and Firefox which is pretty cool. In addition, administration roles are sorely missing from other products I’ve used so that you can give a junior administrator certain privileges. Also, archiving and discovery is completely integrated. All of this, of course, comes at a price, but it knocks the socks off anything that Apple has put out. If Apple has any chance of competing in the enterprise space, it really needs to examine Exchange. I like the open source underpinnings of OS X server, but slapping together open source apps doesn’t make a server solution.

If I had people to run my servers and a vast budget, I’d definitely consider Exchange :-). Hmmm, maybe my head cold is clouding my judgment.

Open Directory and DNS

As I’ve written before, Open Directory on Mac OS X doesn’t like it when DNS is messed up. It requires forward and reverse DNS to point to the same place. Our Open Directory server was running fine, but today we moved DNS to a different machine.

I was unable to authenticate using LDAP and saw an error in the LDAP log:

Miscellaneous failure No principal in keytab matches desired name.

After a little searching, I can across a blog entry mentioning this and talking about DNS. While it wasn’t exactly what I had, it made me do a little poking at my system. Turns out that I created 3 A records for the LDAP server which created a reverse DNS entry for the server. The problem is that the forward DNS entry didn’t match the reverse DNS entry. I changed 2 of the A records to CNAME records, restarted the LDAP server and the problem went away.

I wonder if there is another cause for this problem or just the authors of the software didn’t bother to put in a useful error message. It’s easy to ignore putting in useful error messages when writing code, but when Apple decides to use open source software and slap a GUI on it, they should try to make the error messages more useful. Again, I’m complaining about slapping a GUI on command line applications. If I wasn’t persistent and didn’t know how to troubleshoot UNIX, I’d never be able to run a Mac OS X server.