185 pointsby MaysonL8 days ago13 comments
  • Boldened158 days ago
    Headline buries the lede imo, should be "Xcode slows down builds by constantly phoning home". Given the walled garden nature of Apple and the app review process it's not really surprising that Xcode would be full of forced telemetry

    Also not the worst thing for Apple to measure average build times or whether developers are discovering some new feature they added, that can be actually helpful for improving the product.

    • pjerem8 days ago
      > Also not the worst thing for Apple to measure average build times or whether developers are discovering some new feature they added, that can be actually helpful for improving the product.

      That have always been the point of telemetry. The issue is when it’s hidden and /or the collected data is misused.

      • 3eb7988a16638 days ago
        Or even used at all. Feels like a lot of telemetry is getting collected simply because it can. "What if there is value we could unlock?!" Never mind that all decisions will be made on a manager's gut instinct.
        • threeseed8 days ago
          I have worked at plenty of places where analytics data is used to drive decision making.

          And surely we can all agree that a data driven approach is better than gut instinct.

          • layer88 days ago
            A data-driven approach can optimize for the wrong thing, usually because of statistical fallacies or because it is disregarding context. In that case, gut instinct may yield more desirable results. Telemetry also isn’t a replacement for end-user field studies.
            • bolognafairy7 days ago
              If you let the perfect be the enemy of the good like this then I can’t imagine that you ever have or ever will be in charge of, well, anything.
            • tomnipotent8 days ago
              > A data-driven approach can optimize for the wrong thing

              So does firing from the hip, so what? And I'd wager firing from the hip has a higher failure rate. At least by using data I have an actual argument for my position, other than "but muh feelings!" My CEO doesn't give two shits about how I "felt" the project would go, and I can't imagine how poorly that discussion will go when we meet to review what happened.

              At the end of the day the companies that are succeeding and growing are using data to inform their decisions.

              • lucianbr7 days ago
                > the companies that are succeeding and growing are using data

                Is there data to support this conclusion, or is it just your feelings?

                • tomnipotent7 days ago
                  Have you ever read a quarterly 10-Q/K? Flipped through a board deck? We even routinely make fun of MBA culture because of this stuff. This is just the finance side of things.
          • inetknght8 days ago
            > I have worked at plenty of places where analytics data is used to drive decision making.

            Plenty of places mask violating peoples' privacy as "analytics data" to drive decisions about how to manipulate those and other people.

            > surely we can all agree that a data driven approach is better than gut instinct.

            Generally, sure, but not always. How you get that data matters. Violating someone's privacy is unethical. Violating someone's privacy to make data-driven decisions is still unethical. Telemetry without knowledge or consent to it is violating privacy.

            • shalmanese7 days ago
              OK, but how does XCode conceivably "manipulate people". Apple's privacy promise was always as rooted in its business model as it was its technology. It says we make money primarily from selling you hardware and paid services so our interests are far more aligned with yours than ad supported free services.
            • bolognafairy7 days ago
              What’s your actual point, dude?

              > Plenty of places mask violating peoples' privacy as "analytics data" to drive decisions about how to manipulate those and other people.

              Are you talking about a different group of places? Or is this your view of places that collect telemetry?

              Do you use Xcode? Are you aware of Apple’s telemetry disclosures? How do you feel that Xcode telemetry has ever or could ever be used to manipulate people? How do you feel peoples privacy has been violated? Do you want to re-state your point in a more concrete way instead of saying something that basically amounts to “I’m upset, so it’s bad!”

              I hate rent-a-crowd privacy people.

              • inetknght7 days ago
                > What’s your actual point, dude?

                My point is that telemetry violates developers' privacy. Whether that's in a consumer-facing app or in a developer-facing Xcode, it's still violating privacy and therefore unethical to use for data-driven decisions.

                > is this your view of places that collect telemetry?

                Yes

                > Do you use Xcode?

                No, because I don't use macOS.

                > Are you aware of Apple’s telemetry disclosures?

                Are you? How many developers using Xcode are aware of those disclosures? How many developers using Xcode are forced to use Xcode by their employer and therefore cannot have reasonably agreed to anything?

                > How do you feel that Xcode telemetry has ever or could ever be used to manipulate people? How do you feel peoples privacy has been violated?

                Monitor who builds what kinds of applications and then use that information to decide what products Apple should focus on. Monitor who tries to compile. Tie their name to "security" or "authenticity". Monitor how those built applications are used or distributed, and then change compilation processes to suit Apple's walled garden.

                > Do you want to re-state your point in a more concrete way instead of saying something that basically amounts to “I’m upset, so it’s bad!”

                My point was already plenty enough concrete. You just simply decided to ignore it because you hate privacy-focused people, and summarily dismiss it as "being upset" instead of addressing any of the issues that were brought up.

          • droopyEyelids8 days ago
            The two most interesting problems I know of with data driven decision-making are:

            1) The “drunk looking for his keys under the street light“ problem. There is a human inclination to limit the scope of thought to what is visible.

            2) The inclination to look for data that supports your conclusions. This is the real intractable problem. For most people, gathering data is a fetch quest for what they want to do anyway. It’s a big problem for academics doing “real science”. In a company where many are trying to launch, get the promotion and move onto another job, (without even the veneer of a check through peer review) it’s an even bigger problem.

            This isn’t exactly a replied to your post I know, but I see that everyone else is using your thread to bring up there quibbles with data driven decision-making, so I thought I’d do the same cause I don’t see anyone making these points

          • saagarjha8 days ago
            No, because data driven decision making is often just firing from the hip dressed up as being scientific.
          • rtpg7 days ago
            I think all else being equal, using data to inform the decision is better than not. But the detail there is about whether everything else is equal.

            Is "gut instinct" better or worse than "data driven approach with a bunch of implicit data collection"? Is "data driven + implicit data collection" better or worse than "slightly less good data but explicit data collection"? Is that worse or better than "qualitative user interviews to drive decision making despite that only capturing a subset of users"?

            Nobody wants their apps to be badly designed, insecure, slow, crash all the time, and hard to use. Nobody wants their app to be bad. So then you're choosing how you make your app good. And you choose how much you care about each axis while working on things.

            Nobody wants their app to be bad.

          • bayindirh8 days ago
            > And surely we can all agree that a data driven approach is better than gut instinct.

            Then when people do the right thing, or have a good instinct about what to do next, we call them leaders (if they succeed), and praise them. Like Steve Jobs.

            If the same people fail, even with the data on their side, we kick them down, set on fire and parade them for their failure.

          • 8 days ago
            undefined
    • threeseed8 days ago
      a) There is no correlation between a walled garden and telemetry. I use plenty of open source software that asks for analytics and crash reports. In fact I take it as a positive sign as it means they are committed to making a better product.

      b) In this case the provisioning profiles are essential to the build process so it makes sense for Apple to check for updates as you are building.

    • lapcat8 days ago
      > Also not the worst thing for Apple to measure average build times

      There's no evidence that Apple is measuring average build times. As the screenshot in the article shows, gather provisioning inputs is actually one of the earliest build phases. Moreover, build time is not a useful measure, because it depends crucially on the number of source files, the programming languages, clean vs. incremental builds, run script build phases, and various other factors that vary almost infinitely from project to project.

      The article does not even claim that the connections are telemetry. Gather provisioning inputs is without a doubt exactly what it says it is. Nonetheless, it's not necessary for Xcode to gather provisioning inputs on every build, especially not for non-archive builds, and a side effect of doing it on every build is that Apple receives personally identifiable data about developers and their everyday activities, regardless of whether that was Apple's intention.

      There appears to be a common assumption that every privacy violation has to be intentional, some kind of conspiracy, but that's not true. A lot of privacy violations are just thoughtlessness, laziness, or incompetence. That doesn't excuse them, however.

    • 0x1ceb00da7 days ago
      Why does it have to slow down builds. If it's pure telemetry, it can be done in background right?
  • EatFlamingDeath8 days ago
    I sincerely don't understand how devs that use macOS put up with this crap. I remember getting a Macbook M1 from the company I used to work for and the battery life was amazing, but as soon as I needed to install Xcode I just gave up. It's unbelievably bad, fuck that.
    • cosmic_cheese8 days ago
      At the risk of nitpicking, Xcode isn’t explicitly necessary unless you’re looking to target iDevices specifically. A minimal llvm/clang toolchain can be installed with a terminal command or Homebrew.

      And “unbelievably bad” is how I feel when trying to get various projects built from source on any platform all too often. If I’m lucky the maintainer has made a point of getting up and running a matter of running a couple commands but all too often there’s a mountain of assumptions about the user’s environment that cause the build to fail, sending me down rabbitholes. At least with SwiftPM Xcode projects, building is usually as simple as opening the project and hitting ⌘R and doesn’t involve a side trek to Mordor.

      • ein0p7 days ago
        It's not even necessary for iDevices. I have successfully built, signed, and deployed simple apps without Xcode at all, using Bazel. I think CMake has support as well.
    • xandrius8 days ago
      We put up with that because it could be better but it's not too bad.

      The IDE itself is pretty good and personally I prefer it over Android Studio.

      • zadokshi8 days ago
        People who complain about Xcode have never had to use android studio ;)
        • OptionalDonuts7 days ago
          iOS dev here doing KMM. Android Studio (and IntelliJ) was a breath of fresh air after working so long with Xcode. I get anxiety when I have to go back to Xcode but that was partially because of the app I had to work with for a previous company.
          • bolognafairy7 days ago
            You didn’t “get anxiety”.
            • OptionalDonuts7 days ago
              I'm not sure what the purpose of this reply is. Is it an English use of the word. Do I say "experience anxiety"?

              If it's my reaction to the use of Xcode then I've associated a stress response and get anxious which is partially why I left my job. The tool was also, in my experience, not a smooth or enjoyable developer experience.

        • eric__cartman7 days ago
          Android studio became great after I upgraded from 16 to 48 gigabytes of ram. Thanks for that, Gradle!
    • keyle8 days ago
      I've just reinstalled a PC with windows and coming from macOS and about 10 years of XCode, I certainly prefer the mac camp over the absolute smouldering hot garbage of a wasteland that the windows ecosystem is.

      Just the BIOS settings nightmare I had to get through for it install Windows properly was beyond belief. I guess OEM installs have won. But building your own hardware like "back in the days", oh the sweet sweet old days, what a nightmare.

      My BIOS even has AI in it (WTF).

      Even Microsoft holds its own debloating list [1]! How bad is that?

      I tried to clean windows right after install and that took much longer than setting a brand new mac. And the macOS doesn't cost $150, for ad-riddled cortana/AI nightmare feeding my clicks to random houses and shipping with minecraft and king.com games!

      At some point, "both camps" have to agree to disagree but there are lot of rose tinted glasses everywhere.

      [1] https://github.com/microsoft/windows-dev-box-setup-scripts/b...

      • eviks7 days ago
        > tried to clean windows right after install and that took much longer than setting a brand new mac

        Because you can't debloat a Mac since bloat is part of a protected system partition, so time saved?

        • keyle7 days ago
          find me what you'd want to remove from the protected system partition, and then don't look at Windows, which has one too ;)
          • eviks7 days ago
            First, it wouldn't help you since you're the one with this one-sided comparison of bloat you can remove being preferable to bloat you can't.

            Second, Windows doesn't have it in the same crypto-protected-risk-breaking-boot way, there are well documented ways on debloating Windows both before and after an install.

  • dabinat8 days ago
    The issue here isn’t the telemetry itself but the fact that it’s making builds slower.

    I think Xcode is pretty inefficient and Apple makes assumptions about computer and internet speed that mask these issues for them. I once tried opening a project on a network volume and it was unusable because for some reason Xcode is constantly using the disk, which you probably would never notice on a project stored locally on an SSD.

  • ChrisMarshallNY8 days ago
    Dupe: https://news.ycombinator.com/item?id=43168589 (Couple of days ago -58 comments)
  • cjk7 days ago
    This “gather provisioning inputs” step completely prevented me from building a project of mine yesterday. I let it sit there for over 20min with no movement. No amount of rebuild attempts worked, nor did restarting Xcode. Only a full reboot of my machine fixed it. I didn't see any network issues at the time this was occurring.
  • worik8 days ago
    > Or perhaps Apple believes that developers are subhuman…

    From my three years of experience as a developer of iOS applications, this is the root cause.

    How the mighty have fallen

    • neilv8 days ago
      Coincidentally, looking for a trustworthy open source Web browser solution (I'm on a rampage this weekend, after Mozilla misalignment last straw), I just had to allude to what seemed like Apple's attitudes towards developers ranging from indifference to hostility, throughout the iOS developer experience:

      https://news.ycombinator.com/item?id=43224305

      (I'm sure there are some great people working on parts of Apple, and doing great work. But would they say that the holistic experience, as well as various business moves by Apple, are currently third-party developer-friendly? With the platform power Apple wields, and often heavy-handedly, I think that needs to be acknowledged.)

    • tonyedgecombe7 days ago
      When you have millions of apps on the App Store it's easy to take developers for granted.
  • cratermoon8 days ago
    Now do Visual Studio. Give Visual Studio Code a spin, too, if you have time.
    • Rohansi8 days ago
      Everything collects analytics these days. However, VS Code let's you opt out of telemetry and I doubt it slows down builds like Xcode is doing.
      • cratermoon7 days ago
        It's my understanding that it's not possible to opt out of all VS Code telemetry. There are some kinds exposed in the settings page that can be disable.

        > I doubt it slows down builds

        But we don't really know, do we? Speculation isn't helpful.

    • pakyr8 days ago
      Just run VSCodium[0]. Unfortunately there's no Xcode equivalent, of course.

      [0]https://vscodium.com/

      • koito178 days ago
        I wouldn't call VSCodium an equivalent[0].

          Please note that some Visual Studio Code extensions have licenses that restrict their use to the official Visual Studio Code builds and therefore do not work with VSCodium. 
          
          ...
        
          In some cases, ... [workarounds] won't help because the extension is hard-coded to only work with the official Visual Studio Code product.
        
        Notably absent are all of the remote debugging extensions and Copilot. This would be a deal-breaker for many.

        [0] https://github.com/VSCodium/vscodium/blob/master/docs/index....

        • knallfrosch8 days ago
          You can compile from public source code, you can use any extension not using MS proprietary code (notably, other LLMs) AND you can use VSCode without telemetry. Credit where credit is due.. it's miles better than whatever Apple is doing.
        • realusername7 days ago
          I do use Copilot with VSCodium, I just installed the extension with a file
          • int_19h7 days ago
            Some extensions from Microsoft go so far as to check whether they are running on "genuine VSCode" and refuse to run if not.
    • 8 days ago
      undefined
    • gjsman-10008 days ago
      Now do almost any modern video game, particularly those with Denuvo, if you have time.
      • 1over1378 days ago
        Or almost any modern software period. Everyone is in love with data gather and analytics.
        • ryandrake8 days ago
          As long as it is only done with the user's consent, and the analytics can be turned off by the user, I don't see a problem. But if it's forced and/or done without consent, then it's a problem no matter if you're Apple, Microsoft, Steam, Epic, or any other company.
          • bt1a8 days ago
            Heh

            Can be turned off by the user usually means you must run your own recursive DNS resolver and firewall

      • nazgulsenpai8 days ago
        You mean the ones you launch from Steam?
        • gjsman-10008 days ago
          Now consider how much phoning home Steam is doing…
        • Rohansi8 days ago
          Steam does its own thing but many games also collect their own analytics as you play.
  • exiguus8 days ago
    [dead]
    • timeon8 days ago
      > Basically everything is phoning home this days. Also vscode,

      Helix is not.

      • metaltyphoon8 days ago
        Neither is neovim :)
        • timeon7 days ago
          I wanted to mention it as well but was not 100% sure since I have not used it.
        • GCUMstlyHarmls8 days ago
          Nothing a plugin or two couldn't fix.
  • gunian8 days ago
    [flagged]
  • KennyBlanken8 days ago
    [flagged]
    • cosmic_cheese8 days ago
      Apple and its iOS ecosystem has problems, that cannot be denied, but it catches more flak than it should given that the primary competition (Google/Android) is in many ways just as bad or worse.

      Xcode gets ragged on all the time for example but Android Studio in most respects sits somewhere between not anything to write home about and bad. Just off the top of my head, dependency management and code stripping are massive pains in the rear (with both being substantially better in Xcode/Swift) and yet there’s never posts harping about those issues.

      • hu38 days ago
        > Android Studio in most respects sits somewhere between not anything to write home about and bad.

        If only Xcode was nearly that good.

        • cosmic_cheese8 days ago
          Xcode is fine in my experience. At the very least it leaves me banging my head against the wall considerably less frequently than Android Studio does. It’s mainly just a matter of figuring out the antipatterns that make Xcode “angry”, where the bad parts of Android Studio are unavoidable.
  • LeoPanthera8 days ago
    Previously: https://news.ycombinator.com/item?id=43168589

    Although the title was not changed, if you don't read the actual post, it's misleading.

    It makes connections to Apple when you launch it, and when you open project files.

    It also makes connections when you build, although that is to be expected, since signing is required for uploading builds to the store.

    It does not "constantly" phone home.

    • ryandrake8 days ago
      None of these are "expected." It shouldn't have to connect to Apple when you launch it. The installed executable is all that is necessary to run the thing. It -can- launch without a network connection, therefore it should not initiate a connection without the user's consent. It's none of Apple's business when I launch Xcode. Same for opening a project. A compiler does not require online assets just to open a project file. It's none of Apple's business what project I'm opening and when I do it. It should not need to make a connection to Apple when it builds either, only when it is signing (assuming the signing cannot be done on device).

      As a user, I wouldn't expect any of this kind of telemetry, at least out of the box without opting in to it.

      • Terretta8 days ago
        > As a user, I wouldn't expect any of this kind of telemetry, at least out of the box without opting in to it.

        Hi, welcome to our timeline.