← Back to context

Comment by LatencyKills

21 hours ago

Ex-Apple engineer here. I really like your implementation. A few years ago I built a similar tool to help me automate the testing of some of my native macOS apps. Being able to run multiple UI automation tests simultaneously was the big win in my case.

My only criticism is enabling telemetry by default. I'm a fan of having people opt-in.

The problem with opt-in telemetry is that 95% of users don't change defaults, and the 5% who do are your power users. They're not representative of the average user. And only a subset of them will turn it on

Ironically enough the opposite happens with opt-out telemetry, for the same reason: a lot of power users will turn off telemetry, thus you will never see their usage patterns and will have to infer them. Dogfooding helps.

  • I'm confused.

    You claim power users opt in to telemetry, and then immediately say power users opt out.

    • A subset of power users want to their usage to be profiled (me, if I trust the company. Brave, Mozilla, Mullvad, 1Password, Bitwarden, Valve, companies like that). But most power users will not want that because of privacy worries.

      From that you get two situations.

      Opt-in:

      - Regular users: click all 'ok' through setup at lightning speed, no telemetry enabled.

      - Most power users: consciously don't check the box to opt-in because of privacy worries.

      - Big picture power users: consciously check the opt-in box given they trust you (because they want their usage patterns to be profiled and optimized for).

      Opt-out:

      - Regular users: click all 'ok' through setup at lightning speed, telemetry enabled.

      - Most power users: consciously check the box to opt-out because of privacy worries.

      - Big picture power users: consciously don't check the opt-out box given they trust you (because they want their usage patterns to be profiled and optimized for).

    • power users opt in to opt in telemetry, and power users opt out of opt out telemetry. Power users click all the buttons.

  • The problem with opt-in telemetry is that 95% of users are sick and tired of being spied on with every little thing they do.

    • If they really were they would turn it off. And stop using Gmail and Android.

      The overwhelming majority of people don't care about digital privacy because the cost is opaque to them.

      Also, telemetry when done right isn't "spying". Again, it is anonymized and used to see, for example, where the hot paths and paper cuts in applications are.

      2 replies →

    • Telemetry (if it’s truly telemetry) is nowhere close to “tracking”. People conflate the two all the time. One can provide useful, anonymous metrics (e.g. “user enabled feature X”) without doing anything but incrementing the counter for “feature X”.

      The “Firefox Problem” is that all the power users disable telemetry, so all the “cool” features that power users like (but never get used by “regular people”) get ignored or removed instead of improved because, according to the metrics, “nobody uses them”.

      1 reply →

    • As you can see with TikTok / Instagram usage…regular people who are not on HN could not care less about that.

  • If Charmin put sensors in toilet paper rolls to optimize the wiping experience, it would be dystopian. Why do we give software a pass? Privacy is a right not a telemetry problem and opt-out by default is non-consensual surveillance.

    • In fairness Charmin is probably backed by millions of dollars of market research on simple user questions like softness, tendency to crumble, size, etc., while free software faces more criticism for issues that are exponentially more difficult to express.

      1 reply →

    • i think it's not so much non-consensual, it's misrepresentation.

      it's bugged. the same as a mole in your company. or a sculpture with a listening device in it.

      tell the user that your thing is bugged!

Fair criticism. We took a similar approach to established dev tools like Homebrew, with an anonymous, opt-out telemetry to understand install issues, crashes, and high-level usage. For cua-driver specifically, telemetry is limited to command/tool-level events and basic environment metadata. We don’t send screenshots, recordings, app contents, prompts, typed text, file paths, or tool arguments. That said, we should make the opt-out path clearer

Would you be open to sharing what you built for running the automation tests? I could really use this right now.

  • We don't have a specific testing framework yet. cua-driver is closer to an automation interface than a test runner. that said, you could definitely build one on top of it. For reference these are some of our integration tests: https://github.com/trycua/cua/tree/main/libs/cua-driver/Test...

    One useful trick is to cua-driver 'launch_app' instead of the default 'open' or other osascript, since it can start the app without raising/focusing it, and the tests don't disturb your active desktop while they run