Is Xojo really AppleSilicon native?

So the only way someone could run into this would be to get a new M1 and never run any software that is not M1 native (including any previous version of Xojo) before launching 20201r1.

:raising_hand_man:

Fair enough. I’m not saying it can’t happen or would never happen, just that it’s going to be rare. I’m sorry that this caused you any grief or concern.

Yeah it happened to me too.

No worries here. Maybe Xojo for ARM should check for Rosetta if required and prompt if not installed. Although it sounds like you have a solution coming soon.

1 Like

Xojo could try something like this during the start up:

#!/bin/bash

# Installs Rosetta2 as needed on Apple Silicon Macs.
# A non zero exit signs a fail during the install

exitcode=0

# Determine OS version
# Save current IFS state

OLDIFS=$IFS

IFS='.' read osvers_major osvers_minor osvers_dot_version <<< "$(/usr/bin/sw_vers -productVersion)"

# restore IFS to previous state

IFS=$OLDIFS

# Check to see if the Mac is reporting itself as running macOS 11

if [[ ${osvers_major} -ge 11 ]]; then

  # Check to see if the Mac needs Rosetta installed by testing the processor

  processor=$(/usr/sbin/sysctl -n machdep.cpu.brand_string | grep -o "Intel")
  
  if [[ -n "$processor" ]]; then
    # We are using Intel. No need to install Rosetta."
  else

    # Check Rosetta LaunchDaemon.
    # If no LaunchDaemon is found, silent install Rosetta.
    
    if [[ ! -f "/Library/Apple/System/Library/LaunchDaemons/com.apple.oahd.plist" ]]; then

        /usr/sbin/softwareupdate --install-rosetta --agree-to-license
        exitcode=$?

    else
    	# Rosetta is already installed. Nothing to do.
    fi
  fi
  else
    # Mac is not running a 11.x macOS. No need to install Rosetta on this version of macOS."
fi

exit $exitcode

It’s based on this script:

It’s right there in the headline of your press release and in the text (highlighted).

Digging

But feel free to keep digging … :roll_eyes:

3 Likes

I personally wouldn’t want it to auto-install

They can detect the necessity at build time, instead of start up, and ask for user’s permission, and If denied, compilation could be also denied.

If Xojo would just come out and admit a mistake was made instead of making excuse after excuse, this whole discussion would not have been necessary. Stuff like this is really starting to make me wonder about Xojo.

Phil

5 Likes

And Xojo is native on M1. The linker is provided by Apple.

That’s the basic problem: they are human, they make mistakes. No problem there.

But Geoff thinks he doesn’t make mistakes, that’s not possible, it’s all fake news and our fault for not understanding what he is saying, and flatly denies what has been said by him / Xojo … reminds you of someone?

And so a small human problem turns into a loss of trust and disillusion - and that is then a big problem, because any niche product lives and dies by the enthusiasm and trust of their users.

1 Like

Markus, let’s stay away from personal attacks. And I’ve made no shortage of mistakes in my life and learned something from every one of them.

2 Likes

And now you are splitting hairs. The linker is part of Xojo. Try running Xojo without it.

I just shake my head in disbelief … do you really not get how you are loosing trust and reputation by the minute? If you are splitting hairs here, where else are you splitting hairs?

That’s neither open nor honest.

Open and honest would have been if the press release stated ā€œOur part of Xojo is native but we are using the linker from Apple that is not, so Rosetta is required for compilation. We’ll have a dot release as soon as we have access to Apple’s native linker so that the whole Xojo IDE tool chain is nativeā€.

Such a message might not be confusing to you, but it would be confusing to a lot of users that don’t know what a linker is. It would require a lot of unnecessary explanation for something that will never be an issue for them. It’s in the same way that when we change a library we are using under the hood, we don’t typically put that in a press release either because it doesn’t matter to the end user. This is the same situation. The linker is still faster under Rosetta than an Intel Mac and most users will have already installed Rosetta for some other software they have.

Put another way, this didn’t come up once (that I’m aware of) during the R1 testing cycle.

I truly believe this is one of those situations where a mountain is being made from a molehill.

8 Likes

Given the fact that the lDE will work natively as long as Rosetta is installed, and most computers will have Rosetta installed, I’m inclined to agree, despite my earlier concern. Still, Markus has a point. Apple got in trouble for their throttling not because they were doing it, but because they weren’t telling people they were doing it. It’s not dissimilar here. Maybe not everybody would understand, but it would be more open and helpful to those users who do understand. Am I not a perfect example? I do understand what’s going on, yet I still got a key detail wrong.

Still… who really reads press releases anyway? This feels like a detail that belonged on a blog post, but not in formal marketing material.

5 Likes

That we can agree on. What you do not seem to see is that there are TWO molehills.

The first one is the fact that the linker is not native. Not a big problem, and easily solved by admitting it when it was brought up, and promising to solve it at the first opportunity with a dot release.

The second - and in the meanwhile much bigger one - is you outright denying what has been stated and splitting hairs. THAT comes across as deceiving and dishonest and does MUCH more damage to Xojo’s reputation and credibility.

And sadly that is a repeated occurrence - you seem able to comprehend the first, but have a blind spot for the second.

OWN your mistakes - that’s the best advice I can give.

And I deliberately compared you to Trump, because while you might see yourself as very different, you are acting a lot like him here - and I thought maybe that comparison might make you look at what you are doing here differently. Seems not.

We send out a different version of that to users announcing the release. I can’t imagine going into that level of detail in such an announcement when it doesn’t matter.

The thing with Apple is that while throttling was the right thing to do and not telling those affected they were doing it was the wrong thing to do, they were causing a drop in performance the user had already experienced. That’s not the case here.

If the linker was going to result in build times being slower than they were on Intel Macs, we certainly would have made that clear. That might have required a detailed explanation so users would understand why. But that’s not the case here. The speed is still better even on Rosetta, which really is pretty remarkable when you think about it.

And this just the first generation of their desktop/laptop processors. It will be interesting to see how it goes over the next few years if the rumors I’m hearing turn out to be true.

Eh… it kind of does. To most users, Xojo is the IDE. When we say ā€œXojo 2021r1ā€ we mean that version of the framework, the IDE, the linker, the compiler, the plugins, and so on. Yes, you were clear that the Xojo IDE is now native. But most people are not going to see that difference. I didn’t. Norman didn’t. I don’t think it really matters wether you said ā€œXojo is native on M1 Macsā€ vs ā€œThe Xojo IDE is native on M1 Macsā€ because almost all users are going to conflate the two. And that’s why this feels like maybe it should have been handled better.

And I just want to make it clear, I don’t think you made the wrong decision with wording. I’m not convinced you made the right one either though. I personally think this is a very grey area. I think I’m leaning towards the details being a good thing, but I’m really not convinced either way. And I’m no longer upset at how this has been handled.

1 Like

With this release Xojo itself is native on Apple Silicon, as well as XojoScript and Worker, which builds native Apple Silicon helper apps.

I read this as stuff made with Xojo was now all native where as it previously wasn’t.

When someone says .Net is xyz you don’t think of Visual Studio, likewise when someone says Xojo I don’t immediately think its the IDE.

I noticed it also didn’t matter for the last 4 days either, I guess this is the 2021r1 complain thread, seems to be one every release now.

But that’s probably telling from both sides…

1 Like

Grey area indeed. It can be difficult sometimes to decide how much or how little to say about, well, anything. :slight_smile: