OS X Beta Seed Program

Good news. Apple recently launched a new OS X Beta Seed Program. A huge change in Apple’s policy, because now everyone can sign up, for free, and start testing Developer Previews. Start helping Apple to improve our beloved operating system used on Macs and Hacks. More about the latter later on.

A first step towards this change was first made public when Apple added the Feedback Assistant to build 13D33. Something that was previously only used by people who were invited by Apple with this invitation:

OS X Lion Software Update Invitation
Apple invites you to participate in a software seeding project. Our program, Apple Software Customer Seeding, provides customers with access to pre-release software so that they may explore new features, perform early compatibility testing, and submit feedback to Apple engineers. We have selected you, based on a referral and/or prior participation in our program, to assist us in testing an upcoming release of an OS X Lion Software Update. You must have OS X Lion 10.7, build 11A511 or 10.7.1, build 11B26. Please follow the directions below to complete the invitation process.

Remember it? That was back in 2011 when Apple was about to release Lion and iCloud. And remnants of the past can still be found on the faq page:

How can I sign up for this program?
We are not seeking new participants. You must have an invitation in order to log in.

A page that I guess will soon be changed. Let’s see what we get when we want to give some feedback. I mean someone at Apple HQ surely love to learn about this ‘error’ so why don’t we give it them right away.

Not exactly to “make OS X even better” but to fix a simple content error. And that’s as far as it goes… because then I decided to check what this Feedback Assistant does. Especially what photostream-diagnose-ext.sh does. A shell script called by the feedback executable to collect data, which Apple states is “not personally identifiable data”. And to show you that this is not correct, I hereby present you their script in plaintext:


DUMPFILENAME="$1"/photostream-diagnose-ext-$(date +%Y%m%d-%H%M%S).txt
AGENT_DEBUG_LOG_LINE_COUNT=$(syslog -k Facility com.apple.photostream-agent -k Level 6 | wc -l)


"echo $0 report version 6"
# added in report version 5
"codesign -vv /Applications/iPhoto.app/Contents/Library/LoginItems/PhotoStreamAgent.app"
"codesign -dvv /Applications/iPhoto.app/Contents/Library/LoginItems/PhotoStreamAgent.app"
"codesign -vv /Applications/iPhoto.app"
"codesign -dvv /Applications/iPhoto.app"
# added in report version 4
"profiles -c"
# added in report version 3
"find $HOME/Library/Application*Support/iLifeAssetManagement -ls"
"sqlite3 $HOME/Library/Application*Support/iLifeAssetManagement/ILifeAssetManagement.db .dump"
"sqlite3 $HOME/Library/Application*Support/iLifeAssetManagement/state/albumshare/*/Model.sqlite .dump"
# added in report version < 3
"/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -dump"
"launchctl list"
"defaults read com.apple.iPhoto"
"defaults read com.apple.iLifePhotoStream"
"defaults read com.apple.Aperture"
"defaults read MobileMeAccounts"
"defaults read com.apple.iLifePhotoStream.importstatus"
"cat $HOME/Library/Containers/com.apple.iPhoto/Data/Library/Preferences/com.apple.iPhoto.rejectedPhotoStreamImports $HOME/Library/Preferences/com.apple.iPhoto.rejectedPhotoStreamImports"
"ps aux"
"mdutil -s -a"
"echo $UID $USER"
"touch /var/db/launchd.db/com.apple.launchd.peruser.$UID/overrides.plist"
"cat /var/db/launchd.db/com.apple.launchd.peruser.$UID/overrides.plist"
"ls -ln /var/db/launchd.db/com.apple.launchd.peruser.$UID/overrides.plist"
"ls -lnd /var/db/launchd.db/com.apple.launchd.peruser.$UID"
"ls -lnd /var/db/launchd.db"
"cat /var/log/system.log"

for command in "${COMMANDS[@]}"; do
echo "===========================================" >> "$DUMPFILENAME"
echo "#### $command" >> "$DUMPFILENAME"
echo "" >> "$DUMPFILENAME"
$command 2>&1 | iconv -f utf-8 -t utf-8 --byte-subst='<%u>' >> "$DUMPFILENAME"
echo "" >> "$DUMPFILENAME"
echo "" >> "$DUMPFILENAME"

# added in report version 6
echo "===========================================" >> "$DUMPFILENAME"
echo "#### UUIDs" >> "$DUMPFILENAME"
echo "" >> "$DUMPFILENAME"

for binary in /Applications/iPhoto.app/Contents/Library/LoginItems/PhotoStreamAgent.app/Contents/MacOS/PhotoStreamAgent /Applications/iPhoto.app/Contents/MacOS/iPhoto; do
echo $binary >> "$DUMPFILENAME"
python - $binary 2>&1 >> "$DUMPFILENAME" <<EOF
import macholib.MachO, uuid, sys
binary = macholib.MachO.MachO(sys.argv[1])
uuid_command, = [c[1] for c in binary.headers[0].commands if type(c[1]) == macholib.mach_o.uuid_command]
print uuid.UUID(bytes=uuid_command.uuid)
md5 $binary >> "$DUMPFILENAME"
echo "" >> "$DUMPFILENAME"
echo "" >> "$DUMPFILENAME"

echo "===========================================" >> "$DUMPFILENAME"
echo "#### Crash Logs" >> "$DUMPFILENAME"

if test -n "$(find ~/Library/Logs/DiagnosticReports -maxdepth 1 -name 'PhotoStreamAgent_*.crash' -print -quit)"; then
for crashlog in ~/Library/Logs/DiagnosticReports/PhotoStreamAgent_*.crash; do
echo "------------------------------------------" >> "$DUMPFILENAME"
echo "#### Crash log $crashlog" >> "$DUMPFILENAME"
cat $crashlog >> "$DUMPFILENAME"
echo "No crash logs" >> "$DUMPFILENAME"

cd "$(dirname "$DUMPFILENAME")"
zip -q "$DUMPFILENAME".zip $(basename "$DUMPFILENAME")

Note: I actually found this script, a long time ago, on a dump site, where people dump all kind of information. My blog article only gave it a more “public” spot.

Right. That is not exactly “not personally identifiable data” what it collect. In fact. It goes far beyond anything that Apple should need from us, as Beta testers, and some of it has absolutely nothing to do with iPhoto or whatever (photo) application(s) you can come up with related to Apple (software) and/or Apple operating systems. And even if I would accept something like this, on a voluntary basis, then I want to know what they collect and what they do with it. So what is this BS?

This is also why I would like to suggest that you change this script so that it won’t include anything that you find unacceptable.


Yes. You may accept their agreement and hand over the data they collect, because you don’t care about what Apple collects, which is fine by me, but I will not accept agreements that have not been transparent from the get-go. I tell you. It could have been so much better. So much more transparent, with a list of checkboxes (example) allowing you to opt-in to what you may want to include with your feedback.

The URL of the OS X Beta Seed Program is slightly different than the one used by registered developers. Look here:

/usr/sbin/softwareupdate --set-catalog "https://swscan.apple.com/content/catalogs/others/index-10.9publicseed-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog.gz"

The word “public” is new here. It now also adds a symbolic link to the Feedback Assistant like so:

ln -sF "/System/Library/CoreServices/Feedback Assistant.app" "/Applications/Utilities/Feedback Assistant.app"

No need to dig up the Feedback Assistant anymore. Which is a good change. Next thing it does is that it launches a new daemon with:

/System/Library/CoreServices/Feedback Assistant.app/Contents/Library/LaunchServices/seedusaged

But what this daemon does is TBD at a later time. No time now. I don’t even know if I want to discuss it in public.

13 thoughts on “OS X Beta Seed Program

  1. Please, look more closely at the Software License and Confidentiality Agreement for Feedback Assistant (EA1124). You may find that Apple’s wording was intended to avoid misunderstandings.

    Not only that agreement … at all times, please also observe the OS X Beta Seed and Confidentiality Agreement (EA1133). This publicly available agreement is linked from Apple’s answer to frequently asked questions about confidentiality of the software, which includes the assistant.

    Thank you

    • Tim Cook said that they should be more transparent, and in that light I find it important to share what they collect. To make this data collection transparency to the end-user. So what exactly was it that you want me to see there?

      • Thanks for responding. The Confidentiality Agreement for Feedback Assistant – the license agreement, which each user of the assistant must accept before use – includes, amongst other things, the following phrase:

        – “personally identifiable information”.

        That phrase from Apple is quite different from the phrase given here by you:

        – “non identifiable data”.

        Apple’s phrase “personally identifiable information” is also within the publicly available OS X Beta Seed and Confidentiality Agreement.

        With respect: a lack of attention to both agreements – and a repetitive and emphasised use of just one phrase, somewhat in isolation – may cause some readers to partially misunderstand Apple’s intentions.

        These will be exciting times – for many newcomers – so I do understand and appreciate that before publishing what’s above, you reached a point of having not enough time. Please take your time to read both agreements in their entireties, and to browse all relevant help that’s given by Apple to people who have received the confidential software. The orientation towards some of that help should be clear when each potential user takes his or her first on-screen view of the agreement for the assistant.

        (Side note: this post is neither an encouragement to engage in further public discussion of the confidential software, nor an attempt to conceal Apple’s intentions; those intentions may become clear from reading more of what’s given by Apple. I’ll close things from my side by pleading for future proper observance of both confidentiality agreements.)

        Thanks again – Graham

      • Ah I see. Thanks. That should have been: “not personally identifiable data” – I’ll correct that after this reply – but that is just a phrase. Fact is that Apple collects “personally identifiable data” and to show people what they collect, I added their script in plaintext. So what is worse? Me making a typo or Apple not being honest about what they collect?

  2. At for example:

    “… 8.3 System Logs and Diagnostic Files. In addition, as part of your participation in the Seeding Program, you will have the option of manually attaching and/or using Apple’s Seeding Tools to attach detailed hardware and/or system diagnostic files (e.g., kernel logs, Apple System Profile logs, hang logs, crash logs, spin logs, install logs, application logs, etc.) from your computer (“System Logs”) to send to Apple. Such System Logs may include personally identifiable information …”

    I find no dishonesty there, or elsewhere in the Apple area.

    As you use Feedback Assistant, you’ll soon find the proper way to give feedback on the assistant itself; it’s integral to the operating system that you’re beta testing. I should expect Apple to be quietly appreciative of all forms of feedback.

    Addressing things to Apple with the tools provided by Apple should prove easier – and far more effective – than correcting, in public, things that should never have been public 😉

    Please, from now, respect the confidentiality agreements …

    Hope that helps.

    Thanks again – Graham

    • The personally identifiable information is not coming from so called “log files” but is cleverly extracted and zipped up by Apple, and this part is not mentioned in the agreement. Not anywhere. Also. It is of no business to Apple what files people download.

      I did not, and won’t ever agree to such agreements, not in any form, because then privacy is history.

      Listen. I do understand that certain people may hate to read stuff like this here, but I wasn’t born blind/deaf and won’t die blind/deaf either. If something is not right, in my eyes, then someone should address that, in public, like so many other stuff being blogged about, by major websites, who apparently don’t care about agreements so please, stop telling me to agree to something that I don’t have to agree to. That is none of your business!


      • When publishing a critique, please accept public critique of the publication.

        I find other people initially responding elsewhere; my initial responses are here.

        Declining an agreement is perfectly acceptable. That’s entirely your business, and you make clear your reasons for declining. The clearest possible wording from Apple and from others is desirable.

        I’ll end with just two points, which anyone might include in a critique:

        a) http://lemagtechno.com/comment-devenir-beta-testeur-mac-os-x/ step 3 – there’s a screenshot of Feedback Assistant, of an agreement that was declined

        b) a user’s modification of a script within an app that the user can not use (to run that script) until after acceptance of that agreement.

      • No problem, but both of your points are wrong.

        a) The agreement in that screenshot was not declined – the “Accept” button is blue, and they had to accept their agreement, otherwise they would not have been publishing their screenshots. Speaking about breaching an agreement… I thought it was better not to publish all steps as I was expecting other websites to do that.

        b) Most people reading this blog already received the Feedback Assistant with build 13D33, and this without first having to sign up and/or accept the agreement.

        The download of this specific version of OS X (Build 13D33) was done without first having to sign an agreement. The reference to Apple’s EULA is first displayed in the App Store application, when you changed the CatalogURL and use the App Store application, but you don’t even need the app to download the package file(s) straight from the Apple server. All without agreeing to any kind of licence agreement – I plan to publish a blog article about running Apple’s Internet Recovery from a PC.

        Another handy script can install OS X for you without any reference of, showing the EULA and in that case you don’t have to accept their EULA either.

        I hope that you understand now that there are procedures that enable people to download/install Beta versions of OS X without first having to accept any licence agreement, which is not my fault.

        What I want is full transparency, and Apple could have made it so much easier to understand, by giving you control over what they collect, but they didn’t. Probably because then people would indeed opt-out.

        And sure. I hope that everyone here will accept their agreement and help Apple improve OS X, but I strongly encourage people to decline the data collection.

  3. I understood earlier.

    Whilst not your your own screenshot, it is a shot of the agreement that you say you declined. Feedback Assistant can not be used without acceptance of that agreement.

    If not for you to use Feedback Assistant, then why did you modify Feedback Assistant for yourself?

    A reasonable answer to that question (others may follow) may allow the public to gain a broader picture.

    It’s laudable that you can be so focused. If you address feedback properly, Apple should be grateful.

    However, my concerns now are the same as they were initially, and these include: disorientation; lack of attention to relevant areas and the resulting lack of context; rushed and inappropriate publication; careless writing – there remain mistakes by you.

    At the outset I had no wish to publicise those thoughts, and at the time of writing I refrain from drawing attention to other concerns. I wished, politely, for greater care. The inconsistencies in some of what you write, including your commentary, have caused me to wonder whether there is – from you – the care, context and transparency that we (properly) require from Apple.

    Given those things, I should:

    * ask any reader of this article to question its overall value

    * encourage members of the OS X Beta Seed Program to give feedback to Apple in the proper way – it’s simple, friendly, streamlined and ultimately less likely to lead to troublesome situations such as this.

    • I, a hobby privacy advocate, want people to explore things themselves. No. I am not going to teach you what to do, and I am not setting up a wikipedia about the feedback assistant. All I want is that people read my blog article and draw their own conclusions, because what I see there, the lack of transparency, might not be important to you or other people.

      Fact is that there are, or will be, enough others who setup end-user focused publications about how great the Feedback Assistant is. No. There won’t be many, if any, publications about what data Apple collects and if that could be done any better / more transparent. And for Apple… we already know that it is all or nothing (opt-out) and to me that is dead wrong. It could have been so much better, and it will become better now that Apple hired a privacy specialist. Starting with changes to their privacy statements.

      Anyway. This is good. Your feedback, because that is what I want to see. People who are not clueless. Not shy about sharing their views. Without the obvious personal attacks from a handful stupid people – not you. Thing is. This is how I see it:

      It is not my mission to except everything and be quiet about something that could have been more transparent.

      It is not my mission to publish articles that you can read everywhere, about how great the Feedback Assistant is. No. My goal was to trigger attention to something that I find unacceptable. Again. You and anyone else coming here should explorer stuff and not blind-fully accept stuff. Not from me. Not from anyone. Not even from Apple. So in short. I question the value of the collected data, and that from an employee of the biggest – or second biggest – data collector in the world.

  4. Cool!

    +1 to a more easily reachable understanding (to users of the assistant) of what’s collected – if that’s what a user wants, and if that can be done without reducing the initial and ongoing attractiveness of the feedback routine.

    Without divulging features, I’ll describe the Feedback Assistant as not only streamlined, it’s also pleasantly orderly. There’s just enough plain language – nothing like the verbosity of a licence agreement – in at least one of the sheets that drops down at an appropriate moment. A gentle hint: as you observe someone’s use of the assistant, ask that person to set the preference that will allow a ‘first run’ experience to be observed when the assistant is next launched. Then if you like, view the experience as a whole, with fresh eyes.

    In the sheet that I find most prominent – and the interface that may follow (depending on the user’s response to what’s in that sheet) – things seem clear and intuitive enough for almost any person to realise, quickly, the essence of what’s occurring. To me, that prominence and plain english is the opposite of concealment …

    … more than anything, that’s why I was troubled by a first reading of your article. Viewed in isolation, a reader might believe that there’s an intention by Apple to conceal things from the end user.

    For what it’s worth, *everything* that I have seen in and around Feedback Assistant – not only the current version – makes be believe, neither blindly nor deafly, that there’s no such intention by Apple. I might have expressed that opinion from the outset but (with confidentiality and other things for me to consider) instead I threw in the brief, strong encouragement to use the assistant as an ‘average’ user might do. And with brevity there’s the risk of misunderstanding. I should take this opportunity to apologise for the relative harshness of my previous post; to thank you for being so ready to respond agreeably. (Still, I must discourage public discussion, but I’ll not labour the point. I’m not pandering to Apple, it’s simply the position that most programme members are in.)

    Briefly – if we might end on a positive note – in your recent edition of the article, there’s a smart suggestion:

    > a list of checkboxes (example) allowing you to opt-in to what you
    > may want to include with your feedback.

    Without estimating percentages, amongst the many considerations:

    * some newcomers will wish for a first run to offer advanced preferences

    * some newcomers will prefer a first run to be as streamlined as possible

    – and subsequent runs; and how might something relatively technical be explained in a way that’s meaningful to a nontechnical user? And so on, and so on. Food for great thought but (sorry) it can’t be here … absence of an Apple-provided forum, and all that. I think I understand Apple’s very strong focus on maximising feedback from beta testers – without the potential distractions of a forum at this time – but those are private thoughts for another day/year!


  5. Pingback: OS X Mavericks 10.9.3 (Build 13D55) Seeded | Pike's Universum

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s