bundle install black_friday_deals

State the problem not the solution

By Adrian Marin

- January 19, 2024
Photo by Sigmund on Unsplash

We've had a request come in from a customer on our Discord chat to style their soft-deleted records differently than the regular ones.

Their first idea was to add a new option to Avo to enable that. They even tried to monkey-patch our code to achieve that.
It's a "fair" strategy, we're not judging.

Our impression was to add a new option too, but in the end we found a better solution. Something that doesn't involve monke-patching or us adding new code to the framework.
New code that we should maintain in the future and bring on more and more requests.

Solution

The solution came to me a little while after the request came over, and it's so simple!

I think there's a lesson or two to be learned from this.

1. State the problem not the solution

Instead of suggesting a solution to the problem, you should state the problem and the thing that you're trying to do/fix. That might give us the "space" to find the most appropriate solution to the problem.

When you come with a solution, our brains automatically try to validate that solution and feel "trapped" in that box of thinking.

2. Give it some time

Give us and yourself a bit of time to think about things. Our brains subconciously think about solutions while we do other tasks.

I have the greatest ideas while I do the dishes. I don't even think about them but they pop out.

3. Framework authors have elegant solutions

Us, as the framework authors may think about elegant solutions to your (Avo) problems. We know all the ins and outs of the framework and might see different angles to the problem.

PS

Oh, and if you're wondering what the solution to the problem was, check out this guide.

Build your next rails app 10x faster with Avo

Avo dashboard showcasing data visualizations through area charts, scatterplot, bar chart, pie charts, custom cards, and others.

Find out how Avo can help you build admin experiences with Rails faster, easier and better.