Intoducing the Flowable App (“FLAPP”)

Mobile app users are a picky bunch. They generally hate the apps they use. They uninstall them, down-rate them publicly, and whine on forums about the current state of UI development. It’s hard to blame them. The developers behind Xamarin got most of their ideas from the web: the user sees a page, they tap a nav bar, the page flashes (watch out, epileptics), and…

A Smart Platform for a Challenging Era

Most mobile device owners are passionate about their phones. They’re either a high-tech Android type or an aesthetic iPhone type. And they agree about very little when it comes to their metallic soul-mates. The companies are likewise conflicted: Java considers itself to be the ubiquitous, open-source programming language for the new age. Apple leads with breath-taking — albeit dogmatic — design.

For the…

Welcome to the Google Net

Google's rise describes the Internet's own transition from an innocent, friendly puppy to a voracious snake that squeezes us tighter each day.

May 4, 2017

Don’t worry, mom. I’m just playin’ with the Internet!

When I first jumped onto the Internet in the early 1990’s, I used Yahoo as my search engine.  If you had asked me then where Yahoo would be in 20 years, I would have said, “the top of the world”.  But the Internet is complex and therefore prone to expected twists and turns.  Yahoo barely exists.  They are…

Is the Internet driving us to distraction?

... and that we would spend all of our time interacting with something called the Internet, which no one really understands but nobody can live without?

May 4, 2017

My father died before the computer age really began. I was a young man during that bleak winter in 1982. Imagine my guffaws if you had told me then that within 15 years, everyone would own a personal computer vastly superior to the one they used for the moon landing, and that within 30 years, the hunky beast would shrink into a tiny device called a “smart phone”? And that…

A Smarter DI Container for C# (and Xamarin)

They got it wrong with IOC containers, but that can be fixed.

December 26, 2018
Finally, a DI Container Without The Fake “IOC” Swagger


It’s just dependency injection – that’s all, folks

Modern programmers require some means of creating new classes out of other classes that are passed as parameters, and to do so in an elegant, seamless manner. Those new instances often require caching, especially if they are services or view models. The got-to solution for this challenge has been the mis-named and…

Taking Control Of Variable Lifecycle What Happens When No One Takes Out the Garbage?

I recently wrestled with an app that simply would not behave.  The view models seemed hyperactive.  When I pressed the HOME button, and the app went to sleep, it often came back hung.  I dug and dug and could not find anything overtly wrong.  So I created an experiment to see what happens when we change pages and their view models…

The MVVM Framework Anti-Pattern

... propelled MVVM Frameworks to the forefront of Xamarin.Forms development. No one has bothered analyzing these frameworks for their alignment with C# SOLID design philosophy.

April 6, 2018
The MVVM Framework Anti-Pattern When Did A File-Naming Trick Become A Design Pattern?

Let’s face it: programmers like frameworks. A framework is a set of pre-packaged code that supports a particular functionality. The more fundamental the functionality, the more vital the framework seems to be. When the entire coding community adopts the framework, that seals the deal. This is what has propelled MVVM Frameworks to the forefront of Xamarin.Forms development.…

The Foreground Await / Async Anti-Pattern

The mis-use of async/await point to an underlying lack of awareness of C# design principles, including event-driven programming.

March 27, 2018
The Foreground Await-Async Anti-Pattern Surprising Discoveries About the Task Parallel Sequential Library

Microsoft’s C# is an amazing language. It is a powerful, conceptually brilliant high-level tool for creating applications. One unfortunate side-effect of C#’s reputation is that anything published in the language API seems like some sort of visionary insight. That certainly was the case with the confusingly named Task Parallel Library and its accompanying design pattern, await / async.