The Apple Voodoo

I love the iPhone. As usual when it comes to Apple gadgets, the feeling for design and thinking outside the box produced a phone that finally made me see the point of a smart phone.

The one thing that’s always bothered me though is the App Store and conditions. A central directory of apps and central point of download is a good idea. A standardized update procedure is an even better idea, at once solving all the bullshit problems windows users have to put up with (how interested are you in updating Adobe Reader or Java all the time, really?)

The one thing I don’t agree with is the approval process. And Apple just went from tolerably bad to intolerably worse on that one. I think it’s a bad decision to restrict what you may run on the phone and how, but it’s still a decision I can respect — their rules on how you execute stuff within the context of their operating system.

However, the new terms of service for iPhone OS 4 says this:

Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs

Here’s where Apple has clearly and definitely stepped over the line. Not only must the resulting application conform to certain demands, now my development process must conform to certain demands?

Code generation is an incredibly useful technique, and they’re banning it simply to stop the Flash compiler and make a grand statement? Either way, how in the world are they planning to enforce this? Will this lead to an arms race between Apple trying to detect application code that has been compiled to C, C++ or Objective-C and a company like Adobe making a compiler that compiles Flash to those languages in a way that looks as close to human-written as possible? Unless I have to submit a full-length video of myself coding the entire thing, there is just no way to tell with a reasonable accuracy.

How much collateral damage is acceptable, Apple? How many other companies and customers will suffer over your crusade against Flash? How many developers will hate your guts before this is over? There are just so many pins the developer voodoo doll will take.

The iPhone app craze will eventually die as more people realize the gold rush is over. And at that point, Apple can keep its Objective-C Nazi corner, while the rest of us go back to using the best tools for the task at hand.

Forced Downgrades

A few days ago, Sony announced that it will be removing its “Other OS” feature from Playstation 3 units in its upcoming upgrade. Apparently, this is to stop a hacker who claimed to be able to use a security hole in the feature.

Among the programmers who love the PS3, the decision caused a scream of rage (and pain) that echoed through twitter. Considering the difficulty of programming for the platform as it is different than most other platforms out there, you could think Sony would care about the programmers that want to experiment on it. On a personal level, I don’t care — I simply don’t have the time to tinker with Linux on my PS3.

But if you want to program for a current generation console out there for real, this is your only option. The Xbox 360 with its XNA and software abstractions doesn’t really do it — coding a game on XNA is not a feat really with the distance being put between hardware and software. Coding a game on the PS3 in Linux, however, would probably land you a job.

And let’s face it: with all the bragging about how the PS3 can do things that the Xbox 360 can’t, Sony really needs programmers who can push it to it, who love the system and will squeeze the last bit of performance out of it. Those programmers are all sad puppies now.

The decision is just flat out wrong in so many ways, the most obvious being that of consumer rights. It does not matter how small a percentage of the user base that uses a feature, if you stick it on the package of a product and use it as a selling point, it’s supposed to be there when I use the product.

You could argue that I’m not forcedĀ  to upgrade, which is bogus since I am forced to upgrade if I wish to keep the functionality of my PS3 intact. Imagine a DVD player that is suddenly “upgraded” to not support the remote control anymore. You only have to upgrade if you want to be able to watch new DVDs though, if you settle for your old collection, you can opt out. Oh, and subtitles stop working too. Sorry ’bout that.

The example is absurd, but in all essential parts a direct mapping of what Sony is now doing. Come tomorrow, you may choose which way to cripple your console — no Other OS or no new games or PSN.

Laws differ, but I’m quite sure this sort of act from a company is illegal in Sweden, where I live. Quite possibly it is in several other places around the world… it would be interesting to find out.

The second interesting thing to mention is how a large international company again fails to recognize the Streisand effect. I really had no idea some dude had started cracking the system… nor any interest in it. Now I know, and now care. The Sony decision was quickly met by a promise to fix an alternate firmware version which could be used without disabling the feature:

Hacking isn’t about getting what you didn’t pay for, it’s about making sure you do get what you did. And this is about more than this feature right now. It’s about whether these companies have the right to take away advertised features from a product you purchased.

By doing this, Sony puts a big spotlight on hacking the console, essentially starting an arms race — one it is virtually guaranteed to lose. Until now, the homebrew community has had no reason whatsoever to try to crack the PS3. Now they do, and probably will fairly quickly. I think it’s likely that when it happens, Sony will end up having helped hasten the day when piracy appears on the PS3, in its flailing attempt to prevent it.

WordPress Themes