I find it creepy that it’s a million times easier to write managed code against iTunes than Windows Media Player. That just seems wrong. A few weeks ago when I was playing with the iRiver H320 I wanted to sync meta data from WMP to the iRiver so that I could browse by artist and album. Well the problem is that there are all these scary interfaces (like IWMHeaderInfo, IWMHeaderInfo2 and IWMHeaderInfo3) and to figure out how to extract meta data for DRM’ed files took me a few hours (just to find the right interface). Then it felt like screen scraping to actually get the tags (Artist, Album etc) from the files themselves.
It’s great that Apple is exposing a decent COM Interop library from iTunes that in turn exposes a nice managed interface in .NET, but geez… I should not have to wait for Longhorn to do the same thing on my PC.