Sponsored Link
Stop testing on Emulators and Simulators - Access Real Devices
Kobiton is a mobile device cloud that lets you test mobile, Web and hybrid apps on real iOS devices. Test your way with manual and automation testing. Automatically generated activity logs help you track your progress. Supports Appium 1.6.4. Sign up for a no commitment, free trial to start testing.
News
How is ARCore better than ARKit?
More details on ARCore are now available after last week's announcement by Google. I linked to a story a couple of weeks ago by Matt Miesnieks on why ARKit is better than the alternatives, which he has now followed up on now that ARCore is available. It's worth a read if you're interested in mobile AR tech.
Tools
Using SpriteKit to create custom watchOS loading animations
In the first two versions of watchOS, animations were limited to cycling through images like a flip book. Then, watchOS 3 added SpriteKit and SceneKit support allowing more complex, dynamic animations. Cory Bohon demonstrates how SpriteKit and the scene editor can be used to easily add a loading indicator to your watch app.
XCAssetPacker
Talking of old school flip book watchOS animations, if you're still adding hundreds of files to asset catalogs manually then this tool by Harry Jordan is going to save you a lot of time. It'll take a folder of images and automatically bring them into an asset catalog for you. πͺ
Code
Writing Imperfect Code
Just before reading this post, my professor tore apart my code for repeated logic and not following other coding conventions. Although his critiques were well-founded, I really appreciated reading this post by Harlan Kellaway about situations where it is better to go against "best practices". Many rules are meant to be broken βΒ under the right circumstances. π¨βπ
TvOSPinKeyboard
So many tvOS apps require pin authentication, but there is no standard view controller for developers to just plug in. This custom class can easily be integrated into your app and accomplish everything you need, without reinventing the wheel. π
Handling empty optional strings in Swift
I've run into this problem myself multiple times β there is an optional string that can be empty when non-nil (such as in UITextFields). Nathan Chan's answer to this problem is to extend String with a computed property that treats an empty string as nil, which is much more elegant than doing so manually every time.
Using the factory pattern to avoid shared state π
Unless you have a formal computer science education, you may be hard-pressed to think of the factory design pattern, or how it would apply to real-life situations. In this post, John Sundell goes through an example of decoupling a network request from the state of the network request using this method, which helps to avoid problems down the road.
Design
Flat UI Elements Attract Less Attention and Cause Uncertainty
Studies like this always fascinate me because they aren't based on the opinions of designers but on cold hard facts. According to the results of this study, flat interfaces tend to make navigating and doing tasks on websites more difficult than their counterparts with 3D button elements. Many of the changes in iOS 11 seem to address this problem, which is great to see.
The Most Overlooked Growth Hack: Designing for Emotions
Once all the major features are implemented and (most of) the bugs are worked out, many developers are happy to release their app to the world. But what if just a few surface-level changes could contribute to more users coming back more often? π€ Lisa Zeitlhuber discusses how businesses like Slack and MailChimp successfully connect with users on an emotional level.
Business and Marketing
What's the difference between apps we cherish vs. regret?
What an amazing set of results from this experiment! Users were asked whether they cherished or regretted their time in apps as they left them and the overwhelming trend was towards regret the longer a user spent in an app! Maybe we shouldn't be trying to keep people using our apps for as long as possible after all. I know I'd rather have a happy user for 1 minute than a regretful one for 10.
Comment
First ever beta 10! Apple seems to be taking a slightly different approach this year with more updates and faster turnaround. I thought for a few minutes we might be getting a beta 11 as the developer portal was down for part of this week, but it turns out that it was just a glitch which is now resolved.
I'd really be quite shocked if we do see another beta before the GM β but at this point, anything is possible!
Evan Dekhayser