Do Obscure Tools Make Better Products?

If all mechanics used the same set of tools, took the same approach and offered the same service they'd all cost the same and be highly competitive.  This is true for any homogeneous service or product offering.  Salt is salt no matter where you buy it from, so competition is based on price, as salt from one supplier is deemed to be substitutable with salt from another supplier.  The opposite approach to that, is making your product or service offering highly differentiated thus creating brand or product loyalty.  Here, competition can't be based on price as no other offering in the market place is a true replica of your own so substitution can't occur.  Non-price competition allows you to leverage an increased price and gain greater competitive advantage.

Not all products or offerings are suitable for differentiation, as a lot depends on the market place and the existing conditions.  However, one way to become differentiated is to alter what tools and processes you use to create your offering.  I'll focus on physical products here (software to be exact) but you can apply this to any service offering, in which case, your tool box is simply the approach and process you use to create your offering.

Luxury cars (thinking BMW, Mercedes, Rolls Royce, Jensen here) all have very proprietary build methods.  The electrics system in a Rolls Royce will not fit a Mercedes and vice versa.  To replace the suspension on a BMW you require specialist tools, that only a BMW focused mechanic would own.  Doing things differently allows the products to become specialized, offer different features and create a niche within the market place.

What's in your toolkit?

When creating software there are many choices to make:  what functionality is required?, what framework to use?, the development approach, the development methodology, the release cycle and so on.  There are many many books talking about language frameworks and best practices, explaining in great detail why things have to be done a certain way and the rationale behind it.  So, if everyone is doing everything the correct way, using the correct framework what will the resulting software look like?

Many IT Directors up and down the land will often choose the most popular language for a certain project.  Why?  Well, from their perspective they are seen to be making a risk averse choice - a popular language probably means labour is cheap, support is plentiful, SDK's are stable and time to deliver should be lower.  And to be honest, that is quite a pragmatic approach.

But what about the start ups - the actual software companies offering new ideas, sites and products?  If they choose to use the most common languages and frameworks, yes they can probably get some hackers for cheap, but wont the end product be the same as everyone elses?  Well you can probably argue that if a toolkit or approach is mature, programmers will be so well versed they can be original and optimize how that toolkit is being used.  Paul Graham's book Hackers & Painters argues that using an obscure language (his example was Lisp) firstly identifies coders with a real passion and enthusiasm for their tool of choice.  Lisp isn't the easiest of languages to take on board, so those that do, obviously have a great interest in making it and the products it creates succeed.  His also argues, that using a toolkit different to your competitors, allows you to develop different features a lot faster, as you're not behaving as if you're in an arms race.

Altering your approach or the tools you use, can give you fresh impetus on a personal level and also make you stand out from the crowd on a product or services level.  It just takes a few brave steps to make that move, but you'll probably have a lot more fun in the process.