Blog

#pragma mark - Development Blog

October 7, 2016

Your app does not comply

As Apple promised in September, it started sending out emails to developers warning that their apps would be removed from sale on the App Store unless updated. I received two su...

Read more

July 15, 2016

A couple things...

We've got an update in the works to our popular app OuttaMyWay! - Personal Lights & Siren which includes some bug fixes, a couple new sirens, and some Siren Board improvements....

Read more

March 25, 2016

A Precipitous Drop

I am at a loss to explain it, but I suppose it was inevitable. I have been observing a very long and slowly declining revenue tail for my best app for some time. My most popular...

Read more

February 12, 2016

Lockbox v3

Lockbox v3 is now available, sporting a vastly more robust yet less complex API for storing data into and retrieving data from the iOS keychain. The basic premise of Lockbox has...

Read more

February 12, 2016

Announcing FilterFresh v1.3

An update is available (as of yesterday) for FilterFresh , our filter maintenance and reminder app for iOS.This update has the usual minor bug fixes and improvements, of course....

Read more

January 7, 2016

Same site, new host

If you subscribe to this blog, you received notice of a new post, cleverly titled "test post". Oops. Sorry. We were making sure we could still create content because we've moved...

Read more

December 11, 2015

OuttaMyWay v3 Available Today!

Nearly two years in the making, OuttaMyWay v3 is finally available today ! It's a complete re-write, but the app retains all the familiar features users have come to love, plus...

Read more

November 19, 2015

Call for testers: OuttaMyWay! v3

Nearly 2 years in the making, OuttaMyWay! v3 is ready for public testing! This update supports iOS8 and above on both iPhones and iPads, and has a number of other enhancements a...

Read more

October 29, 2015

RAID to the Rescue

Thank G-d for RAID! And I'm not talking about the bug spray. I have a Linux server in my basement which hosts the family email, a few websites, and all our music and photos. I b...

Read more

October 24, 2014

Dynamic & Interactive Launch Screens

I recently set out to re-write one of my apps. The app currently supports iPhone and iPod touch screens up to and including the 4" displays. There are a handful of "Default" lau...

Read more

September 26, 2014

Supporting National First Responders Day

Saturday, September 27th is National First Responders Appreciation day in the United States, a day set aside to recognize, remember, and thank all the brave men and women who da...

Read more

April 11, 2014

FilterFresh: The Back Story

This week, with as much media "blitz" as an indie shop can muster, we announced our latest app, Filter Fresh , along with our completely revamped website . Filter Fresh is free...

Read more

March 28, 2014

Badged UIBarButtonItem

A new project (nearly ready to release; stay tuned) required some custom UI. One element was a badged UIBarButtonItem, for which I wrote a custom class, which I am releasing as...

Read more

February 14, 2014

Caching +imageForURL: Results

About a month ago I wrote about the recurring but ever-solvable problem of loading images in the background without losing performance while say, scrolling a table view. While I...

Read more

January 17, 2014

Endlessly Solvable Problems

There is no shortage of common engineering problems that have been solved over and over again, or just once. In either case, if a Good(tm) solution is found, it gets reused wher...

Read more

August 30, 2013

iOS7 UIPickerView Customization

The iOS UIPickerView is one SDK component that leaves little to the developer for customization. With iOS7 and its entirely revamped look and feel just around the corner (allege...

Read more

April 26, 2013

The Next Thing

I debated about what to write about today, especially in the wake of yesterday's WWDC ticket frenzy, the subsequent online screaming about it, and everything else. I think in th...

Read more

April 12, 2013

Standalone Delegate Objects

It is very common practice that an object like a view controller is the delgate (and perhaps datasource) for another encapsulated or included object, such as a table view. This...

Read more

February 1, 2013

Unit Testing for Fun and Profit

How do you know if your code works? You test it of course. But, how do you test your code? Do you run it in the simulator? On your device? Is that enough? The simple answer is:...

Read more

January 18, 2013

Later Never Comes

What is the cost of expedience? Answer: Technical debt. How often have you had to solve a problem quickly, knowing that your solution was correct (i.e. it works), but not really...

Read more

January 4, 2013

Agile By Fire

One of the features of my new day job is that the development environment is full-on Agile. It's my first experience in such an environment, and while I've worked in plenty of p...

Read more

December 21, 2012

Annual Apple Shutdown Begins Now!

If you are an Apple Developer, you have no doubt been bombarded lately with reminders that Apple is shutting down its developer portal for Christmas beginning today Friday, Dece...

Read more

December 7, 2012

[self viewDidChange]; -- Wait. What?

No, that's not a new and magical API in the title. Just an eye catcher... This week I changed day jobs. So literally, my own view has changed. That is to say, the office I go to...

Read more

November 9, 2012

Pro Tip: Data Types Matter

I made a stupid mistake recently, which cost me more than a few hours of time to figure out. But I learned a couple things: Xcode will let you dig as deep a hole as you like, de...

Read more

October 26, 2012

Geofencing Followup

In a previous post I wrote up some discoveries I had made about using geofencing -- region monitoring in iOS parlance -- based on some testing I had done. I have since applied t...

Read more

October 12, 2012

Composite Images using Image Masks

In my last post about dynamic pattern images , I showed how to create images on the fly for use as background pattern images. As promised, today I'll show how to create composit...

Read more

September 28, 2012

Dynamic Pattern Images with Core Graphics

The image handling capabilities available in iOS (and OS X for that matter) are pretty spectacular. Using only high level APIs, you can work with images quite easily. But lurkin...

Read more

August 3, 2012

Are Your (Older) Apps Ready for iOS6?

I would hope this is obvious to anyone who's been around the iOS eco-system during an iOS beta period: Make sure your apps will continue to work with the new release! Last week...

Read more

July 20, 2012

De-railed

Two things happened recently that have each, in their own way, de-railed me to some extent. The details of each instance should be interesting to iOS developers and Rails develo...

Read more

June 22, 2012

App Roundup

Since April I've delivered a surprising number of apps to the App Store, and I thought I'd give a brief summary of those projects and what made (or makes) them interesting. Tivo...

Read more

June 8, 2012

The Last Word on Many From One

It turns out that building multiple targets from one source code base is both easy and hard, both simple and complex. It all depends not only on the ultimate products you want t...

Read more

May 25, 2012

Many From One, Again

Several months ago I wrote about some tricks I was using to build many targets from one code base . The rubber is meeting the road on that project as we get closer to being read...

Read more

May 11, 2012

Achievement Unlocked: Git Ninja

The title of this article may be overstating my expertise with git slightly, but that's how I feel having successfully tackled what is, I think, a fairly non-trivial task with g...

Read more

April 13, 2012

Pulling in Many Directions

Sometimes there is no time to focus on just one or two things. No, sometimes things get busy and between day jobs, and night jobs, and family, and all those other obligations we...

Read more

March 30, 2012

Geofencing: What do you do with it?

Location Services are one of the most interesting capabilities available in iOS. One interesting feature therein is "geofencing", also known as "region monitoring." I recently i...

Read more

March 16, 2012

Core Data Image Caching

It is a common pattern for an app to do something with data that is not local. Maintaining decent app performance while fetching the data is one challenge (and not the focus of...

Read more

March 2, 2012

Animation Revelation

For the newcomer to iOS development, "animation" may seem like a daunting proposition. That's how I felt when I wanted to animate a game board 90 degrees in my very first app. H...

Read more

February 17, 2012

Project X Has Begun

In my last post, Something Old or Something New? , I talked about my own mental process for choosing what to do next that would be meaningful, i.e. worth doing and doing well, a...

Read more

February 3, 2012

Something New or Something Old?

What's my "Next Great App" going to be? No one knows, of course, since almost anything can be a hit, or not! I've experienced this phenomena with my own, current apps. And this...

Read more

January 20, 2012

Many From One

Building one app from one code base is pretty straight forward (all other complexities of Xcode development notwithstanding, of course). Building more than one app from one code...

Read more

January 6, 2012

Book Review: Core Data for iOS

I am always learning new things about my craft: from colleagues, on the job, from the Googles, and yes, from books. For technical topics, I like having a real book because when...

Read more

December 23, 2011

Indie Insights

This has been quite a year for me as an "indie" iOS developer, and I thought a recap of what I learned, what I did, and what I hope to do in 2012 was in order. My intention for...

Read more

December 9, 2011

The Stunning Utility of Global Classes

Set aside any ideas you may have that global data is evil. If you spend any time on the StackOverflow website, you've likely seen questions like "How do I share data from one vi...

Read more

November 25, 2011

UI Polish In An Instant

There are some apps that immediately make you say, "Wow! That looks really nice!" You might also assume that a "real designer" (tm) was involved. In many cases, you'd be right....

Read more

November 14, 2011

Get Thee to a Developer Conference!

On the heels of this past weekend's Voices That Matter iOS Developers Conference I am feeling completely inspired to create great, new, and innovative apps. My mind is ablaze wi...

Read more

November 11, 2011

The Distro Scheme

If you came to Xcode4 from Xcode3, you noticed a distinctly different methodology to the way in which apps are built, namely Schemes . Schemes introduce more organization and fl...

Read more

October 28, 2011

The Veiled UI

Despite what Apple's Human Interface Guidelines may say, sometimes you want to prevent your user from doing anything until some long-running task (like a network API call or a l...

Read more

October 14, 2011

Really? A fart app?

This is my first post for iDevBlogADay , an opportunity about which I am quite excited. The following is the tale of how I got into this crazy world of iPhone development and ho...

Read more

October 6, 2011

Legendary Reflections

Like everyone else, I feel I have to say something about the passing of Steve Jobs. Of course, it's all already been said in blog posts, on Facebook, and on Twitter. There is no...

Read more

September 24, 2011

Welcome!

Welcome to Hawk iMedia's new Development Blog! The voice of this blog belongs to Mark Granoff, a professional software developer, founder, and sole proprietor of Hawk iMedia. I...

Read more