This Writer For Hire. Have keyboard, will create. Find out more.

Apple Understands Computers. Apple Doesn’t Understand Developers.

Apple understands a great many things.  Apple understands hardware, Operating Systems, Interfaces, and how to make Hardware / Software sexy.  I mean, to the point of nearly being a cult sexy.

I am a huge Apple fan.  I’m writing this on my customized MacMini (which I should throw some pics up of someday – it’s a portable with a 20″ screen), and make part of my posts on here on my iPhone (and all my Tweets are done on the iPhone – I never bother loading the webpage anymore.)

Apple even understands developer tools.  XCode rocks (in my opinion.  Some people’s opinion is different, but ya know this my blog, so my opinion is the one that counts.  So there! 😉  What Apple doesn’t understand is developers.

The iPhone shipped as a locked down device – you couldn’t use it on other networks, and you couldn’t add your own software.  Developers quickly created the Jailbreak techniques to load your own software on ’em.  Petitions were set up to call for Apple to open up the iPhone for development.  Apple finally released the App Store, which allows you to purchase software and load it on the iPhone.

Great!  Developers can use XCode to develop for the iPhone.  Except… that pesky Non-Disclosure Agreement (NDA) that says, well… the first rule of iPhone Development is don’t talk about iPhone Development.  This resulted in at least one book being canceled on developing iPhone applications (and I’m sure more than one was probably put on hold), since developers couldn’t say anything about the internals.

Then that changed finally…

It’s been reported all over the place that the NDA has been dropped.  Some of the headlines from it from a couple of popular blogs:

Apple drops the NDA on released iPhone apps. A great day for iPhone developers.

iPhone NDA dropped, developers rejoice

Apple Drops NDA for iPhone Software, Apologizes Between Teeth

Almost all of ’em I read today have an upbeat tone.  Problem is… there’s not a whole lot about that to be upbeat about.  Why do I say that?  Well, all the rest of the stupid restrictions are still in place.

Applications get blocked from the app store for stupid reasons.  Competing with an existing Apple application.  Dubious value.  It competes with the iTunes store.  Now, I can understand why an application that’s sharing personal data from your contacts, or runs malicious code doesn’t belong in the App Store.  Filtering that isn’t a bad idea.  But it’s become random what will and won’t find it’s way into the App Store.

It got even weirder when Apple started using the infamous NDA to shut people up about rejections.  Now that the NDA is gone, I’m sure we’ll here even more reasons from developers why Apple dropped their app from the App Store.

But that’s not the only restrictions.  Applications can’t run in the background.  Apple doesn’t want to hurt the battery life of the iPhone, or degrade the user experience.  Screw that – one of the apps I want is a GPS setup that I can turn on in the background, take a phone call, etc. then come back to it (or even have the phone go in standby) and see the data.  Handy for hiking and things like that.  Instant Messaging that runs in the background would be AWESOME.  (Apple is supposed to be handling that with “Push” notification, but it’s yet to ship on.  And even that is a bit half assed for some things.)

Applications can ONLY write into their own directory.  Think about this a minute… on your computer, you save everything in your Documents folder, and any application you fire up can snag out of those directories.  This reduces the utility value of the iPhone considerably when it comes to serious apps (games and toys aren’t affected by this much 🙂

So far I’ve been impressed with what developers have done with the iPhone.  A seismograph.  A dynometer.  A heart rate monitor.  All sorts of things that make great use of the innovative features and form factor of the iPhone.  But Apple keeps restrictions in place that prevent developers from having a wide open field for development.

Funny thing is… I keep my iPhone jailbreaked, even though I’m running OS 2.1 on it with official apps.  There are just some things that I can’t do with my iPhone as a piece of stock hardware because of the restrictions Apple has put in place.  So developers who want to innovate and play outside of Apple’s rules are going to have to continue to write applications only for the Jailbroken iPhones, and every OS release, developers have to write a new Jailbreak for it.

What the fuck.  Apple, pull your head out of your ass.  What I have in my hand is a cell phone attached to a general purpose computer in a small SMALL form factor (admittedly, it’s the sexist cell phone I’ve ever seen – Apple really does get that right.)  It’s an amazing piece of hardware.  Let software developers write some amazing software for it, and let end users get the full value from the hardware they’ve purchased!

Leave a Reply