Jim Bennett

Senior Cloud Developer Advocate at Microsoft, Xamarin Certified Developer, author of Xamarin In Action, blogger, speaker, father and lover of beer, whisky and Thai food. Opinions are my own.

  Reading, UK

See me soon at:

NDC London

My book:

Xamarin In Action

My podcast:

The Jim And Tonic Show
The Jim And Tonic Show on iTunes

Contact me:

  Xamarin In Action
  Twitter
  The Jim And Tonic Show
  GitHub
  LinkedIn
  YouTube
  Email
  CV

Controlling an IoT device from your phone

I've just finished watching the latest episode of Five Things, where Suz Hinton talks with Burke about Goo Goo Clusters and IoT devices. One of the devices Suz showed was the Azure IoT DevKit - an arduino compatible board made by MXChip that works beautifully with Azure, even down to having an Azure LED on board to show when it is connecte…

Read More

Updating your google-service.json from an AppCenter environment variable

I've been working on an app that needs push notifications, but also needs to be open source. This led me to a problem - the google-services.json file. This file is needed to sign up for Firebase messaging to implement push on Android, but it also contains my API keys, values I do NOT want to be public. So - what to do? Well I'm building and distrib…

Read More

Binding the Cognitive Services Android Speech SDK - Part 3 - Java 8 fun

In the first part of this post, I showed how to get started binding the Microsoft Cognitive Services speech API. In the second part I showed how to make the code look more C#-like. In this part, I'll show how to use it and fix up a nasty issue with the Android compiler and using jars created with the latest versions of Java. Using the SDK To use th…

Read More

Binding the Cognitive Services Android Speech SDK - Part 2, making the code more C#-like

In the first part of this post, I showed how to get started binding the Microsoft Cognitive Services speech API. In this part I show how to make the code look more C#-like. In the third part I'll show how to use it and fix up a nasty issue with the Android compiler and using jars created with the latest versions of Java. Making the namespaces more…

Read More

Binding the Cognitive Services Android Speech SDK - Part 1, binding the library

As part of the Microsoft Cognitive Services speech API, there is a native Java Android SDK available as an .aar file. I wanted to use this in a Xamarin app, so I created a binding project for it. The code for this is available in my GitHub. Binding an SDK is a four step process: Create the binding project with the relevant jar or aar file Make any…

Read More

Running AI models on iOS, Android and Windows using Xamarin

I created a NuGet package a while ago to allow you to run models exported from the Azure Custom Vision service on iOS and Android in Xamarin apps from your cross-platform code. You can read about this here. Since then, the Custom Vision service has added ONNX export, meaning you can now run these models on-device on Windows as well. This meant it…

Read More

Running custom vision models on a Windows device

Recently I wrote about creating AI models using the Azure Custom Vision Service. In these posts I looked at creating and training models, running them online, then finally exporting the models to run on iOS using CoreML and Android using TensorFlow. Recently Microsoft announced another way to export models - as ONNX models that can be run using Win…

Read More

Describing a photo in a mobile app using Azure Computer Vision

I recently gave an introduction to Xamarin talk at Imperial College, London and wanted to build a cool app to show off what you can do on mobile using the awesome Cognitive Services available on Azure. I only had about 30-40 minutes to not only introduce Xamarin, but build an app so I decided to throw together a simple app to take a photo and descr…

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-pla…

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 c…

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 ca…

Read More
 

Controlling an IoT device from your phone

I've just finished watching the latest episode of Five Things, where Suz Hinton talks with Burke about Goo Goo Clusters and IoT devices. One of the devices Suz showed was the Azure IoT DevKit - an arduino compatible board made by MXChip that works beautifully with Azure, even down to having an Azure LED on board to show when it is connecte…

Read More

Updating your google-service.json from an AppCenter environment variable

I've been working on an app that needs push notifications, but also needs to be open source. This led me to a problem - the google-services.json file. This file is needed to sign up for Firebase messaging to implement push on Android, but it also contains my API keys, values I do NOT want to be public. So - what to do? Well I'm building and distrib…

Read More

Binding the Cognitive Services Android Speech SDK - Part 3 - Java 8 fun

In the first part of this post, I showed how to get started binding the Microsoft Cognitive Services speech API. In the second part I showed how to make the code look more C#-like. In this part, I'll show how to use it and fix up a nasty issue with the Android compiler and using jars created with the latest versions of Java. Using the SDK To use th…

Read More

Binding the Cognitive Services Android Speech SDK - Part 2, making the code more C#-like

In the first part of this post, I showed how to get started binding the Microsoft Cognitive Services speech API. In this part I show how to make the code look more C#-like. In the third part I'll show how to use it and fix up a nasty issue with the Android compiler and using jars created with the latest versions of Java. Making the namespaces more…

Read More

Binding the Cognitive Services Android Speech SDK - Part 1, binding the library

As part of the Microsoft Cognitive Services speech API, there is a native Java Android SDK available as an .aar file. I wanted to use this in a Xamarin app, so I created a binding project for it. The code for this is available in my GitHub. Binding an SDK is a four step process: Create the binding project with the relevant jar or aar file Make any…

Read More

Running AI models on iOS, Android and Windows using Xamarin

I created a NuGet package a while ago to allow you to run models exported from the Azure Custom Vision service on iOS and Android in Xamarin apps from your cross-platform code. You can read about this here. Since then, the Custom Vision service has added ONNX export, meaning you can now run these models on-device on Windows as well. This meant it…

Read More

Running custom vision models on a Windows device

Recently I wrote about creating AI models using the Azure Custom Vision Service. In these posts I looked at creating and training models, running them online, then finally exporting the models to run on iOS using CoreML and Android using TensorFlow. Recently Microsoft announced another way to export models - as ONNX models that can be run using Win…

Read More

Describing a photo in a mobile app using Azure Computer Vision

I recently gave an introduction to Xamarin talk at Imperial College, London and wanted to build a cool app to show off what you can do on mobile using the awesome Cognitive Services available on Azure. I only had about 30-40 minutes to not only introduce Xamarin, but build an app so I decided to throw together a simple app to take a photo and descr…

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-pla…

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 c…

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 ca…

Read More