
Apple's latest desktop operating system update, macOS Catalina, will mark the official end of iTunes after nearly two decades.
This is a lie. Apple is not "replacing" iTunes. What they are doing is:
- Renaming iTunes.app to Music.app;
- Removing a bunch of features;
- Creating a new podcast player app, or some shit.
iTunes is effectively a part of the macOS kernel. It is the conduit through which the OS talks to the Apple store; through which new iOS devices are authorized, provisioned and upgraded; through which iOS devices are backed up; and through which Xcode installs and debugs software on development devices. They can't get rid of it. Their terrible kitchen-sink decisions of accretion mean that they are stuck with it forever and ever and ever, just like Finder.
So don't believe the marketing spin. They're just changing the name, and (as is their way) amputating a bunch of important, useful features that tons of people care about a lot, but which Apple got bored with supporting.
However, moving on:
But that transition is proving to be complicated for a certain subset of Mac users who've relied on the software to help manage their jobs: DJs.
According to Apple, along with Catalina's removal of iTunes, users are also losing XML file support as all native music playback on Macs moves over to the official Music app, which has a new library format. XML file support is a popular organizational feature for DJs who use it to sort tracks into playlists and utilize the "Share iTunes Library XML with other applications" option to seamlessly transmit data between apps.
Tons of popular DJ apps, like Rekordbox and Traktor, read XML files, and over the years, iTunes became the de facto way for lots of DJs to sort through their massive file libraries and quickly find tracks while performing.
But this means updating to Catalina will replace iTunes with Music, and that, in turn, will break communication between the app and many existing DJ softwares. According to Apple if a customer is reliant on XML files for DJing, they should avoid updating and continue using their preferred software on macOS Mojave until developers push out fixes.
"Push out fixes" here is a euphemism for "Apple has removed the API you've been using for a decade, so good luck figuring some new way to make your app work. Bye."
Remember, APIs only ever get less useful over time!
Previously, previously, previously, previously, previously, previously.
"developers" in "developers push out fixes" obviously means third-party developers hacking the new playlist format, without any help from Apple.
W3C Javascript principles -
Do not break things. If an old uncle made a website 22 years ago, it should continue to work however far we've come.
Apple principles -
Do not give a fuck about existing software and developers. If they develop on your platform, they owe it to you to maintain it.
If a person shipped an app to a customer 2 days back which will break because of an OS update, well boo hoo.
Apple always has been shite. Long ago it has turned into something worse than Microsoft with a shiny aluminium surface. And nothing will ever change.
People will enjoy it until their favourite software breaks. Then they switch to a slightly less favourite software or use some weird workaround, both of which will break with the next release.
It is frustrating to watch.
My wife just be happy if Catalina hadn't rendered her Apple brand USB keyboard DOA.
I guess it can't wake up the USB port on her MacBook Air (c. 2017) unless something else like a mouse is also plugged in. Awesome. It's 2019 and people still can't get USB right.
Two extremes...Apple (and Google) that will drop a feature the instant it becomes too much "trouble", and Microsoft that will go to insane lengths to keep backwards compatibility. I recently managed to get a Windows game from 1996(!) working directly on my Windows 10 64-bit system. Think about the vast difference in OS and hardware in that span!
Microsoft? Undoubtedly the worst of all of them. I would rank Apple the least worst, Google horrible, and Microsoft deplorable, based on my 40 years of experience as a software developer and the cost of rewriting software resulting from changes to or deprecation of APIs and wholesale removals of support for programming languages and compilers.
With Microsoft, first you give it 5 years then it'll be supported forever. Anything younger than that is dangerously experimental and liable to be dropped in favour of (eg) the latest wizard wheeze to replace win32 with something less useful.
Apple break things because they fundamentally don't care about you, but at least they are consistent.
Google just break things due to ineptitude.
Reading the first sentence in isolation, I thought 'finally, the crawling misbegotten horror of XML is going away'.
This is why it's always better to read more than the first sentence: some important people could do with learning that lesson (well: I am assuming they can read at all, which may be foolish of me.)
XML is just sexprs [image of Batman smacking Robin]
XML is a version of sexprs designed by people who didn't know what sexprs were, which has then suffered from the most aggressive kind of specification cancer. How hard would it have been to have syntaxes for numbers, strings and symbols, so you could say
(x ((a b) (c 1) (d "1")) ...)
(or((x :a b :c 1 :d "1") ...)
or whatever) instead of<x a='b' c='1' d='3'>...</x>
, requiring some semantic knowledge to know that'1'
is a number and'1'
is a string, and one of three hundred differently buggy number parsers not specified as part of XML to then interpret'1'
as1
, some of which will instead interpret it as1.0
.I've always called this 'language in a string': when you have some outer language (here XML) which is so syntactically inadequate that you end up adding some inner language hidden in strings in the outer language. This almost never stops one level deep, and it's particularly good when one of the languages cuts across the nesting of the other one. There must be a more general term for it.
A measure of how good XML isn't is that I once had to type quite a substantial document which needed to end up as XML. I did this by writing an sexpr-to-XML converter and typing in the sexprs. (Of course being able to use, essentially, macros to manipulate the document helped.)
(Yes, I know the XML people probably did know about sexprs, but had to be compatible with SGML. It might even be the case that the SGML people knew about sexprs, but I suspect not. And yes, I know that there are far worse horrors than XML out there and its pretty useful for things: it's still a horror.)
a) Breaking backwards compatibility sucks.
b) That said, there's also been an actual iTunes library API available for two years that never involved parsing never-defined XML and that still works. (I just tried it - worked without sandboxing or hardened runtimes, without any iTunes-y apps having to be running and even in a command line app.)
I don't think this is super impressive since keeping the old stuff going would have been preferable in either case, and they probably broke everyone's AppleScript/OSA solutions too, but there is still a supported API, and it's more supported than the XML file ever was.
As someone who has used the various iTunes APIs extensively, I can make this authoritative statement:
Hahahahahahahahaha, no.
The XML files are the only way to make anything work.
Also note that the article appears to say that one of the features they removed was the ability to export and import playlists as XML files. The fact that there is an API that lets you interrogate the contents of the iTunes library does not change the fact that people out there have a lot of those XML files that they use on a daily basis, since that's the interchange format between iTunes and various DJ software.
Also, ITLibrary is a read-only interface. So tell me how I use that write ObjC code to take my old XML files and then tell iTunes, "make a playlist from these tracks"? Oops, it's literally not possible. With iTunes < 13, you might have accomplished that with ScriptingBridge AppleScript, but I'd drop dead of non-shock to discover that half or all of that has now been "deprecated" too.
Can we bring Steve Jobs back to life, like we did the last time? He seemed to be the only thing keeping Apple products from growing new tentacles that dripped ichor and wormed their way into everything, like a vampire squid wrapped around the face of humanity, and eventually sucking the life out of the original product.
Oh goody.
They also broke it for Audiobooks because the new. “Books” app cannot edit tags and forces you to store the audiobooks (or any books) on the boot drive instead of anywhere else (like my NAS).
It's time to switch back to Linux and start using the good old ALSA for playing music on your PC. Hahahaha
"I found a marvelous way to prepare your system to do that, but there isn't space in this SysV init script to document how."
K3n.
Long time ubuntu and longer time VLC user here. I still keep my music in folders, like a goddamn cavequeer. most of my (similar age) friends don't understand, but then shit like this happens and I don't mind the whole 30 seconds it takes to start music. :keeps yelling at cloud:
There’s a part of me that is just waiting with bated breath for JWZ to get irritated enough with OSes to write his own...
He already did, it was called Lucid Emacs.
I can imagine DNAOS now... working sound system... Emacs as the shell... really good screensavers...
I can't update because it will dump support for any 32-bit applications. Like, the entirety of Adobe Creative Suite plus Acrobat Pro, unless I want to start paying an annual ransom so Adobe doesn't kick me off the island of the software I've paid for.
I went from Office 2011 to 2016 a year or so ago, because 2011 had developed some frustrating faults; fortunately 2016 is 64-bit. But Adobe cunningly skipped releasing a 64-bit version of software I could actually own, no doubt waiting for exactly this moment.
If anyone knows of a Mac .pdf handler that will give me the features of Acrobat Pro and actually work, I'm all ears. I've already tried several that have been partial or total failures.