Why are developers so obsessed with upgrades?

If it doesn't fit anywhere else, drop it in here. (not to be used as a chat/nonsense section)

Moderator: Moderator Team

alexei
Posts: 137
Joined: Wed Oct 19, 2005 5:29 pm

Why are developers so obsessed with upgrades?

Post by alexei »

It's everywhere: latest version, upgrade, new functionality, new GUI, etc.
Why? It looks like developers prefer (often/mostly questionable) innovations to improved stability and polishing existing software.
It's getting worse, upgraded software requires upgrades in operating system, installation of the additional stuff, etc.
How could you expect your software to be stable if it constantly changes and fixing old bugs is mixed with introduction of the new ones.
MS cares about profits, but developers of the free software are (I expect) making their software for fun and pride. Why are they so obseesed with innovations and updates instead of stability and quality?

vicmarcal
Test Team
Posts: 2732
Joined: Mon Jul 07, 2008 12:35 pm

Re: Why are developers so obsessed with upgrades?

Post by vicmarcal »

This is the 2-prisoners dilemma.
If commercial software keeps adding new features, the opensource one has to in order to be competitive.
Why comercial software keeps adding new features?2-prisoners dilemma again. If one company improves its software the other one must too or it will lose clients.
And so on.

hto
Developer
Posts: 2193
Joined: Sun Oct 01, 2006 3:43 pm

Post by hto »

Those users who care more about fictitious ‘innovations’, spoiled them.

vicmarcal
Test Team
Posts: 2732
Joined: Mon Jul 07, 2008 12:35 pm

Re:

Post by vicmarcal »

hto wrote:Those users who care more about fictitious ‘innovations’, spoiled them.
+1
Clients expects innovations but curiouslly they dont understand them. Windows have evolved a lot at innovation low stuff level but a normal user doesnt notice them. So those are not innovations for them. But create a button which minimizes all the windows showing the desktop(aka the bottom right button in W7) and that will be called an "innovation". This is a fictitous innovation really compared with real ones.Even more when it is just an evolution of "Show Desktop" button.

Z98
Release Engineer
Posts: 3379
Joined: Tue May 02, 2006 8:16 pm
Contact:

Re: Why are developers so obsessed with upgrades?

Post by Z98 »

"Fun" often outweighs "pride" for many developers. Debugging and fixing bugs tends to be extremely boring. It's far more interesting to try to solve a new big picture problem than try to nail down all the details of an existing implementation. The world is littered with projects (even ones with moderately large user bases) that were abandoned because the developers in question got bored and moved on. After all, they've proven they can do it and there is no major incentive to keep them interested unless people want to start paying. And "quality" is relative. If functionality that you want to work is not a high priority for the majority of the users of the software, it will get proportionally less attention and time regardless of whether it is open source or commercial. User requirements also frequently change and that drives a significant amount of updates and new development. The more a user wants to do, the more the software must do to facilitate that.

If you want examples of "stable" software you need to look at something like the space shuttle's software's development. Their requirements are very limited and also very well laid out. That is something that absolutely needs to be perfect or you risk getting people killed in very public and spectacular ways. The associated development cost is astronomically higher per line of code than the majority of commercial software and there is nothing of comparison in the open source community.

To answer your question, we programmers generally do not expect our software to be bug free. We expect it to be "stable" within set parameters, but we accept that there will be situations we did not foresee and cause the program to crash or error out. While it is embarrassing when our programs fail in stupid ways, until users are willing to shoulder the cost, in both time and money, to develop software that is solid, and sacrifice the flexibility of rapidly changing requirements, then they will only get as much quality as they are willing to pay for.

Dave3434
Posts: 323
Joined: Tue Jun 28, 2011 2:14 am

Re: Why are developers so obsessed with upgrades?

Post by Dave3434 »

i can understand how you feel windows 2000 is my most favorite operating system of all time because is rock solid and very stable i ran it for 5 years without any blue screens until the hard drive died but windows vista, 7 and now 8 is a big turn off for me. the eye candy all the added features make scream. i hate having a dumb down os that a 2 year old can understand. i just want something that works i prefer something that's been around a few years worked on, and has been proven to work right the first time. and can run on old and new hardware. take firefox for example the last version i really enjoyed using was 3.6 then they removed features i used and made it look boring and slow how sad. :(

PurpleGurl
Posts: 1788
Joined: Fri Aug 07, 2009 5:11 am
Location: USA

Re: Why are developers so obsessed with upgrades?

Post by PurpleGurl »

Part of this is public relations. Customers want whatever they perceive is the "best," even if the new features are unnecessary, make things bloated, or make it harder to use. Customers may switch products to get whatever features are all the rage.

I imagine, if someone wanted to keep their product as it is, public relations could work for a while. They could spin stagnancy as an advantage. Of course, that would have to be accompanied by other advertising strategies like authoritarian appeal, "snob" appeal, etc. They could say, "Unlike others who have to keep improving their product and providing an illusion of success, we don't have to. We have the best and if you use our product, you will agree. There is no clutter, you get just what you need, and there are no extra features to slow you down." But that will only work so far, since that would be a battle of public perceptions, and if the public paradigm changes so far, there is nothing any one company can do to stop it.

I am with Dave on this. I with to 2000 from 98, and there was quite a difference. 2000 was more robust and more stable. It had none of the Explorer resource leaks from 98, and the few times I did get program crashes, they didn't take down the whole OS. I understand that latter element is related to how HAL and GDI are connected. The only thing wrong with 2000 now is that it lacks the driver support, and support for the new hardware features. I sort of like Microsoft's older thinking, where there should be a home class OS and an enterprise class OS. The difference being that the home version has more eye candy and is dumbed down a little more. The enterprise version would be stripped of unnecessary clutter and features, and streamlined more for performance.

The biggest problem in all this as far as an OS goes is the amount of architectural diversity and the amount of old hardware people are still using. So to offer a single OS, there are so many compromises you have to make, and in some cases, you must shoot for the least common denominator. So that means including drivers and features that most users won't use. That is how it is with users too. Users are diverse, and you cannot assume anything. So you have to put all sorts of safeguards, tutorials, and so on.

Speaking of assuming things about users, a customer service guy for the Research Triangle Park office of IBM was trying to help a woman whose machine wasn't reading any of the floppies she inserted. He gave the usual instructions with no avail. In exasperation, he decided to let her walk him through what she did. She explained how she got it to boot and all. Then she said, "Next, I carefully fold the disk in half like you are supposed to do, and I insert it into the drive..." Long story short, she was putting 5.25" disks in a 3.5" drive. So you cannot assume anything.

Regarding Z98's comments, that is one advantage of open source. In my own programming days, I realized there were several breeds of programmers. There are different types of creativity too. You have inventors and originators of ideas, and you have those who are lacking there, but who know how to take existing code and build upon it. I was more in the latter group. The two types depend on each other. The first type makes a skeleton, and the other type debugs it and fills it in. So when the first type burns out, it is good to have the second type of programmer available. So open source is good for that, since you have a larger pool of programmers. Sure, quality might be lacking even then, but at least it isn't abandonware, and the more serious bugs get fixed. The weakness in open source software is typically the GUI stuff. While I don't expect eye candy, nor really want that, I like for the menus and all to be easy to use, well laid out, and not looking like it was written for MS-DOS, and I expect the program to not bail out with cryptic errors.

As for why open source isn't more popular, I know my initial observations when I first started using such software which sort of turned me off back then. I see all this incomprehensible gibberish about GNU licenses all over the place, and the stupid recursive acronyms, and and ugly/weird animal logos for things, like roosters or whatever in the installer, and the ugly and confusing installer options menu. Then the programs themselves look plain and the quality. Typically, the shareware and even sole-proprietor model works better. On occasion, you run into old school programmers who have carried their skills to Windows, and you see quality programs which are very responsive, and only kilobytes to a few megs in size. All I can say is that they love assembly language. While that is good for the hobbyist or old school hacker type, that isn't practical for most in a production environment.

I agree with Vic too. I read on Wikipedia about the differences under the hood between Windows versions, and I like what I read in a lot of cases. But those things, while they help, are not that "sexy" or glamorous, and don't catch the attention of the media and "informed" users. As for extra buttons, I see that more as common sense rather than innovations. If there is a way to simplify some of the most common operations, then that is just common sense. Minimizing all and moving tabs around should have been included a long time ago. But they are not monumental, and offer no internal improvements.

SomeGuy
Posts: 586
Joined: Mon Nov 29, 2004 9:48 am
Location: Marietta, GA

Re: Why are developers so obsessed with upgrades?

Post by SomeGuy »

It's the marketing department that is obsessed with upgrades. A good developer is more than happy to put a piece of code in to production and watch it run unchanged for 30 years.

Marketing wants you to buy new things, because that is what makes them money. And most marketers are good at making you want "new" things you don't need. The iPad is a perfect example of this, they make it seem like a cool new thing even though tablets have been around for ages and lack truckloads of functionality that laptops or even older tablets had. And in a year or two you have to replace it and give them more money. Because... newer!!

alexei
Posts: 137
Joined: Wed Oct 19, 2005 5:29 pm

Re: Why are developers so obsessed with upgrades?

Post by alexei »

Z98 wrote:"Fun" often outweighs "pride" for many developers. Debugging and fixing bugs tends to be extremely boring. It's far more interesting to try to solve a new big picture problem than try to nail down all the details of an existing implementation.
That's (to say it softly) dissapointing.
Z98 wrote:The more a user wants to do, the more the software must do to facilitate that.
Why would you target user's requests if you work for "fun"?
Z98 wrote:That is something that absolutely needs to be perfect or you risk getting people killed in very public and spectacular ways.
What about making lots of people frustrated/offended/angry?
Z98 wrote: we programmers generally do not expect our software to be bug free. We expect it to be "stable" within set parameters, but we accept that there will be situations we did not foresee and cause the program to crash or error out.
That's kind of modern school (productivitry/business-oriented) approach. In old times we considered every bug has to be fixed ASAP and at almost any cost. "Machine time" was expensive and programmers were different.

Discussion about "what users really need vs. what they are asking for" should go to another thread, but why so many posts here refer to users and competitiveness? I would state that if software is "good", users would like it, regardless of what they thought they want. BTW, Win 7 Start menu is not good (though in some respects it's advantageous, it has a lot of disadvantages as well).

My point is that elegant (both internally and interface-wise) and (almost) bug-free software doesn't need candies to get its customers and well-build stuff does not need "improvements". MS needs to sell its software again and again making people paying for basically same stuff many times. Linux community is changing stuff just for fun and out of false sense of progress...

Dave3434
Posts: 323
Joined: Tue Jun 28, 2011 2:14 am

Re: Why are developers so obsessed with upgrades?

Post by Dave3434 »

i agree with alexei about linux, ubuntu was great in 8.04 which was my first linux distro i ever used, i liked the way it performed but as soon 10.04 i begain to rethink about ubuntu then 11.04 was released let's just say i was pissed off. and now 12.04 soo slow it uses over 500mb of ram just ubuntu running and 800mb with firefox open and ubuntu kernel dev have removed non-pae kernel so now you most upgrade your hardware just to use it. how pathetic, these days you need at least a pentium 4 with 2 of ram to do the same thing you did, with a pentium 2 with 512mb of ram. :( :x

vicmarcal
Test Team
Posts: 2732
Joined: Mon Jul 07, 2008 12:35 pm

Re: Why are developers so obsessed with upgrades?

Post by vicmarcal »

Dave3434 wrote:i agree with alexei about linux, ubuntu was great in 8.04 which was my first linux distro i ever used, i liked the way it performed but as soon 10.04 i begain to rethink about ubuntu then 11.04 was released let's just say i was pissed off. and now 12.04 soo slow it uses over 500mb of ram just ubuntu running and 800mb with firefox open and ubuntu kernel dev have removed non-pae kernel so now you most upgrade your hardware just to use it. how pathetic, these days you need at least a pentium 4 with 2 of ram to do the same thing you did, with a pentium 2 with 512mb of ram. :( :x
Hardware companies pays OS ones :p

Dave3434
Posts: 323
Joined: Tue Jun 28, 2011 2:14 am

Re: Why are developers so obsessed with upgrades?

Post by Dave3434 »

Hardware companies pays OS ones :p
yeah.

Z98
Release Engineer
Posts: 3379
Joined: Tue May 02, 2006 8:16 pm
Contact:

Re: Why are developers so obsessed with upgrades?

Post by Z98 »

On the topic of volunteer open source devs, alexei, you are making a very common mistake regarding for whom they develop for. A significant portion of them are writing code to suit their needs. That someone else finds it useful is a bonus, but not the driving force behind their involvement. As such, a user that does not contribute code him or herself stands a very low chance of getting some functionality or issue they see as a priority implemented/resolved if the issue is complex or does not affect the original developer. So no, volunteer open source devs generally are not targeting user needs, they are targeting their own needs. If their own needs do not align with that of some random user, well, the user either needs to do the work him/herself or pay for the work to be done. To us programmers, programs that we write ourselves are tools that serve a specific purpose. We are generally happy to share the tool, but we are less willing to let others dictate to us what to do with the tool. If I came out with a program that I open sourced and gave away for free that others found useful that I considered "done" it would take a significant amount of motivation to get me to go back and fix what other people considered issues, since I wrote the program for myself, not for others. The limit of my philanthropy was to release it into the wild in case someone else might potentially find it useful. Beyond that, someone else's frustration with the program does not matter to me since I have no emotional or economic investment in the program after I am "done" with it.

Larger open source projects function under a slightly different dynamic, but the core still remains in that the devs are writing something that they want to use. They are unlikely to do any work that would turn the program into something that they do not like. They may be more willing to take into account the views of the users, but the ones with the final say are the ones that provide code. For example, this project has repeatedly stated that it eventually will adopt things from Vista and 7 and we have seen some rather strongly expressed (but rather poorly explained) objections to that. Are those objections going to stop us? No. Are we going to wait until we reach some mythical "zero bugs" point before shifting the target to Vista or 7 or 8? Highly unlikely, since to verify that there are no bugs would require more time than was spent getting ROS to the point where it can be declared feature complete in comparison with 2003.

There was never a time when "every bug had to be fixed asap." This "fixed asap" mentality is actually more of a contributor to bad coding practice than anything else out there. Software is complex and thinking that it can be fixed quickly only invites introducing new issues. There was a time when programs were simple and small enough that it was feasible to actually fix everything and prove it. That ended before I was even born and unless we figure out some way of automatically verifying the lack of bugs in a computationally feasible way, it's never coming back.

Shifting gears to perspectives of companies and where money is involved, regarding your claim that bug-free code will automatically win customers. Before SCO was turned into a mockery of itself, it put out an actually really robust Unix variant. It was so robust for that matter that people did not bother upgrading or buying service contracts. The company had difficulty converting new customers, especially those that relied on Unix, since by that time most companies had settled on one Unix variant as the defacto standard (most often AIX) and migrating away, even to ostensibly a more stable variant, would have been very painful with a high up front cost. Lesson here? Don't try to oversimplify software economics. "Better" does not always win and "better" is not an absolute, it is relative from person to person and group to group. Your personal needs and views are not guaranteed to extend to others.

Dave3434
Posts: 323
Joined: Tue Jun 28, 2011 2:14 am

Re: Why are developers so obsessed with upgrades?

Post by Dave3434 »

i know few people that still run windows 2000, so far i don't see any plans on upgrading any time soon some upgraded to xp pro but that's it. i use wattos r6 everyday but i do like windows 2000 still.

Dave3434
Posts: 323
Joined: Tue Jun 28, 2011 2:14 am

Re: Why are developers so obsessed with upgrades?

Post by Dave3434 »

btw i most ask why reactos is trying to be windows server 2003 why not xp pro or vista?

Post Reply

Who is online

Users browsing this forum: No registered users and 5 guests