App localization – lessons learned
My friend, and fellow Pittsburgh CocoaHead, Adam Ratana has posted about some lessons learned when localizing his Sun Surveyor app for iOS and Android.
App localization – lessons learned
My friend, and fellow Pittsburgh CocoaHead, Adam Ratana has posted about some lessons learned when localizing his Sun Surveyor app for iOS and Android.
I got the news on an iphone last night riding to rehearsal. Today I’m on an iPad and two MacBookPros for doing my daily work. Some of my most joyous times in my youth were spent in front of an Apple ][, then an Apple //e.
I’ve been to a bunch of SteveNotes. The RDF was real. I always recommended WWDC (and MacWorld) newtimers to do at least one SteveNote. Now we can just reminisce.
The thing that’s really impressed me about Post-NeXT Apple is the quality of people attracted to, and kept by, the company. I have friends inside of the The Fruit, all of whom are amazingly awesome. Curtis. Zach. Evan. Ben. Bill. Clark. Chris. Dave. John. And any others I’ve forgotten. It’s a true testament to the leadership that such talent has been assembled.
I never met the man. I did pass within 30 feet of him on the Google campus a couple of years before. I was helping move 200 pounds of homebrew for a tech talk, and saw someone sitting under a tree chatting with someone else. I asked my companion “is that…” “yes it is” “whoa”. And we went on our merry way.
I’m gonna head over to folklore.org and read some stories now.
I’ve been noticing a disturbing trend lately.
A friend asked me recently, “Would naming your own Objective class prefix with NS be an issue with Apple or that is just not good in general?”.
An industry luminary retweeted an otherwise useful macro:
#define CFAutorelease(cf) ((__typeof(cf))[NSMakeCollectable(cf) autorelease])
And recently I saw a blog post where they make their own CLLocationCoordinate2DMake, and then go through contortions to fix things when Apple introduced their own version in a later SDK.
Don’t do this! Stay out of Apple’s Namespace.
There are two big reasons to do this:
In general, you should stay out of the namespaces of any code you’re using, such as making your own GTM-named classes if you’re using the Google Toolbox For Mac. That could break you the next time Google revs that library.
CF, NS, CLLocation, etc. Those aren’t your playground.
That’s Apple’s turf. Which kind of makes me sad, since I’m doing stuff for Cycling Fusion now, and using the obvious prefix would be a disaster.
Pick your own prefix and use that. BWCFAutorelease, BWCLLocationCoordinate2DMake. This shows that yes, this is not part of Apple’s API, but also clearly shows the intent of the symbol. Without you being broken by Apple in the future.
Scotty, over at the Mac Developer Network, is putting on a C4/WWDC-style independent Mac Developer Conference in England this April called NSConference. I won’t be able to make it, but it looks like a huge amount of fun. I’ve recorded a couple of podcasts with Scotty, and he’s top-notch, and I expect the conference to be excellent.
Next CoocaHeads/Pittsburgh is Thursday July 3, 2008, 7:30 at Newell Simon Hall 3001 on the CMU campus. No set agenda, but we’ll have the usual snacks and geeky discourse.
P.S. I’m on twitter as “borkware”, still working on revisions to AMOSXP, plus doing some work on LoC.
Apple’s released some new/updated documents. The Threading Programming Guide looks particularly interesting, especially if my LNC episode inspired you to not run away screaming.
Emperor Darth Jalkut of the Red-Sweater Empire recently plugged my humble miniblog. My feedburner reader stats went from 84 to 268 overnight. It took long enough to get my mom to subscribe 81 times, so it’s not her that’s doing it. So thanks to D.J. It pays to kiss-up to famous online personalities.
P.S. Mars Edit is still cool.