Image from Apple’s iOS 14 page, with my weather app swapped in

As you probably know, Apple’s latest iOS 14 and iPadOS 14 introduced the ability for developers to add widgets to their home screens. This is great news if your app can benefit from the addition of widgets. What’s even better news for Xamarin developers is that you can add native iOS 14 widgets, albeit written in Swift and SwiftUI, to your app today.

The Microsoft team did a good job with the Embedded WidgetKit Support to make this possible, however there are some little quirks and secrets I discovered along the way in adding iOS 14 Widgets to my app.


I recently had a discussion comparing nullable reference types (NRT’s) with the Maybe/Option pattern and wanted to write a blog about it. When I first set out to write this blog I stumbled upon an existing blog on this topic by Eric Backhage titled “Nullable reference types compared to the Option monad”. It was as if I was, kind of, reading my own future blog. It is a great comparison of the two and I totally agree with his conclusion, so I was not going to write my own at the time.

However, thinking about this some more, I wanted…

Back in April 2019 I blogged about running an ASP.NET Core 2.2/3.0 Serverless Web API in AWS Lambda with a Custom Runtime and Lambda Warmer.

Things have changed since then; AWS Lambda now supports .NET Core 3.1 (custom runtime no longer required) and AWS released HTTP APIs for Amazon API Gateway which GA’d in March 2020.

Both announcements are huge for .NET developers wanting to host an ASP.NET Core Web API in the cloud, serverless and cheap. HTTP APIs for Amazon API Gateway offer up to 71% cost savings and 60% latency reduction compared to REST APIs. …

4 June 2020 update: Did you know that chmod/chown/mv in your Dockerfile copies all files? Thanks to blog reader Andrei for alerting me to this issue, the Dockerfile and scripts have been updated to not duplicate files (into another layer) in your final image. The changes only affect the “Preferring a Minimal Base Image” section.

In this blog post I’ll be consolidating a few already available resources online to harden a docker image to specifically run ASP.NET Core workloads. There are open source and commercial 3rd party products out there to help with this, and those should definitely be considered…

July 2020 update:
This blog post is now outdated. I have a new updated blog post titled ASP.NET Core Serverless Web API running in AWS Lambda, using API Gateway HTTP API, with a Lambda Warmer.

Lambda support for .NET Core 3.1 Update, April 2020

On 31 March 2020 AWS announced Lambda support for .NET Core 3.1!! AWS blog post regarding the announcement is here:

.NET Core 3.0 Update, October 2019

Now that .NET Core 3.0 has been released, I thought I’d quickly revisit this blog post. ASP.NET Core 3.0 compatibility broke in the previews as per PR discussions, however AWS has now released an update to Amazon.Lambda.AspNetCoreServer. I’ve added a .NET Core 3.0 PR…

If anyone knows me, they know as a developer I like to have a project on the side I can work on in my spare time and while commuting to and from work. After spending the last year on some home IoT, I was looking for the next side project.

The first app I built back in 2010 was a credit card terminal app called iCCPay. The landscape was different back then, and so were the banks, so it was hard to get that off the ground. However it lasted in the iOS App Store until it couldn’t launch on…

On May 29, 2018, I blogged about my IoT Home Security Project. Today I thought I’d offer a small update on its reliability after a years use.

I have to say I am very happy with it, barring some minor issues, partly with the Azure/AWS SDK’s fault, and partly my fault. I did update my original post with a “September 2018 Update”. It talks about a .NET Core issue that occasionally crashed the Raspberry Pi, some SDK issues (ie: not reusing HttpClient), and additional information on increasing the Raspberry Pi stability.

However one issue I have had, was that after…

An IoT Home Security Project

Back in November 2017 I blogged about a small home IoT project, wiring up garden lights and my garage to the internet through a Spark Core IoT device, accessed via a Xamarin app. That was so fun, I got more ideas and thought I’d do it again with a much more ambitious project. A fully automated and autonomous, IoT home security system.

I wasn’t going to get in to the nitty gritty details of exactly what my home security system build consisted of, but rather hoped to broadly explain how I went about building this. …

Michael Dimoudis

Software Developer, .NET & Xamarin Forms, self confessed cool geek 👨🏻‍💻 love ⚽️ @smfc & @arsenal, I ♥️ Apple, Microsoft, AWS and iOS! Creator @auweatherapp🌦

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store