I've been a zone leader with DZone since 2008, and I'm crazy about community. Every day I get to work with the best that JavaScript, HTML5, Android and iOS has to offer, creating apps that truly make at difference, as principal front-end architect at Avego. James is a DZone Zone Leader and has posted 639 posts at DZone. You can read more from them at their website. View Full User Profile

I'm a Developer. I Understand...

  • submit to reddit

As consumers we get more and more demanding, expecting features in everything we use to be perfect. But as developers, we really should be more understanding. Too often, we fail to put ourselves into other developers' shoes. No one is looking to make the consumer's life miserable, there's just some tradeoffs that need to be made. Here are a few examples: 

Like most iPhone users, I moved to iOS5 as soon as I could, and yesterday I went off and updated my iPhone. The promise of all those nice features is too much to resist. The whole download-backup-install-restore cycle took a long time. A very long time. But it worked in the end so you've got to hand it to the Apple developers. My phone is still stable, so I'll take the hit on the installation time. If I was developing the feature, I'd rather have people complaining about installation time than tech support queries about bricked iPhones! 

One of the features I was looking forward to was location-based reminders, but I've since found that they don't work on my 3GS, but only on iPhone 4/4S. Disappointment, but then I have old hardware, and according to forums that I've looked though the iPhone4 GPS unit takes up less battery. So, you have to look at the bright side - there was a trade off of providing the feature or maintaining a reasonable battery life. Sure, they could have put in an option, where you could make the choice. But is it worth the development cost? The testing? I don't think so. If I was writing software, and had to think about supporting back three generations, I'd make the assumption that most customers would rather the latest hardware too. 

While we're on the topic of high expectations, it's worth talking about what we expect of open source software. This is one area that developers should not just complain about. The processes are open and the source is there to go and make the change that improves the software. For years I've been seeing people complain about Eclipse (as an IDE or the frameworks). Don't forget that you get the IDE for free - you pay nothing. Rather than bash the technology, just get on board and help. Or at the very least, consider what you could have done better if it was you who was developing it. 

The Eclipse community has some great examples of people who've seen deficiencies and made improvements, or provided alternatives. Graphical editor development projects were dominated by GEF and GMF in the past.  However, GMF has a steep learning curve, and ends up being suitable for some, but not all graphical editors. This prompted the contribution of a new approach for graphical editors, build on GEF, called Graphiti.

What I want to say here is, you're a developer, you know how difficult it can be to get everything right. Be tolerant of products, frameworks and tools. There's developers on the other side too! 



Matt Young replied on Fri, 2011/10/14 - 12:42pm

I think you should re-title this article. Any of the following would have been more appropriate.
"I'm an Apple fanboi, you have to understand"
"Don't criticize Apple, they're doing the best they can."
"I like to make non-sense comparisons between products provided for free for development use and products that cost hundreds of dollars per installation, targeted for regular day-to-day consumer use"
"Customers VS Community, can't we all just along?"

I personally have never used an iphone. I don't know what process you are talking about. But it hurts our industry to have the most knowledgeable sector of the consumer population make excuses for a process that could/should be better. I agree that, as developers, our understandings and responsibilities are different than normal users but they are different in that we should be able to demand better not excuse worse. Your eclipse reference is perfect. That was a scenario where the process was made better by developers not simply excused away as a good-enough. If the process on the iphone is deficient than it is the height of arrogance for Apple to have Both a closed source product AND to expect understanding in deficiencies. If you want understanding, make it open source and take the best ideas from wherever you can get em. My dad used to say it best, "Don't p!ss on my leg and tell me I should be thankful for the rain".

Walter Bogaardt replied on Tue, 2011/10/18 - 6:30pm

I think given the time between market cycles developers have had enough time to make the product. Each user is very unique, what works for one user does not work for another. Case in point Windows vs Apple vs Linux wars, Browser wars, Iphone vs Android wars. Each user group has their own demands and there is no silver bullet. Going back to having enough time between product cycles. Look at how long it is between Windows 95 to Vista. We are looking at about 2-3 years between new product release. Apple products nearly the same. Sure they could "perfect" the product but then wouldn't it be obsolete by the time they release it? Bill gates and Steve Balmer saw that when they initially started selling PD-11's and Woz and Jobs showed up with the Apple computer at the same convention.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.