Week 88 Newsletter

iOS News

Code

Improving experience through Swift Dispatch

One can execute code concurrently on multi-core hardware by submitting work to dispatch queues managed by the system, on the iOS platform. Erica in her article describes few interesting ways to improve the experience while working with Swift Dispatch.

Undo/Redo Techniques for Objective C

Benjamin in his article describes few simple, yet very useful tips for undo/redo techniques while implementing codes on Objective-C. In his post, he demonstrates a simpler alternative that is better suitable for idiomatic Swift code other than the usual use NSUndoManager API.

Expressing improvised by use of Literals in Swift Style

Zach exposes the language features of Swift Standard Library we usually disregard in form of protocols. He, in particular, describes about the “ExpressibleBy___” family of protocols. Since 2012, it’s been possible to initialize an NSDictionary, NSArray, NSNumber or NSString with a ‘literal’ expression. The advantages provided by use of such literals is a human readable representation of data-structure which enhances readability & ease of initialization.

Document Menu View Controller not Showing Locations

Oliver Drobnik from Cocoanetics, in this piece renders a simple solution to the trouble he faced opening PDFs in his Apple device. He describes the issue he faced (and is at times, faced by us too) regarding importing his files on his PDF viewer which occurred due to variation in UTI registry, which he later rectified himself.

Design

Adding app extensions for your iOS apps now simplified

Andrew, through his example of Buffer App, describes the tedious task of implementing the design for an iOS app to add the app extension within UIActivityViewController for the iOS devices. Through various examples of apps, like Tweetbot etc. he elaborates, how easy the task can be for the user without going through long installation guides.

Implementing transition background gradient for iOS Apps

Flat colors have always been a classic choice when it comes to designing backgrounds for iOS apps. But with Instagram's login screen coming up with these transition background gradients, we look forward to gradients being the next big thing in iOS design. Pastel's popularity further proves this by making it easy to implement such animations & creating a lively experience for the user, on the first page he/she sees on the app alike that done in Instagram.

Android News

Code

Coding interactive designs in Android using RecyclerView

By introduction of RecyclerView in this world of android, we get access to creating beautiful lists & grids in case when UI is not that simple. Although, in cases when a simpler UI is not actually the case, we are unsatisfied with the actual output not matching the proposed output. With multiple UI elements flooding in and animations adding up the coding takes a different turn. Taking an example of a Gmail styled inbox, Ravi explains how to create an interactive design with animations using RecyclerView.

Upgrading projects to Android plugin 3.0.0-alpha1 & adapting to changes

The developers at the Android Studio hereby, provide a step-by-step guide to migrate your project to Android plugin 3.0.0-alpha1 or higher. Read the article to gain a suitable insight on how to apply the plugin and specific version of Gradle, and adapt the designed project to some breaking changes. This plugin includes a new dependency mechanism that automatically matches variants when consuming a library. This article gives a detailed description of all dependencies involved as well as configuration changes, combining altogether to provide faster configuration times.

Basics of ViewPager animation library in designing

Mark, in his blog, describes the basics of the new lightweight, yet extremely powerful ViewPager animation library, ViewPagerAnimator. ViewPagerAnimator is designed to animate arbitrary values as the user navigates between pages within a ViewPager, and will precisely follow the motion of the finger. There are some very nice subtleties in terms of the API design introduced here, although nothing major is seen in terms of techniques used.

ConstraintLayout - Introducing a new improved Android Layout Type

Mark and his team, describe the great functionality of ConstraintLayout with an intention to provide a dedicated resource to collect information about it for the entire Android Developers Community. ConstraintLayout.com is a community-sourced documentation hub developed by this team to present all about ConstraintLayout. As the brains behind this functionality work, new features will keep on adding & so, having living documentation will be a great way to spread the word on those features as and when they arrive.

Design

Law of Demeter- Explaining the Software Design Principle

Law of Demeter is a guideline to help reduce coupling between components.For a good software design, it is very important to have “loosely coupled” classes i.e. less inter dependency exists between software modules. The more coupling makes it harder to modify and maintain the application over a period of time. Such a design is now leading to a much clean, readable and more maintainable code & thereby, enhances the test ability of the code.

Google Android emojis - creating a new design system

Back from the good old days of Android Kitkat, the developers at Google have worked on their emojis and created a collection of almost 2000 characters. With improvement in screen designs & messaging features, Google finally announced a big-time-transition to their designs. The most remarkable changes came up, with the designers using a formalised design strategy this time. Also this time, the emojis were created by more than one illustrator with the uniqueness & consistency maintained. Read ahead under this official Google Design blog to know more.