If you build it, they will come

No I’m not walking about a baseball diamond, but Xojo features…

Often time I get the impression that Xojo inc, dismisses some feature requests because they don’t think they would be useful to enough customers to justify it…

And maybe for an individual feature considered in isolation that might be true, but the more SOLID fully functional features the framework has, the more attractive the product becomes to more people…

And we tend to be a fairly creative ways and often find ways to use features in ways they did not expect, over time as users become more experienced they find themselves wanting more of what Xojo inc might consider “advanced” features only of interest to a few “pros”…

But if you build it in an accessible (but efficient in terms of speed and memory usage) X-platform way, we (as in the non pros) will start using them, and the product will become seen as more and more capable which in turn would likely increase sales.

Until this last release Xojo has IMO done more looking more inward than outward for a good number of years now, at least when it comes to desktop… I would like to see that outward looking trend to continue…

The discussion about workers and shared memory would seem to me to be one such feature as XOJO will likely never support pre-emptive threads.

I suspect Xojo sees that request a something of interest to too few to make it worthwhile … And maybe INITIALLY they are right about that, but I suspect that would not be the case in the long run if they add shared memory support that is easy to use.

And that would make the product better for more use cases than it is now for more users.

For those doing number crunching added more math and statistical functions (if implemented in an efficient way- even if in C under the hood) would be a good Idea… there are certainly a lot open source libraries of a lot of that stuff written in C - which are likely best kept in C for speed…

Having to create my own basic statistic classes to calculate things standard deviation and linear regression (which for those were not that difficult) seemed like something I should not have to do for a RAD product…

Lots of those types of non-UI things should not need a lot of (or any!) maintenance with new IDE versions if coded initially in a well thought out way to interface with the framework.

Beside squashing bugs (which is also HUGELY important) IMO it’s time to Xojo Inc get back to thinking more about how to make XOJO more of a true RAD environment for more people.

  • Karen
9 Likes

To continue the analogy, I guess I am saying IMO you win more games by hitting a lot of solid singles rather than keep swinging for the fences …

-Karen

3 Likes

In that vein: details and quality matter. It doesn’t matter how good a restaurant’s cooks are if you have bugs in your salad, or the chairs are only for kids … :roll_eyes:

In Xojo’s case: basic functionality must be rock solid. No ifs, no buts.

2 Likes

And how exactly would you propose to finance this exercise? The company is already struggling to deliver with its limited resources.

If anything the company needs to stop trying to be all things to all people and concentrate on actually delivering on its commitments to its major customer groups.

3 Likes

The same way they do everything else… it is a matter of priorities.

But why are the resources so limited? It’s because the product as it has been does not have enough appeal to enough people… going for more platforms has to date not enabled them to expand those resources.

Xojo needs a richer (and stable) basic framework than it has IMO to expand its audience. They can do that over time as long a they do it consistently … And that is important if they want to attract more “citizen developers” IMO.

They should pick at least one one of those type of features to add with each release… If they can use some existing free C code and wrap it so much the better and that much less work… and more functionality for us.

I get asked why do i use a tool where I have to create so much myself that comes with other tools. For me the answer is that I don’t like C type languages and I have been using Xojo for so long… If I was starting coding today, I would sure expect more.

-Karen

1 Like

That’s the answer, isn’t it? ;-). You have a valid requirement, so have others. They can’t make everyone happy. I would love much more love to be put into Windows (as it looks outdated) and specifically into a better debugger and I’m waiting over a decade for that … In all fairness: Xojo is adding a lot of stuff with every release, but it might sadly not fit what you or I want to see first …

I’m hearing those questions too. And yes there is always a better solution, but all of them have their own challenges. Take X-Code and Swift. I started with the first version of Swift and I’m still impressed by the language. Apple made considerable changes, and the newest release is a completely different beast, comparable to Xojo’s APIv2 shift, but with fewer people whining.

With Apple stuff, you will always achieve more with the XCode/Swift Combo. You are able to use Swift for Linux and Windows but there are no plans for GUI. With Xojo you can do that on every platform, but yes there are natural limitations. There are always pros and cons.

It depends on what you want to achieve. I don’t see any cross-platform alternative yet. And the younger generation is most likely “web only”, as they are less used to desktop apps as we still are. Plus they didn’t start with Basic, Pascal, Delphi, VBA as many Xojo folks have. Plus I fear that these days there are fewer one-people-shops. Younger people are collaborating far more. One concentrating on the UI, one on the backbone etc. and with all the alternatives available this makes it so complex in comparison to our easy but not perfect Xojo. You need frontend knowledge, backbone knowledge, you will very likely use different languages and toolsets for each job …

I sincerely believe that one can do a very lot with Xojo (especially with some plugins). Mainly the citizen developers. The issue Xojo has is that is not popular enough. Outside of this forum and a few other resources, you don’t find much and that’s part of the issue I think. The more customers they would have, the more people they could hire, the more fancy stuff they could do, including basic core functions.

Where I do agree are the priorities. Something “simple” like a date picker has been on hold for far too long. Not that I needed it, as @Björn_Eiríksson 's datepicker is available for quite a while. But I imagine a new potential client downloading the Xojo app, firing it up, looking at the controls, seeing that a few essential controls are missing (and a date picker is essential for most developers), and off they are :-(.

On Web2 they are probably missing a “Login Control”. Most of us can develop that bit on our own (and that’s probably anyways the better and more secure approach). But there is most likely a reason why so many web frameworks have a built-in functionality to get you up and running with secure logins in minutes. I can imagine that many potentials users are looking to the available controls in Web2, and if they can’t build a login in a few hours, they just give up. And yes, I know that we have the login example in Xojo, but new people don’t tempt to thoroughly go through all examples. If it isn’t shown in the IDE, it doesn’t exist :-(. I know that, as it has been the reaction of a few friends I pointed to Xojo in the past.

I personally believe Xojo could easily improve this, by creating more templates … Fire up the IDE and start with a template for a login, and a user can start without looking at the examples. Templates are pretty much the same then starting an example, but many beginners are obviously not looking at those.

That is just a cop out. In the real world you need cash to get thinks done. No new resources can be added without it. So you actually have to come up with hard cash or it’s just pie in the sky.

It’s very easy come up with they should do this or that, but it is an entirely different story when you have to actually do it.

2 Likes

I agree and what they actually offer as a paid service, if I’m not wrong. Try achieving that with MS, Apple or even OpenSource ;-).

1 Like

I agree with KarenA completely. When they do not have enough resources, they have to make efforts to get them. Even during difficult times, it is necessary to invest into the future.

Xojo Inc stubornly chase their own ways which is their valid right to do so. Despite I admire what the small Xojo team accomplishes, they are really suffering and cannot keep up with advanced technologies. It is surprisingly how many platforms they are trying to support. Regretfully, their small team has their limitations and they cannot keep up.

In my humble opinion they have to expand their team or scale down on platforms supported. I waited for years for Android but regretfully I had to look for another solution.

Their customer base is too small to make any impact in a fast changing market. I compare Xojo with RagTime (a document processor, nothing to do with development). Both are excellent tools and I cannot understand why they are not more popular. I use them both for different purposes and they deserve much more credit than they get. Both have excellent features, given possibilities which are only limited by our imagination and creativity. The disadvantage both Xojo and RagTime has is that they have to compete with very big companies which are well established. But I tell you, with RagTime I defeat Microsoft Word completely. The same is true for Xojo, you do not need those expensive competing development environments, in many case you can do the same with Xojo, easier and cheaper.

I know I can be very critical for Xojo inc with the best intentions. But I also want them to flourish and not only survive but trive into the future. I think with API 2.0 they are back on the right track despite the fact it hurt some users.

But we can write as much as we want, in the end it is Geoff and his team who have to make the decisions. And true, it is easy to say for us, it is far more difficult for Xojo inc team to make the decisions and carry them out.

Xojo is in business for more then 20 years now, which proves they are knowing what they are doing. As their customers and users, let us walk the path together! Giving suggestions, telling what we want and don’t want and believe in what we together can accomplish! Together we can conquer the world! With our creativity and innovation, we can defeat the competition! Let’s go together!

Chris

1 Like

In the real world companies grow by getting more people to buy their product. Apparently , by the lack of resources, the approach they have been taking for a good number of years has not done that…

How reasonable is it to keep doing the same thing for a long time , but expect to get a different result?

That is why I say it is a matter of priorities… Priorities are the most important thing when there are few resources.

-Karen

2 Likes

In the real world you need resources to research, develop, test a market before you get a revenue flow… you have not put forward any actual way doing this, so for me this is where it ends.

1 Like

Supporting preemptive threads in a reasonably simple fashion from Xojo if at all possible would require extensive development efforts.

Now, Xojo has to set priorities. They are actively working at implementing API 2 throughout platforms. That includes iOS and in the future, Android.

I am not sure investing tons of efforts into a feature that is not used by that many developers is critical.

3 Likes

The whole point of this thread is this is perceived as not needed because it doesnt exist. I dont think its reasonable for anyone to say that most developers wont use it. Doing things on background threads asynchronously is becoming standard practice for a lot of things, and many features in iOS (and likely the coming Android) arent possible without support for pre-emptive threads.

4 Likes

During a live presentation by @Geoff_Perlman I asked him “when will we get a new debugger ?”. The answer was that he feels my pain and that it will come but it’s not in the top priorities for now. So he knows and understand that the debugger could be better.

I wonder how come none of the plugin creators have come up with a solution. @Christian_Schmitz, is this something you may realise ?

Outside the XOJO world, I think you’ll find that most developers make extensive use of such features…

“If you’re good at the debugger it means you spent a lot of time debugging. I don’t want you to be good at the debugger.”
― Robert C. Martin

When I heard that comment from “Uncle Bob”, I thought it was total nonsense…

But for the last couple of months I’ve been programming with a language that has no debugger Crystal-Lang and I now appreciate where he is coming from!

It was a bit unnerving at the start and I had to change by working practices, but now I don’t even miss it. I’m definitely writing much more solid code now and the test suite is much more comprehensive.

I am not saying preemptive threads are not needed. I use enough of helpers to now the contrary. I am simply saying that Xojo has to set priorities.

Our perspective can be only technical, as we use Xojo to develop our applications.

Xojo’s perspective cannot be purely technical. Sure enough, like any developer, they like to explore new technologies, and make them available to their customers. But their mere existence depends on their ability to match a market potential. Xojo happens to be a rather small fish in the huge development tools pond. Better or worse, Desktop and Laptop are at best stable. Web apps grow. Mobile explodes in billion devices.

Like any of us, Xojo (Geoff) makes choices based on the company’s experience, as well as market potential. Ultimately, what puts bread on the table is the number of licenses sold. What would entice more new users to buy licenses ? Web 2.00 stunning apps display, or preemptive threads ? API 2.00 iOS, or preemptive threads ? Android, or preemptive threads ?

While I would love an easy, built in way to do preemptive threads, I realize Xojo cannot at this time, for many reasons, easily stray from it current road map.

Nor can I.

That’s all I say.

Web 2.00 stunning apps display, or preemptive threads ? API 2.00 iOS, or preemptive threads ? Android, or preemptive threads ?

We would renew our licenses for preemptive threads. We wouldn’t renew them for any of the others you mention.

2 Likes

Thats’ good and might apply to one’s own code.

But latest if you have to analyze code of others, a solid debugger is a must-have, especially in an environment which is itself not rocket solid and has bugs. But I agree that the “current” state of the debugger is often not too helpful, so it doesn’t make sense to use it very often. Take Web2, where half of the variables will anyways not even show up … Watchpoints? Unknown. Rocket solid? Nope … Sorting or exporting variables? Nope. Changing variables? If you are lucky, it might work without killing the IDE.
A good debugger has to show you the binary data in memory (Xojo does that). w/o that you might not find bugs in the encoding of variables for instance, as the en-decoding routines might have bugs themselves. In general w/o a debugger, you probably won’t find many bugs in Xojo itself (doesn’t apply only to Xojo but all dev. languages).

Yes, I understand that. A better debugger would help Xojo in finding bugs faster and a debugger is a must when you need to analyze fast(!) code of others but it is a huge project (most likely more complex than the IDE itself).

You need to be “very close” to the compiler, which most likely is not covered by the plugin interface. Christian is doing a great job already by reporting his own debug logs in many of its plugins. I really appreciate this information being provided.

Exactly! And a company has to set their(!) priorities and to follow their(!) dreams. The rest is steered by the market. If a company wants to succeed, they have to set the right priorities, if not they will evaporate in no time. As Xojo has been “successful” for well over 2 decades, they can’t have made everything wrong in the past, can they?

These complaints are as old as the company is. Why I no one asking Apple to develop a UI designer for windows, or for Web, etc … why can’t swift develop for Android? (Should be easy for Apple, they have enough money and resources). Why can’t the Windows products not easily develop for macOS? etc. How many products has Apple just killed and left some users alone? Every company is making their choices, and no company is satisfying every customer. But if you want to survive, you have to satisfy enough people, so that they pay your bills but you must realize your own dreams as well to stay motivated in what you are doing.

If your dreams are big enough you will usually never have enough people to realize them all.

Sometimes solely more manpower will not make you more successful. It might even break your company - scaling up can be great art.

I’m sometimes wondering that so many of us are running one-people-shops but we are arguing that Xojo has to hire 100 employees to succeed ;-). But some of us are arguing as well from the safe harbor of a big organization using Xojo internally. In such circumstances, it is understandable to be missing functionality but harder to realize that only the company itself can set its right priorities, it is just none of our business. Ideally, they do listen to their customers and that’s what they do (of course only to a certain extent, as only they see their big picture).

5 Likes