Test Flight – Easy Beta Distribution for iOS Apps

At the April 2011 Melbourne Cocoaheads meetup I presented a talk on using Test Flight. Test Flight is an online service for iOS app developers that makes distributing betas easy and fairly painless.

You can watch the talk below or in HD on Vimeo.

Here are the slides for this talk.


Why I buy Apple computers.

I recently saw this post on TUAW about why the author stays with Apple gear even when it annoys him. I thought I’d add my voice to the chorus by relating my recent experience dealing with Apple customer service and describe why it is just so damn awesome.

In 2009 my father had a very bad accident and was in hospital and rehab for months. As such he wanted a laptop computer to use. So I bought him a MacBook Pro 15″. I kitted this Mac out with a few options making it quite an expensive purchase.

A few months after purchase my father returned home with this laptop and we discovered that the Airport Express card in the laptop was unreliable. My parents live in a small town in New Zealand and there is no local Apple store. There is however a reseller and authorised service provider. We handed the Mac over to them for them to replace the Airport Express card which they did under Applecare for no cost.

Unfortunately after the Mac was returned to my father it became less and less reliable. My father though, not being the complaining type, didn’t express exactly how bad the problem was to me. It wasn’t until this Christmas when I was visiting my parents that I discovered how bad the problem with the MacBook had become. It was locking up very regularly.

Unfortunately by this time the MacBook was out of AppleCare. So I just bought my father a new MacBook Air and took away the MacBook Pro. The MacBook Pro was only two years old but I was not hopeful about getting the problem with it solved.

With that in mind I visited the Apple Store in Chadstone to talk to them about getting the MacBook fixed. Fortunately for me I could demonstrate the problem with the laptop in front of the Apple Genius I spoke to and he was more than happy to make an exception and accept the MacBook for repair at no cost to me. Keep in mind that I did not have AppleCare for this MacBook anymore.

About a week later I was telephoned by the Apple Genius doing the repair work and informed that they had discovered what the problem was. It all stemmed from the original AirPort Express card “repair”. It had been completely botched. When they disassembled the MacBook for this original repair they had broken the connector between the mother board and the hard disk drive.

Because of this botched repair the Genius had decided to investigate further and had discovered more problems. The original “repairer” had also damaged the connector between the LCD panel and the motherboard. They had also not applied the thermal grease that should have been on the AirPort Express card to improve heat dissipation.

While these parts where not at present “broken”, the Genius, realising that this repair was all covered for no cost even outside of AppleCare, decided that the LCD panel and AirPort Express should be replaced “in case they failed in future”.

So today I’m going to pick up my dad’s old MacBook Pro that has had nearly its entire guts replaced. The only thing left of the old unit is the case, keyboard and optical drive. All of this outside of an AppleCare warranty and at no cost to me. This is real customer service.

In contrast to this, my 18 month old PlayStation 3’s power supply recently failed. To get this fixed I had to fork out $250 to Sony for a replacement refurbished PS3.

Also, my brother’s HP laptop (again only 18 months old) keyboard failed. HP would not cover this $45 replacement part or do the 10 minute repair job to replace the keyboard.

Window Management in MacOS X (Part 1)

My father is a fairly in-experienced Mac OS X user. In order to help him out I decided to create some tutorial screen casts describing some of the features of Mac OS X he has trouble with or doesn’t know much about. I’m guessing that these screencasts might be useful to more people, so I’ll be posting them here via Vimeo.

Here is part one of a tutorial on Window Management in MacOS X.

You can watch in high definition on Vimeo.

February Melbourne Cocoaheads – Part 2

Thursday the 10th last week was the first Melbourne Cocoaheads meetup of the year. Two talks were given. The first was a talk by Stewart Gleadow on the topic of Frank (see the previous blog post). The second talk was by Jeff Tan-Ang of AppsPerhaps. His talk was regarding his company’s iPhone app, OzTV. This slick TV Guide application leads the Australian App Store’s “Lifestyle” paid application category. In the video I’ve created below he discusses the sales performance of the app in the store and the lessons he and co-creator Alex Johnston learned.

Converting a PDF to a series of images.

Today I needed to convert a PDF file to a series of images. Initially I was a little stumped on how to do this easily on my Mac.

My first port of call was Preview. Preview is one of Mac OS X’s most useful tools, but for this task it let me down.

You can use Preview to save a PDF file to a variety of other image formats just by choosing “Save As…” from the File menu. Preview will then ask you to specify a format and other image options. Unfortunately when you choose to save in the PNG image file format, this saves just the current page you are viewing. What I wanted was each page of the entire PDF to be saved to a separate file.

My next thought was perhaps I could use AppleScript to automate Preview. Unfortunately Preview is one of the few Apple tools that doesn’t support AppleScript very well (if at all).

Render PDF Pages as Images Automator workflow

This lead me to think about Apple’s Automator tool, and I discovered that Automator has an action called “Render PDF Pages as Images”. Hurrah! Problem solved! Well, not quite. I’m not an Automator expert so I had a little trouble figuring out how to use it. In the end I constructed the following workflow.

  1. Render PDF Pages as Images
  2. Rename Finder Items (set to Make Sequential mode)
  3. Move Finder Items
  4. Reveal Finder Items

When I was creating this workflow I was concerned about there not being any way to specify which folder to save the images into and other options on each workflow step.  However I then discovered the “Show this action when the workflow runs” check box in the options section of each action.  When this checkbox is enabled the action will pop up a dialog and ask the user to specify certain options.  In the case of the Render Pages as Images action you can specify the image format and DPI settings.  For the Move Finder Items action you can specify the destination directory.

I saved this workflow as an “Application” and now I have an icon I can drag a PDF onto to create a series of images.