The Xojo Problem

Looking on other programming languages like Fluttrer/Dart, c#, Java (more than all of the others), Kotlin, C++, Python and other pro languages I can see that they have an ecosystem. This provides - in most cases even in a free version - libs which are helping with DatabaseAccess, Office-automation, hardware based communication and much ather stuffs in a high quality and professional level They have a real working multithreeding, are reliable, stable and having a consistent structure of the language and the ecosystem around. You can generate fast running apps without any limitation of the application speed based on the language. They have even for the Database connections fast and optimized connectors which are important for working with databases in an appropriate speed. The documentation is as good as it can be and nothing is real missed and the workflow is even available as open source for free. That makes programming fast and in a professional way.

Coming now to Xojo, all of this is missed. The executable binaries are slow as heck even after the optimization Xojo did (even interpreted languages like Python and Java are much faster). All of us know how ugly the docs are and there is no real ecosystem. To have an acceptable GUI functionality around for XPLAT you will need to pay another 800 bucks per year. For Office-automation, professional PDF tooling, better Database Connectors and so on: you have to pay much money. Or to write own implementations which is not possible for everybody. Often you need to access UI Features via declares like Button background color for IOS. And the code consistencyā€¦people which worked with it starting 2019 saw waht that means for them: nothing!

In other words: there is nothing like they try to tell us. On top of this it is closed source. If they will end up one day your code is ended up with this day.Yes, it is possible to dwonload the license. But there is no update or upgrade of this language anymore. It is starting to be a dead end from Day one of stopping the company.

So I have one question: why the heck people are using this Software?? I mean there are customers outside with Software written in Xojo buying concultant time. Mostly while reaching the edges where the showstoppers are there and no workarounds in a simple way possible. I canā€™t understand that point. Even if somebody says: it works for me and there is no porblem that I have to rewrite from time to time in another language. While they have no support at all (writing to the support leads to: please ask this in our support forum) there is no real quick help with reliability. Often I saw tips from other users which where not working at all or leading to the next crash and showstopper.

So why people are using still Xojo in a professional development?

1 Like

From my Xojo consulting experience most clients knew some coding, mostly VB6, and liked Xojo because the learning curve (seems to them at least) fairly easy if they wanted to do some modifications themselves at some theoretical future point in time. So they came to me already wanting to use Xojo for its cross-platform capabilities. Clients were generally older who learned VB6 for work back in the day and now wanted their app to work on the Mac.

I noticed that those types clients started dropping like flies (at least for me) in 2019 and in 2020 I left the consulting world. I like my Go job (still do a fair bit of Xojo but weā€™re in maintenance mode now). Our entire team is moving a ton of Xojo code into Go for multiple projects.

I do agree with your assessment of other tools. The ecosystem for Go (which is what Iā€™m most familiar with) is huge with a lot of Github projects for nearly anything you need. Iā€™m sure there are paid libraries in Go but weā€™ve not delved much into them because we havenā€™t needed them. And concurrency in Go is very good and the tooling around it is very good. The language is updated on a regular basis and they donā€™t break backwards compatibility.

Iā€™m working with Wails for Mac/Window/Linux desktop apps. Itā€™s fast approaching a reliable release and are starting the conversation of mobile apps. At the end of the day itā€™s a web ui but I donā€™t care anymore. Web ui is very good and robust these days and most people donā€™t seem to care about ā€˜nativeā€™ controls any more. They just want an app that runs well. I donā€™t know if weā€™ll ever use Wails for work but since itā€™s open source I know itā€™s AN option if/when Xojo finally dies. If we get most of our processing into Go before that happens recreating our UI should be relatively easy at that point.

1 Like

Exactly the case(s) I have
Each of them either was, or is, wanting to do some coding themselves and they are/were comfortable with VB6 or something similar

And there is simply the effort required to port, retest & reverify everything in any sizeable project. In some cases itā€™s just simpler to keep old projects in Xojo than try to port them to move them.

And new iterations may be done in something else
So rather than juts a wholesale jump off Xojo its a slow migration away as those old systems get retired and new ones supplant them

Sorry: I forgot to mention GO of course. It is a reliable language. As I can say from my site: Go is not my world but it is a real performant and maintained language with a starting to be good ecosystem around. That it will become more and more functional is no question. Started for WebApps will end one day for all platforms I believe.

I found also this type of customers reaching the problems and could not resolve. There was always a time I could help but also I will then one day reach the point of no solutions anymore.Thatā€™s how it works. And exactly thatā€™s why I am asking my self why people still buying it today? The point is that this question is giving an answer how they can stay on makret for the next years

I think that 99% of end users dont even know the difference.

By the way, did you found a solution to this problem? New Window taking Many Times Longer in Windows than Mac to Open - Windows - Xojo Programming Forum

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

Iā€™ve chosen Realbasic/Xojo 2007 because of its x-platform (Win, Mac, Linux CLI) and its RAD. Within days, sometimes even hours I could present a first mock-up of something and path the way in a project. Of course it took more time to finalize (5 years), but in the end I have build a complete ERP solution for a mid-sized company (500 ppl in 5 locations in germany) consisting of 56.000 LOC using standard technologies (mySQL, Web-Interfaces, Windows and Mac-Clients, PDF-Documents, integration with contacts). This software was used for another 7 years.

Videolink: https://blog.jakobs.systems/vid/20140101-making-of-minicalc.mp4

Aware of the traps and dirty places within Xojo I could evade many of them. But in the end and ultimately the API 2.0 language changes rendered all of my production hardend and robust classes absolete. Iā€™ve tried to transfer some classes to API 2.0 with emberassing results. The new classes were noticeably worse, which was not due to my code. The showstoppers and bug debts of Xojo grew and ā€œour geniusā€ didnā€™t care.

I had to move on and discovered later, that we professionals are not the target group of Xojo anymore. A disappointment, as I loved the language (I am a basic guy), the IDE (despite all its weaknesses), the RAD. Unfortunately, Xojo is an example of how miserable management decisions can ruin a good project.

Lesssons learned: I will never touch non-free develpment tools anymore.

3 Likes

Iā€™m sure working in other tools would be even more productive if some people werenā€™t writing almost daily articles about how much they no longer use Xojoā€¦ :wink:

The executable binaries are slow as heck

Fast enough for me.

you have to pay much money

Fair, but doing so saves me a lot of time.

If they will end up one day your code is ended up with this day

That has some truth, but my software wonā€™t stop running if Xojo goes under.
It is possible that the IDE may stop working, so Iā€™d be selling without the ability to fix bugs for a while.

Arguably, the same is true of any software I have written.
Someday, maybe soon, Iā€™ll shut up shop, and my own customers will be left without support.
It troubles me, but it is inevitable.

So why people are using still Xojo

Personally, because I like it, and I donā€™t want to rewrite everything from scratch - it would take months to learn something new, and years to recreate stuff just to get back to the same feature set.
Life is too short.
I make good money from what I write.

Maybe for a new project I could play in a new schoolyard.

1 Like

For this you can use the open sourcing of your code. Your customers can get Support then from other programmers. I have even a mechanism for this, if I close my company or if I die and nobody wants to drive the company further the code will be changed to open source in my Github Repos so people can use the code and can get Support. And for sure they will find people whie I am using languages which are more common than Xojo so there are programmers which are able to help.

That point I canā€™t understand. Using even simple Netbeans with Java saves the same amount of time if not more. There is a big ecosystem and at the end: less bugs to take care about. This situation you would have also with C#, C++ and so on.

For me not at all cause databse to slow, String concatenating is a drama with Xojo and so on.

Voluntary support for open source canā€™t never compete with true dedicated support from software developer.

That is true butā€¦ Xojo dont have that either :sweat_smile:

Did you rewrite it the whole thing??
Move to where?

Read and understand. At the moment where I will end up the company the Software becomes open Source and the Customer can search for a programmer to get the needed assistance. I donā€™t know what is wrong with your ability to understand but thatā€™s the only way and that way works.

He is commenting (my opinion) on the use of ā€œOpen Sourceā€ projects where a ā€œcommunityā€ changes and updates the code as it grows/evolves.

This is different that what you are saying in that you Software Library will be unlocked so a ā€œDEDICATEDā€ programmer/team can continue to keep you business running after you are gone

My opinion, the first scenario is ā€œbadā€, as you have no idea who makes up that ā€œcommunityā€, what their skill levels are, how well they understand the code, or if they have nefarious intentions (much like what I see with the remain Xojo forum members)

What YOU are saying is different, in that I would hope and assume the people taking over your library will be vetted by someone before being let loose.

Possibly but I was exactly arguing about the specific situation. Thatā€™s why I was replying. The entire point is: what will be after I or the Software Vedor getā€™s retired/bankrupt/closed/killed/whatever?

We delayed some of the containers from loading. Itā€™s still slower in Windows but we can live with it.

1 Like

The developers of PureBasic have stated something similar, the IDE is already open source and if for any reason they are unable to continue development the compiler would then be open sourced too.

1 Like

There is something fundamentally faulty with Xojo in Windows. I have narrowed it down to the Xojo GUI. If I create graphics window, mouse, and keyboard controls which are created with a plugin, the speed is similar to C++. If I embed the separate windows in a Xojo windows, speed decreases. When I use a mouse control from Xojo, the speed decreases further. When I use keyboard controls from Xojo, the performance decreases more. When I remove dependence on Xojo GUI, the speed returns. There is Xojo code under-the-hood which is fundamentally incorrect with Xojo and Windows for the GUI, graphics, mouse, and keyboard.

Othrerwise the customers would be in a dead end. Thatā€™s one thing I was appreciating with Java and Netbeans (also with Eclipse and IntelliJIdea Community Edition). They are open sourced. Something what means also: I can hold my Apps running and maintained for decades. Not like with Xojo where I donā€™t know it.

but itā€™s generally easy to figure that out, and no worse than other companies (at least the ones iā€™m familiar with their inner workings lol)

And worst case scenario, if you have a Matt Mullenweg style 5-star outrageous movie inspiring public malicious meltdown, you still have the source, and can find a different maintainer.

FWW that is completely not true! So considering fake news unless you can proof this (which you cannot).