Mobile DevOps – Hypothesis Driven Development and Visual Studio Mobile Center

I love a good feedback loop…

Gene Kim talks about the importance of both internal and external feedback loops in his blog post, The Three Ways: The Principles Underpinning DevOps. This includes internal feedback loops such as the result of continuous integration builds, unit testing and application performance monitoring tools like Application Insights. It also incorporates feedback loops from end-users to leverage telemetry and error information to increase the quality of the delivery. This telemetry is the foundation required to prove the outcome of experiments and hypothesis driven development.

In a recent presentation at Xamarin Dev Days 2017 in Melbourne I demonstrated the ease in which teams could adopt DevOps in their mobile application development lifecycles. To do this I embraced our new platform, Visual Studio Mobile Center and showed how teams could leverage it’s API to implement the feedback loops required for hypothesis driven development.

Continue reading

Visual Studio Mobile Center – Showing build status on your VSTS dashboard.

Feedback loops are a critical component of any DevOps transformation. A highly automated build and release cycle is so important but when unexpected circumstances occur the team needs visibility in order to react accordingly.

I love how Visual Studio Team Services provides really powerful dashboards perform this exact role. Below is an example of some of the widgets that VSTS supports out of the box to provide an indication of build and release status. Hosted in a public area, the team can rapidly see what build is in what environment and whether anything has gone wrong.

big_build_status

With Visual Studio Mobile Center the story is a little different.  Even if the source code to your Xamarin project is in VSTS, Mobile Center is still performing the build in its magic little black box. This is great because Microsoft maintain the build servers and there’s no need to configure complicated build definitions. The challenge is however, without watching for status emails or going to the Mobile Center portal it’s difficult to see the outcome of a build.

In addition, if the application has additional resources (such as a web API) I may want to see the status of all of the components on one dashboard. Thanks to some native features of VSTS and Mobile Center, we can do just that…

Continue reading

Xamarin and Resource.Designer.cs

I am doing a lot of development using Xamarin for Android and while most of the time it works really well, there are a few circumstances where it acts a little weirdly.

The first is when naming resources. The Xamarin documentation states the following in a resource on their website:

[blockquote source=”Xamarin”]Also, it’s important to note that while Android only supports lowercase filenames for resource items, Xamarin.Android is a bit more forgiving; it will support both uppercase and lowercase filenames.[/blockquote]

While this is true for most items it doesn’t work across the board.  Continue reading