XML .plist

2019/12/26

Listening to John Gruber's podcast The Talk Show (episode 272) with Rich Siegel I was remembered again how much I dislike XML in macOS (at 18:58 they start to speak about file formats, at 20:41 they speak about XML). To me, XML is just another HTML. I don't know much about HTML and I don't want to. I blog but in Markdown. When I finish writing the post, Hugo does everything for me. It converts the Markdown post into HTML and updates my blog with the new post.

The reason I dislike XML is because of macOS’ .plist files. Ever since I started using Mac OS X in 2006 and had to create jobs for various tasks for the first time I wondered why did Apple start using XML for .plists (of course I used Lingon to create/edit .plists). When used for config files XML as a format has no simplicity. Why is it so important that practically a cron-like job has a config file written in XML? Just look at FreeBSD's rc.conf config file. Or cron's config file. Both are without unnecessary syntax.

Dave Winer replied to my tweet that it is irrational being scared of XML in 2019. I disagree. On the contrary, to me, it is very strange that Apple in 2019 still uses XML as format for the config files.

On the other hand, I have no problem with XML in RSS. I love RSS. I don't know how would I consume content if RSS wouldn't exist. And XML is part of it. But there is an essential difference: probably never will an average user edit an RSS feed or OPML feed whereas you can assume that there will be cases when you need to edit or create a config file. And maybe you will be in bad mood when you see that the config has to be in the XML format. My point is: XML is a good format when no human interaction is needed for (XML) file manipulation.