Fun shadow effects using custom CALayer shadowPaths

I recently had to improve the performance of a few views that utilized CALayer-based shadows on rounded-rect UIView objects. On this particular iPad application, when the device was rotated, the views rotated quite a lot slower than we would have hoped. It wasn't a show-stopper, but the jerky rotation animation made it look cheap and … Continue reading Fun shadow effects using custom CALayer shadowPaths

Localizing iOS apps using ICanLocalize.com

As with most things, the amount of work we as developers see when starting an iOS application is just the tip of the iceberg. There's artwork, "About" screens, tutorial pages, icons, the app's website, and all the marketing the app needs to get it out there. Even writing the app's description or taking screenshots for … Continue reading Localizing iOS apps using ICanLocalize.com

Dealing with MKMapView’s Google logo with translucent toolbars

One of the iPhone applications I've written, Parking Mobility, is primarily a map-based application.  Since the iPhone's screen is so small, we want to maximize the screen real-estate while still providing navigation bars for users to interact with.  To that end, the app uses a black-translucent navbar and toolbar at the top and bottom of the screen. … Continue reading Dealing with MKMapView’s Google logo with translucent toolbars

Continuous Deployment to CPAN

Recently I was working on a refactor of one of my CPAN modules which, among other things, involved changing its name from Test::A8N to the specific Test::Story.  Doing so made me think about the process I usually go through when I consider releasing a CPAN module. First, let me explain something about myself: I don't … Continue reading Continuous Deployment to CPAN

Building iPhone apps with Hudson, Part 2

I've already posted before on how to set up Hudson to compile and build iPhone applications, but I just had a "OMG I <3 Hudson!" moment just now, and felt I had to share it. I do most of my mobile development literally while I'm mobile; on the train during my morning commute, from coffee … Continue reading Building iPhone apps with Hudson, Part 2

Telling your user that a PhoneGap application is busy

Plenty of times in applications, especially on mobile devices, you just need to tell your users to hold their horses and wait while your application processes something in the background.  Maybe you need to query some data from a remote server, save a file to disk, or maybe you just need to do some number … Continue reading Telling your user that a PhoneGap application is busy

How to use the native Alert dialog in PhoneGap

An important part to any application is issuing a simple alert to your user. Whether it's to tell them about an error that just occurred, or if you need to ask them a simple question, giving a message to your user is about the most basic part of any app. Sadly, when you try to … Continue reading How to use the native Alert dialog in PhoneGap

How to use the ActionSheet in PhoneGap

The ActionSheet is a handy control on the iPhone, and is a very intuitive way of getting a multiple-choice answer from a user in a modal but unobtrusive way. Using it in PhoneGap makes interacting with your user easy, while keeping the display responsive. And as an added bonus, you don't need to update any … Continue reading How to use the ActionSheet in PhoneGap