List of Xojo Desktop most important bugs

Visually front most may not be “active or focused” though
I’ve seen that occur in some apps that force a document window to be front post over a modal and they dont respond

Lord knows what Xojo has hasnt done and it may just be a bug but it was never a good idea

1 Like

Are you sure it is not just a wrapper for NSAlert on the Mac? I can’t tell as they refuse point blank to provide a handle for the underlying class. Which means you have to replace it with declares (or a plugin) if you want more than 3 buttons or the OS supplied checkbox.

It was stuff like this that drove me wild, because just expose the damn handle and I only need a couple of declares to utilize built-in OS functionality but instead I have to re-invent the wheel to change the damn valve caps, which wastes time, money, disk space and memory.

Another thing which may or may not be a problem is that in AppKit a lot of “Modal” dialogs are NOT process blocking, they instead use call backs, so that the rest of the app can keep ticking over. It does make some design different when compared to Xojo’s 1990s approach, but it results in less complications.

Xojo have desperately needed a Mac engineer for many years now, but Geoff’s downright refusal to hire one, indicates that either Xojo doesn’t have the money or Geoff simply doesn’t care about the quality of his product.

It is a Windows bug…

In windows Im sure, the MessageDialog SUCKS, it is just a modal xojo Window, not a native windows dialog.

Who the heck said all the time that Xojo is NATIVE? I was never. And I would never do that. For what? While it is not native. It looks like it. That’s the point. But the controls are in many cases everything but native. As programmer you should know that cause if you trust on native behavior of a component and it is not you may get bugs you don’t like.

“All software has Bugs” --Geoff

2 Likes

And we make sure we have more than our share and are proud of it! :wink:

4 Likes

Indeed he’s probably not wrong

But using that as a crutch to NOT try to do better is where things go off the rails
It comes across as “Myeh all software has bugs so this is close enough. Ship !”
To me at least thats how that dismissal comes across

4 Likes

The difference is tht Xojo does not fix even really important Bugs.

3 Likes

He never is :slight_smile:

1 Like

:rofl:

too true

I did mean “yes most, if not all, software has bugs”
Nothing more or less

Knowing there are bugs is one thing
Knowing they exist and appearing to do less than everything to fix them seems wrong to me
Did then. Still does.
I took pride in what I did
And made every effort I could to make thing better and fix known issues ASAP
BEFORE new features since if one person reported it how many left it unreported ?
It was well known among several of us working there that ONE bug report was just the tip of the iceberg of who it affected
BUT it was often oh its only been reported once was often used to justify NOT fixing it as if only one person was affected
And that still seems to be the case with the thumbs up

Lots of people just DONT report bugs - ever
Or see that its BEEN reported and think “oh it will get fixed” and dont ever “me too” a report

At the outset me towing a report might have been an OK mechanism
But NOW ? People have become so used to "it got reported and is still unfixed so why bother? that they just dont bother

THAT is not new
That started long before I ever worked there
And has perpetuated with no apparent steps taken to correct it

And so the cycle of despair about Xojo goes on and on
They say “report the bug or thumbs up an existing one”
Users say “why ? they dont get fixed fast enough anyway”

There are relatively popular bugs (not feature requests) that are very old
https://tracker.xojo.com/xojoinc/xojo/-/issues/?sort=popularity&state=opened&label_name[]=Bug&first_page_size=100

It is not the point that there are really old bugs. The problem is that this bugs are showstoppers for many people. There is for example one thing I can not even understand. But it shows how Xojo, inc. acts with their customers. When releasing Web 1.0 it could be a simple thing to give the users the chance to rename the events used for mouse pressed. But from several reasons they thought: hey, renaming this event will scare nobody. It results in an App without this events after saving. Means: it is not even possible to work slowly on this application. You simply loose all stuffs not available in Xojo Web 2.0 instead of leavong them for the rewriting. THAT shows how they think about their customers. Not even a second.

With API 2 they acted different but not better. There is a big pile of stresses for the developers. And why? While renaming is their big hobby. And even if it makes sense where I am without any kind of believing: it makes no sense to rname msgbox to messagebox and back while users freaking out. What shall that be? A kids game?

And here we go: the Xojo IDE isn’t made for any kind of professional Software. And even if Norman or others telling nooo it is used for this and this…bull…it. Xojo has not real abilities for professional programming. Too many functionalities are not available or so buggy that they can not really be used. Getting a Xojo App running is impossible without tons of workaarounds. And this Workarounds are different from VERSION to VERSION. Nobody can tll me that this behavior is professional.

I am programming with Java (main language), C++ (second nearly main language) and in the meantime RUST which replaced C. What shall I say. With none of this languages I had such kind of experiences even which I had with Xojo. None of them is so poor in bugfixing, functionality, runtime speed, ecosystem and so on. None of them has a so bad service and support concept behind. None of them has a so bad documentation.

This never ending dicussion about native Xojo ends up on many edges. It ends up hard shile not really native Dangerous situation in Appstore checks. Dangerous when telling customers “all native”. I had tons of this discussions. If I want native I am using C++ for Windows and Linux and Swift UI and Swift for MacOS and IOS and of course I use Android Studio for Android. Why should I use different stuffs for native UI’s? When programming cross platform there is another need: I want to get a result running on all the supported platforms. Means: I can live with not native UI but not with not really cross platform.

Example? Enjoy: Programming with Xojo a Desktop Application can be an adventure. A customer of mine builded one. For Windows and Linux. Why for Linux? While it should run on Raspberry PI. But the App was not running stable on Linux. Not even on Linux X86 it was running correctly. Means: the platform was not really usable. Often crashing and made problems. Windows: was running with sometimes crashes. And a bad performance. MacOS they where not using.

After three years of trying to get this stuffs running the customer decided that he wants to get a rewrite for the App. We wrote this as a write along of his GUI so the customers could use it like the Xojo App before. Including MySQL Database connections and also needed: PDF generation. After we had the rollout his users where happy. App runs extremely fast and is doing the right Job. A few little Bugs we had to correct, a few of them even while they had them as logical Bugs in their Application. No question, can be happened.

It is not possible to write real XPLAT Apps with Xojo. It is running on MacOS like a charm, on Windows with many, many problems and on Linux like shit. That counts also for the IDE. I have a Xojo project I can edit under macOS and also compile. I can edit and compile under Windows but sometimes IDE crashes doing that. And I can try to open it under Linux but it crashes when pressing on run or compile and it crashes when using the GUI editor.

So I ask my self: how can this be used for professional projects? With tons of workarounds. With tons of show stopping bugs? It is simple. It can be used for not that complex projects. But big projects crashing it completely. So there is no usecase for Xojo without the following risks:

  • it may not run on all platforms they promise
  • it runs with a bad performance even after the speeding up
  • it has a big memory problem while no real garbage collection
  • it needs nearly a rewrite when touching code which is even two years old
  • the sourcecode from projects of Web 1.0 is completely useless and can not be converted
  • be sure that it will not run on all platforms
  • if they become bankrupt the IDE is not usable anymore when changing the computer
    (yes Norman, I know it is possible to use the extracted license but that is not working in all cases)

Looking on that list is showing only one thing: dangerous Idea. My customer I wrote about spended 2 man years for writing the Xojo App and nearly two man years more for bugfixing. We spended for writing the same application in Java one man year and wrote it with out Team in 4 month. One further month we needed for Bugfixing and optimizing. Shows some differences. No workarounds needed and the knowledge that this Application will run in 2030 with the same API without any problem. There are big differences between programming languages. And there are big differnces in their quality.

1 Like

I moved to PHP exactly because of this.

I’m assuming you literally mean I want to name this event ‘PressedTheButton’ ?
Or am I misunderstanding ?

Renaming all the events, across the board for web desktop iOS etc was a mistake

There are definitely grains of truth in here
But the assessment of “professional application” is 100% subjective
There’s no objective measurement that says this IS or is not a professional piece of software

Stability and compatibility of the underlying framework IS important otherwise anything built on top is fragile
And those are often the bugs end users see
I will say that I do NOT recall having lots of workarounds in the IDE code base itself
Its a reasonably complex “professional” application (ie its not something a hobby type user bangs out in a weekend)

These languages have something Xojo definitely didnt (and I suspect still doesnt)
Enormous regression test suites for ALL aspects of their language & frameworks they ship

xojo had a niche
but I think that is shrinking

Actually here’s a GREAT example of how their “process” fails

https://tracker.xojo.com/xojoinc/xojo/-/issues/76710

Error events never happen on Xojo Android

Issue reported BEFORE they shipped
So obviously there wasnt sufficient QA on the implementation before it went to beta
They never took the time to fix it DURING beta

Shipped anyway

Not fixed in 2024r2.1

Scheduled for 2024r3

A proper release process would have caught this and either rejected it from the 2024r2 release OR fixed the issue

But no …

And this is just one example
its repeated over & over & over and always has been
That is where Xojo fails users
Never getting any better at this
:frowning:
It was frustrating when I was a customer. When I worked there. And once again as a customer

1 Like

The mesurement is simple. Look on all of theese problems. Professional Development is impossible. At least nearly not possible under commercial conditions. People need to earn money. But I know that your thinking and meaning is different from the rest of the industry. It is always still a bit cool aid inside. I am carefully asking you: will you tell me that it is comparable to GO, C++, Java & Co??? I hope not really. Development environments for profesisonal Developers should be more professional. Xojo handles nearly no Bugs, they do not take care of their users and their update / upgrade policy is not connected with their customer needs but with the marketing for new customers. You really want to sell that as professional to me? I hope not.

And yes: it is not a piece of Software somebody bangs out on a weekend. But it is not under a professional handling. Sad but true. And that makes it impossible to trust this Software especially while you have no chance to know if your Sourcecode will run next year with the next version without a rewrite of your Software.

Xojo had a niche? Which one? I can’t see that niche Xojo has today. It had one as the only let me say Visual Basic like product on mac. That is long time ago. Basic is out of order for the most programmers. Cross platform was never the niche because that Java could do before Xojo. I have Apps written in 99 und running with jre on Mac without any problems. This was long time before Xojo was providing XPLAT. That is not the niche.

Also the native UI can not be the niche while the UI is not native. Definitely not. It looks really native but it is on so many edges not. Never mind.

So where is the niche today? I mean modern web applications you can build with Java and vaadin (open Source). Using the IntelliJIdea community edition it is even for 0$ possible to write state of the Art web applications. So no niche in my eyes anymore.

And Desktop? I don’t think that this is a real niche. Possibly the VisualBasic like syntax. But VB is long time ago ended and out of sales. So there are a few people with the knowledge of VB programming using Xojo as their environment while having not the time / passion / need / interest to learn another programming language. THAT was a real niche. But that is ended up since 2008. So since 16 years no new programmers are added to the VB6 community. That is not really a niche anymore which will bring so many licenses like it was before 15 years.

So I am asking my self: is there still a real niche or is there a small community still using it. And if it is a small community using it there is the question: will this community still be there in ten years? I doubt that.

The major problem a professional Developer has (at least all of them I know) is code consistency. Holding code for long time alive so the Software lifecycle is not a nightmare. It is definitely in the meantime with Xojo. It was not in history. But it is today. The next problem of a developer is that he needs stability and reliability. Otherwise he will have problems with his customers. That is definitely not really given. Also needed is a support structure. Only thing we have for Xojo is the “User Forum”. There is no real professional Support. Nothing like that. And often it is so that the users with the needed experience are simply in knowledge of the needed workarounds. The documentation is crap, all of us know that. If a developer has a #1 need: a good documentation. So you really want to tell me that this is professional Software? I still doubt that.

MY personal FEELINGS about it is that I would agree
However, unlike measuring the speed of two sprinters, there is no objective finite measurement like that where you or I can say “this set of criteria define what IS and IS NOT a professional level Deve;lopment tool”
Would be nice if there were but there isnt
So it IS all personal perception

And I agree that Xojo hasn’t demonstrated they are willing to do what it takes to make a professional tool
There might have been glimmers of that but they were extinguished long ago

Certainly the “hobbyist” (I hate that term) market
I would say they could have been much like VB - glue code for tying systems together
Some folks have pressed it to make pretty impressive works
But that doesnt seem to be its niche

Cross platform was attractive - and more approachable and understandable than Java in many eyes

Oh its never been completely native - thats always been a marketing BS bullet point
Not since day 1
Listbox is THE big offender - although I’m sure they’ll try & tell everyone different
Yes it DRAWS using platform APIs but thats not “a native control”
And there are others on each platform

Why I said

VB.Net still exists but yes its not VB6
Although there still seems to be a significant crowd of VB6 users (according to TIOBE)
But I think the days of Xojo attracting many of them are long gone

The latter. An increasingly small community IMHO

So do I
It would do them a world of good to try & obtain ISO certification (I dont know if 9000 is the right one)
That alone would make them document & standardize their processes and that alone would probably help a LOT

In my eyes a professional software developer is one that continues to try & improve their craft and how they can produce reliable code using whatever toolset they use
So process is a huge factor in that
How you do what you do is as important as what you do
And learning how to do that better IS part of improving as a developer
Can you do that with Xojo ? Xojo itself makes it damned hard because it’s not as reliable as the languages you’ve cited.
It doesnt mean that a person CANT be successful. Just that it is much harder because Xojo does what they do the way they do it.
THAT isnt a happy thing and why so many HAVE abandoned them
THEY arent willing to do the things they need to to prove they ARE a professional software development shop
Their dev process always was haphazard. Very likely still is from all outward appearances.
They refuse to even take small steps to improve like REQUIRING unit tests for code
SERIOUSLY ???

Long ago Charles Yeomans commented that REAL was simply
_ A group of very talented highly motivated amateurs_
or words VERY close to that

I laughed as he was so bang on
Still is

1 Like

Xojo can’t afford it. I’ve asked myself why Xojo refuses to hire platform specific engineers, to ensure each target works as well as it can and meets the current target guidelines, the reason I always end up with is that experienced platform specific engineers are expensive and Geoff knows this.

There was a time when I wanted to work there, not because I wanted to work for Xojo, but because I wanted to modernize the Mac framework, I even suggested it to him, but the ultimate answer was that Xojo doesn’t need me and that everything is the way it is supposed to be. Which it is far from being as it should. I still get people asking for Xojo help, because the answer they got from the forum is wrong, or they got no answer at all.

There were so many things I wanted to do with Xojo, but being on the outside wasn’t going to cut it, and I wasn’t welcome on the inside, probably because I’m not a “Yes” man and I’d argue for what I thought was better for the product.

I hear it is much the same as before, experienced devs are frustrated at being ignored, while newbies continue to dribble in replacing the experienced devs, eventually to become experienced devs who get frustrated at being ignored. Judging by the fact that Xojo is now adding preemptive multitasking, I think Geoff is aware of this problem, and maybe working to resolve it.

2 Likes

I can tell you from experience that Geoff doesnt like people who tell him No
Or Thats a bad idea
Or anything that challenges him
Those things are conflicts to him and he dislikes conflict.
Almost pathologically so.

Too little too late

2 Likes

There is a complete simple way. Quality. Professional tools needing quality. And this vedors having in all cases quality management systems. Implemented as IEC/ISO 9001 (development has to be part of the QM). That makes it fast to decide.

The Hobbyist market uses other tools in the meantime cause there are too many of them. No need for that anymore. Since people are using Javascript and in many cases also low code tools there is a big loss of this market: all of them are available as open Source. Makes it perfectly possible to be a big player selling to that market.

There are reasons why I don’t trust any word of tiobe.

And yes, I would adopt that words for the history. But I doubt that they are still that motivated in their work. That got lost.

I dont disagree that QUALITY is an important factor
However, assessing that quality isnt simple
Its not like measuring the speed of something where you can measure if whatever units you want and one thing can be said to be measurably faster, or better, than the other
What you describe isnt measurable in that same way

I wish it was