Archive for November, 2012

Coming Down from the Mountain

Saturday, November 10th, 2012

I got a very disturbing email tonight from a prominent EMBT team member who took exception to one of my comments.  Instead of addressing my comment on the same blog by replying to it, he instead sent me an unsolicited email which ended with the comment

Jon Stewart just called me and asked me to ask you: “when is Larry going to come down from b@11s$&t mountain?”

I found this to be a juvenile, completely irrelevant comment.  Besides that, the EMBT team member looks more like moses than I do, so it was confusing ;)
Now I don’t know what you think of my opinions concerning Delphi or EMBT, but whether you agree with them or not, I would think you would probably expect as I do, that any EMBT representative would conduct themselves in a professional manner even if they disagree with the content of my posts, or my comments on a public website.  I would also expect that they address my comments in public where they were made, instead of sending me private emails and hiding behind a confidentiality signature stating:

CONFIDENTIALITY NOTICE: This email message is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message.

EMBT can regulate their corporate newsgroups anyway they see fit.  If speaking out means having my posting privileges suspended like Joanna Carter, so be it, but what does that say about a company when they are so worried about trying to control what people are saying, instead of listening to what they are saying and addressing the concerns?  Why does Developer Relations seem to be an extension of the marketing machine, instead of a department who works to establish and maintain good relations with the development community, EMBT’s customers?

I’m an adult, I can handle it when people have a different viewpoint.  I can even admit when I’m wrong if people with opposing viewpoints care to make a good counter argument. That’s what makes a community stronger.  If there was never a dissenting voice, then we would all be forever treated like cattle by our governments, and we would all have our individual needs as developers overlooked by companies trying to sell us what they’re marketing department dreamed up as products even if they’re half finished.  IOW, status quo.  We have a right and a responsibility if we care about something (in this case Delphi), to not just request what we want, but demand it until we’re heard, and a responsibility to back it up with our money.  Personally, I won’t buy another edition of Delphi until I get some of my top QC issues fixed.  I don’t understand why EMBT doesn’t employ bug bounties.  I contributed to Andreas Hausladen’s efforts because he actually fixed some of the performance issues I was facing in Delphi, even in something as old as Delphi 7 (among other releases).

Perhaps it’s for the best….Delphi interest here is declining, and when my current contract is finished, I can’t see continuing to bet my livelihood on a tool where fixing bugs, and providing positive customer interaction seems to be such a low priority.  I don’t need any more road apples in my inbox.

So from now on, I think I will restrict my blog posts to hcOPF and other technical issues, but don’t be surprised if that doesn’t last long.  I’m thinking about getting Oxygene because I’m more confident it will ship when promised, and provide the iOS, Android, OS/X, Linux, and Windows support including 64 bit EXEs which has yet to materialize in the Delphi world despite a rather catchy slogan of Delphi Everywhere. It’ll be like a breath of fresh air…

I’m Touched

Monday, November 5th, 2012

Normally, when you fix a bug in a particular section of code, you also look at other bug and enhancement reports related to that area to see if you can also fix those issues, or implement those enhancements.  Otherwise you’re judging one report in that area against the other in terms of frequency and severity to determine which ones get addressed.

That’s why it came as quite a shock that in XE3 QC items 104640 (B3 opened 4/6/2012), and 107227 (B2 opened 7/19/2012) were addressed in amongst numerous others in the IDE, IDE\Code Editor category, but other QC  items relating to Code Completion were not, including my own QC99381 (B1 opened 7/27/2011).  It’s shocking because, I run into this code completion bug on a daily basis where the issues that got fixed appear to be edge cases.  In fact 104640 has a lower severity than my report, and was opened long after mine.  I don’t know what prioritization algorithm EMBT uses, but I find it baffling!  So that’s one major release of Delphi later, with several updates, and 4 hot fixes.

Addressing all issues in a specific area all at once, in my experience, works best.  That’s because the developers get their head into the problems, and code.  This takes a while, and it’s been proven that having developers juggle multiple things either concurrently or in quick serial succession, makes them less productive.  It’s simply the power of focus.  It also makes testing an area thoroughly easier, especially if it requires manual testing, requiring less time from Q&A.

Apparently breaking functionality in one release doesn’t necessitate fixing it, even in a following release that developers have to pay for.  How do you feel about that practice?  If a bug is introduced in a release should it be fixed and provided in that release for free?  Where would you draw the line knowing software is never perfect?

If Marco Cantu is indeed the special guest at CodeRage 7, and the announcement is indeed that he is the new Delphi Product Manager, I hope he is empowered to change the way QC items are handled.  As a developer who actually uses the tool, perhaps he will also address the poor template support, re-factoring, code navigation, and remove the half baked useless “features” like the Object Inspector Description pane (I currently use his package to hide it), and complete others like Error Insight that could be more useful with less false positives.  Let me be the first to wish him well in that role if the commentor Inside Embarcadero is right.