Indie developers often give out app promo codes to family, friends, and people who are interested in trying it out. The redemption process for these codes is a confusing, so I’ve created a quick guide to walk you through it!

1. Get your code handy

It should look something like “AYD6EIQW4EW7”

2. Open the App Store app

3. Scroll to the very bottom and press the “Redeem” button

The redeem button is hidden at the bottom of the App Store app

4. Type in your promo code

Tap “You can also enter your code manually,” then type in the code.

One of the most important aspects of design is restraint. Designing for  Watch is an exercise in extreme restraint. How so? According to Apple, a user should be able to complete their task in less than 2 seconds.

I’ve been using the  Watch since it came out. Like most people, the main thing I use it for is fitness tracking. I’ve spent more time with the Workout app than all other watch apps combined. I have 2 problems with the Workout app:

  1. It doesn’t offer enough choice in workout types.
  2. It takes too long to start a workout.

While I love the  Watch, particularly as a fitness tracker, the stock workout app leaves me wanting more. My three biggest complaints are:

  1. There aren’t enough workouts and activity types.
  2. It takes too long to start tracking a workout.
  3. I often forget to start or stop workout tracking.

So like any good nerd, I spent my summer eschewing the gym to instead build a better workout app. Without further ado, let me introduce you to Sweaty Bird!

Workout Squad, assemble!

Sweaty Bird addresses the problems with the stock workout app in a few simple ways.

1. Not enough workouts

In the Workout app, everything besides cardio…

Or can we build relationships with people through games?

I’ll be the first to admit it — I was a huge video game nerd growing up. I don’t play that many games any more. So what happened? Did I become more social, go outside more, meet IRL friends, and ditch my lonely gaming habit?

No, I didn’t change much, except for getting taller and having a bigger appetite. What changed were the games, and how we play them. Video gaming used to be such a social, inclusive experience. I played puzzle games like Dr. Mario and Tetris with my parents. …

Ok — in the interest of full transparency — that was a bold-faced lie to get you in here. I only licked one of the games at GDC. And not in the Mark Twain “we got that problem licked” sense. “Licked” as in a “mouth-based video game.” But more on that later.

First, I want to tell you what it’s like going to GDC. This was my first time at a game industry event, and I had no idea what to expect. There’s lots of unfortunate video gamer stereotypes: that they are difficult to talk to, avoid sunlight, whatever. But…

A Core Data Story

It’s been a not-too-uncommon rhetoric that Core Data is slow, buggy, or needlessly complex. I’ll be the first to admit that it’s not a perfect framework. However, far too often it is used as a scapegoat for whatever issues a developer is facing. Core Data is complex, but data management is complex. Attempts to simplify it often don’t scale. With a little bit more effort, Core Data does scale.

Core Data has made great strides in recent years, with additions such as batch updates and deletions, asynchronous fetches, unique constraints, etc. …

The importance of tagging your iOS builds

Photo Credit


Every iOS developer should tag all of their releases. What’s a tag? A tag is a label on a specific Git commit.

Pat DeSantis

iOS Developer & Design Enthusiast. Say hi at or

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store