What’s (not) wrong with the iPad

Lots of suggested iPad downsides on the Internet this morning. Thought I’d tackle a few. It doesn’t have a camera It’s 9.5″ by 7.5″ wide, and 0.5″ thick. You want to try taking a picture with something that shape? Besides, you’ve got a camera-shaped iPhone in your pocket. It doesn’t make phone calls It’s 9.5″ by 7.5″ […]

Read More
Empty XHTML tags and Internet Explorer DOM traversal

Here’s the problem: HTML and XHTML pages containing empty elements with no end tag such as <span /> break JavaScript DOM traversal methods in Internet Explorer 6, 7 and 8, resulting in nodes after such an element showing up in more than one node’s childNodes collection. Consider the following XHTML document: <?xml version=”1.0″ encoding=”UTF-8″?> <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML […]

Read More
Top Grossing Apps in the iTunes App Store

One of the more interesting additions to the updated iTunes 9 Store is a new “Top Grossing Apps” view.  This is displayed bottom right on the main App Store screen in iTunes, and has also been added to the Mobile App Store in iPhone OS 3.1, under the Top 25 tab. As a developer, this view is […]

Read More
How to detect if an iPhone OS device...

I’ve struggled to find a way to deduce if an iPhone OS device has the ability to make phone calls or not. There is a way to do so in iPhone OS 3.0, but I want to compile my code against the OS 2.0 SDK to enable it to run on as many devices as […]

Read More
iPhone Ad Hoc distribution for application beta testing

Apple’s Ad Hoc distribution process is a godsend for iPhone beta-testing, but a right pain to use in practice.  I’ve tried several different approaches for creating and managing Ad Hoc testing; this article describes the one I now use for my National Rail Enquiries for iPhone application. (A note before we get started: This article assumes some pre-knowledge […]

Read More
QuickTime X plays movies full screen for free

According to the latest reports from WWDC, QuickTime X finally brings the one feature that’s been missing for years: full-screen playback for non-Pro users.  It’s long been a bugbear of QuickTime users and developers that you have to buy QuickTime Pro to play movies at full screen.  It looks as though QuickTime X (currently being […]

Read More
Core Location extensions for bearing and distance

As part of a recent iPhone project, I needed to find a point at a certain distance from one location in the direction of a second location.  I found the formulas I needed on Movable Type Ltd’s scripts page, and converted these into the appropriate Obj-C code to run on an iPhone using the iPhone SDK. I’m posting […]

Read More
An alternative interface for filtering on the iPhone

I’m developing a new iPhone application. Part of the application needs a “filter a list of things” view. I’ve been looking at Apple’s approach for inspiration, most notably the Contacts application. I’ve come to the conclusion that the Contacts approach absolutely sucks, and so I’ve developed my own custom interface instead. This article describes the […]

Read More
Stripping out a set of characters from an...

Cocoa’s NSString doesn’t have great support for search and replace at the best of times. But the absence of the NSPredicate class from the iPhone SDK means that there is no quick way to strip a whole range of characters out of an NSString in one go on the iPhone. This article shows one way to do so. Control […]

Read More
Distance function for sqlite

As part of an iPhone SDK project, I have an sqlite database with a table full of geographic locations, each stored as a latitude and longitude value in degrees. I wanted to be able to perform an SQL SELECT on this table and ORDER BY each row’s distance from an arbitrary point. I’ve achieved this […]

Read More