Under The BridgeUnder The Bridge

Library: MapKit-Route-Directions

Unfortunately, our Japanese translating skills aren’t up to reading this post, but we think that


translates to something to do with the library

kishikawakatsumi’s MapKit-Route-Directions at master – GitHub

Extend MapKit to add route directions powered by Google Maps API.

Hey, if you want turn-by-turn descriptions in your MapKit, then you’ll probably find someone who speaks Japanese to sort this out for you, we imagine. And if you do, come back and provide us some English usage notes, k?

Snippet: Selector choosing

[EDIT: Discontinued.]

Here’s yet another handy piece from the oft-mentioned Erica Sadun: convenience methods for NSObject which now include an elegant way to account for differing SDK interfaces at runtime.

… I’ve put together a category of NSObject utility methods here:


This code basically derives from stuff I’ve needed for other projects at various times. The latest addition is a selector check that returns the first one an object responds to, e.g.

SEL aSelector = [object chooseSelector: sel31version, sel30version, sel22version];

This offers run-time selector selection based on the current firmware. To use the selector, I’ve added a plethora of performSelector choices…

Handier than figuring it out yourself!

h/t: iPhoneSDK!

Social Network: Ninja Code

[EDIT: Discontinued.]

And today we’re letting you know of a new social network for iPhone developers, Ninja Code. Yes, a social network. Whilst in general trolls don’t have any particular use for the onanistic triviality of these social network things all the little kiddies are into these days, we make the odd exception. Like this one. Because their intro art is just so damn cool.


Is that not, like, just essence of awesome? Why yes, indeed it is! So, we didn’t bother checking it out any more to find out if it looks actually useful or anything, because having an excuse to use that picture above, why that’s good enough for us!

So there we go then. If there’s anything actually interesting there you’ll hear about it no doubt. Any excuse to run that picture again!

h/t: LinkedIn – Cocoa Touch!

Tool: BuildCleaner

Here’s a handy little utility called BuildCleaner for, eponymously enough, cleaning up all those Xcode build folders that litter your drive:

I just wanted to let you know of a little utility app I’ve just posted, called BuildCleaner. As I explore example projects, open source frameworks, and test applications, I find that I usually have a lot of build folders cluttering my hard drive. When you combine that with backup services like Time Machine, Mozy, or DropBox, you can waste a lot of your bandwidth uploading build folders.

To help with this, I’ve created BuildCleaner. It’s a little menubar application that scans your hard drive every few minutes for build folders and deletes them if they haven’t been modified recently (you can change the cutoff interval in the settings window). You can also tell it to ignore the build folders of specific projects, such as the humongous project you’re following that takes ages to compile, but you only crack it open every couple of days…

Handy, indeed. And it’s been open sourced on github for your tweaking pleasure as well!

h/t: cocoa-dev!

UI Design for Artists

[EDIT: Discontinued.]

You getting a bit tired of explaining over and over to artists the specifications for what iPhone applications need for artwork and pointing them at helper files and goodies? Yeah, us too. But these great people actually went to the trouble of collecting info to get past all the common artist questions in one place:

iPhone Guidelines And Resources For Artists

Covers device specs, icon specs for app and tab bar, fonts, and layout helpers, with links to various helpful resources overlapping a good bit with the ones we’d previous mentioned in the links above. Excellent to have it all in one place to send a link to for people who’d rather ask you than use Google!

Tools: Simulator Helpers

And it was just a little while ago that we brought to your attention the first Simulator helper for sending accelerometer data from an actual device that we’d run across — and all of a sudden, why, there’s a veritable plethora of them out there! Okay, three, but still.

The commercial offering is iSimulate, that does not only accelerometer but touches and GPS and pretty much everything, with a real website with an SDK and documentation and all that.

And if that’s too rich for your blood, there’s a free server/SDK bundle called SimRemote to check out as well, client expected to be on the App Store soon.

Must admit we’re still inclined to use the accelerometer-simulator library we originally brought to your attention, as it’s open source and all and we like the option to muck with things … but hey, if you want the snaz, or support, always good to have options!

h/t: MobileOrchard!


If you stumbled across this from a search engine … check out our followup iSimulate review!

Anime Clock

W00t! Another Trollwerks project finally wound its way through the approval labyrinth to live on the App Store for your buying pleasure — “Anime Clock”!


Why yes, as a matter of fact this is indeed another project for the same people as Selected Art of GARVGAPHX. How did you ever guess? But hey, if you want a desktop calendar on your iPhone, you definitely want one with cute anime girls!

Ah, yes. Between the Japanese art contingent and the Poses series, we do seem to be developing a theme to the Trollwerks oeuvre, don’t we? Funny how these things work out. Especially with these — at least with the Poses series we saw the source print book in advance; with these we did the applications with no idea whatsoever what art would end up in the release version. Funny how these things work out. Oddly enough, actually pretty consistent with the NON-programming troll world as well, but that’s another set of stories altogether…

[POST-MORTEM: Now withdrawn from store…]

Xcode predefined macros

Here’s a couple tips for finding what macros are defined/available in Xcode that showed up on xcode-users for the question

Hi, I’m looking for information on Xcode or the preprocessor that would indicate whether or not my code is being compiled for a non Mac GNU target or Mac OS X or iPhone OS…

You might have known this answer, how to print out a list of gcc predefined macros from the command line:

gcc -E -dM -x c /dev/null

But we’ll just bet you didn’t know how to extract them for a particular file in compilation context!

The easier way to do this (and get more precise, per-target-per-configuration results from Xcode) is to select a source file, Get Info, click the Build tab, add -dM to it, then Preprocess that source file.

You know, there’s been times when porting particularly convoluted befuddlements of allegedly cross-platform libraries that having known that tip would have saved us literally days of flailing around…

Library: Satisfaction Remote Component

Here’s a service we hadn’t heard of before which could be of use to your iPhone programming — GetSatisfaction.com, which “provides customer communities for products and organizations”. Basically, it looks like a free way to set up a support/feedback forum. Or, as they put it,

How are companies using Get Satisfaction?

  • As a primary support channel
  • As a fully branded, standalone community
  • As the community portion of a multi-faceted strategy
  • As a gateway to product innovation and ideation
  • As Social CRM “front door” to welcome customers

Aside from that anyone who uses the word “ideation” without overt irony should be flayed and their wounds salted for overt pretentiousness, that does look possibly interesting yes? And there’s a library, satisfactionremotecomponent up on Google Code, which lets you embed support for it within your application! That could be a more substantive method of support than an ’email us’ button, indeed. Not that we’ve actually got around to even that so far, but hey, best of intentions here.

In the meantime, if you’d like to see it in action in an iPhone app try out Locavore a locally grown food finder — actually, even if you wouldn’t, if you’re in the U.S. take a look at Locavore anyways, it seems to be a pretty decent guide to finding fresh produce — or if you’re really interested in the GetSatisfaction.com community, the above library is from the Satisfaction Remote application which lets you interact with the collective GetSatisfaction.com oeuvre off your phone!

h/t: iPhoneKicks!

Review wars!

Now here’s a tale of woe that we probably shouldn’t find as amusing as we do. See, there’s this application called TextFree Unlimited that’s been doing quite well apparently,

Textfree Unlimited is a 4 star app that has stayed in the top 100 apps for 138 days now priced @$5.99. Pretty incredible.

Indeed. But in the savage bestiality of the App Store, OH NOES! that just makes you a target!

But something bad happened last week. I noticed that for our 4 star app, suddenly had 14 1 star ratings with terrible comments that were all marked ”most helpful” by tons of people. This all happened in a 24 hour period.

Now don’t get me wrong, sometimes you make a product error or launch an update that warrants bad reviews. In that case, read them all, listen closely, make changes to your app, and your users will be grateful. This is not what happened.

So what happened?

Last week at Pinger we had a competitor come in and trash our ratings.

Sounds a little paranoid you think? Well, check out the explanation:

Massive iTunes Account Creation

This unscrupulous competitor created 50-100 iTunes accounts. This is not hard to do, but it takes time. They did this so they could act like 100 different users.

Comment Creating

They then created the 14 comments each with a different user account and gave our app a 1 star rating.

Comment Rating

Here’s where the really powerful and potentially dangerous feature of the App store reviews comes into play. Apple gives users the ability to mark a comment “helpful”. Once this competitor with questionable morals, created the comments, they used the 50+ iTunes accounts and marked all the terrible comments they made “helpful”. This immediately raised them to the top of the heap.


Woah. Now that’s some first class conspiracy theory. On the one hand, I suppose the mechanics are plausible yes. On the other hand … does it really make any sense to go to the trouble of creating “50-100” iTunes accounts just to piss in the mouth of your competition? Especially since you’d have to actually buy a copy with each of those accounts before you were allowed to rate them … oh, no, wait, you can mark a comment helpful or not without buying. Hmmm. Well, that does make it less of an outlay.

OK, I suppose that if you’d set up a sock puppet network to pimp your own apps, which is a skanky but probably effective way to game the system, deploying it to scorch your competitors’ products is the logical next level. Of course, we would never stoop to something that sleazy and underhanded. Unless, you know, it actually works. Hmmmm, maybe there’s a metagame in here somewhere. “Review Wars! Trash our competition for fun and profit!” Heh. The inventiveness of the marketing mind never ceases to amaze, does it now?

h/t: iPhoneKicks!