When the original iPhone OS was introduced, many people loved it, and many developers wanted to be on the platform. iPhone OS 1 had break through Safari browser and Steve Jobs implied that third party developers could use power of WebKit to build and distribute their applications. However they were never “first class” applications. Apple didn’t use HTML, CSS and JavaScript for their own apps.

With iPhone OS 2 and iPhone 3G, Apple opened up some of their internal frameworks, like UIKit and Foundation for any third party developers. Now you can run applications which can compete with software developed in Apple itself. Like we always could do it with AppKit on Mac. It was the right and very successful decision.

During my software engineering career I preferred and prefer to use the same tools and technologies available to the OS vendor. It feels more fun to me, I tend to want more control over software I build. I value freedom in power to express any kind of idea, and I do not tolerate any kind of performance cost or compromise in user experience. I never cared about building something which is available to the largest group of people possible, but I always wanted to build the best kind of experience possible, and, most important, to deliver experiences which is better than alternatives. That’s a corner stone of my personal race to success, be better than others. Be different.