The Xojo shell class is inefficient

In many ways I agree

I dont mind the sales pitch in an of itself BUT I would like to see them be MORE helpful than they often are

Try my plugins isnt that useful by itself

Something like Try this code with a code example following IS much more useful and helpful to everyone

Thats all I’d ask for

Ah, all that typing I still forgot to comment on your comment Norm (but it was floating around in my mind).

Yes, I agree and having some small snippets of code with the MBS suggestions would be awesome.

But expanding upon Christian’s replies might infuriate the “no sales folks” even further. Maybe I’m misreading things, but I think Christian has been trying to be as non-obtrusive as possible to try and keep folks happy.

I have thought about why it irritated me so much.

Apart from our personal beef, I believe it is because there were two low effort posts in the conversation that suggested “Buy my plugins, figure out how to use them, then do the test yourself to see if its any better than the solution you already have”.

The second one came after I had already replied to him, stating that I wasn’t interested in his plugins as I wanted to stick with Declares. Upon the second “plug”, I felt like he wasn’t really participating, it just became another opportunity to “plug” away. I of course can easily have misunderstood or misinterpreted his replies.

I don’t want to prevent anyone from participating in the conversation at all, but when trying to sell wares, perhaps less is more. Perhaps just one post to say “Buy my plugins”, perhaps as others have mentioned, actually put some effort into it to show that it does help, or in cases when it doesn’t, say so and see if there’s a way it can be improved to help.

Part of the reason why I got so angry with Xojo is the perception that my time as customer isn’t valued “No worries, you simply re-write your application to see if we fixed our bugs with 2.0 ATT”. I got the same vibes from Christian’s multiple “Buy my plugins” posts.

2 Likes

Everyone’s comment is valid, just because someone disagrees with it, doesn’t make your opinions or feelings less valid.

As for punting wares, I’m not against that, but perhaps only once per thread and if the OP says they’re not interested, don’t do it again for that thread. Of course illustrating how the wares can solve the problem or improve the app, is going to be better received.

Which is also part of the complaint, as we don’t know if the MBS is a workaround or not, we don’t know if it would be better or maybe worse. It’s an alternative, but is it a solution?

But it does not change anything. There are two ways when staying on Xojo. Living with the Bug or buying the Plugins. All other ways would say: use another language and EcoSystem. And in this way Christian is on the right way: there is no other way than using MBS Plugins. The way he says it - we can discuss about. It is not as good as it could be with a code snippet how to build a solution with his Plugins. But it is also so: that does not change your ability of writing Software in a reliable way. When and if The Company changes the way how they build up their Solutions like it was with Web 2.0 and with API 2.0…man then you may have to rewrite the Application. Nor for example Bootstrap 5 is coming. Means: rewrite big parts for many customers of the Company. They had the chance to abstract the use of it and would have to implement it in one of the next Xojo Versions.But they leave this part at the side of the customer. Looking on this and comparing with Vaadin I can see the difference of code consistency. And that problem nobody can take away, even Christian has to deal with this like everybody else.

1 Like

Forgive me if I misunderstood your post, but Xojo or MBS is not the only way. Using declares / external methods you can directly access system frameworks, handle events and callbacks, I can even hack the Xojo classes and re-map their events or properties, bending them to my will.

Which is probably why I’ve been hanging on for so long… I really need to ensure that new projects are started with a different tool, I need to get out.

I’m not one of the “no sales” people

Nor would I expect a vendor like Christian to totally refrain
I’ve never asked him not to

But being more helpful might mitigate that “no sales” feeling some have

Dunno
But adding snippets of how to do whats asked cant hurt

2 Likes

Yes you can spend years in Xojo. I was and lost much time and money. Was standing still with a complete project and had to rewrite. Looking on it I am actually happy about that. Why? While I got back to java and realized that there is no app I can’t write in java but many I can’t write in Xojo. But never mind. Of coarse you can spend your time with declares. Helping on one is platform. But the others… And exactly that drove me to the point not to stand with Xojo.

The basic issue is that Xojo Inc is satisfied with selling a Minimum Viable Product to beginners these days instead of sweating the details that others need…

-Karen

2 Likes

There IS still a Problem MR. Dalu. Beside your arrogant behavior Congratulations to your Forum nobody answers.

That Sam said something about the attitude to make advertising in form of: use my Plugins is one Part of the in your eyes not existing problem. Xojo should have not any Bug like that not fixed in long term and known since long time.

Christian should provide CodeSnippets how a Solution with his Plugins would look and describe what it makes better. Also needed.

1 Like

My general experience with MBS and the other major plugin vendors is they will often offer up the necessary steps to a solution, often with code samples, and then also (and no problem with this at all IMO) mention that their plugin does it all for you, if you’re so disposed.

Sure some plugins are “me too” efforts and they are just throwing mud at the side of the barn or are clueless about how to promote them. But in the main, my only problem with the plugins is that they are necessary if you want to go beyond the very simple sort of projects I have done so far. Eventually you do more sophisticated things, find stuff that’s weird or broken, and you spent more than your Xojo license pretty easily for various plugins. Then once you do that, Xojo’s first question when some problem crops up in the product is, “how many plugins do you have in the project? Can you remove them and try again?” such that the plugins become just another way to deflect from the problem and to push testing and trouble shooting off on users.

But none of that is the fault of MBS or the other plugin vendors. I’m grateful to have them in the ecosystem.

3 Likes

You are right to 100%: that is not the fault of the Plugin Vendor and MBS has - as far as I can see - the best Plugins. I came into that situation with Xojo Web 1 and I wrote my own Java Plugin while I needed functionality beyond the Plugin MBS provided. But still: MBS Plugins are definitely the best ones.

When I crashed with that project cause of the leaky Web 2.0 I had not even the chance to get a solution by Plugins. Also not fault of MBS.

But, in my view, it would be nicer or at least for newcomer better to understand when and if he would provide more snippets for Plugins in Action. For old users: no problem. But new ones will have some problems with understanding how stuffs will work and how to get them running.

In fact: the second point you are right is that there is the need for this plugins on all edges. Coming from Java World (started in the very very early state of Java) it was hard for me to get and accept how this will work and how we can exist with this. While one of the customers wanted it I agreed to use Xojo. So I came to be a USER.

and so I guess we are also on the same line if I say: one of the best concepts for a Programming language. We can discuss about the IDE. But sadly: good for Beginners but in parts more than hard for Pro Users when in the need of extended features.

And so: yes, I appreciate the availability of Plugins made by MBS. But I also see and realize that many people can’t follow when he simply says: use Plugin XY that can help you. And explanations would/could help. or even a link to the docs of this Plugins where you can find examples. Not too much work and done fast. And to be direct: I would really be happy to see that cause I know that there are also users never writing but following this Forum.

I have asked @npalardy to remove this entire thread as I’ve gone from being mildly irritated to downright angry.

I have spent two months working off a theory about energy usage, I have written up my theory, proposed and designed tools to help prove my theory. I’ve even had my work checked by two other senior developers.

In this particular case, I’ve dug through two weeks worth of data trying to find a pattern of the energy usage, once I had a theory for what was causing it, I built the tool to track it down.

Both of my theories were proven correct.

I then spent the time to investigate and devise a solution, I tested that solution and in my excitement, I shared the results with y’all.

In two minutes, my months of work became a promotional vehicle for someone else’s plugin. After the second time the vendor used my work to promote his plugin, I politely asked him to stop.

The vendor then promoted their plugin again, showing complete disregard for me, my time, effort and my wishes.

Yet, I am publicly made out to the be villain, to be rude, to be unfair.

If the people here, really only see me as something Christian can stomp on to promote his wares, then I don’t want my work published here anymore, and y’all can be happy with him treating other developers with such disdain.

3 Likes

Sam, I seriously doubt people saw you in a negative light until this post.

Nothing Christian did negated your accomplishment. I was suitably impressed with it, if it helps.

5 Likes

Again: you are totally right and Christians Post does not change anything. And yes, it costs much energy to get that out and it is much work. And instead of stopping after second time advertisement he started a second and a third time. But at the end: your theory is totally correct and it is important that exactly this will be also promoted here and being said. While nothing will change if there is no public information about but instead only a bug report which will not be touched. And that is needed to get changed for all users.

So yes, I beg you please not to stop to publish that works here.

1 Like

Sorry if something offended you.

If you told me days ago that you suspect Shell class to be buggy, I would have pointed you to my classes to compare before you put all the work into looking for the reason.

You do great work and we appreciate it. I recommend regularly to customers to use App Wrapper for example.

2 Likes

To answer an original-topic question:

Yes. I have a desktop app that’s basically a front-end for a Postgres database, and for statistics it uses a materialized view that takes about 2–3 minutes to be recalculated. For simplicity, I first added an SQLExecute in my main app which then makes the app hang during the update. So I moved that code to a worker. It’s basically just a refresh of the materialized view and an update of the time stamp that marks the last update. This execute just waiting for a db execution will max out one CPU thread fully. I probably should simply turn it into a Postgres method.

1 Like

True. But I didn’t see an example code of Sams solution either. :face_with_raised_eyebrow:

So what about this:
Sam shows his code to this problem. And Christian shows his MBS code example.

That would be very helpful to this thread for sure.

Mr. Dalu, first of all: it is not from interest that you mean that you are right. Nobody feels frustrated that somebody was not listening enough. He is only frustrated while the Shell Class IS inefficient. Compare it to Java or C++ Shell. And start scattering about unfair after compare that with the efficiency of Xojo shell classes. And please: don’t come with something like great languages, professional stuffs and so on. Xojo says it is professional. Then it has to fit also thie conditions for professional.

Next: he is not overreacting. It was irritating him in a maximum way. So start to realize that there are developer which don’t want to use Plugins for everything. Again as advice: bring up your forum where you can tell people how to think and how to write stuffs not other people can say what they think and want. He has the right to see it like it and you can’t say no, you are not allowed to. Or forbid to speak like he wants to even in saying “don’t try to blame”.

“hy it irritated you so much, like i said it’s a symptom.” I guess you want to implement something pathologic. I can tell you: a) you have not the qualification to and b) not the right to. So please stop this attacks against others on this Forum. Attacking will not help anybody.

" * read your title again, it’s radical and definitive, you like to make provocative title like this to critize on xojo, i understand, i could have written such title for other topics"

shall tell us now that Sam has a radical position? What you dare to do? You are the measurement who is allowed to say something and what? Sorry, you have not the right to act so in my eyes. Stop this attacking people.

And the attitude you bring out in the next part is something I can only ask Really? You really mean that you are the one that can say this? I am sorry but that is not okay. You attack somebody which tried to get out why the Shell is inefficient and what makes it inefficient. You are totally wrong. That is not ranting. That is writing truths of a situation. Not ranting.

You try to implement here something what is not even a bit your business. You have by self a Forum. Write there. You can link to this article and write there. What you even think. But: not here. Because what you said is not true. Not even a bit in my eyes.

Let me add an example for you guys:

Dim s As New ShellMBS

s.Execute "/usr/bin/whoami"
s.Wait 5

Dim output As String = s.ReadOutput
Dim errors As String = s.ReadError

Break // see in debugger

MsgBox "whoami: "+output

But normally I expect someone to go to the documentation website and find it there and maybe also check our sample project.

5 Likes