Machine Learning + Mobile: No One’s an Expert, Yet

Part One: RICI Principle: A Learning Process Applied on

As a software engineer, I am often learning new concepts, new languages, new frameworks, new design patterns, new…well, you get the idea. Applying these new concepts makes writing code a constant experiment in whatever new idea has caught my attention. Code I wrote 6 months ago might look very different were I to write it again today.

Through experimentation I get to validate or invalidate new concepts and learn where and when to apply them. Then I start again, layering in the next, new concept. From this perpetual learn→apply→(in)validate cycle a personal axiom has emerged, something I call the RICI Principle.

The RICI Principle is about the process of learning. There are several similar concepts out there, like one I found for learning how to improvise jazz. RICI (pronounced “Ricky”) just happens to be mine and stands for Recognize, Imitate, Comprehend, Innovate. In this article, I’ll break down each concept and in the rest of this series I’ll show you how Quickstart helps you move through the process with purpose.


The first step in the process of learning, Recognize is necessary for classifying the components of what you’re learning. This is often the simplest of the concepts to apply. Let’s pretend you are turning five today and you’ve just gotten your first LEGO set. Now, you’ve been playing with the larger DUPLO blocks for the last few years and while those allow some customization, many of the pieces are specific objects that interact in predetermined ways.

Basic Duplo Set

However, the picture on the front of the LEGO box is almost wholly built from generic pieces that can go together in myriad ways and it’s hard to determine exactly how they fit together. Thankfully, there are instructions in the box and you just have to make what you build look like what’s in each step of the instructions. The time it takes to recognize each of the individual pieces, including color and specific configuration is key to successfully completing the set.

Near endless possible configurations


The next step in RICI, Imitate, bridges the gap between recognition and comprehension. During this phase, it’s more important that you execute each step, even if you don’t fully understand the reason behind the placement of each piece. Follow exactly the pictorial instructions and you’ll end up with the spaceship, castle or amusement park that is shown on the box.

One of my first (and favorite) laRRRRge sets

Building the muscle memory of interacting with each piece is a key benefit of imitation. Common patterns and ideal configurations are emergent as well as those to avoid. For example, you learn not to connect two heavier portions of what you’re building by a single overlapping row and that you’ll never get those two 2x2 flat pieces apart, ever again. This understanding leads to quicker, improved future builds.

Make your legos look like the instructions


Continuing the LEGO analogy, once you’ve put together the prescribed object, there are often alternate configurations provided that you can attempt. Making these alternatives requires you to Comprehend how each part fits together at a fundamental level, usually after having seen many common compositions.

To Comprehend a thing is quite a bit stronger than just understanding it. It could be said that you understood the LEGO instructions when completing the provided instruction, but you need to comprehend what is not seen and the purpose of specific configurations to be able to complete one of the alternative patterns provided. Having this deeper understanding gives you the power to know when and how to break the rules.

Additional configurations pictured, but provided without detailed instructions, require comprehension


With actual comprehension comes the ability to make something more than what is shown or even what is suggested, to Innovate. There is no prescription here, which is the point. Where you go from here is up to you and built on a foundation of repetition and experience.

One important note is that this process is a continuous loop. RICI can be applied to each concept, large and small alike. For instance, you might be able to create something new and simple from base concepts, but something more complex and creative may be beyond you, for now. As long as you apply the RICI Principle you’ll be making progress towards a creative leap.

Comprehension is cornerstone of innovation


Now that you know what the RICI Principle is, let me tell you how Quickstart and RICI fit together and how they can help you provide business value by getting Machine Learning into your products. Quickstart is a fast track to getting a basic machine learning model up and running on an iOS device based on some pre-baked data. The point is to skip the Recognize phase by Imitating a full working ML pipeline. By skipping ahead, we’re able to short circuit Comprehension in order to achieve a small Innovation in the form of an app that performs a task Machine Learning does well. The next article in this series will go into detail with a real example from

Of course, you can’t avoid RICI forever. In order to move beyond the basic Quickstart solutions, you need to be able to Recognize which ML models work with the problem you’re trying to solve. The internet can help answer this question and it’s okay to Imitate what others have done in your given field. In fact, we’ve found that there is little true innovation when it comes to applying machine learning to real world problems. Many of the tried-and-true modeling methods work well enough to provide the right balance of business value to cost.

Once you’ve picked out the right ML model, you’ll inevitably want to be able to tweak things in order to fit your specific use case and increase accuracy (whatever that might mean for your use case). Eventually, after reading a few good articles and modifying features or input to get the results you want, you will glean some insight into what the model is actually doing under the covers. Once you Comprehend what the many dials do, you can create a more nuanced model that may provide an Innovative take on your problem.

Combining something well-known with your innovative twist can lead to incredible things