Building software that doesn't suck.
Software companies tend to not get the idea of customer service, and it is really tragic. Though I don't really have any expectations for the free-service (eg, Facebook) businesses -- although I hope their actual customers, the advertisers, do have very good support. I mean the companies that either sell their product, or services directly attached to their product. Specifically, making money directly from their software and not relying on advertisers or other sponsorship arrangements.
My inspiration for this post came about as I was struggling with setting up a somewhat complicated Puppet recipe for managing webserver deployments. I've looked at puppet a few times in the past, and gave it a quick 5 minute grasp and then went and did something more productive. Today, I decided to give it a more in depth look and actually get one server managed via puppet. This was simply because I had approximately 3 hours while I was waiting for a script to run, and didn't want to get involved in other tasks.
This is my evaluation period to determine if I'm going to actually make use of puppet. 3 hours. I don't think this is abnormal for an evaluation period.
Puppet itself was rather easy to work with and get going, except I received this obnoxious "Can't convert nil to String" message that took me far too long to solve. The problem? I had my templates in the wrong place. I released my minor frustrations with a specific complaint, specifically tagged #puppet, posted to twitter.
The response came 7 hours later, which is impressive considering it is a US holiday. However, it was remarkably disappointing:
@jshirley Feel free to log a ticket requesting more user friendly errors - http://projects.reductivelabs.com/ #puppetI want to be very clear about what I'm complaining about. I've posted a tweet that could be copy and pasted into a bug tracker. They don't know the context of my use, whether I'm evaluating it or not, but to just assume that I'm a dedicated enough user to submit a ticket is wrong.
I'm a fan of open source, but I'm also a fan of not abusing my time. I believe that if I open a ticket, I should be responsible enough to see it through. If I decide to scrap puppet, I won't do that. I also don't know how annoying their bug tracking system is. Many bug trackers are notoriously annoying just to post a simple bug.
So, what's the right solution here? Simple, the responding tweet should have instead read:
@jshirley Thanks for the feedback, I opened a ticket at [url]. You can CC yourself if you want to track it.
That would have scored points for the puppet community. Instead, I'm thinking that I won't use puppet because it seems every error message I've encountered has the same level of absurd ambiguity. If I have to request error messages that make sense (via a ticket system, no less) tells me the developers have other issues that are more important to tackle. I may be completely wrong, but that's a big red flag for me when looking at software and judging its quality.
So far my impression is that Puppet is a great idea, but if it can only deliver enigmatic error messages it is better left in the oven. It's half-baked, but has promise.
Maybe I'm wrong, if so, someone can log a ticket requesting me to take another look.
So far my impression is that Puppet is a great idea, but if it can only deliver enigmatic error messages it is better left in the oven. It's half-baked, but has promise.
Maybe I'm wrong, if so, someone can log a ticket requesting me to take another look.
Comments