Apple Music Data Extension - Test Instructions

Cover Photo
Landing Page at www.sparikh.me/applemusic

The alpha test is not currently live, but for a sample of the output run on my own data, you can visit this link: Shivam's Data Visualized.
Please follow the instructions below to get started with using my apple music data tool, and if you have any questions at all, please reach out to me whenever! And if you have any feedback or recommendations or bug reports, I'll try to take them into account and fix them as soon as possible. The User Agreement and Data Agreement is posted at the bottom of this page, uploading your data to the platform is a full acknowledgement of the agreement below.

Welcome

Welcome to the alpha test for my side project on analyzing your music listening history and data! Thanks so much for offering to spend a bit of time and give some feedback on the project. There's no monetization projection or any business plan at the moment, it's a project I was working on for myself and I figured it'd be a cool tool for other people to use too.

Background

The project started out a couple years ago, when I would individually make copies of the metadata for my Apple Music Library in XML format, and I had a snapshot every month, which I used to populate differences in play counts and additions to the library and genre counts, basically everything we have today. But this was totally not scalable and difficult to other users. Not to mention it would lose granularity if I forgot to take a snapshot for the month.
I looked into scrobble apps, but those only worked from that point forward, and lost the history of your use. I've been on Apple Music since 2015, so losing the older data wasn't really an agreeable option for me.
When GDPR was activated in May of 2018, a lot of companies began to engage in data positive practices to give users access to their own data. Regarding Apple, I am not sure if this data was available before, or only after the implementation of GDPR. But regardless, the data is well packaged for export as of today. Using the data collected by Apple for all of it's Apple Music users, I was able to reconstruct a full image of my listening history without having to take sparse snapshots of highly repeated data.

Features and Goals

Currently, the features of the project include the ability to have the user upload their data at the landing page and within a few minutes, see some preliminary graphs on their library and listening history.
User Landing Page
The second functionality is the ability to use the user's private key to use an iOS Shortcut that auto generates a playlist with the following query: Most Played Songs in Library Where Track Year >= 2017.

Goals

I'm working on a few other features right now, in no particular order:
- Voice input translation into a query for playlists
- More Graphs
- Dynamic Graphs with User input
- Example: Play Frequency per Week for Artist LINKIN PARK
- I'm Feeling Lucky Playlist
- Seasonal Playlists
- Example: "Give me a playlist of Country, Rap, and Alternative music from Summer 2020"
- Group Playlists
- Example: A playlist for you and two other friends of music that intersects with genre or artist or song taste.

The Testing Process

You're reading this because I asked you to alpha test my project. It's in the super early stages but to make it better, I need feedback. There are only 5 people testing my project during this phase. I kept the group of testers small intentionally because your individual feedback is very important to me, and I would like to build and improve the code steadily. I sincerely appreciate your time and help!
Below are the instructions to getting started. Part 1 takes about 2 minutes, and then you'll have to wait for an email from Apple. Part 2 is the longer part where the action happens after you get your hands on your data.

Part 1: Requesting your Data

  1. Go to https://privacy.apple.com/
  2. Sign-in with the Apple ID you use for your Apple Music Subscription
  3. Navigate through the page as indicated by the highlighted sections of the screenshots below.
    Instruction 1
  4. Check your email for a confirmation email that your data was requested.

Part 2: Using your Data

  1. Go to http://sparikh.me/applemusic/
  2. Fill in your name, email address and Invite Key.
    • Your Invite Key is your first and last initials followed by _ALPHA
  3. Open the Zip File you downloaded on your computer, and find the file inside titled Apple Media Services.zip. Upload this file in the file selection context.
    • This is to prevent you from uploading any personally identifiable information that can exist in the main zip file Apple sends you. The system will not work on the parent zip file, it must be the specified file.
  4. Click Submit, and take a screenshot/text yourself your Private Key. The Public Key is irrelevant for now. As long as you have your private key, you can recover everything else. In the worst case, I can manually recover your private key if you lose it.
  5. While you wait for a minute or two for your data to be processed, use your phone and navigate to this link: Music Generator iOS Shortcut
  6. If this is your first time using the iOS Shortcuts app or using an external shortcut, follow these instructions. If you have used an external shortcut before, move on to item 7.
    • Download or find the Shortcuts app on your iOS device.
    • Navigate to the Gallery Tab and select a Starter Shortcut or a Shortcut from Your Apps and run it. This informs the operating system that you understand what a shortcut can do.
    • Go to the Settings App > Shortcuts > Allow Untrusted Shortcuts
    • Toggle the switch for Untrusted Shortcuts to On (or green)
    • Go back to the shortcut link if the Music Generator shortcut hasn't been added to your Shortcuts.
    • When adding the shortcut, it should prompt you for your Private Key. If it does not prompt you, then click the edit button (three dots at top right of shortcut widget) and insert your Key into the very first Text section.
    • I highly recommend clicking on the edit button to see the inner workings of the shortcut to make sure you trust it's operation. Please do not make any changes to the flow though, there is very little error catching built in to shortcuts and it will likely just break the request.
  7. Test out the shortcut by either saying 'Hey Siri, run Music Generator' or clicking on the Music Generator widget.
    • Currently, when the phone asks you for the playlist query, the query is delivered but not processed. You can say whatever you like and the playlist will be the same default query playlist described above.
    • Once the shortcut has finished running, open your Music app and check to see that the Playlist was added. You can edit the description and title once it arrives.
  8. Going back to your web browser, reload the webpage or navigate to www.sparikh.me/applemusic/u/{YOUR PRIVATE KEY}. You should see five produced default graphs describing some of your listening activity.

Conclusion

That's it for the alpha test! You've now used all of the present features of the project. I will update this instructions document every time a new feature is released, and since there are only five of you, I will also reach out to you personally to let you know when there's a new significant feature (unless you'd prefer I don't which is also totally fine!)
The backend is pretty finicky so I'd appreciate if you refrained from engaging in any reliability testing including simulated DDOS attacks, massive file uploads, incorrect file uploads, or any other malicious cyber activities.

Data Privacy and Alpha User Agreement

This is a topic pretty important to me and since you've been so generous to let me test my software with your real world data, I feel obligated to keep you over-informed about the state of your data.

Data Agreement

You own 100% of your data that you upload, as well as 100% of the information I generate on your data.
You maintain the right to distribute your data as you wish.
Your data will not be sold, shared or distributed, in part, whole, or aggregate to any entity outside of this platform and to you the user, with access regulated by your Private Key.
Should you wish to remove your data from the platform at any time, I will conduct a clean wipe of your data from the system, removing all aggregate, individual, and processed data.
Should you wish to have access to the physical files resulting from the processing of your data, you have a right to request a zip file containing this information with a delivery within seven days.
There are limited protections on the server against malicious attacks. In the event of a compromised system, I (Shivam Parikh) am not responsible for the loss or theft of your data. I have taken many steps to prevent this, and I myself have much at stake to lose in such a situation. However I cannot make any guarantees.

User Agreement

This site or project may be taken down at any time due to increased server costs, lack of use, acquisition, or simple deprecation. There are no guarantees to the availability of the site. However, you will have the ability to request your data to be deleted in the event of the project being taken down.
You agree to not engage in any cyber malicious activity regarding the upload of files or usage of this platform.
You may share the results of your upload but please do not share your invite key with anyone else.
You agree to the usage of your data in debugging, feature development, reliability testing, and any other standard development practices.

Shivam
Shivam Parikh Software Engineer at Flexport. UC Berkeley Class of 2020 - Computer Science, Data Science, Environmental Economics and Policy. Avid photographer, engineer, and community member.

Related Posts