Category Archives: Articles
BlackBerry Browser Crops Most of the Content
When creating an HTML5 web app for BlackBerry smartphones you may experience that the BlackBerry browser crops most of the content from view. We had this issue with a PhoneGap app.
We’ve found that you need to include the height value on the device viewport meta tag:
This should adequately reveal the content!
Introducing – iAd Production: A Beginner’s Guide
In late February my book iAd Production: A Beginner’s Guide finally got published after 9 months of hard work!
Think of an iAd as a micro-app contained within an app, on a user’s iPhone or iPad, that they’ve downloaded from the App Store. When the user taps your advert’s banner, it bursts into life, filling the entire screen of their device.
The book focuses on using Apple’s iAd Producer app to create interactive ads for iOS, find out more about it on my book page.
If there’s Hellmann’s in the basket, there’s a recipe on the receipt
Great little marketing idea, whenever a customer buys Hellmann’s mayonnaise the other items in their basket are analysed and a recipe printed on the receipt!
Should be considered a success – sales increased by 44%!
iOS: Show Users the Reason You Require Their Location
Update: iOS 6 deprecated the purpose property and it now has to be set in your Info.plist with the key NSLocationUsageDescription which is displayed in Xcode as Privacy – Location Usage Description. If you’re still supporting iOS 5 and earlier make sure you include both.
A great, but underused location feature on iOS is the purpose property of the CLLocationManager.
So many apps ask for your location – give your users confidence in sharing their location by telling them why you need it!
Example:
locationManager.purpose = @"We'll only use your location to show you local events nearby.";
You need to do this before you start the location monitoring, so:
CLLocationManager *locationManager = [[CLLocationManager alloc] init];
locationManager.purpose = @"We'll only use your location to show you local events nearby.";
locationManager.delegate = self;
[locationManager startUpdatingLocation];
Your users will now get a pleasant reason when you request their permission:

I’ve no idea why this is so rarely used, it’s been available since iOS 3.2.
Tip from the Apple docs:
You must set the value of this property prior to starting any location services. Because the string is ultimately displayed to the user, you should always load it from a localized strings file.
