Author Archives: admin

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.  ↩

On Making Quality Sticker Screenshots

The bar for iMessage sticker pack screenshots is really low right now. Take a look at some of the sticker packs on the App Store, and you’ll soon see what I mean. Many sticker packs have one or two screenshots max; many are obviously hastily snapped from within iMessage without much thought to presentation. It’s a huge missed opportunity. I can’t tell you how many sticker packs I’ve passed over because of poor quality screenshots.

I know making screenshots of iMessage is a huge pain. The amount of Photoshop work I had to do to make my screenshots for the Leo Collection would surprise most people. And I don’t even think they turned out as nice as I’d like. But it was worth it to at least present my stickers somewhat effectively.

For my new Mixologist Sticker Pack, I’ve rethought my approach to screenshots, treating them more like I do my regular app screenshots. I hope they convey the quality of the pack even better.

You have one chance to sell your stickers to a prospective buyer. Those five images are pretty much all you get. No one is reading your description text for stickers. Believe me.

I thought developers had learned this lesson years ago, but perhaps the influx of designers being able to create their own packs without code has resulted in many newcomers who don’t yet understand how important screenshots are. Or perhaps more likely, people are only experimenting with stickers and are not really sure if they are worth the effort.

I can assure you, crafting a nice set of stickers, then presenting it in such a slapdash manner won’t get you good data on whether the pack was worth it.

Here are some tips for creating effective sticker screenshots. If you want me to buy your stickers, anyway. [1]

  • Have five of them. Seriously. You get five. Don’t use two.
  • Show me as many of the individual stickers as you can, so I can see the variety and quantity available. If you have so few stickers that you can’t present them in an interesting way over five shots, you probably don’t have enough stickers in your pack. And that’s something I should know before purchasing.
  • Show the full-screen view of stickers. Rows and rows of stickers. If it takes up two or three shots to get a good sampling of your stickers, do it. The shots of stickers being used in conversations are important, but not as important as being able to see what I’m buying.
  • Feel free to add text, color, etc. to convince me why I would want your pack. This is a sales pitch. The same rules apply here that apply to app screenshots. The goal is not to present reality; it’s to sell an aspiration. Think about how McDonald’s presents its products in photos. You are trying to convey visually how good your customers will feel when they send and receive these stickers.
  • Put some time and effort into your screenshots. Design them. You needed a designer to get the artwork for the stickers. Make that same designer spend a day or two designing the best way to package them.

Hopefully as the iMessage App Store grows, we’ll see the quality bar for sticker screenshots move up to the high standard we see in well crafted apps on the main App Store. In the meantime, you have an opportunity to impress with your sticker screenshots while the rest of the store is presenting mostly crap.

If you have any questions regarding sticker packs or screenshots, or you need someone to help you design a set for you, get in touch.

  1. And you probably want to target me for your stickers. I buy a lot of stickers.  ↩

The Mixologist Sticker Pack

Mixology has been an interest of mine for many years. Not in the “let’s party all night until we fall over” way, but rather in an "appreciation for the finely crafted beverage after dinner” sort of way. I enjoy reading up on techniques, finding new recipes, and researching the histories of various cocktails throughout the ages.

The Last Word

The Last Word

Crafting fine cocktails and software design actually go hand in hand. They both involve a bit of art and science, and they both require an appreciation for getting things just right. Attention to detail is paramount. It’s no surprise so many in our profession enjoy amateur bartending at home.

For my next sticker pack, I wanted to celebrate my appreciation for mixology with a set of finely made cocktail drawings. From the various glassware shapes, to the joy of drawing lemon twists, this set of stickers was pure fun from start to finish for me.

Vesper Martini

Vesper Martini

I’ve represented several classic cocktails, like the Old Fashioned, the Manhattan, and of course the Gin Martini. (I’ve even done a Vesper Martini variant, as a nod to the Daniel Craig fans.) I’ve also added some of my other favorites, like the Sidecar, the Tipperary, and The Last Word. I hope to add more in the future.

There’s beer of course, if cocktails aren’t your thing. Pilsner, IPA, Stout, Belgian Ale, Hefeweizen, and a nice Irish Red. And if wine is more your thing, we have that as well.



Finally, I round out the set with some accessories familiar to anyone who has started a home cocktail operation.

If you like crafting cocktails, or you just want to send a quick invitation to go out with friends for a few drinks, this set will suit you well.

I hope you enjoy the stickers, and I welcome your feedback. Have a favorite cocktail you’d like to see included? Drop me a line.

You can learn more about all the sticker projects I’ve worked on here.

The Mixologist Sticker Pack is available now on the App Store.

The Man Who Passes the Sentence…

Indies love to fall on their sword and die with dignity. I love Ned Stark[1] as much as the next guy, but in the end Varys is right: Ned died because he sucked at playing the game. Worse, he had an opportunity to help the realm, but instead his pride got in the way, and Westeros ended up with Joffrey.

The latest controversy in the indie community is over Apple’s new App Store ad system. Is it or is it not ethical to bid on keywords that are your competitor’s app name?

Why is this a question? Of course it’s ethical.

I have a timer app called Fin. If some other timer app developer bids on fin as a keyword, they may show up ahead of me in an ad placed just above mine when a user searches for “fin.”[2]

The Ned Stark argument goes that since the customer was searching for my app by name, I deserve that sale. I did whatever work I did to get my name out there enough for someone to search for me, so that customer is mine by right.

Sorry. Doesn’t work that way.

The ad placed above me is a competing app. One of three things will happen when potential customers see it:

  • They will ignore the ad, as many people have been trained to do.
  • They will look at the ad, investigate the other app, then find that they want my app after all, because that’s the one they heard was best.
  • They will look at the competing app, decide it’s better, and buy it instead of mine.

In two out of three of these cases, I get the sale I was going to get, anyway. In the third case, I lost the sale because my app doesn’t suit the customer as well as my competitor’s does. In the end, you know who wins? The customer.

Aren’t we supposed to be all about what’s best for the customer?

Now, if Apple’s ads allowed us to spread lies about our competitor’s apps, that would be a different story. If I named my app something confusingly similar to my competition in order to fool someone into thinking they were buying the other product, that’s completely unethical. But these ads are simply giving customers more information. Customers deserve to make the most informed decision possible. They deserve to know your app exists, and that it might actually be better for them.

If I were opening a hamburger restaurant in my town, you’d better believe I’d be placing billboards in the vicinity of every McDonald’s, letting those potential customers know there are better burgers a few blocks away. If not, I’m passing on a prime opportunity to reach my target audience.

If you know where your audience is gathering, and you aren’t willing to meet them there to pitch your product, you don’t belong in business.

Stop playing the game with one hand tied behind your back. Stop thinking that you can somehow make the world a better place by playing by different rules than your competitors. You aren’t making the world better. You’re leaving us in the hands of Joffrey.

  1. Full credit goes to Jared Sinclair for this perfect comparison, via Twitter.  ↩

  2. Never mind that an actual search for “fin” gets you a thousand games before my app comes up. Consider this a hypothetical example where Apple’s search actually works, okay?  ↩

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.  ↩