1 - Amazing talks and content

Xamarin Expert Days have lots of interesting talks. I have summarised a few of them from the Cologne day and highlighted the points I found most useful.

Containers; Local and in Cloud for Development, Testing and Production

Sandra Ahlgrimm showed how to add Docker support to your ASP.Net projects and then how to deploy the project using containers. A lot of great tips and tricks on how to get your project deployed quickly. I don't normally use Docker or Kuberneties, so it was very cool to see what is new in this area. Some of the points I took away from this talk were:

There is Docker support in VS2019 and you can create docker files by right clicking on an ASP.Net project!

The Decision tree for Azure compute services is a great resource to see what azure service fits your needs.

Dev Spaces Azure allows you to debug and test certain containers of your application without the need for mocks.

Draft.sh, a quick way to deploy to Kubernetes.

Monitoring IoT appliances in real time

I have always liked Mark Allibone's style when it comes to technical presentations and this one did not disappoint.

You can find my slides and demos from #XamExpertDay here: https://t.co/7eC9Nz9CGj - big thank you to the organizers and all the attendees, had a great time 😃 pic.twitter.com/mUGDBhWmVa — Mark Allibone (@mallibone) October 25, 2019

He started by talking about the different IoT boards he has used, one of which I have, the MXChip, so I was intrigued as to what he had done with the board. You can see some of the example projects here. He also mentioned the Meadow board too, which runs .Net Standard 2.0! Awesome!

Mark then outlined the decisions he made in building a system for monitoring IoT devices on a mobile app using Azure cloud services. This involved:

The pros and cons between IoT Hub and Event Hub, for communication and device management.

Processing the incoming data with IoT Hub, which allowed for machine learning to be applied to the data.

The use of Azure functions and SignalR to live stream the data to the Xamarin mobile app.

Another hidden gem that was not strictly part of the talk was that he was using ReactiveUI to help update the UI. I haven't looked into it, but it seemed very elegant and easy to set up. You can read through the code and check out the ReactiveUI bits here.

Implementing push notifications with VS App Center in Xamarin.Forms apps

Almir Vuk showed how easy it is to set up push notifications in App Center for Android, iOS, and UWP.

He also explained how to use:

audiences to target specific user groups to receive notifications.

the VS App Center REST API in a console app to send the push notifications - very handy in debugging messages.

What's New, Hot, & Awesome for Xamarin Developers!

James Montemagno showed off all of the new features in Xamarin and .NET. "It's bananas Frank!" how many improvements have been made. Some of my favorites are:

Improved startup times with startup tracing on Android

App bundles in VS 16.3, see some more tips here

Sample data on android views – honestly, how did I not know about this! You can see more of updates for the Android designer and the sample data section here

MVVM async loading: free yourself from IsBusy = true

Jean-Marie Alfonsi presentation had such an intriguing title, since everyone uses IsBusy almost by default. I had to see what this was about.

The intro video for this talk was great (see below), but the underlying idea of composition vs inheritance, which he delivered very well, was even better. He questioned everything I was taught in University, blowing my mind.

Jean-Marie based this talk on his blog post "TaskLoaderView: async init made easy", and I would encourage everyone to read it through.

Industry 4.0: Standalone smartwatches, are we there yet?

Arne De Cock presented a proof of concept he was making with his team to see if watch apps are at a point where they can be useful in industry. He talked us through a watch app built to help factory workers get notifications. Some intresting points from this talk:

Development for Android wear and Tizen Samsung Galaxy watches improvements.

Android watches have some minor issues with wifi that still need to be addressed before they can be considered ready for commercial use.

The Samsung Galaxy watches are very rugged and are great for industrial use.

I have only created apps for the Apple watch, so it was interesting to see how the other platforms are developing.

2 - Networking

There is a great sense of community at this meetup, even though we are spread across the world. I met a couple of people from the UK that I probably would have never met if I didn't go to Cologne! I also went out for drinks after the event with people from all over Europe. It's also great be able to chat with people that use the same technolgy and have the same ups and downs when using it. Showing what they have made, how they tackled some problems or just funny stories about the industry.

3 - Motivational

After returning from this event I had a spike in motivation and enthusiasm. It may have been from the great talks or hearing about what everyone is working on. But whatever caused it, I feel that at times everyone needs this jump in energy levels so you can move on to the next great side project or push your self to do more for the community.

Final Thoughts

There is a great sense of belonging when you go, the talks are top notch and afterwards you get a great urge to want to do more. Hope to see you at the next one!

I just want to say a big thanks to the team that organises this event and puts in the hard work!