Yesterday, David I passed by and congratulated in a comment all the winners of “Delphi Legends” Community Award. (Look at the comments in that post).
It was a very nice gesture, but I really want to comment some of his words here because I think that they are really important.
We now have more people working on Delphi than ever before. Even with increased resources, we still need the vibrant Delphi community to make programming in Delphi the best way to build applications.
David Intersimone “David I”
Well, I think that is the time to speak about the Omega Effect…
“The Omega Effect” which has its name coming from the shape of the Greek letter ‘Ω’ (Omega) depicts one of the most dangerous traps in which a programmer can fall: the reality drift between him and his user base.
At the beginning, (see the first picture above) everything is very well because the programmers are very close to community because, in fact, they are members of it. The team just did the program for some very concrete needs which they know very well from their own experience.
While the new (and growing) user base is playing with the new toy, the team advances the product keeping contact with the community’s needs, even if this contact thiner and thiner. This is barely distinguishable, hence everything is seen as ok and (unfortunately) the team gains a false self-confidence.
The team, having faith on his own thoughts about the reality, plans a ‘big move’. The-big-awesome-best-ever-product which will change the history of IT. But, because they think that they are smart, they forgot to ask “Does anybody needs this thing, in the way in which we envisaged it?”
They will try to push the product, but the community will not commit. And because the bad self-confidence (read: Pride) still exists, the team – especially the managerial team which, having the biggest distance from the real needs of their user base, is the one which is in the most dangerous position to do such mistakes – will baffle themselves in an amalgam of various buzz-explanations about ‘strategic plans’, ‘we must wait longer’, ‘the community doesn’t know yet’, ‘next version will be better’, ‘we have money’ etc.
(Un)fortunately, the laymen outside aren’t sensible to such things. They want just a product which works. And which works better than the previous one. Better than competition. In a slow but sure decay, the user base loyalty fades away. On the other hand, inside the concerns are more and more present, but because there still are towers of pride, they will say: “Ok, we’ll change our strategy but just a little bit.”
Yes, the hardest thing to change is the human mentality.
Here the team has two paths: either to detach from the gravitational force of its user base and go away in hope of finding a new (user) base which will feed it better, either to obey to the community’s force of attraction (which sometimes can be quite big) and come back in order to relink its umbilical cord.
But the things aren’t so simple. Lost in space, they must survive till they’ll find again, first, the right wavelength with the base in order to know where the landing will occur, and second, they must assure enough fuel for their module to complete the road. Of course, not to mention that they must repair (alone) the damages of their ship. And what’s worst, there is a high possibility to ignite internal debacles about the chosen trajectory…
But if they drive carefully, based on the signals which they receive from their outside sensors, they will land successfully. Their main challenge now will be to gather again the community, scattered by their departure, around the central gathering points which remained. The crew cannot afford anymore to throw at community with a bunch of technologies in order to see what will stuck. So there must be a dialogue in order to see clearly what’s hot and what’s not. We don’t program to solve an abstract problem which seems interesting. We program to cover concrete needs of a concrete community. But in order to cover them, we need to find them. This can be our advantage against Microsoft, against Java ecosystem: Unity.
That’s why we tried to make a public beta of our project (see here – the download link here). As you see, sometimes Delphi 8 turns out to be a very valuable asset. Even if the latest Delphi is regarded as the best Delphi ever…
PS: This post is dedicated to DavidI which was one of the few Boralanders which in the dark ages of Borderland/Imprecise/whatever kept his faith and link with the community…