Victus Spiritus


Choice is an Optional Feature

09 Apr 2010

This is an important lesson learned in personal perspective blindness. For me choice is damn important. Most folks enjoy the freedom of being able to choose a product or service they like, but I like to go a little further. My preference is maximum choice of future options even after a purchase. No matter how gorgeous and efficient dedicated devices like a DVD or portable music player are, I prefer multipurpose alternatives, or ideally tools I can build on.

Part of my opinion is based on space. If a tool can only do one thing eventually I'll be swamped in single solutions gadgets. The space concept applies to things like software as well, although it's a question of mental cache or real estate. If I have umpteen software tools I won't remember which tool does what*. The ability to customize tools to my specific needs is very important when it comes to information sharing, or how I like to think and enjoy others ideas. But choice costs some corporations money, and they optimize against giving it to customers.

Closed Technology is Dying the Slow Death

Closed technology is bottlenecked through a gateway. Closed technology is unhackable nor reshareable by enthusiastic amateurs that would be pros.

The apparent contradiction to that statement, Apple. They have never been more successful or more profitable. But I can already see them pushing hard to squeeze every dollar out of the iPhone OS ecosystem.

My 2 cents: It's only a matter of time before consumers force Apple open by moving to competitors. This requires competing products and services that are as good or better, because we're lemmings (myself included) for shiny features. Apple's recent license^ spells out what languages developers are allowed to use when developing apps for the iPhone OS. I find this bizarre because dedicated hackers can port code from one implementation to another, but why? Why is it so important that software developed for iPhone OS be in in a restricted language set? Well besides screwing Adobe hard, Apple wants full control over the way developers build for their platform. They are giving the finger to choice as a feature. It's a clear message if you want to come to Apple's party: "code (and think) our way or get out". The decision had no warning or community input, just a defacto standard that is being pushed out. I can't see anyone staying with this lumbering giant for long with this mandate. Many small startups and companies, the heart of innovation, leverage a wide variety of languages outside of a defined list, the best invent their own. The choice of implementation language is the defining style of some businesses. When I think of Ruby or Rails, 37 signals (the creators of Rails) comes first to mind.

Counterview: Why restricted choice may benefit end users

Gruber makes a compelling case behind the motivation for Apple's development license. His argument is that end users will benefit by a restricted set of development rules for the iPhone OS platform. I don't see the stifling of app competition by corporate regulations benefitting the user long term. If cross platform kits are crappy we wouldn't buy or use them. The free market is a better quality control system than a single business.

* reminder to myself to write a post up on the senile coders dilema. We end up reinventing software we have already written. Surely with improved neurological waveform analysis we'll have search tools that assist our memory (only half kidding).

^ Apples Recent developer beta license

Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. 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 (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).