Sign Up to get RubyMotion Weekly sent direct to your inbox every week.
Issue 1620 March 2019
by Lori Olson
If you follow any of my personal social media accounts (@wndxlori just about everywhere), you will probably already know that last summer we got a new puppy, a Miniature Schnauzer that we called Scooter. Scooter is an absolutely adorable little dog. But, like all schnauzers, that coat of his just keeps growing, so he needs to have a regular haircut at the dog groomers.
We take our dogs (yup, we also have a little rescue mutt called K.C.) to Bubbles Dog Grooming, a groomer who is quite close to where we live. When we moved to Lethbridge five years ago, we tried out a few different groomers. The other groomers arguably did a “better” job of the schnauzer cut, and were comparably priced, but in the end we stuck with Bubbles Dog Grooming. Not because they are cheap. Not because they do the best cut. But because my dogs actually like to go there. When we walk them up to the door of the shop, they are straining at the leash, and excited to go in. At a second visit to one the other groomers, our previous little schnauzer Cinder, who died a couple of years ago, freaked out and fought about going in to the groomer’s house. That is not a good sign. Sure, her cuts were picture-perfect, but that’s not worth scaring my dog.
This is something that I like to remind developers of, every once in a while. You don’t have to be the cheapest. You don’t have to make the prettiest pixel-perfect stuff. But if your apps treat people well…if people like or love your apps, then they will come back, over and over. — wndxlori
#FITS: Featured in the School
As we mentioned last week, the next session of 6 Pack Apps is just around the corner: April 9th, to be precise. That sounds like a long way away, we know, but for anybody who has faced a drop dead date three weeks hence can confirm, that time will go by in a heartbeat. In the interim, here’s the next of the most commonly asked questions from last fall’s session.
“I always wanted to build an app but haven’t all the good ideas already been taken?”
Hardly! Sometimes the fact that an app already exists is a good thing, proving there’s already an audience. Not all apps serve all audiences equally. And sometimes all you need is a little coaching and you’ll find have more ideas for apps than you have time to build them. @wndxlori will be illustrating a technique, which with a little effort on your part, can generate endless compelling app ideas.
Sound interesting but not quite yet ready to commit to the full course? Consider attending the free, one hour webinar coming up on April 2nd at 11.00 am MDT. It introduces the 6 Pack Apps curriculum and philosophy. Spots are limited so reserve yours today and avoid a lifetime wondering about the path not taken.
#MSH: Motioneers Slack Highlights
This isn’t just a single highlight. It’s a whole channel on the Motioneers Slack team: #gamedev. Amir is at GDC 19 and will be posting updates on the undoubtedly amazing things he is going to be learning there. For those of you not familiar with it, GDC is “is the world’s largest professional game industry event [which] brings together 28,000 attendees to exchange ideas and shape the future of the industry” Now you know.
Without Amir doing his usual yeoman service helping us all out it’s a great time to point out that there are lots of new people on the Motioneers Slack with more arriving every day. As you might expect this understandably leads to some fairly basic questions being (re-)asked and those running into the same common problems we faced back in the day.
To that we say, with apologies to JFK, “ask not what the Motioneers Slack can do for you, but what you can do for the Motioneers Slack.” If you can help out and answer some of these easier questions, please do! It will allow Amir and the crew get on with the important work of DragonRuby from which we will all benefit.
#GOTW: Gem of the Week
We have a gem of a gem this week. Nobody has ever said that before, right? Seriously, like all really useful gems this week’s #GOTW takes functionality that we all intend to eventually build into our apps but never quite get around to implementing because of its PITA-factor.
So how about a RubyMotion-specific iOS gem to schedule messaging to your users at specified intervals. Wouldn’t that be nice? Dream no more. motion-takeoff by Mark Rickert. motion-takeoff is built to “display messages at certain launch counts and schedule local notifications.”
This is a great way to keep in touch with your users and build the highly prized and yet eternally elusive app engagement.
First, it will come as no great shock that Amir is working on another game and we think it has a really interesting UI which he demos with a GIF. Not all the commenters love it but it’s worth a look to see what you think. Beehive meets cyber whack-a-mole. Yeah, something like that. You really need to see and judge for yourself but we think it looks really cool.
Next is our version of a PSA and comes to us via Parker Bond: 64 bit only Android is coming, and the upcoming RubyMotion version (6.0) will be 64 bit only for Android. So now is a great time to start thinking of updating your Android apps if they are out in the wild where they should be.
Finally, we have a question: some say the current schedule of monthly meetups - that is, second Wednesday of the month at 7 pm Pacific - is not convenient. That said, no one has proposed a specific alternative. So how about this: please join the meetup channel and let us know what days / times are good for you and perhaps we can find a time which works a bit better for everybody?
#AHOTW: App Highlight of the Week
Just when you thought every app was “Uber for [whatever]” along comes something from a domain we don’t think gets anywhere near enough attention: education and kids’ apps. To address that gap, how about Mega Field Trips by Elliott Draper. He describes it as “an educational accompaniment to field trips and visits to exciting and entertaining establishments.”
Think about it: your kid asks you when the Pleistocene age was when you’re visiting the dinosaur museum. “It’s all there in the app, Jimmy!” is so much better than “uh, geez, I dunno…”
More to the point Mega Field Trips is an engine which can be re-themed and re-used by different venues to create experiences for kids on field trips. It resonated with us given that in our Rails for Real Developers course is based around a mythical ‘Field Trips’ application that students create using some open source data.
#TWIL: This Week I Learned
First from Robin Kunde of Recoursive: a great tip to ensure universal links from your app open properly - in the app as expected - instead of in the embedded browser. Just a few lines of cut-n-paste code will cure what ails ya in this regard.
Next, we have this recurring nightmare where “time to wake up” appears in a modal dialog box that we can never close. It’s quite chilling in a Stephen King novel kinda way. In any event, in real life, Linzi Berry provides some thoughts on designing accessible escape for modals. Thank you, Linzi, we’ll sleep more soundly knowing there’s a better way.
Finally, an really interesting investigation into Ruby memory bloat from Hongli Lai. Yes, that Hongli Lai of Phusian Passenger fame so the source is impeccable. Well worth your time and attention to read this detailed breakdown.
That’s a Wrap
That’s it for another week. Do you want to be absolutely sure you never miss a future issue of #RMW? Better subscribe! Also, follow us on Twitter, Facebook or LinkedIn for other #RMW-worthy content between now and then. Have an interesting gem, app, or article to share? Hit reply and let us know!
‘Til next week…may all your cenes be Pleisto.
RubyMotion Weekly brought to you by