Tag Archives: App Store

Adding an App Store Link Inside a Sticker Pack

For version 1.2 of the Mixologist Sticker Pack, I wanted to do more than just add a few more new drinks.[1] Taking a lesson from my friend Curtis Herbert, I wanted to add something to the app that improved it as a business. In this case, I wanted a link to my other sticker pack, the Leo Collection, inside the Mixologist.

Seems like a no-brainer to let the customers of one of my sticker packs know about my other packs, right? After all, these are people who have demonstrated that they know about, like, and will pay for stickers. They are a perfect target demographic.

Adding a link to the App Store inside an iMessage extension is trickier than it sounds, though. This is because extensions in iOS don’t get direct access to openURL. So you can’t simply add a link button that will launch the App Store app.[2]

So how do I link to the Leo Collection from within the Mixologist? That took a bit of asking around to my developer friends. I knew it was possible, thanks to the many great sticker packs offered by Iconfactory. At the bottom of each of their packs, there’s a button that launches a new view with all their packs listed. Tap on one, and you get an App Store page, complete with a Buy button, right within the extension. Nice.

Iconfactory More Page

So how are they doing this? I asked a few friends (Sam Gross and Jeff Grossman) while attending CocoaLove last week in Philly, and as people in our community tend to do, they immediately started brainstorming. Within thirty seconds, one of them suggested SKStoreProductViewController.

If you’re wondering, “What the heck is a SKStoreProductViewController,” don’t worry. I hadn’t heard of it before, either.

Turns out, as of iOS 6, StoreKit includes a controller that will only show you a specific App Store product page, right within your app. No need to link out to the App Store app. No need to bring up a Safari View Controller. It’s a nice tool that I had completely overlooked previously.

And best of all, it works within an iMessage extension.

Initialize the view controller with your product id (and even your affiliate token, if you like) and you can bring up the page for any product you want.[3]

I went home after CocoaLove and tried it. Sure enough, that was how Iconfactory was pulling off this trick.

Leo Collection inside an SKStoreProductViewController

One small downside to the SKStoreProductViewController: It’s no good for prompting the user for reviews. I wanted to have a “Leave a Review” button on the same page that launched a SKStoreProductViewController with Mixologist as the product. But it turns out that not only can you not initialize the view on the Reviews tab automatically; even if the user goes to that tab and taps the “Write a Review” button, nothing will happen.[4]

Still, I managed to get a link to the Leo Collection into the Mixologist pack. It’s unobtrusive, sitting way down at the bottom of the collection, so as to not get in anyone’s way.[5] But it’s there, if one of my customers is curious.

Now I just have to put a link to Mixologist Sticker Pack inside the Leo Collection.

If you have more than one sticker pack, I suggest giving this a try. It doesn’t take long to get the controller up and running, and the potential benefit is well worth it.

Update: Daniel Farrelly (@jellybeansoup) informs me that you can use openURL in an extension, as long as it’s on the extensionContext. I still prefer using the SKStoreProductViewController to keep my user inside my extension and not bounce them out to the App Store. But I may look into this as a way to make a Leave a Review button work.


  1. Don’t worry. I also added three new drinks. Port wine, the Kir Royale (as requested by Jean MacDonald) and the French 75.  ↩

  2. My guess is Apple doesn’t want people getting bounced out of Messages unexpectedly from an extension. There are probably also security concerns.  ↩

  3. I recommend doing what Iconfactory does, and forcing your extension to the expanded size when you load one of these views.  ↩

  4. The button is there. It looks active. But when you tap it, nothing happens. No error message. No indication that something is wrong. Just nothing. Poking around, it seems that Apple wants it this way, for some reason. The button used to work, but stopped a few major versions of iOS ago. Radars have been open on it for years. But all indications are that it was disabled intentionally by Apple. It’s a shame, really. It would be nice to make it just a bit more convenient for users to leave a review.  ↩

  5. Maybe it’s too well hidden, in fact. I figured it best to err on the side of subtlety, rather than hitting people over the head with it. Time will tell if I should do something to make the button stand out a bit better.  ↩

The Leo Collection

I was wrong about stickers.

Sitting in a hotel room, watching the WWDC keynote address with some friends this past June, Curtis Herbert commented that “Stickers will be huge” no matter how much developers make fun of the whole concept. I remember thinking, of course they would be. It didn’t even occur to me to make fun of the concept. There was no question stickers would be immensely popular. But there was no way I was going to use them.

I’m the guy who doesn’t even use emoji. What chance was there that I’d want to do the sticker thing?

Shortly after the announcement, I started drawing some guitars and basses in Illustrator. I’ve always enjoyed drawing musical instruments, and guitars in particular. They are beautiful objects, and they are relatively easy to draw, if you are comfortable with a bezier tool.

Olympic White J Bass. Part of the Leo Collection

Olympic White J Bass. Part of the Leo Collection

Once I got a few made, I thought, heck, why not do a whole set and release them as a sticker pack? I still wasn’t going to use them, but I’m sure other people would like to.

After all, stickers are one type of app where I have a serious advantage over most of my developer friends. While I may not be nearly as crafty with code, I can draw in Illustrator.

So I spent some spare time throughout the summer building out various guitar models.[1] It was a blast. I figured I could get a set done by late summer when iOS 10 would be released. I didn’t even bother opening Xcode, as I had watched the presentation on setting up a sticker pack, and I knew that part would be a one-day project, at most. Even if I chose to add some interaction elements.

And indeed it was. Creating an iMessage app could not be easier from a developer’s perspective. Of course, you need original artwork. So that’s where I spent the bulk of my time.

Sunburst paint jobs took some time to master

Sunburst paint jobs took some time to master

All the while, I kept thinking these stickers would be cool for others, but that I’d probably never use them myself.

Then a short while back I got a message from John Voorhees over at MacStories. He had been paying attention to my progress on the sticker pack and wanted to know if there were a beta available on TestFlight.[2] Beta? That hadn’t even occurred to me.

When a journalist asks to give your next product a test drive, you say YES. So I finished up the sticker images, watched the demo again from WWDC to review how custom interactions were done, (because I wanted to add the option to make the instruments left-handed) then built the iMessage extension in a few hours. I tossed a build up on TestFlight and invited some people to join.

The response was great. A lot of people seemed interested in trying out the stickers. Great. I fired up my phone and started playing around with the stickers myself. As I sent them to myself and to the people on my beta, something clicked. This was pretty cool. I could actually see myself using stickers in my iMessages.

Holy crap. I actually understand the appeal of something popular.

I can’t wait to see some of the other packs of stickers people have built. I have a feeling I will become a collector. And I want to make more stickers soon. I’ve done a set for Curtis’ Slopes app, and I hope to do a lot more for clients.

Image from the Slopes sticker pack

Image from the Slopes sticker pack

Contact me if you are interested in getting a set made. The fact that sticker packs send links to people when they don’t have your pack installed is bound to make stickers an incredible catalyst for word-of-mouth downloads.

Meanwhile, The Leo Collection is available to buy now. I encourage you to check it out.


  1. Though the drawings are all inspired by specific makes and models of real-world guitars, I’m very careful not to try to associate my drawings with the manufacturer of those instruments. These are simply a collection of drawings. Not an official pack, or an endorsement of any kind.  ↩

  2. ProTip: always be marketing. While I was drawing guitars, I’d occasionally share one or two via Twitter. Part of it was I was proud of my little drawings and wanted to show them to my musician friends. But part of it was about gauging interest in a potential new product. If I hadn’t been talking about this process publicly long before I even had a product to sell, I likely would not have gotten the attention of someone in the press.  ↩

Building a Showroom

At CocoaLove this past October, I demonstrated how Apple, faced with a terrible retail situation in the late nineties, took matters into its own hands by creating a chain of stores rather than resigning itself to the whims of CompUSA and the other existing brick-and-mortar outlets.

I challenged indie developers to consider this the next time they are tempted to complain that Apple is featuring nothing but free-to-play games from big companies and shoving most of our finely made indie apps into the back corner to be forgotten.

We have as little control over how our apps are presented on the App Store as Apple did with its products in 1997. Is there anything we can do about that? Absolutely.

“But,” I can hear so many saying, “I have no choice but to sell my apps on the App Store. iOS doesn’t allow alternative stores.”

Well, yes and no.

A good number of customers will discover and buy our apps on the App Store as they search for solutions to their problems. Depending on what types of apps you make, search could be the primary way that people find you, but it’s certainly not the only way possible.

Here’s the problem with App Store search: it sucks for us. It’s designed to promote what Apple wants to promote, not what developers want to sell. We can make tweaks to better our chances (and I highly recommend you do just that), but once that’s done, we’re mostly waiting for people to happen upon us. And we have very little data to track how people find us and what percentage of them are buying, at least as of this writing.[1] We also don’t know if or when Apple will change its search algorithms, which could render all our work in this area ineffective in an instant. Even if we’re found, we’re strictly limited in what Apple allows us to show, and everything about the presentation of our product is subject to their approval.

So how else can people find our apps? Well, there’s the Web, and on it we can create any sort of showroom we’d like. We can drive people to that web site in various more active ways.[2] More importantly, we can control exactly what people see when they get there; we at least have some idea how they got there, what they looked at while they were there, and where they went afterwards. Even if they don’t buy our product right away as a result of their visit, we stand a much greater chance of leaving a lasting impression on visitors when they arrive.

Let’s look at some of the differences between waiting for a customer to find you on the App Store vs. driving people to your web site more actively.

On the App Store

Your potential customer launches the App Store app and lands immediately on the Featured tab, with dozens of distractions from banners and icons of different apps, none of which are yours.[3] Already, they are tempted dozens of times over to buy something else before going any further.

The Featured Tab of the App Store on iPad

But this is an unfair comparison, because people could just as easily get distracted on the Web. So let’s say today they aren’t so easily distracted. They are perhaps searching for something similar to what your app does. And so they type a generic term on the search field and get a list of results.

In that list of results, if you’ve done your keywords just right, begged your current users for reviews at the cost of some goodwill, sold enough copies to be ranked well, and sacrificed a small animal or two, the best case scenario looks like this:

Search Results for “teleprompter”

More likely you’re ranked a little lower than the first app on that list. Maybe you’re far enough down that you have to start scrolling to see your app.

Now you’re really in trouble. You need to sell more apps to get to the top of the list, but you can’t get potential customers to look at you while you’re way down on the list. You can beg for ratings, you can adjust your keywords, you can tweak your icon and screenshots, and that will all probably help you move up. But if you don’t have sales under your belt, you’re going to have a very hard time climbing to the top five any time soon.

Regardless, there’s a whole lot of real estate in this view dedicated to your direct competitors, as opposed to your own app.

But you’re confident your app is so much better than all those other apps, right? Maybe, but how does this potential customer know that? What does he or she have to go on at this point? An icon? A star rating? One image? You can and should make efforts to be sure each one of those things is as impressive as possible, but the control ends there.

Will the customer bother to tap into the detail view of each app, compare the screenshots, read the full description, etc.? Some absolutely will, but you’re lucky if many bother with that for more than three of the apps listed. Will yours be one of them?

In any case, your potential customers in this scenario still spend more time looking at your competitors’ apps than at yours.

Those are some pretty tough odds against making the sale. Of course you’ll get some of your sales this way, maybe even a majority, depending again on what type of app it is. But is this the only way to get the job done?

On Your Web Site

Web site for Teleprompt+

Now that’s more like it. An entire page dedicated to nothing but my app.

Maybe the potential customer got here by searching Google for teleprompter apps. Maybe they got here from a blog post I wrote five years ago. Maybe they saw our app’s name in a forum post in a popular audio/visual site they happened to be reading. Maybe they heard the name on a podcast. Maybe they were on the web site of one of our numerous cross-promotion partners who make complementary hardware accessories. Maybe they responded to one of our direct marketing emails. Or, the best possible scenario, they got here because someone they trust, such as a colleague in a similar field, recommended ours as “the one to get.” There is an endless array of ways a customer may have gotten to this point. And some of those are ways over which I have pretty direct control.

They could have gotten to our dedicated App Store page in some of these ways, too, of course, but as of this writing, I have no way of knowing if they did or not. Web analytics aren’t perfect, but they are a lot better than what Apple has provided to date on the App Store.

On your web site, it’s all about your app. You can have links to as many other pages as you like, also talking about nothing but your app. There’s no limit to how much text you write (though I recommend being succinct, of course), how many images you show, how many videos you make, and so on. You can have a prominent support link, so your customers can see that you actually care about standing behind your app. A blog that talks about your app fairly often, along with other topics of interest. Links to partners who make complementary products. An email sign-up form, so you can know who your potential customers are and actually talk to them directly.

And finally, a big familiar button right on every page that takes them directly to your own personal App Store page. No list of competitors to scan. Straight to the BUY button they go.

And no one has to approve your web site, either. You can tweak it every day, and you can carefully analyze every aspect of it.

You can do so much more here than you can on the App Store, is my point. Take a look at the picture of the App Store search results and then the one of my home page again. Which one do you think I’d rather my customers see?

No, customers can’t buy the app on your web site without hitting that App Store link[4], but they are one tap away from that BUY button. And they will get there armed with the exact marketing message you intend.

The web site is your showroom. If you can get customers to enter here, you’re well on your way to making a sale. Do this page right, and you will make the sale more often than you think.

Not to mention, you’ll be simultaneously raising awareness of your existence on the Web in general, a place where lots of people spend a considerable amount of time. Raising awareness of your existence is the ultimate goal of all your marketing efforts. It’s also your biggest challenge as an indie developer with limited time and resources.

Why not concentrate some effort on making the best showroom that ever existed, rather than spending 100% of your time trying to slightly improve your place in Apple’s gerrymandered search results? Why spend all of your time on something over which you have little control when you have complete control over this space?

Look, I’m not saying that you shouldn’t do your due diligence with ASO, and that you shouldn’t care at all about getting people to rate your app. If you take a few hours doing some basic research, you can certainly make some improvements to your keywords that could boost your ranking considerably. But how many developers are throwing together what amounts to barely more than a skeleton web page, and then spending little to no time at all trying to drive people to it? I think there’s a lot to be gained by spending some time on this.

Driving traffic to your web site is not easy, but it can be done. Over the years, through several combined efforts, we’ve managed to get a steady flow of visitors to our Bombing Brain site. Hundreds of potential customers, seeking out our application, or at least interested in what it does. Daily.[5] And our sales have always done well, despite having a smallish number of ratings and never having been featured in any way by Apple on the App Store.

You know what happens when enough people come looking for your product web site? They read your brilliantly written marketing copy, they look at your dazzling images, and they watch your videos. They spend zero time looking at the apps of your competitors. And sometimes, they even tap on the link to go straight to the App Store to buy your app.

Oh, and while that’s happening, your search rankings on the App Store go up. Way up.

Because as important as ratings are to good search results, purchases are even more important. Get enough people to buy your app, and how many ratings you have for your current version becomes far less important. No one believes me when I tell them this, but we seldom have more than two or three ratings for the current version of Teleprompt+ 3, and often one or two of those ratings will be a 1-star from a disgruntled customer. That bothers us tremendously as people who take pride in our products, but it doesn’t seem to have an effect on sales much, as far as we can tell. And we’re consistently ranked in the first few search results for “teleprompter.”[6]

If you give your potential customers nothing to go on but a few screenshots and your ratings, of course your ratings are going to have a major impact on sales. If you spend some time actually pitching your app effectively to people, a portion of your customers won’t even look at your ratings.

There’s nothing stopping you from opening the digital equivalent of your own retail store that complements your presence on the App Store. Think of the App Store as a flea market, and your web site as a posh destination store.

You don’t have to leave your app rotting in the dark corners, hoping one day Apple might put it in a prime location. You can build your own showroom where your app is featured permanently, and then invite people to come take a look. Every sale you get here contributes to your bottom line as well as your search rankings.

How do you get people to show up? That’s a topic for another day.


  1. We have been promised analytics on the App Store, eventually. But surprisingly, we haven’t heard a peep about a delivery date on that feature since WWDC in June. There are lots of companies out there scraping iTunes and making educated guesses, but this data can only go so far.  ↩

  2. Don’t believe me? You’re reading this, aren’t you?  ↩

  3. Unless you’ve been featured. But you know better than to hope for that, right? Getting featured is something that happens or doesn’t. You can’t rely on it to be your sole strategy, because it’s out of your hands. And it’s temporary, as well.  ↩

  4. Actually, that’s only true if you are selling the app for an up-front price. Your customers can pay you right on your web site, cutting out Apple’s 30% commission, if you aren’t selling the app directly, but rather charging a subscription price for a service. You have to offer that subscription in the app as well, but there’s nothing stopping you from signing up customers right here. I think if your app is subscription-based, you’d be crazy to drive people who are on the Web already over to the App Store just to pay you.  ↩

  5. When your app sells for $24.99, converting just a percentage of a couple hundred people a day is more than enough to do better than average, even before you factor in the additional people who find you directly on the App Store. Obviously, if you’re selling 99-cent apps, this is going to be a bit harder. But every sale counts. Every customer who finds you in a new way is a win.  ↩

  6. And keep in mind, we relaunched a brand new version of our app this past April, Tweetie 2 style, sacrificing our historical sales and ratings. So it’s not our almost five years on the Store helping us get that high rank in search results. It’s the fact that we sell more teleprompter apps than anyone else, very consistently.  ↩

Relying on Search

Most people don’t walk into a store and perform a search for colas.[1] They walk in looking for a Coke. They find the Coke and buy it.

If people are searching the App Store for Teleprompter apps, I’ve failed at marketing my app effectively. What I want is for people to go to the App Store looking for Teleprompt+. Or better yet, I want them on my web site, hitting the direct link to the App Store Page.

That’s how I know my marketing is working.

If the majority of your sales come from people generally searching for your type of app, you’re handing your fate over to App Store search, over which you have almost no control. Not somewhere I’d want to be, ideally.


  1. Or a Pepsi. Insert your favorite brand here.  ↩

Regarding the Latest App Store Rejections

We’ve been through cycles of App Store Rejections before. We’ve seen all sorts of strange decisions that we couldn’t comprehend. Sometimes they get overturned, sometimes they don’t. That’s life when you do business with Apple.

This time it’s different, though. This time, there’s clearly a conflict within Apple going on. I simply can’t believe that Craig Federighi’s team built all those wonderful new APIs into iOS 8 and didn’t intend for us to do anything interesting with them.

In Steve Jobs’ Apple, conflict in the senior staff was welcomed, even deemed necessary. In Tim Cook’s Apple, conflict is dealt with a little differently.

I expect one of two things to happen in the coming months. Either the crazy rejections settle down or stop, or a high profile executive goes on gardening leave.