Bob Ross is a creative genius. Not exactly the boldest statement, but try this next one on for size: Bob Ross can help you make better products, programs, anything you make!
Let’s back up.
I had a problem, today, involving meta tags and Amazon. See, I’m building a gift wishlist app, a micro app, to be released in the next couple weeks.
I want people to be able to write in what they want, and people can check things off the list, the list updating live on everyone’s screens as claims are made.
Ok, it’s basically a fucking todo list. You got me. But it has a few neat features which set it apart from your typical todo list.
For one, the owner will not be able to see which gifts have been purchased, unless they choose to “peek” at the buyer’s link. They get a link to share, and the buyers see a different page with bought or “claimed” items already checked off and greyed out.
Further, you’ll be able to contribute to larger gifts, if you like. For example, you can, as a buyer, claim half of a gift, 50%. Or 10%, or whatever you desire (though I’ll likely set a minimum of 10% or 1/N where n is the number of participants).
It’s like GoFundMe for birthday presents. Or Christmas, or any event where you’re buying gifts and someone might have a wish list.
Back to the problem.
I wanted people to be able to paste in an Amazon link, submit the form, and get an easily sharable list page that includes the page title, url, description, and image, whenever available in the meta tags.
Problem is, Amazon doesn’t play nicely with other apps. They don’t share data.
Now, I tried a few different approaches here. I tried fetching on the backend, I tried an iframe on the frontend, but nothing worked – they could detect me. It seemed like the idea was falling apart.
Or maybe, I just need a different approach.
I could just scrape the data if it’s available, and if not, prompt the user for the name of the present, a required field, with an optional URL and image.
See, I was getting caught up in details when I should’ve been working on the big picture. I was painting leaves on a single (happy little) tree instead of brushing broad strokes to fill the basic skeletal structure of the app.
Bob Ross teaches us that in painting, as with product development, you have to start with the foundation, the base coat, the big shapes, the big pieces that the details will fill in later on. You get more and more detailed as you go.
He also teaches us an interesting lesson about decision making. He sometimes says “let’s make a big decision” before painting something stark in contrast or something that sets the painting’s potential paths to a more limited set.
In other words, by deciding big things like that, you are, if you’ll pardon the expression, painting yourself into a corner, at least in some way. You’re limiting your future choices.
This seems to imply that decisions should be deferred, as long as is reasonable, as long as the lack of decision isn’t blocking anything.
The Tao Te Ching has a phrase for this, “wei wu wei”, or “doing not-doing”. That’s not to say inaction is a good thing, in my mind, but quite the opposite. It’s more about “going with the flow”, quite literally (the Tao, or the Way, itself is described as “the way things are” by Ursula Le Guin’s translation).
There is also a principle in the Tao of “te”, which is one of those wonderful words that represents a feeling or concept so complex, it takes a paragraph to describe. I’ve heard it described as your “essence”, the core of what you are. More than that, it’s being true to who you are, to your heart, your instinct.
I mention the concept of “te” because it goes hand-in-hand with letting things flow as they are. Like water, it takes the natural path. Te, to me, is the idea that you yourself have a natural path.
Then again, the Tao also says “those who know, don’t talk” and “those who talk, don’t know”. In this case, I couldn’t agree more – as Michael says in Stranger in a Strange Land, “I am only an egg”. I’ll shut up now.