Tuesday, February 21, 2012

What Does "Mastered For iTunes" Mean?

It's not empty hype ‐ but there's no guarantee you'll be able to hear the difference.

Modern albums are typically recorded at sampling rates and bit depths far higher than those supported by CDs or typical home listening equipment. Whereas a CD supports 44.1khz/16bit digital music, music has typically been recorded at 96khz/24bit for quite a while now.

In the past, record labels typically supplied the 44.1khz/16bit masters to online music retailers like iTunes, who then converted them into AAC (iTunes) or MP3 (everybody else) format for sale. Therefore music was lossily converted twice:

Non-"Mastered For iTunes" (3 steps)
(#1) 96khz/24bit studio master recording → (#2) 44.1khz/16bit CD master
(#3) 44.1khz/16bit MP3/AAC version for online sale

Clearly, the middle step is a bit of a waste of time. "Mastered For iTunes" recordings skip the middleman, so to speak.

"Mastered For iTunes" (2 steps)
(#1) 96khz/24bit studio master recording → (#2) 44.1khz/16bit MP3/AAC for online sale

Mathematically, this holds water. It's a fact: all other things being equal, less information is discarded this way. Whether or not you'll be able to hear the difference is another story.

You're particularly unlikely to hear a difference if the studio master was recorded, mixed, or mastered poorly as a part of the ongoing "Loudness Wars." From a fidelity standpoint, these recordings are essentially pre-ruined before they ever reach step #2 or #3 in either scenario. =)

Source: Apple.com

Is My Saw Sharp Enough?

"Saw-sharpening" is shorthand for this cautionary tale of a frustrated lumberjack.

There's a guy who stumbled into a lumberjack in the mountains. The man stops to observe the lumberjack, watching him feverishly sawing at this very large tree. He noticed that the lumberjack was working up a sweat, sawing and sawing, yet going nowhere. The bystander noticed that the saw the lumberjack was using was about as sharp as a butter knife. So, he says to the lumberjack, "Excuse me Mr. Lumberjack, but I couldn't help noticing how hard you are working on that tree, but going nowhere." The lumberjack replies with sweat dripping off of his brow, "Yes... I know. This tree seems to be giving me some trouble." The bystander replies and says, "But Mr. Lumberjack, your saw is so dull that it couldn't possibly cut through anything." "I know", says the lumberjack, "but I am too busy sawing to take time to sharpen my saw."

I typically fall prey to just the opposite: too much time obsessing over tools and -- I fear -- not enough time actually chopping down trees. That's not entirely misguided; in a fast-changing industry like software development it's easy to "relax" for four or five years find yourself terminally behind the curve.

Just ask those 50 year-old COBOL programmers who were laid off from a bank somewhere and can't find work any more because of "ageism."

Right now, I think I'm in a pretty good place. I'm mostly current on my tools, and I'm mostly focused on work instead of scanning Github and the Visual Studio Extension Gallery for new gems and extensions every day.

Mostly.

Thursday, February 16, 2012

But Don't Take My Word For It

Stevenf from Panic has a great write-up on Gatekeeper and code signing in OSX Mountain Lion. Panic is a leading third-party, independent software developer for OSX. They make Coda, Transmit, and a few other well-regarded apps. The majority of their apps are not available through the App Store, so they're quite sensitive to the needs of those who wish to independently distribute software.

Overall, he's extremely positive about the changes in OSX Mountain Lion. He does mention one important caveat about feature parity between App Store and non-App Store software. (I agree with his concerns there)

Relax! Apple Doesn't Want To Lock OSX Down Like iOS

Before reading this article, you'll want to be familiar with how Gatekeeper operates on the OSX Mountain Lion beta. Macworld has a concise overview with screenshots.

Let's start by examining the reasons why iOS doesn't allow you to run unapproved third-party software.

  1. Thirty percent. Apple certainly benefits from taking a 30% cut of software sales made through the App Store. (It should be noted, of course, that you can publish free software via the App Store as well)
  2. Carrier network limitations. If iOS users run bandwidth-intensive apps on wireless networks, there's a real potential for iOS users to overwhelm wireless networks already struggling to keep up with demand. This is why applications such as Skype, or even Apple's own FaceTime, don't let you videoconference over cellular networks. Apple has extraordinary leverage with carriers, but Apple simply can't sell a device that would overwhelm the networks it relies on.
  3. Because they can. iOS is a new platform, with no history of allowing you to run unapproved third-party software.

Of the above reasons, only #1 is relevant to OSX.

There's no doubt that a 30% cut of all OSX software revenue would appeal to Apple. Gatekeeper, however, really has nothing to do with funneling OSX software through the Mac App Store. Once you get your free developer certificate from Apple, you can distribute your signed software any way you like, with no obligation to funnel it through the App Store.

Apple has also made it quite easy to run unsigned applications. You can disable the check for signed applications entirely via a one-time setting in Security & Privacy under System Preferences. From the Macworld article:

"If you want Mountain Lion to run every app under the sun, you can just change the setting to Anywhere."

Or, you can override Gatekeeper on a per-application basis. From the Macworld article:

"Finally, it’s important to note that because Gatekeeper uses the File Quarantine system, it only works the very first time you try to launch an app, and even then only when it’s been downloaded from an app on your Mac like a web browser or email program. And once an app has been launched once, it’s beyond the reach of Gatekeeper.

Combine this with the ease of overriding Gatekeeper by using the Open command and it’s clear that Gatekeeper in Mountain Lion isn’t intended to be some sort of high-security app lockdown. It’s just a tool to encourage people not to run software they don’t trust. If they really, truly want to run an app, Mountain Lion won’t stop them."

The only remaining worry is: Are we on a slippery slope? Is this merely Apple's first step towards a total iOS-style lockdown? We can't rule that out. The downsides to such a lockdown would be tremendous: developers, power users and early adopters would flee OSX in droves… and, even if we assume Apple doesn't care about good will, remember that those are precisely the people Apple needs to write iOS software using its OSX-only iOS developer tools.

I do agree wholeheartedly with Lloyd from Mac Performance Guide on several points. LLoyd lays out several possible worst-case scenarios:

  • "Apple disables, removes or forbids an application because of Congressional pressure. No Rule of Law, no due process, just arbitrary removal or shut-down of an application. This already happened once last year. It doesn’t matter whether you agree or disagree with what any particular app does; that’s not the point. Policies regard can change at any time."
  • "A repressive country (Iran, China, Syria, etc) decides that it doesn’t like the certain apps being used by Undesirable Elements. So it demands that Apple disable those apps. Apple doesn’t want to risk its commercial market there, so it disables those apps."
  • "Hackers penetrate Apple’s systems. All applications of any kind worldwide could be suddenly disabled and/or removed. If a key cryptographic provider (RSA) can be compromised, it can happen anywhere. Or consider this article. Or this one. Or this one. Or this one. Or thousands of others. And that’s just what has been made public; assuming all such compromises are disclosed would be extremely naive. An exploit of this magnitude would be like an Olympic gold medal for hackers— highly attractive."

The likelihood of those scenarios is nearly irrelevant to me; I'm not comfortable with a private company (or a government) having that level of arbitrary control over my computer. However, as noted above in Macworld's Gatekeeper feature, the impact of those worst-case scenarios seems extremely small: you could simply disable Gatekeeper!

That's why I'm sticking with OSX, and I'll most likely give Mountain Lion a shot when it's released. Though, maybe not until it reaches 10.8.1…