Jim Bennett

🤖 I do things with IoT and academic advocacy in the DevRel team at Microsoft.

  Redmond, WA, USA

My book:

Xamarin In Action

Contact me:

  Xamarin In Action
  Twitter
  GitHub
  LinkedIn
  YouTube
  Email
  CV

Xamarin Essentials

TL;DR - check out Xamarin Essentials in the official documentation. Like a lot of developers, I love how Xamarin allows me to share business logic between iOS and Android apps, and share UI using Forms, but still have access to the native APIs. But one thing has been missing - a consistent, out of the box way of accessing native APIs from cross-pl…

Read More

Building mobile apps in F# using Xamarin.Forms and Elmish

FSharp and Xamarin Xamarin is well known for allowing you to build mobile apps in C#, but you can use F# as well. F# is fully supported by the compiler and toolchains in both Visual Studio 2017 and Visual Studio for Mac. It's also pretty much supported by all the Xamarin tools including Xamarin.Forms (except for one bug that should be fixed soon).…

Read More

Face identification with Azure Cognitive Services Face API

Recently I've been playing with a lot AI and seeing how it can be used in mobile apps to enhance the experience offered to the user. Currently I am playing with facial recognition using the Azure Cognitive Services Face API. This is a stupidly powerful API that can do a LOT of different things: Detect faces in images Analyze those faces to detect…

Read More

Identifying my daughters toys using AI - Part 5, Plugin for on-device models

In the first part of this series I used the Azure Custom Vision service to create an image classifier to allow me to easily identify my daughters cuddly toys. Once created I tested it by uploading an image and seeing what tags the classifier found for the image. In the second part I accessed this model from a Xamarin app, so that I could use the c…

Read More

Identifying my daughters toys using AI - Part 4, using the models offline on Android

In the first part of this series I used the Azure Custom Vision service to create an image classifier to allow me to easily identify my daughters cuddly toys. Once created I tested it by uploading an image and seeing what tags the classifier found for the image. In the second part I accessed this model from a Xamarin app, so that I could use the c…

Read More

Identifying my daughters toys using AI - Part 3, using the models offline in iOS

In the first part of this series I used the Azure Custom Vision service to create an image classifier to allow me to easily identify my daughters cuddly toys. Once created I tested it by uploading an image and seeing what tags the classifier found for the image. In the second part I accessed this model from a Xamarin app, so that I could use the c…

Read More

Identifying my daughters toys using AI - Part 2, using the model

In the first part of this post I used the Azure Custom Vision service to create an image classifier to allow me to easily identify my daughters cuddly toys. Once created I tested it by uploading an image and seeing what tags the classifier found for the image. Although this works, it's a long winded way of using the model. Ideally I'd want it in a…

Read More

Getting a users Facebook profile after Authenticating your Xamarin app with Azure

I've recently been looking at the authentication offered by Azure for use in a mobile app, specifically using social auth providers like Facebook to allow a user to sign up for my app. The auth setup is incredibly easy, with Azure taking care of a lot of the hard stuff. There are also loads of great docs on how to get it set up - including the Micr…

Read More

Creating Visual Studio project and solution templates - Part 3, VS for Mac extension

In the first part of this set of posts I looked at creating a dotnet new project template, and in the second part I showed how you could easily add this to a Visual Studio for Windows extension. Lets now look at adding it to a Visual Studio for Mac extension, so that our template is available everywhere. It's really easy to create extensions for V…

Read More

Creating Visual Studio project and solution templates - Part 2, VS for Windows extension

In the first part of this set of posts I looked at creating a dotnet new project template. These are great if you like the cli, but if, like me, you'd rather be able to do File->New then dotnet new is not much use. Instead you need a Visual Studio extension that provides a new project or solution type to the IDE. The good news is that you can ea…

Read More

Creating Visual Studio project and solution templates - Part 1, dotnet new

I've recently updated my MvvmCross templates to support .NET Standard to be ready for the awesome future. Unfortunately this meant a complete rewrite of my templates as the out of the box Visual Studio project template extensions on both Windows and Mac don't support .NET Standard. As it turned out though, this rewrite was a blessing in disguise as…

Read More

Hitting refresh on my career

Inspired by Satya Nadella's Hit Refresh, a book well worth reading, I thought I'd write about my Hit Refresh moment. Hit Refresh is inspired by refreshing your browser - it doesn't reload everything, instead it just reloads part of the page. This is reflected in how we can change our lives, not by a complete change, but by refreshing a part. In my…

Read More

Introduction to UI Testing with Xamarin

This article is an excerpt from Xamarin in Action. Save 37% off the cover price using code fccbennett at http://xam.jbb.io. One of the great things about the MVVM design pattern is that it allows us to maximize the code in our cross-platform model and view-model layers. This means we’ve written the bulk of our code and we’ve also written unit…

Read More
 

Xamarin Essentials

TL;DR - check out Xamarin Essentials in the official documentation. Like a lot of developers, I love how Xamarin allows me to share business logic between iOS and Android apps, and share UI using Forms, but still have access to the native APIs. But one thing has been missing - a consistent, out of the box way of accessing native APIs from cross-pl…

Read More

Building mobile apps in F# using Xamarin.Forms and Elmish

FSharp and Xamarin Xamarin is well known for allowing you to build mobile apps in C#, but you can use F# as well. F# is fully supported by the compiler and toolchains in both Visual Studio 2017 and Visual Studio for Mac. It's also pretty much supported by all the Xamarin tools including Xamarin.Forms (except for one bug that should be fixed soon).…

Read More

Face identification with Azure Cognitive Services Face API

Recently I've been playing with a lot AI and seeing how it can be used in mobile apps to enhance the experience offered to the user. Currently I am playing with facial recognition using the Azure Cognitive Services Face API. This is a stupidly powerful API that can do a LOT of different things: Detect faces in images Analyze those faces to detect…

Read More

Identifying my daughters toys using AI - Part 5, Plugin for on-device models

In the first part of this series I used the Azure Custom Vision service to create an image classifier to allow me to easily identify my daughters cuddly toys. Once created I tested it by uploading an image and seeing what tags the classifier found for the image. In the second part I accessed this model from a Xamarin app, so that I could use the c…

Read More

Identifying my daughters toys using AI - Part 4, using the models offline on Android

In the first part of this series I used the Azure Custom Vision service to create an image classifier to allow me to easily identify my daughters cuddly toys. Once created I tested it by uploading an image and seeing what tags the classifier found for the image. In the second part I accessed this model from a Xamarin app, so that I could use the c…

Read More

Identifying my daughters toys using AI - Part 3, using the models offline in iOS

In the first part of this series I used the Azure Custom Vision service to create an image classifier to allow me to easily identify my daughters cuddly toys. Once created I tested it by uploading an image and seeing what tags the classifier found for the image. In the second part I accessed this model from a Xamarin app, so that I could use the c…

Read More

Identifying my daughters toys using AI - Part 2, using the model

In the first part of this post I used the Azure Custom Vision service to create an image classifier to allow me to easily identify my daughters cuddly toys. Once created I tested it by uploading an image and seeing what tags the classifier found for the image. Although this works, it's a long winded way of using the model. Ideally I'd want it in a…

Read More

Getting a users Facebook profile after Authenticating your Xamarin app with Azure

I've recently been looking at the authentication offered by Azure for use in a mobile app, specifically using social auth providers like Facebook to allow a user to sign up for my app. The auth setup is incredibly easy, with Azure taking care of a lot of the hard stuff. There are also loads of great docs on how to get it set up - including the Micr…

Read More

Creating Visual Studio project and solution templates - Part 3, VS for Mac extension

In the first part of this set of posts I looked at creating a dotnet new project template, and in the second part I showed how you could easily add this to a Visual Studio for Windows extension. Lets now look at adding it to a Visual Studio for Mac extension, so that our template is available everywhere. It's really easy to create extensions for V…

Read More

Creating Visual Studio project and solution templates - Part 2, VS for Windows extension

In the first part of this set of posts I looked at creating a dotnet new project template. These are great if you like the cli, but if, like me, you'd rather be able to do File->New then dotnet new is not much use. Instead you need a Visual Studio extension that provides a new project or solution type to the IDE. The good news is that you can ea…

Read More

Introducing Visual Studio Mobile Center

In this article, excerpted from chapter 15 of Xamarin in Action, we’ll be looking at using Visual Studio Mobile Center’ mobile-optimized lifecycle to build, test, deploy, and monitor applications. Save 37% off Xamarin in Action with code fccbennett at manning.com. Introducing Visual Studio Mobile Center Visual Studio Mobile Center is billed as 'M…

Read More

Creating Visual Studio project and solution templates - Part 1, dotnet new

I've recently updated my MvvmCross templates to support .NET Standard to be ready for the awesome future. Unfortunately this meant a complete rewrite of my templates as the out of the box Visual Studio project template extensions on both Windows and Mac don't support .NET Standard. As it turned out though, this rewrite was a blessing in disguise as…

Read More

Hitting refresh on my career

Inspired by Satya Nadella's Hit Refresh, a book well worth reading, I thought I'd write about my Hit Refresh moment. Hit Refresh is inspired by refreshing your browser - it doesn't reload everything, instead it just reloads part of the page. This is reflected in how we can change our lives, not by a complete change, but by refreshing a part. In my…

Read More

Using LiveXAML to improve your Xamarin Forms UIs

One of the downsides to UI development is how long it takes to get a good looking UI. You spend an inordinate amount of time setting up the UI, running your app to see how it looks, tweaking the UI, running again, tweaking again, running again. Then of course you have to repeat on multiple devices with different OSes or screen sizes. For Xamarin F…

Read More

Introduction to UI Testing with Xamarin

This article is an excerpt from Xamarin in Action. Save 37% off the cover price using code fccbennett at http://xam.jbb.io. One of the great things about the MVVM design pattern is that it allows us to maximize the code in our cross-platform model and view-model layers. This means we’ve written the bulk of our code and we’ve also written unit…

Read More