[Estimated Reading Time: 3 minutes]

Two days ago I received a renewal quote for my XE2 Professional SA. The quote included an increase that I wasn’t expecting, having not been made aware of the clause in the SA T’s and C’s that allows for an annual increase of up to 5%, regardless of the fact that the cost for a new SA subscriber taking out the same agreement on the same day is not charged the increase. Or at least any price rise hasn’t yet made it to the on-line store.

I initially queried the increase on the basis that the product that is now covered by this agreement is now reduced in functional capability compared to the product that the agreement was originally taken out for.

I was clear that I was referring specifically to the removal of iOS support and the lack of any confirmation that it will be restored in any Delphi SKU at any point – with every indication so far being that it won’t (not to mention we recently lost our local reseller, leaving us unserviced by any local office in NZ).

In any event, Embarcadero completely ignored my questions about the reduced value of the product (I mean, literally, there wasn’t even an acknowledgement that I had made any such point. Not even the usual boiler-plate “We’re sorry you feel that way” PR non-apology). Instead they simply quoted, verbatim, clause 7 of the terms and conditions, highlighting the section that mentioned the right to increase the fee by up to 5% (the actual increase is 4%).

For New License contracts, the support services fee quoted for the initial order period will be the basis for the renewal fee in the two subsequent years, subject to price increases not to exceed 5% per annum.

Oh well, the game is up. They got me bang to rights etc.

Except that I then noticed the very next sentence:

The Licensee will be notified of any increases in the Fees at least thirty (30) calendar days prior to the automatic renewal of the Services.

The problem for Embarcadero being that I received my first renewal quote, my first indication of any price increase, on August 28th.

My SA renewal date is 5th September.

That is considerably less than the required 30 days notice.

Furthermore (and I didn’t point this out to them as it wasn’t necessary), there is section 12 (e) to be borne in mind:

Any notice required to be sent to a party under this Agreement will be in writing, effective on receipt by that party, and will be sent by fax, first-class mail or personal delivery to the addresses provided by the parties at the time of ordering. Either party may change its notice address by giving written notice to the other party at the other party’s notice address.

Needless to say I never received any such written notice, which I believe would cover the notification terms in the fees clause. The only notification I received was the renewal quote, which was not faxed and not delivered by post or personal delivery, but in an email.

But I didn’t need to mention this.

The very next reply was a revised renewal quote, restoring the renewal fee back to the original, un-increased amount.

No apology.
No explanation.
No admission that they even messed up and sorry for any inconvenience.

The moral of the story: If someone throws terms and conditions in your face, take the time to double-check that they are in compliance with those terms and conditions themselves. Don’t just assume that you are the one that “messed up”, just because they don’t offer the possibility – or later admit to the fact – that they have.

As for me, I’m still tossing up whether to renew or to put the money toward a new Oxygene subscription instead, or to spend on some Lazarus/FPC Bounties.

46 thoughts on “SA Increased Unexpectedly ? Check your T’s and C’s”

  1. Looks like they timed their moves spot on so that many SA customer (that bought shortly after release) can’t renew with a clear picture of where they’re going exactly, and what they’re renewing for.

    In the current state of things XE3 looks like a definite skip here, and unless EMBT clarifies things, will be more than a skip. We never picked SA, and it looks like it was the Right Decision ™, I would hate to be in your position of having to decide on a fixed time-line, with utterly incomplete information and a non-communicative supplier.

  2. > new Oxygene subscription
    I don’t know… Oxygene is very interesting .NET language, supported by a talented dev team, with a sane management behind it. But, as long as there is no source code compatibility between Delphi and Oxygene, do we really have to pay additional money and use Oxygene for .NET, if we can get C# for free? There is no Express edition of Oxygene.

    1. True, but equally there is no Java edition of C#. 😉

      And in any event, I find C# and Java detestably ugly. For some reason Objective-C doesn’t trigger the same gag reflex, something I haven’t yet worked out how to explain. 🙂

      Besides, the point would be that I would not be spending additional money, simply choosing to spend my money differently (and saving money in the long run), and could still get my hands on VS Express for free if I so choose.

      1. That’s right.

        “The Oxygene language – this is not your daddy’s Pascal” – it’s funny motto. 🙂

      2. tried to look at Scala ?

        while it was based in Java, including that C-sh =/== pair i dislike, it still had something from Pascal. It is free. And it told to run on ivkm (JVM over CLI) and on Android

      3. I suspect that the lack of gag reflex on Objective-C might be related to expectation. I’ve heard many people say that Objective-C is unpalatable, so if I needed to do any work on it I’d probably hold my nose etc. Where C# (which I don’t mind) and Java (hugely verbose) have large numbers of enthusiastic users – so you might expect something sweet and tasty – and you might think “When did kool aid start tasting so bitter? – I wonder what they’ve added?”

        1. Maybe, but as occurred to me in another response on this to David “Heff” ( 🙂 ), I think a big part of it is the separation that Objective-C maintains (and w.r.t Pascal retains) between “interface” and “implementation”. Indeed, this separation is even greater in Objective-C. It’s the one thing that has always REALLY bugged me about C# and Java.

          In Pascal and Objective-C I can gain an “overview” of a class, from an external p.o.v almost at a glance, without having to try to filter that “public” visage out from a usually disorganised whole (not helped by the fact that C# and Java actively encourage, or at least facilitate, chaotic organisation). At least, not without IDE assistance.

          So when I need to delve into the implementation I can do so without being distracted by how the code presents itself to the outside world, and when I am interested in how the code looks from the outside world, I can see that without being distracted by the implementation details.

          Can you achieve this in C#/Java ? Yes, of course. But it takes effort and discipline, and you aren’t required to. Consequently ime most people don’t bother. For some reason there is a school of thought which sees emphasising maintainability of code as a secondary concern to churning as much code out as possible.

          imho. ymmv.

      1. Frankly their behavior you described looking to me as those employees are themselves in disgust of their mission. To pursue client that their actions are right, they have some emotional connection to them, if not firm believing that they are really right. What you described may arguable look as they “do what we have to do”, “work to the book”, etc.

        The did attempt to squeeze 4% from you ? did. Checkmark.
        They did saved company from possible litigation from you? did. Checkmark.
        Etc.

        But they themselves did not believed in their rightdoing, hence they even did not troed to convince you.

  3. I’ve just remembered that some time ago people were recommending SA as a smart move. Are these times over? Personally, I didn’t continue my SA 3rd time (so no XE3 for me) and I’ll wait for another version which better appeals to my needs and wants and accept the offer if any.

    1. Yep – I remember those times too. I always argued against SA back then, especially for Pro SKU users where the savings could only be had if you gained concrete benefit from each and every version (the cost/benefit case is much easier to make for Enterprise and above).

      Last year I got caught up on the wave of optimism and anticipation surrounding XE2 and chose to express my good faith in Embarcadero by opening my wallet for the first time – personally – since D7. Since then I had benefited from access to the use of a license provided by my employer(s) in that time.

      Lesson learned.

    2. It was at the time of Nik Hodges. Time of bug fixes and a fight for quality. Delphi 2007 was one of the best Delphi release. No Unicode support though.

  4. Personally I find C# a lovely language to program in. Sure C# 1 was a bit limiting, but the latest versions are very productive and elegant.

    Oxygene appears to me to be brilliantly designed and executed. I’d always have reservations about investing in .net in a minority language, but I’m perhaps being too cautious.

    With all the goings on in recent years, suddenly C++ looks good. I loathe the language but it’s standardised. C++ code will always be compilable.

    1. I think the problem David is that whilst it is possible to write elegant code in C#, it is also far too easy to write detestably ugly, impenetrable code, and for some reason this is the approach that most people either favour or fall into out of laziness.

      You can of course write ugly, impenetrable code in Pascal (Delphi or otherwise) too, but the difference is that to do so you either have to be incompetent or determined. 🙂

      !BING! << Lightbulb moment! It just occurred to me why I think Objective-C doesn't grate as much.... it maintains/retains that separation from "interface" and "implementation" (and indeed, allows even greater separation than Pascal when it comes to truly "private" implementation details). That might not explain the whole thing, but I think that is a key aspect. 🙂

      1. I’m not actually sure that C# makes it easier to write bad code than any other language. As someone who spends a little time on Stack Overflow, my experience is that vast numbers of people are capable of writing dire code in all languages.

        In order to say anything concrete about this one would need hard evidence from an experiment that is probably impossible to conduct in a statistically valid way.

        So, let’s just carry on speculating wildly?! 😉

        1. I think Deltic’s point is cosmetic. C# actually has stronger support for “programming against interfaces instead of implementations” than Delphi does, but what Pascal lifers (like me and Deltics) probably like about Objective C is that there’s a separate section (in delphi) and a separate file (in objective C, and all other C-family languages) that keep your interface and implementation of your units apart.

          Whereas I like C# better than objectiveC because I loathe header files. years of header file nastiness in C and C++ and when that crap went away, I was relieved.

          The whole “interface/implementation” repetition of the signatures of functions, procedures, and methods, is one of the things people don’t like when they come to Delphi/Pascal from either C# or Java because C# and Java have done a lot to reduce the amount of copy-paste nonsense that you had to do in the C/C++ days. (Find declaration of nbsprintfx in the .h file and add a parameter to it, now find the declaration in the .c file, and add it. Do they match? Good!)

          Delphi compiler versions prior to 2007 often wouldn’t even look at the implementation section signature. You could change the parameter types in the implementation section, but the compiler would just use whatever you typed in in the interface section. What fun. These days you get an error if TSearchRec means something different than it did in the interface, which is yet another fun side effect of this code-cut-and-paste in Pascal.

          Nothing’s Perfect. Delphi has great things going for it, but C# is a beauty of a language, and .Net is not too bad either. I can’t believe I said that. I spent years hating it, but by C# 3.0, it was pretty impressive, and far ahead of Delphi. Nowadays it’s lightyears more advanced.

          W

          1. Um, the parameter signature mismatch in Delphi wasn’t a bug, but a feature.

            If you had a signature in the implementation then it had to match the signature in the interface.

            But, if you had a signature in the interface, and no overloads, then repeating the signature in the implementation was considered optional in the Pascal language. This feature of the language actually acted to reduce the amount of (necessary) repitition/duplication you were complaining about! 😉

            This language feature was there before D2007 and it remains there to this day in XE2.

          2. Anders Hejlsberg took the best of Delphi and Java and put it into C#

            (But I do miss free-standing routines, default parameters and local procedures.)

            Languages are designed around the technology available. C headers were from the early computing days.

            Pre-declarations in the same file became possible and allowed Turbo Pascal to be Turbo.

            Nowadays, Interface/Implementation and Declaration blocks are no longer necessary. And every kid doing JavaScript knows that curly brackets means BEGIN-END. And why bother with PROCEDURE and FUNCTION when the presence of a return value already tells you this?

            Delphi / Pascal is old. It was intended as a teaching language.

            I only use it because I prefer to deliver easy-to-install (and uninstall) single EXE solutions without runtimes.

            1. Whether to have separate headers or headers combined in a single file with two different sections was a question of *language design*, not technology. The underlying technology was a file system, and that was necessary for both approaches but didn’t preclude either one.

              As for the ‘old’ comment, that is frankly nonsense. C# and Java are to ‘C’ as Delphi and Oxygene is to ‘Pascal’, and ‘C’ and ‘Pascal’ are more or less identical in terms of “age” (1968-9/70). Indeed, the innovation of ‘interface’ and ‘implementation’ came much later, in Modula-II.

              But if newness of an actual invented language design or particular compiler implementation is really your primary criteria then there are much more recent languages to choose from than C# and Java which are, by modern standards, themselves grown very long in the tooth by now.

              Still using C#? Blimey, how very 2002. 😉

              As for necessity, of course interface and interface sections aren’t “necessary”. They never were (otherwise ALL languages would have had them until “technology” allowed otherwise). By the same token lambdas, generics, anonymous methods, type inference are all “unnecessary”. For that matter, the concept of classes, and everything OO, is “unnecessary”.

              What a separate interface section does do however is automatically “document” a module. It provides a public specification for a module that doesn’t have to be “discovered” by filtering out the non-public, private implementation details in that module. Yes, an IDE can do the filtering for you, but we don’t always have the benefit of IDE support when reading source files.

    2. There is the Oxygene C# converter, so Oxygene developers are insured.

  5. Maybe it is time to explore the wonderful world of free IDEs – Eclipse, NetBeans, QT Creator?

    You will be amazed how much they have evolved and outpaced Delphi in the recent years.

    1. I have looked at Eclipse and NetBeans. NetBeans didn’t last more than a few minutes on my machine. Eclipse is still there, but I found it bloated, dis-organised and sloooow. Highly capable, yes, but hardly a pleasant experience.

      QT Creator I have not heard of previously and shall take a look.

      Lazarus went 1.0 today as well. Coincidence ? 😉

      1. If you want a Java IDE that is fairly fast, I recommend to you: IntelliJ IDEA (Community Edition) – is free and fast. If is not fast enough (as for me is), you may try to use some VM options, like: -XX:+DoEscapeAnalysis (it will start initially slower, but you will have smaller annoying pauses.
        As for IDEA, you may also try Kotlin, is really clean language (on a Java foundation).

      2. I really like the NetBeans GUI designer. For delphi users, it’s the most logical way to do “RAD” with pascal. Eclipse can do everything that NetBeans can do, and then some, but the IDE is crazy convoluted.

        W

    2. The problem is not the price, is the price/features ratio. If I need to code in C++ or C# for Windows, I have no problem to buy Visual Studio. There’s no magic in the word “free” for me, what it is important is to deliver a project on time and on budget – and get some revenues. Investing money is part of any sensible business, it’s throwing them away in subpar products managed by greedy incompetent people that became an issue.

  6. If you’re interested in Oxygene (after all it is excellent! 🙂 ) it might be worth
    waiting just a few weeks before buying a subscription.
    Just sayin 😉

    Won’t reveal any details, as Remobjects allow all customers beta access without signing all that NDA rubbish, and I don’t want to betray that trust.
    Nothing official, but the beta for the upcoming Prism XE3 has a very interesting change in it.

    1. I already know the secret of which you speak, and yes I’m excited and curious about it too. 😉

        1. so they are cutting prices to lure ex-Delphi developers.
          quick reaction. i’d say.

          1. This was evident well before the current Delphi Debacle.
            It’s about more than price.
            It’s not about the actual compiler or features either.
            Hopefully Marc will clarify soon.

          2. Free version would be welcomed too. There was the free Chrome command-line compiler when they started.

      1. What? You mean, they’re going to compile to (REAL) native code?!?

        1. Not sure how you arrive at that.
          I’m pretty sure they won’t be offering that.
          What i’m talking about is nothing to do with the language or compiler itself.
          I’m sure Marc will explain soon.

    2. THX Buddy. Exciting news! Thank you, thank the big bunny in the sky, the one with the infinity long ears. Hamdulillah! I was wondering too and hoped.

    1. +1 Lazarus

      I thought you were talking about the release candidate from a few weeks ago but looks like a genuine version 1 now, so quick!

  7. I’m waiting for the release of qt 5 release in september…..

    1. “Final release expected by November 2012.” – on the home page.
      But it’s C++, so isn’t an option for me.

  8. I have mixed feelings about all this. For my organisation, I think the cost of Delphi licences is ludicrously cheap. For us they are effectively free. I’d gladly pay a lot more for them, if that resulted in higher quality.

    It’s easy to compare with MS but the revenues that they make from VS must be so many orders of magnitude greater than Emba make. It’s surely easier to have a high quality product and maintain active developer relations with more money coming in.

    I realise that not every developer finds Emba’s prices cheap but there must be lots of us out there that could readily pay more.

    1. Effective Developer Relations doesn’t have to cost huge amounts of money. Sure, it will cost some, but if you are going to spend it, the key is to spend it effectively:

      Choose:

      • A “World Tour” to present the same information in staggered locations around the world, as if instant communications didn’t exist
      • A Chief Evangelist who seems to spend all his time trying to suppress and spin information, give excuses as to why apologies aren’t needed, and precious little time communicating let alone “evangelising”
      • Providing support to customers unable to activate their legitimate licenses because you have further restricted them from 7 to 3 (THREE!) activations before requiring a support incident to unlock their bought and paid for software
      • Providing support to customers because you have spent time, effort and money implementing a paranoid “signature check” of the BIN folder of your product on top of your license activation watch-towers
      • Sending out emails inviting existing customers to become new customers or to “upgrade” to products they already have licenses for
      • Legal advice on dubious licensing changes and drawing up “MVP” agreements

      Or:

      Well, pretty much anything else you spent your money on would be more effective than that lot, no ? 😉

      1. I think some people find more value in face to face presentations than online. I know we still tour the world every year showing off our new features and we get excellent turn outs.

        I think if we tried to do the same online then few people would spend the time. They’d sit at their computers and get distracted by e-mails.

  9. It looks the love Emb has for outdated technologies (plain mail, fax…) turned against them this time…

Comments are closed.