Issue 53

5 February 2020

by Lori M Olson

DRD053: We have all the elements of a semi-decent movie: rejection, a benevolent villain we just can't help but love, something for the kids, a teachable moment and a joke you may not get. All that, and a mime.

OPED — Our Unvarnished Opinion

Another week, another app rejection story. There are so many apps that are getting rejected from the App Store because of issues around in-app-purchases (IAP). In this particular case, the developer, Matt Auerbach, doesn’t feel that the app needs IAP. He has a service for DJ’s, in this case, to purchase through a web application and the DJs are running their side from a web application on their desktop. The app is a value-add where people can download it and it’s branded by the DJ and people can make song requests using this app. But Apple seems to feel they should use IAP, instead, and they rejected the app. Through multiple levels of appeals. Even though similar apps (Slack anyone?) don’t have these issues. This app just flew through the Google Play Store review process and it is in fact live there now, but not in the Apple App Store.

I have recently had multiple conversations with multiple clients as well as people the local tech incubator sends to me for help. And a lot of the conversations revolve around this idea of “Should I have an app? Shouldn’t I have an app? Is there any danger that our app will get rejected?” And I have to say there is extreme danger that your app will get rejected if there is any money changing hands and that money doesn’t go through Apple’s payment process so that Apple can take their own special cut.

So my advice to you is…if you’re planning to have an app in the App Store and it’s going to involve monetary exchange, suck it up and accept the fact that Apple is going to get their 30% cut and just live with it. Because fighting this process seems to be causing more grief and app rejections than just letting them take their cut.

‘Til next time… — WNDXLori

Lori is currently working on a course for the school that will be available before our next newsletter. Programming Fundamentals with Ruby will be the absolute beginners’ guide to Ruby. This is a course that has been near and dear to Lori’s heart since she first started WNDX School. With the assistance of the Women Entrepreneurs in STEM program, through Tecconnect, we are finally able to complete this full course, and offer it through WNDX School.

The goal of this course is to introduce the basics of coding using Ruby, so that learners will develop the skills and understanding of programming necessary to progress to actual application development (whether it be web, game or mobile application development).

If you know someone who is itching to get coding, but doesn’t know how, tell them to watch this space for when enrolment opens in the 3rd week of February!

COMM — Community

It’s important to remember that even though the App Store depends on third party content for its success, the brand Apple is most concerned about, above all others, is their own.

It’s hard to imagine a bigger hit to that solid gold reputation than if something crept into the Kids section of the App Store that really shouldn’t be there—for whatever reason. So it should come as no surprise that Apple justifiably continues to tighten the screws with the App Store Review Guidelines, and in particular the kid-related sections 1.3 and 5.1.4. As Apple puts it in their benevolently malevolent way “existing apps in the Kids category on the App Store must be in full compliance with the updated guideline…by March 3, 2020.” Or risk having your app getting tossed out, no doubt.

Speaking of hits to their reputation, Apple took a big one with their App Store outage on January 24th. For something like five hours, verifyReceipt was MIA. Based on independent estimates, it caused something like half a million failed purchases. Ouch. With a capital F. About the only thing that’s going to make anybody feel even the slightest bit better about that is a decent explanation of what happened. RevenueCat’s Jacob Eiting provides a really thorough post mortem from their perspective.

AHTW — App Highlight This Week

We like simple. Super simple. So here’s a super simple little app. But don’t be fooled, it is really useful and like a lot of well thought out and well engineered apps it might just shape your behaviour for the better. Check out 3things: Goals for Today by Sean McMains.

Which begs the question: what’s holding you back from getting your little app in the App Store just like Sean?

DRGTK — DragonRuby Game Toolkit

Our good friend Amir channels his inner Marcel Marceau with this vivid demo of the speed of DragonRuby. Talk about letting the result speak for itself. Spoiler alert: Dragon Ruby kicks Unity 2D’s ass and takes its name.

If you’re like us you kind of freak out a little when you see 2D gaming characters of yore rendered in Pixar-quality animation. Despite that, you’ll still enjoy this fascinating look at turning a 2D game into 3D. It’s not quite Pixar, but you’ll get the idea.

DRSH — Dragon Riders’ Slack Highlights

Here’s one of our regular plugs for the Dragon Riders Slack which if you haven’t already joined, you really ought to make the first of the 3things you do today. Here are some recent nuggets:

Michael Portz ran into a little gotcha when attempting to test a gem he was patching on a physical device. And, BTW, thanks for the PR, Michael!

Also, it’s 2020. You would think by now we would have taken care of all the little petty annoyances. Nope. Encoding is still a bitch.

ANDROID — Nothin’ but…

Speaking of little things (which can make a big difference), how about a nice clean lightweight photo picker for your Android app? Here’s one from Chili Labs out of truly beautiful Riga, Latvia.

And while this picture could easily have qualified for our HAHA section, we include it here to bulk up our ANDROID section as we promised to do at the beginning of the year. Here’s an Android traffic jam.

GOTW — Gem of the Week

We have temporarily renamed GOTW to Gist-of-the-Week in honour of this handy dandy list of all of Amir’s code sample snippets. This is a gold mine of info, frequently pulled right out of Amir’s applications. It’s the next best thing to being able to listen to Amir’s inner monologue while he’s banging out his latest 2D hit. You OK with that, Amir? Us listening to your inner monologue, that is.

TWIL — This Week I Learned

It’s a TWIL twofer: first up (with apologies to Neil Armstrong) it’s one small change for xcode, one giant leap for productivity. Xcode allows snapshots of application state. Thanks for that, Mohsen.

Also, from Dave DeLong, you really want to use Y (and not YYYY) for date formats. Seriously, Dave, we never knew that and thank you.

HAHA — And They All Laughed…

A reminder why http libs exist—to save you from problems like this (via A meme page to check while Xcode is indexing files).

(NB. Not a fan of Two and a Half Men? You won’t get it.)

That’s a Wrap!

Never want to miss even a single issue of The world’s best DragonRuby newsletter? Then you had better subscribe–every other week DRD will come to you absolutely free! We’re also on Twitter and we really hope you’ll follow us there for content you can’t get anywhere else.

Remember if your material is weak that’s an even better reason to belt it out to the back row.

RubyMotion Weekly brought to you by