Saturday, February 11, 2017
Introducing EasyLayout.Droid For Simpler Xamarin Android Layouts
Object.observe is dead, long live ES6 Proxies
A Probably Incomplete, Comprehensive Guide to the Many Different Ways to JOIN Tables in SQL
ASP.NET WebHooks V1 RTM (Link)
iOS 9-ify your Xamarin.Forms App
Opening App Store for Ratings on iOS and Android
iOS Code Signing
Aurelia E2E Testing with TestCafe
Complex AngularJS Forms in the blink of an eye
Angular Schema Forms
Generate Forms from Json Schema, with AngularJS
6 Do's and Don’ts for a Great Android User Experience
Improving HTTP Performance in Xamarin Applications
Building Android Apps with Entity Framework
Announcing Project Rome Android SDK
Friday, January 6, 2017
Sentinel Mutant Registration Facial Recognition System with Xamarin Forms and Microsoft Cognitive Services
First off, this is not a step by step tutorial for adding facial recognition to your cross platform xamarin mobile apps. For that, head on over to a blog post from Pierce Boggan: "Adding Facial Recognition to Your Mobile Apps". For another more in-depth article, head on over to "Cognitive Services - Face and Emotion Recognition in Xamarin.Forms with Microsoft Cognitive Services" from Alessandro Del Sole.
What it is, is a fun app that implements some of the face api from microsoft cognitive services - where you can subscribe to really nifty api such as face and emotion recognition. The free plans are really generous - 30k calls per month for the face api.
First and foremost, all the code can be found on github here.
Introducing: Version 1 of the sentinel mutant registration program
All the MCS Face Recognition related code can be found in the share library FaceApi folder.
You will need to implement your own ApiKeyProvider class that supplies the MCS Face Api key that you have registered.
What can you do?
- Clear all face registrations. This will call the DeletePersonGroupCommand, which basically deletes all face recognitions within an identified group (in this case: all the mutants)
- Register a new mutant. You can do this in one of two ways. Scan their face using the onboard camera, or select from a picture the device has on file. This is done via the RegisterFaceCommand
- Identify a mutant. Does your sentinel program need to recognize mutants for capture - this function will scan a face using the camera or file on device, and confirm whether the mutant has been registered or not. This is done via the FindGroupPeopleCommand
- Scan mutant. Scan a face for facial attributes such as age and gender. Done via the DetectFaceCommand
Thursday, January 5, 2017
Android: Saving Data: Reducing the size of App Updates by 65%
Announcing TypeScript 2.1
How Kotlin became our primary language for Android
Google Awareness API for Android: Query and React to Signals
Noobs guide to getting a Code Signing Certificate.
Leverage Joins in Entity Framework To Get Just the Data You Want
Troubleshooting Connecting to Xamarin Mac Agent
Creating Platform-Specifics in Xamarin.Forms
Custom Progress Reporting with Task
Request - Simplified HTTP client
Deploy the Android 7 Multi-Window Mode via Xamarin
My Take on an Azure Open Source Cross-Platform DevOps Toolkit
Brackets.io: Web Design Text Editor
Wednesday, December 7, 2016
Following on from my previous post on getting started with the Kanban Control from Syncfusion, we’re going to have a look at customizing the kanban card template, binding the tap event on the card to execute a command and binding the card to a custom model.
As always, you can find all the source code here
Disclaimer: As of this writing, there are rendering issues with the Windows UWP implementation. A support ticket has be lodged with Syncfusion and it should be resolved with the next iterative release.
1) Providing a Custom Model
In the previous post, we used a KanbanModel to bind against. But you’re free to bind against any object, so long as the properties fire a NotifyPropertyChange event (class must implement the INotifyPropertyChange interface).
Properties look something like:
Remember that the columns in the Kanban control map by default to a ‘Category’ property. If you want the columns to map to a different property on the model, then set the ColumnMappingPath property on the SfKanban control
2) Customizing the Kanban Card
If you’re accustomed to any XAML technology, then customizing the kanban card should be familiar. The idea is that you supply a custom user control to act as a template when rendering the items for the bound collection. For a sample of a custom user control, check out the CustomCard.xaml user control in the source code. The only significant thing to note is the root element is a ContentView.
Once you have a template defined, then the only thing left to do, is to add it as the DataTemplate to the SfKanban control:
3) Binding the Tap Event to a Command on the ViewModel
It’s a common scenario that you want to perform a certain action when the user taps in a card. Currently there is no TapItemCommand property on the SfKanban control, but you can achieve the same thing by implementing a behavior.
The KanbanItemTappedToCommandBehavior can be found here.
Basically it takes the ItemTapped event from the card, and executes the command when the event fires.
You then bind the behavior to the SfKanban control like so:
The command on the ViewModel would look something like:
… and that’s it.
Ten ways to minimize Azure costs
Free local development using the DocumentDB Emulator plus .NET Core support
.NET Standard 2.0 - Making Sense of .NET Again
Hacking the Xamarin.Forms Layout System for Fun and Profit
Resource Files in Xamarin Forms
Continuous Integration and Continuous Delivery for Xamarin.iOS With VSTS
Azure App Services Continuous Delivery
Introducing Xamarin.Forms 2.3.3: Native View Declaration and Platform Specifics
How Passwordless Authentication Works
Setting Up Android x86 HAXM Emulators
Thursday, December 1, 2016
In this blog post we’re going to look at getting started with one of the newer controls to the syncfusion xamarin family: The Kanban Control
First and foremost, all the source code for the examples below can be found here
If you’re not familiar with getting a Xamarin Forms app up and running – have a look at the quick start outlines here
Nuget packages for syncfusion controls can be found here – keep in mind you need a license to be able to use them. Luckily if you’re a hobbyist developer or a company with less than five people, you can get a community license which is FREE!
Okay – time to get started.
I’m going to assume you already set up a Xamarin Forms wireframe app – check out the quick start above for details on how to get that up and running.
Usually a new Xamarin Forms project adds Windows Phone variant projects. I tend to stick with UWP only for windows, since this is generally more actively supported by control suites.
To get access to the syncfusion nugets, setup a new nuget package source that points to the syncfusion nuget location.
Add nuget packages for the syncfusion kanban control:
be sure to set the source to the syncfusion xamarin nuget location:
Every project needs to have a reference to the Syncfusion.Xamarin.SfKanban nuget package. You’ll notice there are Android and iOS variants for the package too – these are for the specific Xamarin native platforms (would have been helpful if they actually postfixed the package with “.Forms” – can get a bit confusing as to which package to pick)
Now for some code:
In the portable library, create a ViewModel class to contain all the items that the cards on the kanban control are going to bind to. A sample of the ViewModel class can be found here
The important bits:
You need a class that is the model that each kanban card will represent. Syncfusion provides a default called KanbanModel. We’ll use this for now, but you can use your own model classes too (which I’ll cover in another post). Place an ObservableCollection of this model as a property on the ViewModel class:
…. and then add some items to the collection:
Take note of the Category property, as this is going to be used by the control to know in which swim lane to place the kanban card.
Next, create a page that will host the kanban control – sample can be found here
… and then wire up the BindingContext of the Page to your ViewModel:
.. and then attach categories to each column, so the kanban control knows where to place each item template:
This is done in code behind, but you could just as easily bind these to ViewModel properties in XAML.
Be sure to set the Page to the startup page in the Forms App class:
… and that should be it. Download the source code and give it a test drive.
In my next post I’ll cover:
- Bind cards to custom models
- Creating a custom card template
- Opening up another page when a card gets tapped using a command.
Sunday, November 13, 2016
Resilient network services with mobile Xamarin apps
Exploring Application Insights for disconnected or connected deep telemetry in ASP.NET Apps
9 Things You Should Know About SQL Azure Databases
Authorizing your .NET Core MVC Core API requests with OpenIddict and Identity
First Look: Authentication in ASP.NET Core
Xamarin Android 9-Patch Image Splashscreen
Custom Animations in Xamarin Forms
Xamarin Forms Page Templates
Introduction to UrhoSharp in Xamarin Forms