As has been discussed in other threads, Xojo has a lot going for it. The whole combination of cross-platform/cross-compiling (Mac/Windows/Linux, and somewhat Web and iOS) and a native, fairly capable and easy to use drag-and-drop IDE has little to no competition out there. Xojo is pretty much the best development environment that ticks all the above boxes.
And there’s the rub - Xojo is the best in its niche, but woefully lacking in many areas. Xojo has little competition in what it does, and could capitalize on that to be so much more. More capabilities, less bugs, better performance, etc. But their limited resources and questionable leadership are dragging it down. Bug fixes and better features take forever to develop (if at all). They’re continually playing catch-up to current trends and needs. I feel like I spend half my developing time finding workarounds for missing or inadequate features, and investigating whether an anomaly is a bug, if it’s been reported, and then reporting it sufficiently so that they might eventually fix it (again, takes forever). It’s all very frustrating.
And it’s a catch-22 situation: if they could only fix more bugs and catch up on overdue features, they could attract more users and more revenue, which would allow them to fix even more bugs and better fulfill current and future goals. Which would lead to even more users/revenue and on and on. But they just can’t seem to reach that tipping point to get this snowball effect going. They seem to be grasping at new platforms and development directions in an effort to reach that tipping point, but so far it hasn’t worked, and the product is suffering because of it. Resources are getting spread too thin, it takes longer and longer to get bugs fixed and features completed, etc. This turns off users and causes them to leave. It’s the old one step forward and 1.5 steps back (didn’t want to go full 2.0 ).
So, yeah, it makes me gloomy too. In the end, most of us that still use Xojo say Yes because we can’t find a better* way to do what we need/want to do.
*at least not sufficiently better to justify converting to a new system