Thursday, August 4, 2011

The Driving Force Behind Software Evolution

Technology has long been a passion of mine. I obviously enjoy gadgets and learning about hardware and iterative software improvements. In addition, I also find it interesting to observe what actually pushes these changes. I often think about the impetus that causes things like Moore's Law to hold true. 

At this time, I'm interested in the process that keeps Apple and Google on the cutting edge of innovation. When the iPhone came out in 2007, it was definitely a game-changer, but it was lacking in many, very glaring ways. Even its successor, the iPhone 3G had major features missing, that users cried out for. A few notable features missing from these early devices were, a video camera, MMS capability, and the ability to assign custom desktop wallpaper. 

A group of developers (hackers, if you will) saw an opportunity, and took it upon themselves to learn the platform and implement the features that the public wanted, but Apple had not included. The jailbreak community grew from a small subset of the iPhone population to a pretty big chunk. At one point, Jay Saurik, a major figure in the iOS Jailbreak community, estimated that more than 10% of iPhones were jailbroken.

Whether or not this number is true is inconsequential; Apple still took notice, and a legal battle ensued. In 2010, jailbreaking was declared legal in the US. I think this is definitely to Apple's benefit, although I am not sure they would publicly admit it. This appears to be the path of development for the iOS platform:

Jailbreakers introduce a feature --> Apple officially implements it --> The bar is raised for third-party developers

I'm not sure whether or not Apple feels the same way, but I can see how the jailbreak community has helped Apple's development of iOS. The jailbreakers implemented features that the iOS community at large wanted. They allowed my iPhone 3G to shoot video. They gave me the ability to send picture mail before AT&T and Apple officially sanctioned it here in the US. Winterboard allowed me to make my iPhone LOOK as fun as it felt.

These, and many more features that the jailbreak community gave us first, were eventually integrated into iOS. It appears as if Apple does pay attention to what the jailbreakers are doing. Undoubtedly, there are many things the software could do, but the hardware limitations might not allow them to run to Apple's high standard of quality. In this case, some features have to wait until the next hardware iteration. However, it could be speculated that Apple has taken some development cues from jailbreakers. 

When Apple does implement some of these changes, the developers on the platform must also seek new ways to utilize the improvements. For instance, the Camera app in iOS 5 will allow users to make basic edits natively. Pretty much the only reason I have Photoshop Express on my iPhone is to crop photos. There are numerous apps in the App Store now that will become obsolete when this new functionality arrives. Because of this, iOS developers will have to adapt. They must come up with new ideas to capture our imaginations. And I am sure they will.

By Apple perpetually seeking to improve its own platform, it forces the development community to step it up. A stagnant platform becomes boring. I believe Apple realizes that, and will not allow us (as end-users or developers) to become bored with its products.

With iOS 5, I think the platform has really grown up on iPhone, iPod, and iPad. iOS on AppleTV is still relatively under-developed. There are plenty of features that could be added to the device. I am sure the jailbreakers and Apple both have big plans in store for it. I, for one, am excited to see what's in store next!