Segfault. No one likes to see their work go down in flames as an application crashes. As a user you don't know if your work was lot, but your mode of concentration is killed and it is just a depressant.
Looking back over the years without realizing it at the time, but whenever I would encounter an application that would segfault on me I would begin to look for an alternative. The more it segfaulted on me the more I would look. Maybe I didn't loose any data, but I will not honestly know. Some examples:
Windows (1997-1999)- Not much to say here, after a year or two of this I switched over to Linux full time. Why? The great driver support? Fantastic multimedia capabilities? It was free? Well maybe that last one, but at the end of the day it didn't segfault on me.... ever.
Gaim (1999) - It segfaulted so often that I made my own instant messanger called Kaim with one of the primary "features" being that it didn't segfault. Even today it still segfaults. Kinda sad.
KDevelop (1999) - It would crash on my leaving my projects in unstable states. I quickly abandoned it and now only use the command line (the problems in kdevelop I have sense found out have long ago been fixed).
Konqueror (KDE 2.x) - Using it as a file manager it or some plugin (thumbnail?) at the time would segfault on me. I used the command line more and only recently have again started using Konqueror as a filemanager trusting it more and more ( i.e. it doesn't segfault ).
Mozilla (2000-2003?) - It crashed on me... a lot, so I didn't use it. Nuff said. (go Konqueror!)
Doing a quick poll around I have found many similar stories from other people of how they no longer use application X because it crashes.
What do these all have in common? Several key things:
1) Applications can *not* segfault if they want to keep their user base or grow. If you discover a segfault in your application it should be made a top priority to fix it. Extra effort should be made to protect against segfaults. Simple checks throughout your code to check pointers before use in function should always be done.
2) Applications that do segfault will be abandoned. Not only will they be abandoned, but users will share their distrust of that application with other users. And just as damming is that users that give up on an application are highly unlikely to go back to said application and even if they do it will be very slowly. So even if you fix your application it will be very hard to earn your users trust back.
3) There is one thing that can save applications. A slightly new look/direction and a new name. Sounds silly you say? Take a look at the browser you are probably using. If you are using Firefox, ask yourself why Firefox suddenly took off. Why didn't Mozilla have half the numbers Firefox did? It was because of word of mouth. As Mozilla was still being developed it was in an unstable state. So users that tried it out (like me) got a little sour taste and decided they didn't really want to use it. Not only that, but we then didn't tell other users about Mozilla. With Firefox they took the already heavy developed, debugged engine, *removed features* and put a new name on it... and it took off like a rocket. This time people checked out a "new" application and were blown away. Nice, clean, and it didn't crash. Because it was "new" to the user they were able to put aside their feelings about Mozilla and look at it new. And of course they then told all their friends how great it was. Yes Mozilla was great too, but only a little better then the previous version, which was only a little better then then one before it. Firefox was brand new and fantastic out of the gate.
So what does this mean for KDE?
1) We should ship releases without any open segfaults or as few segfaults as possible.
2) Rebranding can be very powerfull. If Gnome changed there name and changed to a less "ugly" default theme* (they have already changed their focus to be heavily user oriented) they could easily capture many new users simply because people would go and try it out for the "first time". Konqueror the web browser and Konqueror the File manager should be clearly separate applications and not marketed together (even if on the backend they are). You could even give them two new names. People would check them out as new applications. I know that there is some work in this direction in kdenonbeta and i think it is a good idea.
Are there any application in KDE that you no longer use because it segfaulted on you in the past?
* Personal rant here. Every gnome developer I know does not use the default gtk theme because they like something else more and yet they force the default theme upon all their users. Is that ironic? Can they really be that stupid?
Git hooks are scripts that are run by Git before or after certain commands. Because the hooks are run locally and not on the server it allo...
A little over a year ago on reddit I saw a picture of a guy sitting on the edge of a rock . Not just any rock, but a clip of a rock that je...
For the 2011 Google Ants AI Challenge rather than doing the typical solution of choosing direction for each ant based upon the shortest pa...
I recently put up a new tool on GitHub called git-hooks . This is a tool to manage project, user and global Git hooks for multiple git repo...
Depending on the definition "code review" can mean a wide variety of things such as formal code review or automated code analysis....
SSD's provide significant improvement in disk IO. How well does that translate over when using Git? A lot. After watching prices dro...
All through my programming career I have had a whiteboard, but beyond simply making sure I had one I have never thought much more about it. ...
Update: See my more recent blog post Git hooks for a more in depth look at Git hooks. The past few weeks I have started learning Git and ...
This weekend I created a little application called git achievements . Similar to the XBox360 Achievements you can unlock all sorts of Achie...
I have created a new application called KAudioCreator. It is a front-end tool for ripping and encoding CD's. I am happy to say that KAud...