This is a typical article written by someone who clearly has no programming experience, and doesn't understand at all software development.
I'm not fan of Apple, at all, but pure freedom in design of applications is a disaster, and antithetical to proper software development.
I'm not clear on all of Apple's motives, as I don't care about the company and don't closely watch what they do, but using a consistent design with software is imperative. It's been that way for a very long time. You want users to jump on your app and know exactly where everything the first time they use it, if they have experience with that platform.
It's not about being cute, and showing what a great programmer you are, and showing your personality. Jerks like this learn quickly it's not tolerated. It's putting things where people expect it, and following the guidelines of that computer so the customer is as comfortable as possible with the application.
I'm not suggesting Apple should artificially limit what apps are available for their device to make a profit, but I am suggesting they define a common user access interface as a standard and have applications follow it as much as possible. Anything else makes the device more difficult to use, and the device less useful. Not everyone wants to fidget with a computer, they just want it to do what they want it to do. So, it's got to be simple to use and intuitive, and consistent with what they know, but, admittedly, Apple's got to allow applications that do these things as well.
My point is, a blank slate without standards is nearly useless to most people, and not a product that can sell. Keep It Simple, Stupid! It's a bit condescending and insulting, but it's really important to remember when developing software.