To say I love mobile is an understatement!
Enterprise App for an Auction House
One of my clients recently required an application that their staff could use to evaluate inventory leading up to an auction. The app had to integrate with existing systems, and required educating the client about migrating some of their exiting code bases to be PCL compliant. This included writing a custom library full of tools, and custom controls to be reused on future applications. This also included the use of some reusable Views as part of a Prism Module for things like a
LoginPage so that future apps could maintain a consistent look and feel. Even with the high degree of customization that the client required, code reuse from platform to platform remained between 75-80%.
This one is still pre-release, but is designed for the Serious Through Hiker, where grams count! It's a Xamarin Forms app built using the AP.MobileToolkit and taking advantage of an Azure backend for client data syncing. The code for this application is so consistent across platforms that other than the boiler plate
MainActivity there is only a single platform specific implementation for Facebook authentication.
I'm an avid contributor to the Prism Library for Xamarin Forms, as well as an author to a few Plugins for Prism.
One of my favorites. The AP.MobileToolkit builds on top of Prism and Xamarin Forms, providing an arsenal of extensions, helpers, behaviors, and even a few of my favorite controls from the now dead XLabs project. Rather than using the PrismApplication we provide a custom
MvvmApplicationInitializer that loads Views, and Services and automatically registers them. Even better, we do this through attributes that allow us swap out DI containers, resulting in ZERO change in code within the application itself. Applications using this library only need to implement the
MvvmApplicationInitializer, as the initializer actually constructs the
MvvmApplication for you, and is loaded using either the
APToolkitApplicationDelegate<TContainer> or the
I've been working on various NetCore bits from ASP.NET to EntityFramework going back to Beta1. With the tooling having been completely redone more than once, and with even the naming changes it hasn't always been easy.
One of my recent projects required that my code live and work inside of Linux environment. Rather than developing a massive all encompassing code base a Micro Services architecture was called for. While the Microsoft team has done an excellent job creating a base framework for API and other web based services, there just wasn't an easy to use framework I could use for lightweight console applications. To handle this I wrote an extensible MicroServices framework using NetStandard. The entire library allow for the easy creation of stand alone services. Some common implementations could include reaching out to a billing platform such as QuickBooks or PayPal to determine if a customer has paid an invoice, if they did that service could log it so provisioning service could reactivate a suspended account, or if the invoice wasn't paid that other service could suspend the account.
To me, when we say mobile first, it's not the mobility of the device, it's actually the mobility of the individual experience... The only way you are going to be able to orchestrate the mobility of these applications and data is through the cloud...That's why the juxaposition of cloud infrastructure and mobile experiences is where the world is going.
Microsoft CEO Satya Nadella
Windows 10 IoT
One of the many projects I worked on, included a Cloud Connected Refrigeration Controller using Windows 10 IoT on Raspberry Pi. This included a Raspberry Pi with a custom Pi Hat
for connecting and powering sensors.
Raspberry Pi - Docker Swarm
This project started with a simple question. Can something like a Raspberry Pi be of real value to a Small Business. Ultimately thanks to a huge amount of community support around Docker and Raspberry Pi, this process only served to prove we are bound to see a huge boom in the IoT market for providing small business enterprise capabilities at an affordable cost. Read more...