biid - Mobile Id Xamarin SDK

biid was a Mobile Identity platform helping international Banks to transform the customer experience across their most critical online journeys.

I was asked to provide consultancy for its native Xamarin versions of its Identity API.

During this wonderful journey, we created a fully unified cross-platform Xamarin.Forms compatible API which was easier to install, configure, test and release, providing a solution far and above what I was originally employed for.

  • Mobile Identity Platform
  • Xamarin.Forms SDK
  • Automated XUnit Testing
  • Start-Up
  • Small team, big product
  • Remote working

Architecture

The initial Xamarin implementations were initially supplied as separate Xamarin native Nuget packages.

These where well written but complicated native bindings and where unwieldy to test locally and prone to errors due to the complexity of layers of binding, objective-C / Java and also the underlying biid API.

The initial task was to ensure the iOS and Android bindings could be upgraded to the latest version of their API.

To support sensible development timeframes, I created a fully automated XUnit based test suite (which eventually touched and tested all API calls) as testing was too cumbersome to rapidly iterate.

  • SQLite.NET for Offline Data Access
  • Monotouch.Dialog for Efficient GUI
  • Xamarin.IOS Platform
  • LLBLGen for ORM based Data Tier
  • SSL WPF Web Services for Data Load
  • Shared Core Code with Android Application
  • Xamarin Components for Slick GUI
  • Custom Ported JASidePanels for Top Slide Out Menu

Statistics

  • ~320 Cross-Platform Tests
  • ~3 supported Xamarin SDKs
  • ~2-3 year project
  • Fully Supporting Documentation