I’m really pleased and humbled to have been re-awarded the Microsoft MVP award for 2025. This year I’ve been awarded in the .NET category as my focus has been on .NET MAUI and .NET across multiple platforms. When I started on the MVP journey in 2003 it was for the .NET Compact Framework so I’m […]
Category: .NET
I first added NFC code to 32feet.NET back in 2020. However, as other priorities came along it never got fully polished and released on NuGet. This year I finally got around to it and updated the code for .NET 8.0 as it had originally targeted Xamarin Forms. InTheHand.Nfc is available on NuGet and follows the […]
When I created the InTheHand.BluetoothLE library I modeled the API on WebBluetooth as this gave a simple API surface but as it was designed to run within a browser sandbox some of the functionality is intentionally limited. For device discovery the API only provides a selection dialog. One of the most requested features early-on was […]
Deep-linking is the ability to define a Url which will direct the user straight to a specific feature of your app. On Android these are called App-links, for iOS they tend to be called Universal links. These can be an app-specific uri scheme or you can, with the right configuration on your web server, link […]
UI’ve Been Framed
Recently I’ve been migrating Xamarin Forms UIs to .NET MAUI and have come across a recurring problem. The Frame control was a core part of Xamarin Forms and used for drawing a border and/or shadow around a control. With the changes introduced in MAUI there is a new Border control which has a lot more […]
Just over four years ago I released a free Alexa skill to synchronise your Microsoft To-do list with Alexa’s own lists. Sadly any effort to create an add-on for another product usually ends in either the product getting “sherlocked” or a required API being deprecated. This time it was the latter. Amazon have deprecated their […]
I’ve been asked a number of times about the process to ask for Bluetooth permission for your app. I’ve been meaning to create something reusable for some time but it has languished on the To Do list for rather too long. I recently noticed that as of .NET 8.0, MAUI will incorporate a Bluetooth permission […]
One of the challenges with 32feet.NET is to try to provide as consistent an experience as possible on multiple platforms even though the underlying implementation varies wildly. One such case is with Bluetooth Classic and the stream used to read and write data over an RFCOMM connection. As it turns out each platform has its […]
DependencyService for all
I was recently looking at migrating some code from Xamarin Forms to Uno Platform and one of the big changes when moving from Xamarin Forms to .NET 6 and later is a move towards using Microsoft.Extensions.DependencyInjection on all flavours of .NET. The key difference between this approach and DependencyService is that you have one shot […]
Sometimes it takes a while to realise that an API is lying to you. When implementing Bluetooth Classic support for Linux on .NET 6.0 and above I came to this realisation after going directly to the native API. System.Net.Sockets has been available since the beginning of .NET. Traditionally this was a wrapper over the WinSock […]
