[Estimated Reading Time: 2 minutes]

In replying to a comment on his blog post about the pricing of the mobile add-on pack (XE4 – no news on XE5 as yet that I am aware of), Larry Hengen appears to be one of those people still under the belief that there are any “new buyer” type customers for Delphi. Are there ? Really ?

It seems to me, even if the wider evidence were not enough (same old – increasingly old – faces at the annual product launch) that the product management and pricing direction of Delphi in the past 2-3 years is strongly indicative that Embarcadero are working to extract while they can the maximum $ from a user base that is, if not dwindling, then is certainly not expanding at a useful rate.

Not least this is writ large in their multi-platform strategy that emphasises the preservation of existing code (given a white-wash of “Native” marketing labels to make it more palatable).

Their pricing and release strategies appear geared toward leveraging maximum dollar from existing customers, but to any prospective new customer must convey an uncomfortable sense of insecurity, given that it includes but is not limited to:

It doesn’t seem to me that a prospective new user is going to feel warm and fuzzy about the prospect of being a customer of a company with such a track record.

The final exhibit is the lip service paid to the needs of new users.

There is no coherent set of Trial products.

Instead of being able to simply trial the actual product they are interested in (unless it is Architect SKU) a prospective customer has to download and install the behemoth that is the Architect SKU and then trawl through the feature matrix to find out what features in their “trial” will actually be in the product they will buy.

Then of course there is the so-called “Starter” edition, completely lacking the one, critical learning tool for any new user – the VCL source. The Starter Edition is such a begrudging token gesture that I am surprised that it has survived even this long. More lip service I suspect.

The point being that none of this speaks to a healthy influx of new users. All of it suggests a desperate need to squeeze, cajole and extort as much revenue from a locked in user base as possible before those users also finally dig their way out of the hole.

But then this could all just be a bafflingly poor strategy by Embarcadero. Perhaps there are new users, despite Embarcadero’s best efforts to put them off.

Are there ? Does anybody know of any genuine new users of Delphi ?

I don’t mean existing customers adding one or two licenses (or more). I mean genuine, first time, all new, never-done-it-before Delphi customers ?

Answers on a postcard please. πŸ™‚

50 thoughts on “Are Embarcadero Really Interested in New Users ?”

  1. New user? You must be kidding…. Not only the price is the main problem… Almost all of my projects are now web based, and Delphi for web development? Web broker was ahead of its time but the very same technology today is called legacy…

    1. Very true. Interestingly, just as Chrome/Oxygene/Prims came along to deliver a better Delphi for .NET than Delphi itself (and by extension, for ASP.NET also), DWScript now seems to be delivering a better Delphi for the web than Delphi.

      And with Oxygene adding impressive support for Cocoa (iOS/OS X) and Java (including Android), it seems that the spirit of Delphi does live on… it just doesn’t reside at the residential address of Delphi itself anymore. πŸ™‚

  2. I would think they are pricing to maximize income (at least one would hope so). If they were really interested in expanding the user base, they would drop the entry price by at least 50% if not significantly more. Support is subscription based, and it would not make a lot of difference if you had SA or renewed annually or biannually. There may be plenty of users with Delphi 2007 and earlier who would return and update. One thing EMBT seems to not comprehend is that the viability of their product will only benefit from a larger, more vibrant and creative user base. The best tool in the hands of the few will not have the impact of a far inferior one used by many. Sometimes I think they have gold and diamond merchants doing their book keeping πŸ˜‰ They need to drop the price, catch a large pool of new users, convert some of them to subscribers, and use the cash flow to improve the product. I guess easier said than done …

    1. Exactly, except that they seem intent on going about it in a very short-sighted manner. You can only keep squeezing the user base so far. At some point you have to expand the user base, not just tighten the grip on the diminishing few you have left.

      The more Embarcadero tightens its grip, the more systems will slip through its fingers.

      Noooo! Alderaan is a peaceful planet. Dantooine. They are on Dantooine.

      Um, wait… I think I went a little off track. πŸ˜€

    2. Even though I don’t entirely agree that Embarcadero is taking Delphi off a cliff as some people believe, and I do believe they have a long term vision for the product.

      However pricing is definitely an issue. If they were serious about the long game of keeping Delphi relevant, they should improve their strategy of bringing in fresh blood from the education systems.

      In my home country of South Africa, Delphi was a major component of the education system from senior school level right through to business focused software development degrees. This came from Delphi being supplied without charge to the education systems. Now MSFT has taken this spot through supply of VS and any MSFT platform required from SQL Server to Sharepoint, no charge attached.

      It’s paid off well, for entry to mid-level development resources, you can get .NET resources at a dime a dozen.

  3. The thing that bothers me most about their out of whack pricing is that they very well could bring in tons of new users with their Android and iOS support. Same code, multiple platforms – thats a very big deal. But… as in the early 90s for Windows software, a lot of app developers are one man, part time, give-my-idea-a-shot operations. They arent going to drop a $1000 just to try Delphi out. Not when PhoneGap, Titanium, not to mention Java and xcode, are free.

    The shrinking user base (even if it is growing, its shrinking in relation to everything else) isnt helping matters. There are fewer and fewer up to date 3rd party components, and fewer and fewer api’s come with Delphi versions. Delphi needs the ecosystem.

    1. To think of legacy niche…
      For expensive narrow-niche box software it is normal to have some strong protection, like Alladin/Sentinel/HASP keys.

      ….HASP still does not support Delphi/Win64 – depite all they seem to have to do is splitting VC++ LIB to OBJes and write a Delphi header to them. But… there seems to be no demand.

  4. Another clue is their defensiveness towards the ecosystem (what’s left of it as J Demartino pointed), which isn’t exactly… inspiring.

    Beside managing to piss off some major FOSS contributers in the Delphi area (a handful deleted all their Delphi-related websites outright, more on major FOSS projects just went inactive), the way they used FPC for iOS without acknowledging it or giving back, the breaking with RemObjects/Oxygene, or how they try obstruct other minor Pascal products (https://plus.google.com/u/0/104972328326990693699/posts/CkJaUyJoxGT?cfem=1) all paint a rather gloomy picture of EMBT “management” of the ecosystem.

  5. > Not least this is writ large in their multi-platform strategy that emphasises
    > the preservation of existing code

    They emphasise it, but they don’t deliver it IME.

    Lots of breaking pointless changes, and apparentlwillful avoidance of non-breaking forward-looking changes hint that what their mouth says isn’t what their hands are doing.

  6. Did Embarcadero buyed Delphi for to make their own products? They need next Android iOS and such things, so Delphi gets these. If we users buy, that is good, but New Users not very important.

    1. 1) why would them need it ? why not buy PhoneGap or Oxygene or whatever they need ?
      2) if so, if they eat their own food, then why is Delphi so buggy ?

  7. Switch to Lazarus awhile back, the best decision I have made for a long time. Being able to compile to native code on multiple oses is a great plus. Why spend the money and then worry what else will be” withdrawn” on the next release.
    Happy coding,
    Chor

  8. After being a 100% Delphi shop (plus RemObjects SDK) for over a decade, we just spent $2200 with RemObjects, with probably about the same to follow in the next 12 months. That marks the end of our spending with Embarcadero.

  9. I stepped off the Embarcadero roundabout 2 years ago after the XE2 release. I would have liked to have kept my “hands-in” but ultimately the costs are prohibitive, especially as I don’t make money writing Delphi code anymore, and the resources I have are best spent on other things that keep me employed…

    Currently employed to work on an objective C iOS app. Would find it difficult to now consider going back to Delphi for iOS work. That ship has sailed πŸ˜‰

  10. I am a Delphi user from day one and have bought almost all versions up to XE2 which will be my last Delphi version. Currently I am expanding my third party collection and will remain with XE2 untill forced to move along to something else (Oxygene, C#, etc.). As I am only interested in Windows the Delphi versions after XE2 are of little interest to say the least. If I do need/want to program for Android or Linux than it is highly unlikely I will do so in Delphi. Maybe a Pascal language such as Oxegene but not Delphi. Why? Recent Delphi editions do not show the quality and thought that went into previous versions of Delphi. And with the price (increase) there is little chance that new Delphi users will expand the user base. If even Delphi users like me that used it since version 1 have now stopped buying newer versions, that is a clear sign of things moving in the wrong direction for Delphi. It’s a shame cause I like Delphi, but lower quality (FireMonkey etc.) coupled with a high price is a no-go’er. And the list of bugs that need to be fixed grows larger by the day (and remain unfixed even longer). As I said, XE2 is the last version I will be using as long as newer Window version will run my applications (and I expect that to be for quite a while). One big and important difference with me compared to you is that I am not making a living out of programming – I am an accountant. But, if I did make a living out of programming, I would like make the same decission, but I understand it would be more difficult to do so. However, in that case if I started a new application, Delphi would not make the list of candicates to choose from. The company I work for stopped using Delphi about 6 or 7 years ago and now are using C# mostly. This is a 3 billion yearly revenue company. And I expect other large company stopped using Delphi ages ago. I have no hard data but it is always my impression that Delphi is used by very small “companies” made of 1 to 25 persons. And with the availability of good and totaly free tools such as Visual Studio etc. it is of little surprise that NEW programmers pick something else than Delphi – if they even know it exists! Sorry for the long rambling and grammer mistakes. Greeting from the Netherlands.
    PS. I always liked your blog and your honest and keen perception to the matter. Thanks.

    1. Thanks for the comment Fons. Much appreciated if sadly all too depressingly familiar. Whilst I do make a living from programming, I also spend money on it as a hobby. That’s how I got started in Delphi – my employer at the time wasn’t interested but I liked it and the outlay was reasonable. I don’t think anyone would make the same decision these days. Yet as a direct result of that, I was then able to introduce Delphi to a later employer.

      PS – no comment can be as long or as rambling as some of my posts! πŸ™‚ Thanks for taking the time.

    2. I feel the same. I am still using Delphi XE, since the newer version don’t have features I need or the quality is too poor. I would love to use a single codebase for differented OS, like Windows, MacOS, Linux, … But the FireMonkey framework is to buggy and too slow. I don’t mind, using skins instead of “native” controls. The FM style designer is a choke in my eyes, as well. I also don’t mind to create different GUIs for different OS, but the backend like database access layer must be a singel codebase.

      I really like the Oxygene pascal syntax, but I don’t like the .Net Framework. Lazarus, looks also promissing, but the lack of comercial maintained 3rd party components (e.g. DevExpress Grids, …) and the not so feature rich IDE makes me hard to switch.

      My main application is written and maintained in Delphi, but for newer projects I will keep my eyes open for other products.

    3. Visual Studio is NOT free. In fact, it is quite expensive.

      There is a free low-end version that you are not supposed to use for commercial apps, maybe that is what confused you?

  11. I think I’d make two points:
    Firstly, there seems to be a lot of poor memories around here – after the Turbos, Borland’s marketing was never any good. Delphi (1) was launched as a database tool!
    Secondly, they had that weird period of Inprise, when everything tried to go “enterprise”, and “enterprise” tools are expensive. They’ve never left that mindset, as far as I can see.

    What would a young Phillipe Khan do? I guess a “Delphi for iOS” pack, for $99 (or $199), then a Delphi for Android – another $99, then Delphi for MS-Phone, etc.

    The feeling I get from these people is that they’re just scared, and lack confidence in their products. An insincere grin, followed by a quick grab for the money belt.

    1. Maybe I should have said – I’ve recently upgraded to XE4, from, probably, v2006, or something. I like it, but it’s so scrappy – just as well my middle name is “workaround”.

    2. There was a brief period, ironically still technically under the Borland stable. The “CodeGear” year(s) held a lot of promise. A promise which Embarcadero have squandered by returning to the enterprise ways of Borland at their very worst.

  12. ‘Not least this is writ large in their multi-platform strategy that emphasises the preservation of existing code’

    Not sure where you are seeing this given FMX is neither designed nor sold as a way to resuse old Delphi code. ‘Write new FMX code, compile anywhere’ yes, ‘preserve existing code’ no.

    1. Rewrite your GUI once and have it run anywhere, use your existing business logic code as-is. And of course, FMX was introduced first as a new platform for Windows applications (and Mac/iOS).

      FMX, despite still being relatively new (compared to the VCL) and in places unfinished, is already a “legacy” framework.

  13. I don’t agree VCL source code is a must for the Starter edition. The Starter needs to be somehow less powerful than the Pro, and it is not true new user needs the VCL source code to be proficient with Delphi. IMHO new PHP, Python, Java, C# or whatever users don’t spend time perusing libraries source code, even if available – and often it is not. Do you look at Windows API source code before using them? One reason of using VCL source code became the low-quality documentation. I agree that the Starter should come with good documentation – but not with source code. IMHO too many people still see the Starter as a cheap replacement for the Pro, but that’s not what it should be, and never will. And at least that’s not milking customers. Problems in Delphi are in the higher SKUs, which offer a features/price ratio too low. Today if you use other tools for mobile development, Delphi offers too little.

    1. This puts you firmly in the minority opinion I think.

      You also twist the proposition. Starter Edition isn’t supposed to be something to make someone proficient in Delphi, it is supposed to get them started. A learning tool. Learning by example is tried and tested, and having the VCL source is the most comprehensive set of example code available to someone just finding their way with a new framework.

      1. All that you say is true, but another point is related. To reduce the available source (in any edition) increases substantially the need for high quality documentation, something which is entirely absent, and has been pretty much since they stopped printing books. The challenge to proofing non-linear docs is huge, and I have yet to find anyone doing it well.

        1. Documentation can only go so far and is generally useful as a reference rather than a learning tool. i.e. less useful for answering “How do I…” type questions and more useful for “What does this do ?”.

          And documenting the use of classes, methods and properties doesn’t provide any guidance for how to write code. Consider how many developers adopted the coding conventions employed within the VCL, at least as the basis of their own if not in entirety, for example. Were these conventions ever part of the documentation ?

          1. I take your point, however, documentation is important, and has been given little more than lip-service for years. And to your point about the VCL coding, there was the Component Writer’s Guide, which contained a good deal of value, although it would have been better with a small collection of components (with source) as case study discussions.

  14. Beside the last FOSS contributor I remember that deleted his content did that not because Embarcadero, I couldn’t agree more…

    Note: I would like to clarify that I’m not affiliated in any way with Embarcadero Technologies. My nick is just a coincidence.

  15. I can relate to the Fon’s comments. My last edition is XE3. I plan to use Delphi for Windows platform but when comes to Android I am going to use Google studio.
    The cost of upgrade has become prohibitive.
    I like Delphi eco-system a lot. However, EMB strategy is not going to bring any new developers into the language and it is getting harder to get support on Delphi forums.
    I will continue to watch your experiments with Oxygene as I might make a leap in the future. I wish I could use third party GUI components in Oxygene .NET. I am not a good GUI designer.
    Plus,programming is not my full-time job. I use it to disseminate, analyze, and publish data.

    1. “I wish I could use third party GUI components in Oxygene .NET” β€” FTR, you can use virtually all available .NET third patty components and open source libraries with Oxygene.

      1. Out of curiosity, when you say “virtually all” this would imply that some components can’t be used with/by Oxygene. What is it about those exceptions in particular that is a problem and is it something that can/will be addressed ?

        1. Technically, any properly written component will work with all .NET languages, including Oxygene.

          That said, there’s sometimes infrastructure around components thats not properly abstracted, or written under the assumption that everyone is using C#. For example for IDE tools that need to emit code, there’s the CodeDom technology that comes with the framework as a way to emit code in a language agnostic way (RemObjects SDK uses that, as well). Oxygene provides CodeDom support of course, but that doesn’t stop people (including those at Microsoft πŸ˜‰ to write logic such as “if language is C# then use C# CodeDom else if language is VB then use VB CodeDom else fail” β€” in essence making their tool not work with other languages when it in fact would have been *easier* to let it work (you can just ask for the CodeDom for any language, or for the project’s current language).

          One prominent example, DevExpress ReportBuilder strongly depends on using templates that DevEx ships to get off the ground. Of course DevEx doesn’t ship Oxygene templates, their templates are hardcoded C# or VB code. (community contributors have created Oxygene templates). But of course you can still use the classes directly from code, or drop them from the tool palette, if you know what you’re doing..

          This mainly affects the toolchains *around* components. Actual classes and components (WInForms or WPF) should all be fully compatible with Oxygene.

          (Similiarly, any classes and components written in Java will be usable form Oxygene for Java, and classes written in Objective-C will be usable from Oxygene for Cocoa, of course).

          1. Thanks for that Marc, I thought it would be something along those lines but it was worth clarifying I think. πŸ™‚

  16. Try Lazarus if you want to program for Linux. Hardly any tuning requirement to switch from Windows to Linux.

  17. for statistics I own Studio/Delphi XE, never upgrade due to price strategy of Embarcadero. And I will never upgrade if they don’t change this autokilling strategy. Actually I don’t live with delphi programming.
    From 2 years I am looking other “ecosystems”, and I think when I will find, I will leave delphi forever.

    As we all (I think) compiled the Embarcadero Survey (and there are 3 years I am clear on why I don’t upgrade), I suggest to do OUR SURVEY finding users, new users and why don’t upgrade.

    thnks
    Filippo

  18. What Delphi needs most is the INTEROPERABILITY with web languages. For example, there is no standardized encryption interoperability with PHP, a much needed feature today: Encrypt in Delphi, decrypt in PHP/JavaScript/Java; or vice versa.

  19. No, the Starter is not a learning tool – that’s the education. The Startet is a a cheap entry level version of Delphi. IMHO if you never used Delphi and Object Pascal before you need good documentation to understand both before you can dive into VCL source code – which also may require a good understanding of Windows architecture and API. How many developers learning C++, C# , Java, or start by reading the library source code? Why only Delphi developers thinks it’s necessary for an entry level version?
    Again, it looks to me it’s not people who want to learn Delphi or “get started” who needs it, it looks more are long-time Delphi developers who wants a cheap version of Delphi to buy instead of the Pro – and of course long time Delphi developers like to have VCL source code.
    Maybe it’s not mw twisting anything, it’s the “majority” that is still trying to hide behind a finger asking for a “cheap” version for the “poor beginner” while they’re just looking for a cheap version for themselves.

    1. How many developers learning C++, C# , Java, or start by reading the library source code? Why only Delphi developers thinks it’s necessary for an entry level version?

      Really ? You are comparing languages routinely taught in University with a language that people at University are often surprised to hear even still exists ? And you don’t see the difference ? Then it probably can never be explained to you in terms you will understand.

      As for a cheaper edition ? Why in heck would you be concerned at that ? My reply to this point grew to the extent that it deserves to be a new post, so thanks at least for that impetus but you’ll have to read it in the form of that post I’m afraid. πŸ™‚

  20. Look at me, I am short sighted, I love Delphi. My lenses have 13 to 14 diopters. I am doing hard to find the mouse in general and a even harder the mouse cursor(: Delphi is a good alternative to Winforms still.

    Delphi is clever & smart. No doubt about that.

    In case of C# I went back to sharp-develop. I think everyone should develop in an IDE of his/her choice covering the actual demand. Since no one know what tomorrow will bring, we can only adopt quickly.

    In case of C# I personally don’t have a demand beyond sharp-develop. IL Spy is supported. Oxygene is a lot more advanced than C# and VS. The distance will grow. I fear that MS will waste lots of time in the near future on things … we will see.

  21. Oh yes, university routinely teach Transact-SQL or Objective-C, both languages that are according to the Tiobe index more popular than Delphi – neither of which comes with library sources. Or PL/SQL, which is not much behind. There are a lot of languages, tools and techniques you are exposed to only when starting a professional job, and even later on, and you have to learn them the old way – documentation, examples and trials.
    Because they could be very specialized, and/or too expensive for university and school.
    This idea that something will never be used if it is not taught at school or university is ridicolous.
    Delphi became an outdated tool when Pascal was still taught at schools, but as many Delphi developers you refuse to understand it is wholly BorCodeDero fault the actual state of Delphi, not of greed evil schools and universities refusing to buy it because expensive. In many schools and universities you have to buy expensive books and tools to attend the courses – how much AutoCAD or Matlab cost? Why universities use them and not cheap free alternatives?student/academic editions? Delphi too has them too
    And you could be surprised about how many “poor students” attend courses with expensive MacBooks, iPhones and iPads… is the price really the Delphi problem?
    Or no one will bother to buy a dusty tool still firmly stucked into a ’90s implementation, poorly coded, from a mostly unknown company, and after it was sold by an almost bankrupt one – no matter how the price is?
    Or maybe the price issues is just for actual customers, not new ones, which would not come even if Embarcadero gives away Architect licenses?

    1. Of course the Objective-C source isn’t provided, but what has that to do with anything ? The VCL is to Delphi as Cocoa et al are to Objective-C and the CoreFoundation and Cocoa source is available, albeit online (to anybody – you don’t even need to be a customer to see it, let alone a customer of a specific higher priced edition of the dev tools – of course there is no higher priced Xcode. It’s free)

      Nobody was asking for the Delphi source code. Only the VCL source.

      And of course it’s not just about university teaching but the learning environment generally. I only mentioned university initially because the languages your picked on (for your first set of goal posts) are taught in uni.

      Your comments about ‘poor students’ and their gadgets speaks volumes about your attitude and it does seem to me to be one of begrudging, jealous protectionism rather than inclusivity. At least, that’s the way it seems to me.

    2. The implementation language does not matter. A school or university will have the consider those who cannot afford. It’s not their job to educate people in specific tools. In the past the story was easier. Simple IDE’s supporting prodcedural languages somehow highlighting key words are easier and more cost effective.

      When I attended university we did our first tutorials in VMX, TSO, AIX … The benefit these days was simply, if you started to work at an insurance company you had been in contact with those ancient systems before.

      XCode and Delphi are very much the same. Desktop programming. Of course it does make sense to have AutoCAD or MatLab experience. Computer science is a vertical science and the jobs are vertical too. Maybe the idea of finalizing the trend towards an IT-industry exclusively serving IT matters would justify well educating students in specific environments. I think neither the language nor the tool should matter, but the vi is not enough. During my time at university what are Wikis today have been postscript files. We installed Linux in order to print.

  22. It’s not protectionism, it’s just I can’t really understand why it’s ok to spend $899 for a phone but not for a development tool.
    And there’s a big difference to show source code on-line and have it locally available for debug.
    And as many, you still fail to understand that Apples makes money from expensive HW and from royalties on each app sold. Embarcadero doesn’t make expensive HW nor ask you a 30% fee on every Delphi application you sell.
    What do you prefer? A Startet without source code, or a Starter that forces you to deliver applications only through a “Delphi store” asking you 30% on each application sold? I prefer to pay $500 for a Pro upgrade and then be free to sell my applications at will.

    1. More moving goal posts. Now it is not enough just to have the source code available, it has to be installed locally, for debugging. Source as a learning/understanding tool is something that is useful to read. Source for debugging is when the supplier of that source can’t be sure that what they have released is good enough to be used as-is.

      It’s a shame, because you were doing so well until you stumbled on your last point when you realised at the last minute that having paid for Starter you aren’t “free to sell your applications at will” so had to mention the $500 upgrade to Pro.

      Apparently restrictive trade terms imposed by Apple are bad, but restrictive terms imposed by Embarcadero are fine and dandy ?

      Unfortunately, in your haste you forgot to check your facts. You cannot “upgrade” to Pro from Starter. You have to purchase Pro essentially as a new user, with the only discount being the amount you paid for Starter in the first place. That will be $900. Not $500.

      Oh, and if you want the Mobile Add-On ? Another $500

      Oh, and client/server Fire-DAC ? Another $500

      $2,000 for a Pro SKU, all up.

      But then, that’s OK. You wouldn’t want someone who can afford $500 but not $2,000 in your club, eh ? That would bring the tone right down. πŸ˜‰

    2. this could be a wonderful idea!!! as I red many comments where many programmers say they don’t live with delphi.
      Embarcadero could do a package with a license linked to results in the mobile market…
      interesting!

    3. I think the whole idea to bring back Delphi to universities at large scale similar to Turbo Pascal is not a good idea at all. The more complex tools become the more valuable times is spent on the environment and less on the essential process of learning to move in various IT environment. The days when a student was seeking a job in his hometown are gone. I worked on a department at a university where CASE tools had been taught, In summary it was just troublesome for the vendor, the technicians, the university and the students. Tools are here today and gone tomorrow.

      Agreed. Why spend 900 USD on phone? I spent 240 EUR on a discounted IPAD2. That’s far more than enough for the next 5 years. It’s just a matter of time and you will get tablets and phones at 200 USD… together with the sim card and nothing else.

      http://www.forbes.com/sites/tristanlouis/2013/08/10/how-much-do-average-apps-make/

      On apps. We will see how this involves. Apps are a good business for the store and no one else even on a mid-term. Similar to an Internet Casino. The provider knows the bets and can calculate a result best for him. You are never on the winner side because of probability.

      In an App Store the result is obvious – 30% (not considering infrastructure cost…)

Comments are closed.