Users and AI demands

I can see that we reached a point of no return, and Xojo need to adapt or will suffer.

Users and companies are simply demanding it because what was a fad became “fashion” with no signs of fading, and all big techs embraced it.

That said, what is important here is:

Xojo need to create a way of expressing projects purely in clear declarative texts and structured folders as basically all other languages (Rust, Swift, C#, Python, Dart, Go… pick one). Also documentation about all the syntax of the language and structures in such way that an AI can learn the language just reading the “Xojo Language Manual”.

A Xojo program must be able to be written using any text editor, if the user is able to, specially not humans, but must be designed to be used by humans.

CLI tools: a must, as any other mainstream language have. The Xojo difference is having an IDE enabling RAD and debugging, and helping with tasks as managing licenses, and some other drag and drop and few click tasks. The CLI compiler only will build apps with proper licenses, without it it only outputs the analysis (errors, warnings, etc). The debugging and profiling builds can be only created from the IDE.

I think that this will redefine the language, a Xojo2 language era, but will allow Xojo to be integrated to this new era of helper tools. Those companies are making AI a demand for users, Xojo need to adapt and follow how other IDEs do, as Android Studio and XCode. Many users just install some plugin in the VSCode and write Kotlin or Swift for some changes. AI also read those files easily and propose changes, if not writing entire files using the guides and language definitions. Xojo (or the community) will need to create a Xojo syntax plugin for VSCode too at that stage.

10 Likes

One must make note that, being to late with this is not an option. This has to be done as soon as possible, cause tools are already at hand to do things much easier than they were a few years ago.

Embedding ai or similiar into the ide is preferrable as is git integration.

Yes yes yes.

Nope. It will cause a dependency,

1 Like

Not to mention users are rejoicing that Copilot was unintentionally removed from the latest Windows update. (oops, I mentioned it)

3 Likes

Xojo needs to proceed with caution. Microsoft and Google and Apple have botched AI in different ways. While I work most days with AI (code and non-code) I still need to be able to control which part of my code goes to the AI and which does not.

2 Likes

I’m advising about the code structures enabling AI learning Xojo and even trying to write an entire app. Current external editors able to use some AI could help you with your need. Not integrating into the Xojo IDE. That, as I said, will cause a dependency. If the “AI provider” fails, the IDE fails. If the AI provider changes the API, the IDE fails. If the AI provider become irrelevant because something new became “the most advanced one”, the IDE is botched until a (large?) change.
External AI tools and editors may help you, because Xojo will be compatible, also, some kind of IDE plugin that one could add to the IDE and remove if not wanting it, could help you for “in place” tries.

Good. One less thing for me to remove from the taskbar.

I’ve removed it as soon as it was announced. I never was bothered by it. If I do remember, it had a key in the registry to opt-out and I did it.

I’ve found:

In Settings> Personalization > Taskbar, you can turn off Copilot. However, if that’s not enough and you wan to disable it completely, you will need to do this in registry.

To do so, launch Registry Editor, then go to

HKCU\Software\Policies\Microsoft\Windows

On the left, right click on the Windows folder, go to New > Key, name it “WindowsCopilot”

Then select WindowsCopilot, on the right, right click and create a DWORD value, name it “TurnOffWindowsCopilot” and set its value at 1.

Restart the computer to have the change take effect.

TurnOffCopilot.zip (381 Bytes)

2 Likes

Thanks for that. I expect Microsoft’s “fix” is going to be force-enabling it for everyone again. This will be handy when that happens.

1 Like

Notice it disables Windows Copilot, the Edge (Browser) Copilot seems not affected as far as I remember.

AI or not, a scriptable version of Xojo (not Xojo Script) that still relies on the Xojo compiler would be awesome. I’d vote for that!

Of course the Xojo compiler would also require some big changes, like having a Roslyn style interface to get code feedback from the compiler to your choice of editor.

Unfortunately, this is close to impossible. The graphical and logical classes are very closely intertwined. What I mean is the classes that describe a control also draw the control in the editor. It would take a massive amount of refactoring to make practical, and would require Xojo to support multiple output products from a single project. Multiple products is something I believe Xojo desperately needs, but Xojo seems resistant to that.

It’s just not going to happen.

2 Likes

Yeah … this needs to get some attention @ Xojo Inc but to be honest I do not expect this is going to happen soon. Resources at Xojo Inc are as you know low.

It has to be said, in Xcode the AI help is really fantastic. You can really get it to create a full project already including a UI.
Even making games already works pretty well. Just ask it to make an ‘Arcanoid’ clone. The result was amazing (a sort of working version at first compile!).

If there are still developers who think AI code is not good and mature … think again.

I mean, your test is kind of flawed. You didn’t ask it to create anything new, you asked it for an Arcanoid clone. AI is really good at doing things that have already been done.

4 Likes

Which is one good reason not to let it play with my code, thank you.

Forget all about ‘private projects that I am not allowed to let you see’ statements - as soon as you hand code to AI to review, tidy, amend, or augment, it is ‘known’ worldwide.

1 Like

I hear “well… worked, sort of, but with bugs”

Yep, but sometimes it tries to be creative using mixed contents and not repeating 1:1 code, and the mess is introduced… sometimes not noticed, until you say “why our spaceship is going towards the Sun? I asked for Mars!”

2 Likes

Since this has come up here a couple times in the last few days, I put my thoughts into a short Bluesky thread: @tekcor.me on Bluesky

Code is our language for talking to computers. It’s how we tell them what to do. If you don’t know how to code, you might use an AI/LLM, so that you can talk to a computer in human language. But just like translating between human languages, the results will be weird.

You can’t count on a human language translator to give you 100% accurate results, even without considering the nuances of dialects. I made this mistake early in my career when I wrote about localizing a Xojo project and a translator told me the French localization of “Save” was “Économiser.”

The translator was not wrong, but in my context, this wasn’t correct. It is used as “to save money” not “to save a file.” But because I don’t speak French, I did not recognize the problem.

Using an AI to write code is exactly like this. The translation will have problems. You need the experience to be able to identify those problems. I believe it’s fine for boilerplate stuff, but you still need to review and understand every single line. Personally, I find that easier if I wrote it.

3 Likes

Good post. There is a tendency for people to assume that AI is here, job done. This is not at all the case, as @Thom_McGrath illustrates. Something like his example happened in WW2, between French and IIRC American officers. The French wanted to ask for something, but the French for “ask” is “demander”, and without a subtle interpreter, they got it wrong. To “demand” something of their opposite numbers didn’t go down too well at first.

When I was first at CERN it was most helpful share with a French colleague rather than another Englishman, so we were able to help each other a lot with language. One lesson in particular was exactly that similar sounding words don’t always just translate across.

At this point I would say one might ask AI for a solution, but then you have to analyse it carefully to see what you actually have been given. It might well just be easier to DIY.

4 Likes

I already use AI with Xojo to review my code and give suggestions for improvements etc by simply copying and pasting the code from Xojo to the AI.

This works quite well actually, and has helped me to improve my code.
I basically ask the AI to describe what the pasted Xojo code does and give suggestions for improvements. It is quite helpful.

This copy paste process is not very difficult but could be made much simpler quite easily with a button i Xojo or something.

Next step would probably be to ask the AI to review all the code in the whole Xojo project in a similar way.

I don’t like the idea of having the AI write or alter my code directly, but for review and giving suggestions it is great, like having a little coding buddy beside you.

1 Like

Did you tried Xcode AI already? You should. :smirk: