Earlier, amidst many other tweets about a new css preprocessor, Myth, I tweeted "Avoid snake oil, people. It takes more than a pretty website and a good marketing message. You have to actually deliver code that works." to which @necolas replied "assume your peers have good intentions".
Absolutely. This is sound life advice. I endeavor to do this and the message I wanted to convey to everyone today could have been conveyed without resorting to using such negative phrases as "snake oil". So to the guys at Segment.io and especially to Ian Storm Taylor, I'd like to say I'm sorry. I was frustrated, but that doesn't excuse that tweet.
I'd like to talk briefly about why I was so frustrated.
Even people with great intentions can still do harm. Recently a nice guy decided he would give away a thousand dollars by "making it rain" dollars at a mall. He wanted to cheer up some people by giving them some money during the holidays. Despite his best intentions, he caused a public safety issue and he was arrested. Maybe some people think he shouldn't have been arrested; he was just trying to be nice. And, fortunately, no one got hurt, but people very easily could have gotten hurt and what he did was absolutely irresponsible.
Believe it or not, after reading the Myth website, like everyone else, I was excited! These are hard problems that I haven't figured out how to solve after much thought on the matter. I was skeptical, but hopeful to find an open source project that moved the web forward by making new standards easily accessible in the here and now.
So, I set out to discover how it worked. I invested my time in learning about it. As I researched, I realized that what I was looking at was not something that matched the description. I expected to find a CSS polyfill that implemented the new CSS specs. So I gave it some basic use cases and it didn't just not handle them, it turned my code from something that would work in the next firefox, into code that was broken in every browser. I didn't get a warning, I didn't get an error. I just got broken output. Over the course of 30 minutes, I went from "WOW" to "WTF, this isn't software most people should use yet".
Did the segment.io guys make these claims out of malice or an intent to mislead? No. But that doesn't mean that they weren't irresponsible. This is an amazing claim:
It's the sort of thing that gets the internet very excited. I get that making a home page is a delicate balance of explaining the vision of a project without clouding the pitch with too many details. I suspect that in the zeal to release the software they are very excited about, these words were picked because they matched the vision of the project and that they weren't willfully misleading anyone. But this is a case where, I feel, people were told the project would do things that it simply never will. This was admitted on twitter and the website's pitch has been updated to be more factual, though I'm skeptical whether people will know that the "syntax from the spec" and the spec itself are somehow different.
Why do we make development tools and release them for free? There are lots of motivations, but ultimately, we do it to save people time. We want people to have a pleasurable development experience and to make their life better. I can totally get behind this. But in our rush to help others we must not lose sight that in our attempt to make a project that saves people time, we will also waste people's time. Every person who evaluates your project and decides if it works for them is giving you the respect to consider your project. In exchange, we who release software have a responsibility to clearly convey whether our project will meet their needs and, in doing so, respect their valuable time. The people who download your project without bothering to read the fine print, will spend a lot of time learning the hard way that the project doesn't meet their needs. They could have learned that in 5 minutes, but instead, maybe it took hours.
And so, in the midst of the hype on twitter and hacker news, seeing what I deemed to be an irresponsible software launch, I was doing what I could to help people educate people of the reality. In my own zeal, I said things I regret. For that I am sorry.