How to share common code between OS X and iOS and architect your app to dance around each platform’s similarities and differences.
Faster Android Development on the Mac
Debugging on Android can be a pain at times – some of these can be attributed to the architecture of its developer tools. If you find the emulator’s startup time to be too slow for you, there may be a configuration option that you’ve overlooked and can make the emulator a lot fster.
Two Macros to Speed Your Singletons
How to use singletons properly and how to supercharge your singleton writing.
Bringing Web Analytics for your Desktop App
Are you yearning for Flurry Analytics or Google Mobile Analytics for your Mac OS X application? Seek no more as your day is saved!
Crazy App Idea: JDBC on Cocoa
Do you know why it’s so hard to gain access to an SQL database from a Mac App? Here’s why and the solution to your database access woes. Warning: it’s slightly off-beat and rad.
Pull-to-refresh that goes both ways
Turbocharged OS X scroll view component that supports “pull-to-refresh” on at the top and bottom edges – perfect for a timeline display view component.
Introduction to Cocoa: NSLinguisticTagger in NSBrief podcast #72
Get your Cocoa app to recognize verbs, nouns, or even people and company names using NSLinguisticTagger. Listen to what other cool stuff that this nifty yet lesser known class can do for you.
One NSWindow handling multiple NSDocument instances
Cocoa’s document architecture envisions that a window should only handle one document. However library-type applications may need one window to handle multiple documents so that the user can easily switch between libraries without restarting the application. Here’s how you can hack AppKit so that a single window handle multiple documents.
The Proliferation of Apple Clones: A Conspiracy Theorist’s Perspective
HP, Samsung, and others are cloning Apple’s successful product designs. Is it because they’re simply not creative or is it the result of internal politics and the lack of long-term focus of their respective leaders? Only those in the respective companies boardroom’s inner circle have knowledge of what’s actually happening. But a conspiracy theorist can argue that it’s the result of the legal head’s sweet talks who wants more funding to his department at the expense of the engineering and product design departments.
Bringing Asynchronous Core Data documents to OS X
Core Data now officially supports concurrency and I/O in background threads since OS X 10.7 and iOS 5. In the same release, Apple also brought the document architecture to iOS that leverages this new capability of Core Data. However OS X didn’t get the same level of multicore love. In this post, I’ll show you how to create a multi-core supporting document architecture application for OS X.
Behold the Holy Array!
The holy array — like the holy swiss cheese — is an array that’s full of holes. Sometimes they’re called sparse arrays. You can use this kind of arrays instead of dictionaries to save some memory when you know that you’ll only be using small nonnegative integer as keys.
Git Client to Manage Remote Repositories on an iPad?
An iPad is the mobile computer of choice for casual computing. How about making quick fixes or other tasks to your git repository? Sure you can do that from an iPad – if using git on the command line is your thing. GUI lovers doesn’t have this luxury. Yet.
Checklist for Publishing to the App Store
You’re about to submit an app to the Apple’s App Store, Android App Market, or Windows Phone Marketplace? STOP and read this article first before you do. A binary doesn’t make a product and here’s a checklist of the things that you need to have so that your product gets noticed.
How I Prematurely Killed My Second Game
I was in the middle of working on my first iPhone game and was so excited about iOS games, I began having ideas for more games. Then I realized that these won’t make it through the noise and tough competition in the App Store and decided to pivot from making games. Here is the back story how I came to that realization and on what conditions should I return to making games.