Stacks ↓

FF06 prototype: Refractor

Exploring the next FFL prototype.
There are a lot of columns in this table.
Prototype is running with live data (mostly). I am thinking about data structure.
Thinking about color scales.
Took a few steps back to hopefully lay a better foundation. Now using react virtualized for snappier table performance. Think I've finally got enough of a handle back to get back to styling.
Experimenting with sorting by (fake) weights.
Working on the customer data for the interpretability prototype, now with live/real weights.
Customer view starting to work a little bit. This shows the weights and values that come back after adjusting the properties.
Had to refactor a bit to get a sensible system for loading weights asynchronously. I'm still not sure it is really sensible, but it works.
More iteration on the customer view, now running with the cleaned up data structure. It works, think I am going to change direction for a bit, though.
Starting a slightly new direction on the interpretability prototype.
Alternate view a little more fleshed out. Not certain if it works or not. Still promising, I think. Will move back to customer view.
Sorting layout on the customer view.
Checkbox to turn on and off adjusted value in the customer view of the interpretability prototype.
History exists for the interpretability prototype.
Seeing what sticks in the interpretability prototype.
Returning to a cleaned up horizontal layout.
Adding the d3 dot graph.
History scrub is working, still more to figure out though.
Trying a more card-like view for the churn prototype.
Experiment with an analysis process.
Batch analysis (refactor) of the individual customer analysis from yesterday.
Two panes working. Now what.
Trying out some action prompts on the churn prototype.
Playing with an abstract representation of all features.
This isn't really working. But I had to try.
Pulling back from trying to layer the weighted features on top of the churn probability. But right now feeling OK about this set-up. Where the churn probability follows a color scale from red to blue (hcl space) and the weights follow a diverging scale from white to blue and white to red.
Trying to pull the design together. Cautiously optimistic.
Slightly simplified view with ribbon.
Rethinking...
Reshaping the prototype to a narrower focus on the top churn factors.
New customer list view styling.
Experiments in hierarchy.
Buttons are back.
Table view coming back with the new color scheme.
Table view relatively cleaned up for churn explainer prototype.
Refactoring churn explainer.
Churn explainer now refactored. Working on putting the history scrub interaction in.
Bringing back a bit of the old layout for the individual customer view. Trying to get everything on the screen AND have a clear hierarchy. Not there yet.
Closing in on the front-end interface for Churn Explainer.
Table view of churn explainer is now (once again) sortable by weight per feature.
More adjustments to the individual view for the churn explainer prototype.
Experimenting with 'analyze' animations for customer rows in the churn explainer prototype.
More individual cell behavior for the analyze animation.
A more literal simulation of what LIME does, as an experiment for the loading animation. Too confusing. The most literal would be to just perturb one item in a column at a time. But that seems like it would be a little slow and pedantic. I'm going to go back to color experiments, which are less literal but I think will have the right feeling.
Got the waterfall going. The analyzing animation has the colors shifting at random. I think I'm going to need to go back to a horizontal waterfall for them to feel good.
Zeroing on the analyzing indicators. A bunch of previously dead-ended approaches (loading gif, analyzing label, color from churn probability) together.
Returning to the interpretability prototype and starting on the explanation.
Always fun how experiments like the cat-feeding game end up bleeding into work projects. This walkthrough of the interpretability prototype is using some of the state handling tricks I learned from messing around with the game.
Walkthrough flow is getting there. Global state makes it pretty easy, although the code for things like the active column border is getting a little messy.
Taking some time to polish up the prototype ahead of its release to clients next week.
More polishing of the customer view. Almost everything is functional now!
Finishing up means making a settings page.
Generating a favicon.
Time to write some info.