When Small Platforms Get Big, Big Egos Need to Get Small
File this under indie business + squishy-stuff that asbergers syndrome tending geeks suck at…
[Update: I am going to be placing any blogged responses specifically to this piece, and well as this topic in general here; the more conversation the better! We need to find ways to help each other write better apps and offer critiques and professional criticism that doesn't devolve into personally hurtful attacks. If we want to see that kind of stuff we can just turn on CSPAN, or Fox News (<-- Oh, the irony! ) ....
0) Jeff LaMarche on Marcus Zarra's CIMG post: http://iphonedevelopment.blogspot.com/2011/06/on-being-excellent-to-each-other.html
1) Jonathan Wight on app criticism, constructive & otherwise, in the iOS dev community: http://toxicsoftware.com/calling-a-turd-a-turd/
Here at MacIndie we extoll the virtues of the historical & on-going generosity and camaraderie that have made a traditionally underdog system one of the coolest platforms to work on. All we do here is talk about how Mac and iOS devs keep releasing professional bits of code and tools that help other developers — even our own potential competitors — make better products faster, learn how to start, grow and better market their services and products. It’s a lot of fun – we get to be very pollyanna about all the goodness that this community provides and so far we think we’ve been spot-on in our unicorns, sparkles and rainbows postings…
Today however, a very serious blog post is generating a lot of reflexive defensiveness in our community. Marcus Zarra, who is no slouch in either the MacOSX (desktop) or iOS development communities, being the author of books on pretty deep topics like CoreData and CoreAnimation, and co-author of a blog we have talked about several time here and every aspiring developer should read — Cocoa is My Girlfriend — penned a piece today about what he sees as some seriously unwarranted and unprofessional character assassination going on. His post talks about the new trend/sport of app-bashing – including, specifically, about an app his team worked on, TheDaily, for News Corp. Marcus laments the fact that some pretty influential observers and developers in the iOS/Mac scene seem to think nothing of tearing down other people’s work without really knowing the business decisions or design tradeoffs that went into the formulation and execution of the products they’re tearing down.
He’s got a real point, yet the responses seen so far from some of those same high-profile folks is very defensive when it should be a face-palming, mea-culpa rendering, oh-jeeze-what-was-I-thinking moment.
This sideline snark in our little community is more often than not turning into downright disrespect for the time and efforts of others. That’s really a bummer. It’s a bummer because it’s so out of character from what has been the norm for so long among Apple devs…
We’ve said here before that one of the things that makes this community so cool is the fact the not only are people generous with their code, giving away amazing tools and even whole systems that save developers hundreds of hours of dev’ time, but they’re generous with their time too. Beyond speaking at conferences, people write extensive blogs, and spend their own free time answering questions on mailing lists, and even help newbies and experienced hands alike solve technical problems at all levels. No one really has the time to do this, right? I mean, seriously, we all have livings to make, families who have a right to make demands on our non-work time … you know.. other stuff to do. Real life. And yet people in the OSX/iOS community keep. on. giving. Saints? Masochists? Both?
There’s a very bright line between constructive criticism and ad-homenim attacks. The hyper-critical attacks on the app that Marcus worked on were easy to pull off, because until very recently, no one knew that the app team was in fact headed up by one of the best known devs in the Apple developer community… the app was easy to attack because it was an app for a news organization that a lot of people see as rapacious — not the result of the collective work of your developer peers. But, you know what? Even if it wasn’t work done by a well-known developer, there are some rules and facts about software development that everyone should bear in mind:
Software engineering — programming — is really fucking hard work. Whether you’re at Google, indexing the entire internet, or developing real-time control systems for the next Boeing or Airbus jetliner .. or writing your first indie MacOSX, iOS or Android app — it’s hard work. Of course hard work can also fun, exhilarating, challenging, etc but it’s still hard work . People pour themselves into their software. Software is imperfect, the people who write it are imperfect. We all are doing the best we can with the knowledge and tools we have available at any given time. If you think you can do better – go ahead and do better: that’s what capitalism is all about, but don’t beat the stuffing out of someone for making the attempt.
It’s easy to tear down; it’s hard to build up. If you think someone did a less than stellar job on a product – take an hour, a day or even longer to think about the big picture: Do you know what went into the design and development of the thing you want to lambaste? If you feel strongly that some app is could have been done better, why not offer to help the developer improve it. Some of the very people who have been bashing apps make very large contributions to lots of open source projects. Why stop there? Oh, right, you might learn that there was more going on there than you could see from the surface, or you might just help someone else improve their app, which takes more effort than snarking from the sidelines…
People come to software from all sorts of disciplines. Despite what you may think, not every one of the best programmers in the world has studied computer science. In fact some of the best app designers/programmers started out doing very different things and are self taught. Your MS or PhD in CS might let you get past the Google/Facebook/Twitter/<wherever> interview gauntlet, but it doesn’t mean you can write software other people will like. Some guy who studied film & economics and taught himself to code might just be a more intuitive programmer than you and may write more beautiful software than you ever will. Programming is an art, not a science: Don’t be too quick to judge other people’s skills based on your limited knowledge of them or their software.
Good software evolves and is more than finding an efficient algorithm. Especially on the MacOSX and iOS platforms, algorithmic efficiency is good, but a great experience is better. But like in war, where the battle plan gets thrown away once the bullets start flying, the best attempts at a great user experience are often challenged by the reality of how people use software. A UI element may work well in test but not scale when its back-end support systems are stressed to internet scale. Life happens, and if our software doesn’t work the way we envisioned when we first release it, we learn from the experience and try again. The perfect is the enemy of the good, and there’s always a chance to do it better in version 1.1.
With the buzz around the Mac and iOS platform and all that revolves around app store releases, marketing campaigns, the tech-media spin cycle of inside-baseball announcements and intrigue and all of the other noise in our little universe, its hard to remember sometimes that real people make all this happen.
There’s lots of room for all of our apps: the creative revolution in software has barely begun. This week at WWDC we’re going to see the next generation of tools and facilities that will take us in directions we haven’t yet thought of. We need be respectful of everyone’s effort and the time they invest, and be thoughtful in our criticisms of other developer’s efforts.
Here are a few maxims I try to live by:
“Treat people in a way such that you would be someone you would look up to…”
“Don’t criticize a man unless you’ve walked a mile in his shoes”
“Don’t speak unless you can improve upon the silence”
“It’s easy to sound like a wise man – just think of something stupid to say …and don’t say it.”
At the end of the day it’s easy to tear someone else’s work apart… but is that something you want to be known for? I’ll bet not.