The "screw hammering" syndrome

Imagine you have some problem with the furniture of your kitchen, is getting old and needs some fixes.

You find a carpenter on the Internet, you call him, ask for repairing and the answer you get is: “Sure I may come tomorrow and repair everything, but please note that I do use only an hammer, I do not like screw driver so I do hammer everything”.

I imagine that the idea of having somebody hammering the screw in your furniture is something you do not like and you will search for a “normal” carpenter that comes with all the necessary tools.

In most of technologies we do not accept approaches like this: we would never go to a doctor that uses only antibiotics or in a restaurant serving tuna steak only but speaking about software and even more about web sites we do accept quite often this kind of strange attitude.

Tools

Benjamin Franklin is supposed to be the proposer of the phrase “Man is a tool-making animal”, if you think about this is basically true, no animal is producing reusable tools like we do and this makes a great difference in the way we may adapt our environment to our needs.

If we look in a dictionary the term “tool” the definition is quite clear and what jumps out is the strict correlation between the tool chosen and task to be performed.

The choice of the most suitable tool is usually done after having analyzed the nature and the characteristics of the task we need to perform.

We have different type of screw and, related to them, we do have different types of tools to choose from.

We have different type of screw and, related to them, we do have different types of tools to choose from.

It is true that we multi purpose tool, but if you analyze them carefully they are a bunch of different tools bundled together so that we may carry them around easily.

In the manual of every Victorinox multi purpose Swiss Army knife manual the user is invited to choose the most suitable tool to avoid damaging it.

Web tools

As for all tasks in the case of web building we may choose between different tools, but most of the “specialist” you will find on the market are not specialized on tasks like publishing, home banking, payment, usability… they are specialized on a specific tool: Joomla, Dreamweaver, Wordpress...

The decision on which tools will be chosen is not based on the problem you need to solve, is based on their knowledge or on the availability of a company custom tool.

They are hammering screws!

The choice of tools should come after the analysis of the problem to be solved and after having designed the structure of the system.

The problem is that to use different tools you must know them and learning new ones is expensive and tiresome so most of programmers will prefer to adapt the system to the tool they know and not vice versa.

Usually people with an IT real culture are more ready to work with different instruments if compared with the “self made programmer” that are around in the market. In other word web programming should pass, as happened to many other technologies, from early enthusiast adopters to professionals.

Mixed tools environments

If the system you are designing is complex you should take in account the possibility of having different tools used even in different part of the same system.

In programming is quite normal use different languages or different databases for specific part of large systems.

When building a web based system mixing tools is even easier, interaction is an intrinsic characteristic of this word: we may build pages or even different pieces of a page using totally different tools.

A model based environment is perfect if you have a model to apply and to maintain (eg payment in an home banking system), but may be very bad when you have a content intensive portion of the same system (eg proposal of new products for sales in the same home banking system).

The bottom line is forget about hammering screw, buy some screw drivers!

Licenza Creative Commons | Credits