iPS 208: Build Special 2: Visual Studio Mobile Center with Karl Piteira

This episode of iPhreaks features Andrew Madsen, Jaim Zuber, and special guest Karl Piteria. Karl is on the show today to discuss Visual Studio Mobile Center. He is a Product Manager on the product and heading a small team of product managers who are looking at how app developers can learn from their app once it is on people’s phones.

[00:01:35] We’ve talked about the Mobile Center in the past, what have developers worked on since then?

There has been improvement in the dev apps portion, improvement in the continuous distribution portion, and an Android portion has been released. There has also been work done on the link between builds tests and attributes. Now you can ask for an automatic test from the build definition on Mobile Center and launch an application and make sure that it doesn’t crash.

[00:3:54] If I want to set up continuous integration (CI) on my app, is this available for all three platforms? How do I start it up for a Native iOS app?

Yes. For a Native iOS app go to Mobile Center and create an app. Then, label the app iOS and label whether it’s Objective C or Swift.

[00:04:20] I want to run unit tests. Does it work out of the box based on the test target?

If your projects have unit tests defined, they will be run automatically.

[00:04:41] What kind of customization is possible?

They have been trying to simplify the process and have it where you can set it up quickly. People may want to set up credentials in a build process, but do not have it currently. They are working on that and will be released soon.

[00:05:50] What does your support for continuous deployment (CD) look like?

The point of defining a flow with Mobile Center is that you select a branch, set up a build test, and set up which distribution group will receive that build. This will automatically be sent once who is in distribution group is invited.

[00:06:38] Are you using HockeyApp still?

Yes, mobile center is HockeyApp. The future of HockeyApp is mobile center: they are merging the two.

[00:07:00] What are some things you can do to improve your process?           

The big win is the time having your build actually delivered to the device, while having all that chain already set up. To set up a build with a signature and some start up tests defined can be done under five minutes. The concept for developers is to be focused on what you want to do with your app and learn about it quickly.

[00:09:45] So if I wanted to build every branch that started with Feature, how would I set that up?

You would have to set it up for each branch. They do not have definition yet for that.

[00:10:12] Does that affect cost?

It is right now a preview product. They have not yet communicated on the cost. At the moment it’s free.

[00:10:36] Does it affect how fast it runs?

There is a concept of capacity. Users might get throttled if there are a huge number of users at one time, but haven’t experienced that.

[00:13:37] Can you explain what a funnel is?

Funnels are, for example, a login process in an app where people go to a login screen. They enter their credentials and the login either succeeds or fails. Developers want to gather different types of information from this in order to solve the problem. They should know whether the user went to the login page or if they passed or failed validation. How many succeed or failed? Why did they fail? All these are things need to be learned because if users don’t get past the login screen, users may never use the value of the app. These analytics service give insight of what to address.

[00:16:18] How do we identify those things to the server so we can monitor?

As a developer, defining what you want to learn is key. The second part is instrumentation, which is done through the SDK. Once Mobile Center portal is built, all data that goes through the server can be collected.

[00:19:12] What kind of tools does Mobile Center provide for making sense of your data?

Charts and tables. Counting the event for time as well as users is provided. Does everybody do it or a few people do it often? A distribution of the properties is also provided.

[00:20:50] What kind of crash reporting tools does Mobile Center provide?

Integrate the crash SKD into the app. When the app crashes next, a notification will be sent to the developer. The crash is sent to the backend, where there will be counts, and the crash will be symbolicated. If it was built with Mobile Center the symbols are already there. There is also the option to upload symbols from other apps.

[000:22:12] You get counts?

On crash first decision you make is should you or not? Analytics of crash kicks in. Number of crash per user, per day, group the crash if they are the same thing, etc. Developer can start prioritizing what to fix.

[00:23:56] Why use Mobile Center?

We want to provide a unified experience where you define what you want to happen and get your information in one place. Save time, make lives of developers easier. When you can follow most of your process in one place. Making sure the tools provided will have uniformed experience.

[00:26:08] What’s next for Mobile Center?

They are customizing environments. They are working on analytics to bring much more segmentation. Analyze information through different angles, ability to be able to define scenarios with notifications based on different types of behavior, and push notifications.

Main energy that is being put in is looking at the cycle and seeing where friction could be further reduced to make it more useful.

[28:40] Is your vision for push notifications to make it as painless as possible for developers?

Definitely. The ideal is to have one starting line and add push and have it work.


Karl: Walking in the mountains