The emotional toll API 2.0 has had on Xojo developers

So we know it, API 2.0 and the company’s attitude has led to demoralization, sadness, frustration and other negative emotions.

Some of us were quick enough to realize early on that there’s no hope and abandoned ship, or were banned from the ship.

Some of us… It took a little while for the desperation and realization to settle in, and for us (well me) to realize that it was making me depressed, and while my thoughts were of quitting software development, it was really Xojo dragging me down.

These last few weeks of trying to sell App Wrapper has made me realize that there’s a third category of people. People who know it is not going to get any better, yet they try to accept it and shuffle along.

I was talking to one such person, and realized how they’ve lost their enthusiasm and become IMHO quite demoralized. They’ve lost their passion for development, and several have mentioned that they also are thinking of quitting the software industry.

These people are not dumb or stupid, IMHO what we collectively went through has affected them as much as us, but they’ve reacted to it in a different way.

I want to help the person I’ve been speaking to for the last few days, but they’re quite adamant that changing languages is NOT the way to go, but I don’t know how to help 'em regain excitement and enthusiasm for software development again.

Any ideas?

There are people in this industry that start with a particular language, be it Xojo, C#, VB6 or whatever, and become more emotionally involved than intellectually. To me the decision to move on was probably different than others , as I have no client base that needs to be supported. So I moved on when it became clear that Geoff and Company were unable to continue to support Xojo and make it move forward, and that all decsions were more EGO than anything else.

Personally I started in this industry in 1976, and over the past 48 years have leaned and programmed in more languages than I can even name anymore. Some of those were because I had to for work, some were because I wanted to, but all I had a passion for, even if it were to “learn something new”.

One has to ask WHY they are adamant about sticking with a failing product? Do they have a contractual requirement? or do they think they can’t learn something new? The first may be a reason to stay, the second one is not. If you were smart enough to learn Xojo, then you are smart enough to learn C#, Swift, Java, PHP (or all of the above)

As I said, I am now 68 years old, have been in this industry for 48 years, and I am still learning, still have a passion for the creation of software, and still excited about what tommorow will bring.


Well there’s some truth to that. Rewriting my app would likely take at least a year. That’s a year that my shipping version wouldn’t see many updates, which would be a stark difference from the nearly weekly updates I do now. That’s a year I’d have to spend letting my app languish. If there were a clear alternative, maybe I’d consider it. And if Xojo forces my hand, well then of course I’ll have to reconsider. So I should gamble the future of my app on the possibility that Xojo will collapse?


Yes, people are demoralized. But. As I am looking back I started first commercial Software Development in 1987 being 18 years old. Development was what I loved. Even over my studies and education I still developed all the time commercial Software. In several languages and on several platforms. And yes, there where things I was really sad that they passed by (the times with Turbo Pascal for example, the first language for commercial development I was using) or the times of C Software development (okay, for Firmware still in use but for Unix Software Development it was another animal I would like to say). Also C++ - hated and loved in the same moment until today. No Sofware Community I ever met was like the Xojo Developer Community. No Community tried ever to hide the Development leaks and Management decisions inside a forum which is (officially) community driven. Xojo was a miracle looking on this. The only community where criticism is not allowed. When the CEO of a Software Company promised something and not holding it was normal that in a Mailgroup or later in a Forum ist was named like it is. Only in Xojo community it was and is impossible. And users where not accepting that somebody was criticising Xojo. They start to name it ranting when you write: “Sorry, that isn’t correct and it is not fair to do so”. That is still a difference. And always, in all totalitary driven Systems, errors are not corrected but the troublemakers are killed. (look on Anne Frank and later on Mr. Navalny or different: read the history books and you may find out that is running exactly that way). In my eyes it is a dangerous situation to act like this. Why? Simple. While you drive your development in the wrong direction when never listening on people outside.

For me it is simple. Simple while I have no need to start any new developments on Xojo Platform. So I have the granted goody that I have always a chance not to use Xojo. Not for Desktop, not for Web and not for Mobile.

All the discussions around the decisions and what could be if - I named this discussions coulda-shoulda-woulda Discussions following to Norman Pallardy - are simply not worth of writing down one word. Xojo has no connection to it’s community. Xojo is never a they. It is a he. The CEO drives it in all circumstances. And so you can be quite sure: nothing will change. While any change would have one dependency: the CEO would have to realize that that what he was deciding was a wrong decision. That will never be happened. Not in a System like this one.

Looking on the Java Community there was and is still a big amount of critics on oracle decisions. And oracle listens. Corrects. Does things to move the Software so that people have less points for critics. Also C++ does that. Even QT does that. In the entire industry every company stopped listening to the customers passed. Why? While nobody wants to ride a dead cow.

1 Like

From my own experience I know that the perspective of leaving behind the language and IDE you know well is a frightening perspective. Especially if you are not a trained IT professional. Yet this should hold no one back if there is no future with the current platform.

How can we help? Offering information and links to sources that did help us moving to a new language and IDE.

One’s attitude is essential.

@DaveS nailed it:

I … have been in this industry for 48 years, and I am still learning, still have a passion for the creation of software, and still excited about what tommorow will bring.

1 Like

Make a risk assessment. How likely is it that Xojo crumbles and how long will it take to recover (re-write) if Xojo’s demise would hit you unprepared?


Or they can’t find another tool with all the following:
• Cross platform support, with native controls (even if a subset; don’t want “ugly” and foreign-working UI like Java provides)
• No extra characters in the language for no benefit (C++ ending lines with “;” and putting brackets everywhere because “that’s beautiful”).
• Strong typed language (hate it when the framework makes automatic conversions with variable types under the hood).
• RAD (don’t want to write 15 lines of code just to create a window that we can’t even see until running the app).

What would you suggest with these arguments?


I agree with those points. I used to love Delphi (when it was in V1/2) because it had the same RAD design process, better layout tools, easy custom control creation.
It used Pascal though, so in addition to the pointless ; you also get begin / end wrapping.
These days , using the common Fire controls, it also offers building cross platform, so it was very tempting. It’s pretty fast, and the apps are compact.

So I recently gave it another go, figuring I could ‘get back on the bike’, but abandoned it after a month, for four main reasons.
1/ I was reduced to weeping at syntax errors due to whether or not it wanted a ; added.
2/ Online examples were out of date (the Xojo API2 issue) because of language changes - so every time I went to a support forum to say ‘why doesnt XYZ’ work? The answer was always 'oh nobody uses that any more, you should be using ‘WrappedXYZwithFancyStuffYouDontNeedButMustSupply’ instead.
3/ Firemonkey code isn’t compatible with the older VCL code I was familiar with, but needed for cross platform
4/ Shocking pricing and licencing arrangements.
Embarcadero ruined Delphi, IMO

I use Xojo because I don’t want to spend a year learning while not getting updates out, followed by 6 months of debugging for brand new issues.
I don’t like declarative UI, although I ‘get’ that it has exciting possibilities.

Haha the ugly UI that java provides…you are really funny. You can get the same UI like MacOS provides. But hey, I guess it is ugly :slight_smile: Man.

No extra braces but end if, next and so on as keywords. Man. Very funny.

RAD (don’t want to write 15 lines of code just to create a window that we can’t even see until running the app).

Use Scenebuilder, Netbeans GUI Builder or even JFormdesigner. Oh. Fuck. Three alternatives for Java. One for Xojo. Funny result.

To be clear: that arguments are more than funny and having nothing to do with reality. Wake up. The best is the ugly Design of the UI. Even with Java you have possible Designs you can use. One looks like MacOS. Ah let me say that so: even Apple uses Java. I can understand when and if you say: I don’t want the learning curve. For sure. But your arguments are no real arguments. And beside that: the “native” UI of Xojo is not real native and brings a big amount of not possible uses with. So I would say: not the right args. Maybe you believe that but in my eyes that is more than sad. Cause you cut your self from technologies. You have nearly no eco system around Xojo. You need to pay for everything m,uch money. And you could have that all for free. But you don’t want that with flat and irrealistric arguments. I will never understand people like you arguing like that. And I guess the Millions of Java programmers will also not understand. Never.

What you get is nearly native looking UI with reduced functionality. Small hint: the UI’s are not fitting really one to the other and they have differing dependencies for elements. That is one thing why Java has a complete own UI System where you even can choose the UI Design. Like using flatlaf UI. Especially that makes the problems.

Java is the only real cross paltform solution for Desktop, the Web and mobile. And while you can share your entire code with consistent API yopu will not have the differing API like Xojo has. Or said in different words: a logic running for Web with SpringBoot runs also as a logic running with GLuonMobile or Java Swing Desktop or JavaFX for Desktop or Web.

That you do not have with Xojo. So what is really cross platform on it? Nothing. Exactly.

The next point is: consistency of the API. And that is a rock solid fundamental functionality of Java. So don’t even try to say that Xojo can reach this quality. Not even 1 %.

The best is: you have control for the entire UI. And yes, you need to write exactly two lines to show the UI. Generate a new instance of it and make it visible. Xojo does the same in the background but with weird mechanisms. So hey, that is: not a point for Xojo.

You can write what you want but try to stand at the truths and not to implement stuffs which are not even 1% true.

Not really. I have former Xojo users needed six months learning Java and having less issues then ever before with the new written Code. So I can’t see where you win? Using Xojo makes nothing better.

1 Like

I feel a year may be an exaggeration, the reason being is that the fist app I converted to SwiftUI only took a week (give or take) as I had the blueprints. I basically spent that entire time Googling how to do specif tasks, even if the code was shitty, it worked and job done.

I would have reached my goal of converting two of my apps, if I’d stuck that method. Instead, I decided to stop trying to make Swift & SwiftUI work like how I used too, and really decided to focus on learning how Swift & SwiftUI works…

I coulda still shipped one SwiftUI app last year, but I then felt I needed a new website to match… Now I’m doing something I should have done years ago, building a marketing plan.

Oh, I totally get it. It took me a lot longer than others here, before I finally decided that there is no future for me with Xojo, and I can tell you… It was the best thing I’ve done for my career in a long time. What I’m using now is far from perfect, but it’s a shit ton better than what I’ve left behind.

There’s a ton of options out there for making x-plat apps. I didn’t like Swift as a language and I liked C++ even less. I really like Objective-C, but I don’t see much point in migrating to that in the long run. So Swift it is and it’s fine, especially when you understand what the ornaments actually mean. On the plus side, I now write better JavaScript code :wink:

A little food for thought, how many lines of code does it take to add a “ScrollView” to a Xojo made app?.. Now let me show you SwiftUI.

ScrollView { /* Insert scene description here */ }

How many lines of code does it take to add Undo to your Xojo made application?, with SwiftUI.

Undo comes for free when you use the document based app template, which also auto handles open, save, auto-save, version history, recent items menu etc etc…

My main point of this thread is to ask if there’s anything I can do for the friends I’ve made, whom I see suffering and obviously feel trapped?


The adage

You can lead a horse to water but you cant make them drink

Many KNOW that Xojo’s not their future but are so invested in it they cant see any other path forward
Rewriting a huge app’s a daunting prospect - perhaps so much so it seems futile

I sort of consider myself in that category as I’ve been unsuccessful convincing clients that perhaps other tools should be used - either wholesale or for at least for some aspects of their software suite


Sounds insanely familiar. I gave up on FileMaker for my vertical market apps after they jacked up the pricing and other decisions that hurt devs.

I tried and tried to move to Xojo but had similar problems but different. For Xojo it was the bugs, API 2, Web 2.

So now I’m just about to get back to my vertical market apps. I spent a long ass time getting PHP to what FM or Xojo can do, but it’s mentally worth it. I probably could have made more money not switching from FileMaker and sticking customers with the costs. But that wasn’t what I wanted to do, morally. Same with Xojo. I could not get into another mess after FileMaker.

It’s a balance of how much pain will Xojo inflict on you. Do you want to be pissed and frustrated or spend time to be happy?


I’m not as convinced of Xojo’s doom as the rest of you. There are things that I think it needs, and things I wish it would do, but I don’t think they are in a tail spin. It could be denial, but until I see compelling evidence that I need to jump ship, I’m not going to disrupt my business with a rewrite.

As I said in my last reply, if there was a compelling alternative, I’d give a rewrite a stronger consideration. But I haven’t found any tool that checks the boxes that are important to me. To be fair, Xojo doesn’t either, but that’s where I’m invested already. And I think Xojo is closer than the competition if they’d just go for it.


The days I’d prefer native controls over HTML/CSS/JS have long since passed.

As an example back when I was using Xojo I paid for Einhugur’s plug-ins on top because at that time imo StyleGrid was better than Xojo’s ListBox. But with a web ui I can use the outstanding Tabulator for free.

Bootstrap is another example of how you’re spoilt for choice of free widgets for HTML/CSS/JS and if you really need a drag-and-drop layout designer Bootstrap Studio is just $59 for a lifetime license.

I haven’t used Xojo for many years but now it looks as though you have DesktopListBox, iOSMobileTable, AndroidMobileTable and WebListBox so it seems to me the suggestion Xojo’s native control support is cross-platform is a bit sketchy anyway.


I guess they know that but are not interested in reacting. As I am coming from Java Swing and JavaFX I know how an App can look for example with Flatlaf. And I know that it is good looking and at least: working. And with Xojo I know: it doies not always what it should. Nobody needs that behavior. And yes, they have Lists now for all. But no intelligent tables or something like this. I am using for Web Vaadin if I need to or I use JavaFX and JPro as a JavaFX Webserver. Depends on what I need as best for the App.
For Desktop? Mostly JavaFX or Java Swing. And that mostly: depends on my mood. Depends on my needs. For Mobile? Sometimes I use JavaFX with Gluon. Sometimes I use CodenameOne. Depends…ahh I guess you know what I want to say. Why i am doing that? Simple. Always constantly the same api. The logic runs. That’s it.
With Xojo…let’s say it is not really simple like that. And I don’t need an Android without tablet support or an IOS with simply nearly no functionality.

Their Mac screenshot is one of the most un-Mac interfaces I’ve ever seen. It does not look good on a Mac. Not at all. It looks like a lazy port of a Windows UI. I could write a thesis on all the things wrong with that screenshot. At least Firefox puts effort into trying to be Mac-like… though still falls short.

I will personally never consider developing in Java. I’ve never found a Java app that looks good.



Doesn’t look like macOS to me.

Write a user interface with it and you will see. Stop speaking about stuffs you have no Idea about
And by the way: you do not have to use it. You can still use ojo and stand with all the problems you even by self realize. And by the way: you knw that with JavaFX you can build all you need with CSS by self. If not: you can. And then you can have what you want. I can’t stand people speaking craps like this out loud. Man. If you have no Idea stop scattering about stuffs. What amount of revenue you make with your Software? We can compare. After that I have the next question. You really believe that it is the best way you go?

If you really want Mac, write on Mac with Objective C for Mac, with C++ for Windows. End of discussion. Or use QT. Ah, ya. Too expensive. I can’t even stand this discussions and the bloody wise of discrediting everybody which uses something else. Even when and if he has success. No problem for people like you. I know. Success is not needed. Speaking about a market you don’t even have really is. I will not comment that.