SPONSORED LINK
Merge Conflict: Your weekly mobile development podcast
Join Frank Krueger, Xamarin MVP, and James Montemagno, Principal Program Manager for Xamarin, each week as they discuss all things in technology and mobile development. Subscribe today on iTunes, Google Play, Stitcher, Pocket Cast, or by RSS to never miss a episode covering all aspects of mobile development including design, backends, user interface, Xamarin.Forms, libraries, and so much more.
NEWS
Cycle 7 SR1 is now available from the beta channel
These builds introduce compatibility with .NETStandard and allows developers to consume NuGet packages that target .NET Standard 1.6.
The UTC time represented when the offset is applied must be between year 0 and 10,000
NuGet package restores on Mono/Xamarin (stable) will sometimes fail to restore to due to a Mono defect which has been fixed in the beta channel/mono master but not yet in stable. The workaround is to switch your local time zone to be UTC+0 or a negative offset.
CODE
My condolences, you’re now the maintainer of a popular open source project
When thinking about becoming a maintainer, you might be too embarrassed by your code to publish it online. Here’s a little secret: everyone is embarrassed by their code. Being embarrassed by your code is not an excuse not to publish your project and become a maintainer.
Microsoft REST API Guidelines
Here's a summary of a few key points from the guidelines:
- URLs should be readable and constructible by humans to facilitate the adoption of such APIs without the need of a client library.
- The following HTTP verbs are supported: GET, PUT, DELETE, POST, HEAD, PATCH, OPTIONS. Not all resources should support all verbs.
- GET, PUT, DELETE and HEAD should be idempotent.
- Custom headers must not be required.
- Clients should not be required to transmit personally identifiable information parameters in the URL because they might be exposed through log files. The parameters should be passed through headers.
- Data should be provided in popular formats.
- The default data encoding is JSON.
- "Primitive values MUST be serialized to JSON following the rules of RFC4627.
- Developers using the APIs should be able to use the language and platform of preference.
- Services should be accessible even from simple HTTP tools such as curl.
- APIs should support explicit versioning.
- Services should be stable without introducing breaking changes if possible, but they should be allowed to do so if necessary, incrementing the version number to signal that.
- Versioning should be done using a Major.Minor scheme.
- Services may implement push notifications via web hooks (HTTP Callbacks).
DESIGN
The right ways to ask users for permissions
The first interaction with the app plays a key role in creating overall impression (either good or bad). And when users open a new app the last thing they want to see is multiple popups in a row asking for permissions.
Conversational Interfaces: Where are we today? Where are we heading?
Computers and human beings don’t speak the same language. So, to make interaction possible, we rely on graphical user interfaces (GUIs). But GUIs come with a natural barrier: People have to learn to use them. They have to learn that a hamburger button hides a menu, that a button triggers an action. But with technology evolving and language recognition and processing improving, we are on a path that could make interaction with digital services more intuitive, more accessible and more efficient - through conversational interfaces.
BUSINESS & MARKETING
Striking the balance between user experience & monetisation
You want to make money, without annoying users with ads or other paid features. Engaged audiences are built on strong content and positive user experiences, so it’s important not to disrupt this with your monetisation strategy.
ANDROID
Eight ways your Android application can leak memory
There are ways that memory can be leaked logically within Java. Ultimately, this means that your apps are still susceptible to wasting unnecessary memory and crashing as a result of out-of-memory (OOM) errors.
IOS
Building iOS Apps with Xamarin and Visual Studio
Ray Wenderlich is a community that is focused on high-quality programming tutorials. What's unusual here is that Ray's content typically focuses on Java, Objective-C/Swift - this is the first of hopefully much more to come on doing development in Xamarin/.NET. Xamarin is starting to cross the chasm & gain the attention outside of the .NET community!
MVVMLIGHT
ObservableRecylerAdapter & Xamarin.Android RecylerView
MVVMLight v5.3 included an ObservableRecylerAdapter class for Xamarin.Android. This post by Richard Woollcott presents how to use this class in conjunction with the Android RecyclerView.
.NET

Visualising the .NET Garbage Collector
Join Matt Warren on his ongoing adventures in learning how a real-life Garbage Collector (GC) works .
WHO'S HIRING/LOOKING
R&D on .NET Core, Mono, & IL2CPP
We are looking for a determined software developer in Pittsburgh to help deliver a world class scripting experience for Unity users. You will be part of a focused team delivering high quality, critical components to power scripting within Unity across all platforms. Hard problems and in-depth debugging sessions will be daily occurrences as part of delivering stable, portable, and performant technology for our users to build upon.