Third Party Plugins: Why You No Like?

Seems like we went through a time in the early oughts when a big and vocal chunk of users eschewed commercial third party plugins and libraries for various reasons. I figured we were past that and they had become a reasonable part of everyday discussion about Xojo development, but some have strong opinions contrary. And of course, we’ve had one former plugin vendor go lunatic mode of late, which doesn’t help the rest of our causes. I’m curious what the mix of objections are now.

I ask this because the very things that some have complained to me about, such as mentioning my for-sale solution when relevant, are how I make others quite happy. See this testimonial:

Most developers I speak with have flattering things to say about Christian as well – at least 10x as much as they ever offer me :-). Admittedly, the devs I speak with skew professional.

You get straight talk from me, even when it’s not what you want to hear. So I’d appreciate the same in return. If your answer is “I can’t afford it and feel it’s unfair that I don’t have access”, I can’t offer you agreement, but I can offer understanding. And I might still be able to offer you a solution. Just be honest with me.


For me, it depends on the project. In an open source project, I have a strict “no plugins” policy - which of course excludes anything shipping with Xojo. I want a potential viewer of the code to not need any additional plugins, even if free.

Pre-built code is always acceptable, even if encrypted, as long as the license permits.

I do always hesitate to use MBS plugins though, even on private projects, simply because they are so enormous that it hurts my launch times, compile times, and memory consumption to an incredible degree. But that won’t stop me if it really is the right solution.

My personal thought is that I would rather spend time to develop the things that I would otherwise buy as a plug in. That said I have not needed anything yet that would take so much time to develop that I should get a plug in instead.

I probably go this route though as development is not my day job so I don’t have the time constraints others working commercially full time have. I suspect if this was my full time job I would almost certainly make use of plug ins. Time is money and all that.

Thom, you don’t need to install all 62 plugins together. Just the ones interesting for you. Than Xojo loads quicker.

In my VB6 days I used plugins. Then the plugin I relied on for printing stopped working after some update of windows. The vendor decided he’d rather not fix it so he quit, leaving a lot of unhappy users.

Now, in the long run that was a good thing because I figured if I had to rewrite half of my code anyway I might as well switch to Realbasic (MS had dropped VB6 support at that point) but I don’t ever again want to put myself in a position where I don’t own the code.

I’m open to paid solutions where I own the code, but I don’t see myself using encrypted stuff again.

Hi, I don’t use MBS pluggins as I developp in my sparetime and Xojo is expensive enough for me for what I do.

But I don’t understand why you say that your customers don’t want pluggin. They want to be able to see the source, but, how can I say, Xojo is a big pluggin no ?
We don’t know what is behind an instruction from a MBS pluggin, but we don’t know neitheir what is behind a Xojo instruction.

It’s just a question, not a argument.

If needed you could always ask for a source code license. But so far in 10+ years nobody asked for one.
Just some asked for getting source in case of plugins stop being supported, so they could fix problems themselves.

Plugins are black boxes that do not show how they work internally. One has to trust the publisher for support. If the publisher goes out of business or decides not to update, then you are not able to run your program anymore.

Xojo source code, as well as any source code, can be read and understood, even translated into another language if needed, because it is in clear. When platforms and system change, it remains possible to adapt code to make it run. So essentially, non encrypted code can outlive the original development environment.

I have programs which started in VB which I ported to RealBasic. That would have not been possible if I had relied on plugins.

I do not object against plug-ins, especially Christian has created a tremendous source of ready-to-go-solutions. It’s merely because my projects are at the best low-cost solutions where buying a plug-in would increase the prize I had to ask for (easily double it), and mostly that I (considering myself still quite a beginner) want to get a grasp of what things are doing and be able to figure out all that nifty declare stuff on my own in the nearer future. A plug-in gives no insight to what it’s doing, therefore my knowledge won’t increase when using them.
I wish we could extend Xojo’s online docs (or add user-based ones) so that examples of more advanced and OS-based features could be as easily accessible as the multi-platofrm online doc I’m using a lot when programming in Xojo.

True, and it’s strange for me to argue that I don’t like encrypted plugins but then use a closed-source development tool. At some point I have to trust someone… :slight_smile:

For my “bread and butter” commercial software with support and maintaining fees I’ve learned NOT to use any closed source plugin. Plugins might be useful and they help you saving time but like any piece of software they do have Bugs and glitches which can’t be debugged. They are like closed source black boxes within my software. I do not like this and I only buy and use plugins where I can access füll source code and I am willing to pay a higher price for this.

Some things are hard to do without plugin, like finding a replacement for the Xojo database plugins in case you have a bug there.

I can’t argue with Bill’s (and others) concern for “controlling one’s destiny” by doing everything yourself. With unlimited time and knowledge, I would readily do that too and feel totally secure as a result. However, I like the way he states it here … “At some point I have to trust someone.” I thought about his comment as I looked around me where I’m sitting here right now and realized that most everything in sight is something I bought that I couldn’t “fix it”, “recreate it” or otherwise “make it work if it had glitches or stopped working” in the future because of some change of conditions … and I’m not just talking about computer/software stuff. Part of the buying decision involved the conscious (or subconscious) aspect of “how much can I trust this thing … and the people that stand behind it”. If I totally reverted to a NIH (“Not Invented Here”) position because I could not be absolutely certain that I wouldn’t ever have a problem, I wouldn’t own very much of what I now do … and as a result not enjoy the benefits and value I derive from it. Matter of fact, pose this same argument to the people who still own and operate Windows XP … I don’t think any of them are going to rewrite the operating system as a result of the “out-of-support, doesn’t work all the time with modern apps” nature that the OS now enjoys.

My father used to have a saying that applies here … he said, “Show me someone who has done nothing that has risk and I’ll show you someone who has done nothing.” Again, I like the way Bill states it … “At some point I have to trust someone.” I guess one reason I freely buy plugins is that I spend enough time looking into the source that I have such trust. Believe me, there have been cases where I opted not to buy because I did not feel comfortable with the source. And just as well, I have been burned for placing my trust in something or someone too. But in total, I have fared better not letting that fear dictate my decisions. Probably one way of putting it is, “Like many of you, I don’t necessarily trust the black box I buy will live forever … but I do trust that there will be another black box around that I can use when this one sees it’s last days … or, who knows, I may have even become smart enough by then to actually do it myself”. :slight_smile:

It depends on the question what exactly you are selling? You might be right if you are just throwing out Licenses. But I do a little more. I am selling Software AND Services around the Software. My unique selling point is to offer hand-made, fully customized software which is built around a company optimizing processes and minimizing office overhead.

Of course we all trust Xojo Inc., all the API and 3rd Party Technologies like SQLlite, MySQL etc. but I am not wishing you to stand in front of your key customer (who is paying your bills), explaining why you cannot fix a tiny problem or why you can’t do this or this because of any plugin.

Tomas, I often stand the other way around. I have to explain customers that I can’t fix an issue in Xojo itself. If it was a plugin issue, I could fix it myself.

Last week I moved a client to my SQL Plugin instead of the official MySQL plugin due to a lot of issues we had there.
Currently I’m considering writing my own SSLSocket replacement as the built in one is not secure and has bad performance. For all those issues we have feedback case open for years.

And I can’t understand people who don’t want to use whatever tools are available.

Hasn’t ever happened … that’s exactly my point, Tomas … I don’t want to constrain my creativity based on “concerns about the ‘possibility’ of something happening that’s never happened”. Actually, it’s more the other way around … Like Christian mentions above, I HAVE had to tell customers that something they wished for was not possible via native Xojo coding.

BTW … I have a customer base of exactly (only?) 4 companies (all of them large and VERY loyal … each being a customer for over 10 years now) … so no, not only do I not “throw licenses out there”, I do a lot of non-programming services for them as well. I’m a licensed facilitator, so I lead their staff level planning exercises and I’m a licensed sales trainer so I tend to offer a turnkey solution to each of them by assisting in their planning, teaching their sales force the selling process and THEN developing the software tools to help them go to market with their products. I can’t afford to lose one of them, so I wouldn’t take any risk that I did not deem acceptable. That position has served both me and my customers very well over the lengthy tenure of our relationship.

Looks like we all are sitting in the same boat, don’t we? And we all do not want to end like Bill in his example when we get too dependend on 3rd party plugins, which are not maintained or supported anymore.

@Christian: Your example shows exactly how it looks and feels like sitting between the lines. On one hand you can’t fix any alien piece of software when you do not have access to the sources. On the other hand problems are sometimes far too complex so that a regular developer can’t afford his time in developing for himself. Speaking for myself: I do not have the skills nor time just to write an alternative to Xojos MySQL API. This is the situation where your Plugins might come into a game.

I hope I found my path between these two lines in letting my customers decide.

By the way Christian, what to you think about splitting up your huge repository of plugins? Making rather smaller piece of plugins with basic and robust functions than offering a huge one?

You can already purchase individual plugins if you don’t want/need the entire library. It’s just that, after a few plugins, it becomes more cost-effective to buy the whole thing.

Wish I’d done that to begin with … actually, I had a specific need that drove me to get the MBS JPG, PNG, and CURL plugs individually first … and then came another need … and another need … and real soon I kicked myself in the ■■■■ for not having gotten the whole thing to begin with. Learned my lesson and didn’t fool around when I got Einhugur … got the entire thing at once … and numerous times have been rewarded for that decision.

Probably the same thing with people buying Xojo licences … they get only the Desktop or some other singular option for instance and then see what things like container controls, SQL databases, web edition, etc. etc. etc. will do for them and regret that they didn’t get the Pro version to start.

Although I probably come across as super anti-plugin, I agree with Tomas’ statement. I use one 3rd party solution in my software (VBPDF)…it was written in VB6 but is distributed as source code, and the author didn’t have a problem with my porting it to Realbasic. So now I have a PDF tool that handles stencils, patterns, and other advanced PDF stuff (which I actually use) that would have been too time consuming for me to do on my own, but I have the source so if something goes wrong I can fix it.