How can intelligent people still be developing even new Apps in a language they hate

As I am nearly four decades in this business (founded my first company with 18 yrs. old) I saw many things, I hated many things, I loved many things. When ever I hated something I tried to do everything possible to get that out of my toolchain. So far s normal I thought.

In Xojo environment I had to learn that this goes another way. When people start realizing that the platform does not fit their needs anymore they start to rant and also they start to complain about the problems, bugs and so on. They know: it is not working for me. But in the same moment I have to read that exactly that people are using it for new projects instead of changing.

And when and if somebody shows them an alternative the most spoken sentence is: yeah may fit for you but does not fit for me without even looking on it to make a decision like that.

And reading the arguments why I could only say: okay, something is different. Possibly I don’t know the industry and I have no Idea how that should work. And okay there are old programmers telling me how that should work in their eyes.

And one of the most common needed tricks in that environment is: workaround. Looking for this keyword on stackoverflow you will find 500 results and from this 500 around 30 in case of Java. Now try the same, tyoe into the searchfield of TOF the work workaround. It is a never ending Story. I guess not that what people would expect.

And also that makes me wondering how people still can be fanboys of a system mixed from workarounds.

I came to Xojo from the VB6 world and that was very much a common thread in new people 20 years ago. MS had already declared VB dead and very few wanted .NET. REALbasic, at the time, fit that niche of programmers that were very comfortable with VB who didn’t want to learn a new language and entirely new dev environment (even tho they were it was a comfortable switch over).

Fast forward 20 years and VB is dead. Sure, there are still apps out there being built in VB6 but becoming more rare every year. In those same decades Java came to be popular but it wasn’t ‘native’ and required the virtual environment. Obviously not an issue these days but it was a big deal to some.

So Xojo was a path forward for VB6 people and had the benefit of being cross platform and fit their requirements. If I had to choose a point where Xojo ‘lost’ their way was then they introduced Web 1 (or son of Swordfish). It was at that point where they started diverging from desktop apps (their wheelhouse) and relied on relatively inexperienced developers to create a new web technology. Everything not desktop based is a distraction to the core that was their strength.

So as OS’s advance and change Xojo has not because of all the other distractions. Web’s been an ever changing target as has iOS and now Android. That will never get better. So it’s a negative feedback system. To do our jobs we need more and more and more workarounds. Bugs don’t get addressed while they have to spend more and more time fixing things not in their core targets.

At some point, most people on this forum came to the conclusion that the workarounds and bugs were just too much and have moved on. Changing systems is not fun (I’m at the 6 month mark in Go and just starting to feel comfortable doing complex work). I wouldn’t be too hard on us because we failed to see the light - we did - we just kept hoping for different results when we started complaining hoping that the company would take our complaints to heart. Instead we were ignored, at best, or told we weren’t their target audience, at worst.

I still maintain that all languages have their wheelhouse and once you stray from that area it starts to fall down. Go is great at web services and server side apps but it is not a desktop app environment though there are tools to let you do that - they just aren’t mature and robust. Similar things can be said for EVERY language.

We all WISH Xojo could recover. We all think they COULD recover if they had the desire but certainly the last couple of years have proven otherwise. But time to move on and learn something else despite the pain and effort to do so - I have yet to hear of anyone regretting moving on from Xojo.


Well I really wanted Xojo to live up to its marketing but it was apparent right away that it doesn’t and so I let it go of it even for the desktop after producing one experimental / in house app, first for Mac, then getting it running on Windows when my initial use case changed.

If I had gotten involved back in the RB days it would be harder; It would have done the job and done it well for desktop and I would potentially have a large code base to support and no budget to rewrite it in some other language or platform. So that makes you delay learning a new platform due to limited time and energy / bandwidth, etc. I can certainly see how it could happen to someone.

And then you have to defend an increasingly bad decision and some people have too much ego invested to cut their losses and move on.

I suspect that developments since API 2 and the “launch” of the web and mobile targets are taking out a lot of stragglers as we speak, particularly more seasoned / experienced devs.

1 Like

I use it not because I chose it. But because my clients insist on using it
I’m NOT the captain of the ship - just a skilled driver of this particular type
And I happen to LIKE earning a living.
Which I can do with the client set I have now
Finding the time to rebuild the skill set & client base IS daunting
I do try to see how I can move existing clients

Have I tried to move them to something else ?
you betcha
Have they said “Yeah that looks great let’s do that!”
no they haven’t - not yet
For a WIDE range of reasons - starting with they like to write code and are NOT comfortable with C#, C++, Java
NOR do they want to invest the kind of time needed to move their product(s) to those
Some are many man years of development (one nearly 10 years of work already) and rewriting such a thing is an enormous undertaking ; and while doing so the existing business needs to be carried on as well

YOU get to set the technical direction YOUR company uses and by extension what you support and what YOUR clients use
Happy for you
Envious in many ways

Should any of mine start a NEW project I’d love to start it in something else
We’ll see
One has some upcoming work that may require updating/porting an existing iOS app to run on iOS & Android & I dont see the latest version of Xojo with Android support being up to the task

EDIT : FWIW we have started NO new work with any of them
This is all work that has been ongoing for quite some time
The newest project is 3+ years old already

When I pressed send I was in the klnowledge that you will write exactly that norman and I can tell ya: that wasn’t adressed to you at all cause I know you tried to but could not. That is a sadistic situation for you. You have to accept what customers want to use and you have to work with it, let’s say: it is your world.

I realöly can understand that for sure. Like I can understand why I prefere working with a Threadripper instead of a MAC after MacOS was crashing our 3D Cad System completely with macOS 13. I will never accepot such behavior and that’s it. But not everybody can handle that so.

And yes, I know, the people came to inn are people after that process of movement

I suppose anyone that HASNT run into the bugs warts foibles etc isnt pressing Xojo very hard

And so they MIGHT start new projects with it because they dont see the problems

Maybe they all write “Hello world!” style apps so never run into things ?

I suppose the other reason might be that given ALL the other tools they might pick from Xojo is “easiest” and they get started and decide they can live with the work arounds etc
Again I dont think this is folks like yourself or Bob’s team or many of the others who have decided to move on
Or you convince yourself that well its just this one workaround

There’s saying in English
_ If you drop a frog in apt of hot water it will die. But if you put it in a pot of water & raise the temperature slowly the frog never notices_

I think there’s a lot of frogs there

maybe yes, maybe no. I guess that even the vendor by self does not get all of that and has no Idea why there are so many Bugs in the field. And outside of their brains there are the bugs adn they will not get fixed by self. I have no Idea how they believe they can run this for the future but I guess it will find an end one day.

Xojo is smart and knows that the next superfood will consist of bugs - and every day they are working very hard to be well prepared for day X (called “green X day” internally).

Many of us are aware of this and that’s why we can’t let them completely out of our minds.

I came to RealBasic back at the turn of the century. I had previously written Mac software in Object Pascal, and abandoned it as too darn difficult to program at any kind of speed. I also was avoiding C++. RealBasic was great: a simple object-oriented language with a UI framework and RAD development. I had previously been earning a living writing apps using Borland Delphi (a fantastic product back then), but I really hated using Windows. RealBasic could also create Windows apps on the Mac using the same code. Magic.

I then happily worked in RealBasic, Real Studio, and Xojo - only writing desktop apps. It was relatively great. However, I was offered work creating a web app in Xojo (API 1). That’s where the wheels started falling off. 60% of my time was working around bugs and inconsistencies in the web framework, and the results looked like crap in the browser. That work went away, and now I’m back to desktop only. I have to admit that I find Xojo relatively good at doing desktop work only. That being said it’s kinda expensive, what with required third-party plugins, etc.

I do not do mobile or web since the Xojo offerings are extremely limited (IMHO) and using Apple’s tools to create iOS apps are pretty good and cover all the fiddly bits.

So, in my not-so-humble opinion, Xojo should stop adding half-assed buggy platforms and concentrate on the desktop stuff. They should also hire a compiler person and let them add a mess of useful new features to the Xojo language. They should also hire a technical writer to fix the buggy docs.

Yeh, that’s not going to happen and, anyway, I’ll be retiring soon, or moving to SwiftUI and avoiding Windows and Linux users.


THIS! And they could still do it … late to the party, but it is almost never too late.

And that’s the bit I don’t understand. Perhaps they have millions of iOS users, or web users (I doubt it). They definitely have zero Android customers as of today, but they still believe that they do need it. They know that it is full of bugs, they know that plugins will take at least another few years, but still they are working hard(?) on this “vision” - while desktop doesn’t see much love for over a decade. Madness (in my eyes).

I believe they are under the impression that having iOS AND Android will make Xojo more attractive and thus drive sales. When iOS was first released I said on my blog something to the effect of, gee, this is nice but without Android it only solves half the puzzle for anyone wanting to do mobile apps.

This was before actually using it. And figuring out Auto and Text and all of the new weird Xojo framework items. I did a few training videos on it but after the lack of requests I knew it was dead on arrival except for the brave souls that spent countless hours creating extensions via declares. As a consultant I did one iOS project and came damn near giving up on it (literally within hours) and going in a different direction.


Yes, I remember that. Particularly at the time of Xojo iOS’s release, many people were eagerly awaiting Watch OS apps. Although real watch apps have become more or less a thing of the past, the watch is still relevant, especially in business environments. Someone who wants a mobile app for their business (beyond just a web view) is likely to desire to get some watch integration as well, at least the person (e.g., the boss) requesting the iPhone app.

I understand that this is nearly an impossible task for Xojo, but it’s relatively easy with Swift. If the person in charge of the budget doesn’t want a Watch OS app, there’s a high probability they will request at least an attractive iPad app too.

If anything, it might have been wiser to generate a boilerplate Swift project from Xojo and translate some Xojo code in a way that would provide Xojo customers with a starting point.

I remember thinking at the time of the release that Xojo iOS would only make sense if Android were also a target. I’m glad I didn’t wait.

As Watch Applications are written always outside of the mobile phone application it is no problem. Xojo customers could use SwiftUI and write a Watch App. No problem. So the Customer can also build them and build his Xojo Apps. And he can birng all of this together.

And the same we have with the Android World. Every Xojo User could write his Android App also with Android Studio. And I guess they believe there that many customers doing exactly that. Development of IOS Apps and in parallel Android Apps. Hmm, I don’ t believe that at all. But who am I to speak even about?

Oh, that one is easy. Laziness.

I am so familiar with Xojo/RS/RB that I can crank out a prototype in a matter of hours. What takes a lot of time is converting that into an app and polishing (which has be done via declares).

I have made progress in migrating to a new tool/language, but it also doesn’t make sense to re-write App Wrapper as that’s such a complex beast. Sleep Aid is more viable and I’ve been experimenting with certain parts.

I was going to go with Objective-C as I’m more familiar with it, but SwiftUI is cool and I have to question myself is worth migrating to a language that I know Apple wants to sunset at some point (even if a lot of their source code is still in Obj-C).

Indeed Swift and SwiftUI seems to bee the way forward for Apple


Yeah, that declarative UI looks to be amazing and the way forwards with x-plat. It really makes Xojo’s current solution look antiquated.

Imagine using the same code to build a UI, for all platforms, instead of having to use one project for one platform?

Oh right, I forgot, Electron…

Apple developed Swift and Swift UI exactly for that people which don’t like to or want to deal with Objective C. Beside that you are right: Swift UI is cool. And for you there is no other way than changing for your only apple related stuffs when and if away from Xojo to Swift / Swift UI or to Objective C.

If I would be in your place I would choose Swift / SwiftUI while it is the best way. ObjectiveC is like C also a language without any fun in my eyes. Yes, I wrote stuffs in Objective C and yes: I hate it. I hate the semantic, the syntax and the inheritance. It is in my eyes not the most brilliant Idea they ever had.

As you are not even thinking about Cross platform for Appwrapper for example there is this good alternative for you with no upfront costs but a few tons of stuff to learn. As far as I know you and the stuffs you wrote for this forum I would say: you are able to, start und that’s it.

Anyhow Xojo is no Alternative and you know it exactly.

1 Like

You also “forgot” so I am mentioning it: JavaFX. Same for Web, Desktop, IOS, Android, Embedded. But only asa an alternative for XPLAT in your case I would like to say :slight_smile:

1 Like

Maybe Xojo thinks most of the long time users will be retiring soon, so they won’t matter?

In point of fact for myself I am close to retirement (past full SS retierment age already).

Even though I’ve payed for most of it myself over the years, using it at work has helped me professionally.

Once retired however, Xojo would be too expensive (between full price renewals for Xojo and keeping plugins current) to justify maintaining a current license only for hobby use.

  • Karen


1 Like

It was pretty damned cool when it got started way back in 1986 :slight_smile:
Probably why the first web server ever written was done on a NeXT

And, if you ever touched WebObjects when it was still Objective-C based it was way ahead of its time as well
Its now all … uh … Java based :slight_smile: see Project Wonder

1 Like