VPZtms Part 5. Appendix A: Choosing Software Tools
All of the tools I listed in the “Compendium of Tools” section are either free, have a free version, or come built-in to OS X (excluding TextPander, which was just recently made a paid product). This tendency towards free software is a side-effect of the way I select tools.
Definition of Good Software
When selecting software tools, I want to assure the following:
The software will continue to be available and actively developed.
The software will be stable and free from memory leaks and other performance flaws.
The software will be of high quality and avoid common design problems like poor OS integration and feature bloat.
Choosing Good Software
To increase the likelihood that the software I select satisfies the above conditions, I look for software in the following order:
Stage 1. Built-in to OS X
Stage 2. Open Source Software
Stage 3. Free Software or Free Versions of Paid Software
Stage 4. Shareware and Commercial Software
I suggest only moving up a stage when you have already outgrown the current stage. For example, I still use Terminal.app, despite the fact that iTerm has tabs (and I love tabs), because I don’t use enough terminal windows at once to really need tabs. I also used iChat over Adium X up until I actually needed MSN support, even though I knew in advance that one day I might need that feature.
The idea is that the lower you stay on these stages, the more your computing environment will be stable, of high quality and in continued development.
Finally, these rules are made to be broken. They are just guidelines.
I don’t follow at all why you think that following this approach ensures stability and the likelihood of continued development. Seems more like wishful thinking than reality. The series was going well up to this point.
Hi Mark,
Thank you for bringing up your doubts. In order to keep the above post concise, I chose not to list the reasons that I thought this was true. I had misgivings about that, so I am glad I have the opportunity to list the reasons now.
For software to be stable, of high-quality and in continued development, it needs to have the following:
The software needs a large user-base
The more people who use the software, the more throughly it gets tested. This means throwing all kinds of strange data at it, running it on heavily customized systems, and in general using it in ways the developer never imagined.
I think it is self-explanatory why the order above matches the order of software that gets used the most often (everybody has the software built-in to the operating system, and free software is downloaded and used more often than paid software).
The software needs a community
No single developers can come up with all of the suggestions that thousands of users can. The best software usually has a community surrounding it, most often in the form of an online forum. This lets users make suggestions, bring up bugs, and develop ideas with other users.
Communities are part of the DNA of open source software. Resources are often given to open source projects that make building a community as easy as possible. Cocoaforge for example, hosts forums for some of the best, and freest, OS X software.
Apple also provides discussion forums, and since free applications (or free versions of paid applications) have a larger user base than paid applications, it means communities is more likely to form around those as well.
The software needs development resources
Resources can mean either a profitable company or developers willing to give time to a project. (I should point out that many commercial companies do not do a good job, despite their resources, probably for reasons related to Brooks’ Law). Many independent software developers miss out here.
But, like I said, these are just guidelines. There are exceptions to all of these rules. Most extraordinary are the independent developers who create great software with minimal resources.
The reason I wrote this post is that I had a tendency to over-customize my system to get features I wanted. But I sacrificed stability, high quality, and assurance of continued development in order to get those features. Now I stick with the features I need and my system performance is better because of it.
Also, I could have avoided some less than great software purchases in the past if I had been more systematic about identifying quality software.
-Roben
I see where you are coming from, but I dispute the actual truth of it. It makes sense, perhaps it ought to be true, but I don’t think that it is, at least on OS X (it may be very different in Linux land). Several “built-in” apps are notoriously unstable and built-in apps also get dropped. It seems to me, that the best “app communities” revolve around small commercial software companies (Omni Group, Bare Bones, Macromates, Panic, Flying Meat). I appreciate your goals, but I think your associations are amiss.
Hello again Mark,
You said that ’several “built-in” apps are notoriously unstable.’ This hasn’t been my experience. What are some examples?
Here are some of my experiences:
Apple Mail is more stable than PowerMail (which had poor SSL support) and ThunderBird (which actually lost messages). MailSmith development is slow.
Safari is very solid but Firefox had all kinds of ridiculous bugs on OS X for a long time. It seems to be doing better now but still no support for services.
Terminal.app is faster than iTerm.
Dashboard is a better implementation than Konfabulator (Relevant information is in the “Look Under the Hood” section. I’ll note that I disagree with Daring’s argument about Dashboard not being a copy of Konfabulator. I believe it is a copy).
Regarding the independent developers that you listed, I agree that all of those companies (and others) make exceptional software. But a very small number of successful developers compete directly with Apple, so their rankings on the above list are largely irrelevant. Steve Jobs to Dan Wood of Karelia Software on the release of Sherlock 3 (which competed with Karelia’s Watson):
“You know those handcars, the little machines that people stand on and pump to move along on the train tracks? That’s Karelia. Apple is the steam train that owns the tracks.” From “The Story Behind Karlia’s Logo.”
This actually further emphasizes the above order, because it meas paid software that competes with built-in functionality is even less likely to have the resources for continued development (less people need it which means less sales and therefore less resources for development).
The very reason that many independent software developers succeed is that they fill-in missing gaps in the platform.
Finally, here are some additional advantages that I hadn’t listed yet:
Increases the reproducibility of your work setup on multiple machines if necessary.
Increases the likelihood of inter-application support, such as Quicksilver plugins.
Avoids time spent researching software reviews and testing during short software evaluation periods.
The ordering from my post captures all of these advantages nicely in one list, which is why I think it is useful.
But I do agree that there really are a lot of exceptions, which is what I think you are getting at. My post is just guidelines that I believe increase stability, high quality, and continued development of your system.
-Roben
I agree completely with 2 of your 3 additional points and partly with number 2.
Since you quoted Dan Wood, how about Sherlock ?
In my experience Apple Mail is less stable than either PowerMail, or Mailsmith. Its about as stable as Thunderbird and Entourage, but that’s faint praise. The iWork and iLife packages are hard to argue with, but then again, they are not built-in, they are commercial packages. Safari is rock solid, when compare with Firefox, or even Camino and Omniweb.
As you say yourself, there are a lot of exceptions to your generalized case. I’m wondering if perhaps there are so many exceptions, that its not (on the basis of your original points) a valid generalization. Admittedly, the three points you just raised increase its strenght, but only in cases where there is a free, built-in and sufficiently capable and flexible app available. This is a relatively small number of cases.
But I think its time I stepped off the bandwagon. Keep it up, its a good series.
Mark.
Very nice site! Good work.
Nice site you have!
Du musst ein Fachmann sein - wirklich guter Aufstellungsort, den du hast!
pagine piuttosto informative, piacevoli =)
luogo grande:) nessun osservazioni!
Great site! Good luck to it’s owner!
c2e27fbdbe6e3774e9cd…
c2e27fbdbe6e…
Hello! Good Site! Thanks you! rswlskzgdafhal