Tools. Chisels. Bar Graphs. Zuckerbergs. Rabbits. Ceilings.

Long time - no blog. What has it been, 5 years? 7 years? Crazy.

What's happened in that time? A lot. Moved out to the West Coast, had the great fortune to work for Facebook for almost 5 years - as well as a fascinating stint at Tesla. Learned a lot. Reflected on a lot. Took a break. Got older. Maybe wiser.

No more corporate behemoths. These days I'm mainly doing Data Eng & Data UI consulting work remotely - but still my career obsession remains the same.

Data tools. Not just any old tools, but tools that aid in the understanding or visual explanation of information. Tools for creating data-rich visual explanations and seeing what is yet to be explained.

Building Tools. Creative Tools.

Back when I was an active part of the Tableau Community (2010-15. Including a few years as a "Zen Master") I remember being marveled how it quickly had become a "cool thing" to  create stories and visual data narratives to share ("creative dashboarding").

Tableau conference keynote - 2014. I know, right? Fancy.

Previously I had lazily relegated that kind of thing to fairly dry 'Business Intelligence' work (which I had already been doing on and off for almost 10 years at that point)- which is a shame. After all, growing up I had always been far more interested in art and music than business or widgets.

Some of my Tableau-back-in-the-day-stuff. 2010-2013 or so.

There was some magic there in those days, at least for me.

Taking it to a place where you felt like you were making communicative art - was something that really appealed to me - and was a great fit for my already solid career as a data engineer. Doesn't matter if it is a "Bigfoot Sighting Analysis Dashboard" or an intricate "Executive Scorecard" for a C-Level.

It was one of those rare moments where I realized I was able to take 2 different talents - art and data-sense - and consciously compose them together into something much more powerful than each alone (what Scott Adams likes to call a "Talent Stack"). Not only did they compound each other - they gave what I did a heightened sense of meaning and enjoyment.

Boost in enjoyment leads to a boost in output - rapid acceleration of my career and, hence - eventually the move to SF, Zuck, Elon, etc. This is coming from someone with no college degree, from a small upstate NY town, and who wasn't really expected to amount to much of anything.

This isn't a coincidence.
It's not really about luck either.

But back to my point about tools.

That magic - when I finally understood I was now able to build things that previously would have taken too long to warrant the effort. And it wasn't just that it was quick - but I was also able to do more than I would have. The "creative ceiling" of my output had been raised from the PHP + jQuery level to something more akin to Photoshop. An order of magnitude or more.

In some very real way - it was like finally finding the square peg for the square hole, instead of having to smash the round one in, cover the gaps, and hope no one notices.

Tools. Good tools are shaped to fit our hands. They are not shaped to fit the hands that we wish we had, but our real working hands - flaws, weaknesses and all.

Lets abstract upstream and do a little thought experiment.

What separates a run-of-the-mill chisel from a master craftsman's chisel?

Comfort? Ease of use? Quality materials? Sharpness?

Possibly. Maybe some of these, maybe all of them, or maybe none.

These would be decent answers, but all miss the point. They are merely helpful contributors to the real value of a tool - which is the artifact, the output. Judged on that basis, I would not hesitate to say that the master craftsman's chisels would actually be prized for the expressiveness that the craftsman can achieve with them. Each small movement, each increase or decrease in pressure, each muscle-memory dig - he or she knows exactly what the outcome should be and can correct course accordingly.

In this they are much more likely to achieve the vision they held for that particular work. Both in terms of higher-quality as well as consistency. The mental model is much closer to the physical model. This is huge.

Ergonomic expressiveness is control and creativity rolled into one.

2018/19 prototype - entirely flow-based. Awesome, but not entirely practical for the types of artifacts I want users to produce. High cognitive cost. Also, purple.

Expressiveness & Control

They're the real "magic tool" vectors.

It can be somewhat subjective and a moving target for sure - but for those whose hands fit the contoured edges of the right tools opinionated and articulated surfaces... it's like sitting Stevie Wonder down at a piano.

Given the right environment some people can just play.

2018/19 Prototype again - when the reach for expressiveness outspends the users complexity budget. Lesson Learned. A complex mess. A beautiful mess though. Also purple.

Easing out of metaphor and back into reality.

My area of expertise is data and the visual representation of data. I want to build creative data tools that output more with less input, are ergonomic to the practical tasks at hand, and allow as much unbounded expression as possible, even at the cost of some ease - the "creative ceiling".

Keep in mind this doesn't mean an "easy to use" tool, necessarily - but one that is uniquely crafted to be as formidable as possible for the task at hand, both for a beginner as well as a master.

Actual notebook scratchpads from one of my many piles. Always iterating on interface ideas.

Straight outta Menlo.

In 2014-15 I had built a prototype data UI tool while at Facebook. Trying to solve some tool chain issues that I saw in our organization (which at the time, was central Business Intelligence) - people liked it - and eventually I was granted a budget to build a dedicated team to fully realize it. Truly humbled.

We worked on it for 2 long years - and it wasn't without its challenges, some of which were very non-obvious to me at the start.  You would be very surprised how much of a gap there is between what a "data person" (knowledge worker, application engineer, analyst) and a "software engineer" think in regards to what makes a data tool powerful and good - not to mention humane to use.

To make a very long story short - after achieving a good measure of success it was absorbed into another team (massive organizational changes tend to do that). At that point, I was already halfway out the door. However, I never stopped thinking about that set of problems.

My great white whale, so to speak.

Since then, I've iterated on this same rough concept a number of times. I've expanded on it and evolved it to what I am now calling Data Rabbit. What I'm doing has very little resemblance to the original - but then again, thinking about a problem repeatedly over 4 years or so will do that to you.

Another interesting thing about iterating on an idea over and over - is that you tend to get really good at distilling down "what is important" over time. It doesn't drift, it doesn't ebb and flow - but more like... crystallizes into the bare minerals that make the idea work. There comes a point where cake decorating slowly becomes less important than solid baking.

I'm going to use this space to publish my notes, musings and artifacts on this (huge and wide open) category of tools - and hopefully at the end of the month - I'll have an alpha version released here. Consider these more long form musings to be the basis of a "Data Rabbit Manifesto" of sorts to be compiled at a later time.

No goofy elevator pitch - here are the 5 core ideas I've tried to hold on to in each iteration of the design:

  • A data-centric way to build data-centric applications for the workplace (complex biz dashboards with many interactions) as well as tech creatives (data viz wizards and other builders).
  • Don't hide or abstract away complexity. Embrace it. When at all possible - make it understandable instead. Learning > Sheltering.
  • Eschew fancy / difficult to iterate on UI models (drag and drop everything, etc) for more fast, functional, and "two-handed" ones (50% keyboard and 50% mouse use, not a 90% mouse interface). Simple Made Easy meets Move Fast & Break Things.
  • Close enough to the "metal" (code) to be flexible and fast - but far enough away to focus on the building of the THING instead rather than the incidental complexity surrounding the building of the thing (in this case - Flexbox, React, Redux, Controllers, etc).
  • Finally - as high of a "creative ceiling" as the interface's mental model can afford (fosters data art, experiments, learning). A tool that is by design "hackable" can be used to create things that its creator cannot have fathomed.

Also, in recent years I've also switched to Clojure and Clojurescript for all development. Again, it's a case of the physical model being closer to my mental model (my personal "creative ceiling" during development, I suppose), much more on CLJS matters soon.

All this will be expanded upon. You don't go years working on a problem without a lot of thinking, writing, drawing, and prototyping to show for it. It also feels good to be writing again.

The purple album. So purple you can't stand it.



August 2020 is the month of the Rabbit for me - hell, maybe I can convince you along the way. But even if you never end up trying it - like a Bret Victor demo passing through your mind like a fever dream, sometimes the propagation of the ideas is the most important thing we can strive for.