I with you on wanting to teach and to try to find free ways to do it. I've started making some minecraft videos showing programming in Lua via a mod called Computer Craft. Right now it's more showing what I program than teaching how to program in a traditional sense, but I think that's part of it (and eventually I'll make "this is a variable" videos too)
TheIdOfAlan
Initial metadata will come from the Spotify Web API. It provides the top songs and all the playlists for an individual. It also has a basic recommendation engine. The DJ will use all those as input to produce new playlists (which can be created via the API as well). I'm not doing any AI/Machine Learning. Just coming up with a bunch of if/then statements, randomization, etc... to see what I can pull off
Size could definitely be a concern. I've got no idea what my requirements will be, but I at least know what the constraints are. For a baseline, each image can be up to 256KB. In theory, you can have 10,000 playlists (each with an image), but I wouldn't actually want to have more than one or a handful at the most so that it doesn't get in the way of the actual user's playlists. Of course, there's a good chance you wouldn't get all 256KB. They may let you send in arbitrary data, but I wouldn't be surprised to find them erase anything that's not a valid jpg. Also, if they re-compress after upload, that would be another hurtle.
But, generally speaking, this is a way to allow folks to write arbitrary data to the net that you can use for syncing (or whatever, but syncing in my case) without having to run a database or user accounts. And, once you can do that, it's game on.
oh, a side-channel based on durations. Very cool idea. You've got me thinking of ways to use playlists where the duration of the songs is what's important. I don't think that's exactly the same as what you were talking about, but it's another potential way to store data. The docs says you can put 10,000 songs max on a playlist, but there's no limit to the number of playlists. Of course, that's also interesting because there's a plain-text "description" field. I don't see details in the API docs, but it sounds like maybe there's a 200character limit for those. Lots o bits to play with
(also, thanks for the compliment on the writing! that post took about three hours to write and edit so I really appreciate it)
Here's to feeling better soon.
And here's to the randomness of weird connections, may it make the world a better place