“Complain about the way other people make software by making software.”

I keep wanting to tweet that, but I feel like it's too big of an idea to stuff in a tweet without explanation. It should be unpacked because not everyone can make software, and not everyone works somewhere that they can contribute to good software. Plus, it is complaining about people complaining and meta-complaints never seem to work on Twitter.

But I do feel that many people who take shots at products (some they don't even pay for) are overly critical of them with no goal of providing their readers or friends with a constructive perspective.

Worse is when the people doing the complaining also make software or web sites or iPhone applications themselves. As visible leaders of the web, I think there are a lot of folks who could do a favor to younger, less experienced people by setting an example of critiquing to raise up rather than critiquing to tear down.

If you're a well known web or app developer who complains a lot on Twitter about other people's projects, I am very likely talking about you. You and I both know that there are many reasons why something works a certain way or why something in the backend would affect the way something works on the front-end.

I love reading the changelogs for apps I use. On my iPhone I read each update before upgrading, excited to see where the developers are spending their time. From libraries I rely on I use changelogs to figure out where the library is going and if the engineers still have their hearts in it.

I love making software. I feel like it's my way to state what I believe is a good way of doing things. When we didn't do infinite scrolling on MLKSHK it was because we wanted to say "We don't think that's an experience that's needed for viewing images and engaging with others—it's a way to quickly scan." We have very little AJAX except where it serves to keep the user from navigating away from a page. We love to think about these things. It's fun.

Because of this I feel a lot of empathy for other teams that end up as punching bags on Twitter due to rough edges on their products or missing features that "would just be so easy to add". While I don't want to make excuses for real, poorly run and developed products, or dysfunctional teams or teams with sales and marketing with their fingers in the product, I just don't see how complaining in 140 characters can solve anything.

I think making the right choices when you face them is the best way to say how things should be done. Having empathy for people doing what you are doing is as important as having empathy for your own users.

I'm the co-founder of MLKSHK an image and video sharing site I started with my wife. Sign up for the waitlist we'll let you know when we're ready to add more users.