header image
 

Final Project Report

What follows is a report that represents not only the culmination of my New Media Studies class but also the extent of my own achievement in programming (not too extremely exciting but a learning experience to say the least). The report covers the iPhone/iPod Touch “revolution” as I have called it, as well as a little background information about the programming that goes into making an application for the platform (its not too technical so don’t worry :) ). Enjoy!

iPhone/iPod Touch Application Development

The iPhone and the iPod Touch are two of the most technologically revolutionary products of our generation, effectively altering not only the realm of human-computer interactions in relation to new media but also the way in which we live our lives. Who would have ever suspected that the “iPod” would ever be anything short of “just another nice music player,” shortly to become a device that would change the way in which users listen to and interact with their music and other media? The iPhone has done this very same thing for the smartphone industry and has nearly taken over as the “must have product” of the telecommunications world. But what brought about these changes? What was it about the iPod and the iPhone that made them so popular? The iPod had been on the market for some time before anyone took notice of it so what brought it to people’s attention? The success of the iPod and iPhone, though different products, has its roots in the same place. The iPod was a nice device in its beginnings, but it took something else to really make it explode, something it could work with to complement its abilities as a music player, an ecosystem of sorts that would lead to the iPod’s becoming the leading media player of the time, it took iTunes.

Much like iTunes was an integral part of the iPod’s popularity and success, the iPhone and the App Store complement each other in much the same way. When the first generation iPhone was released, people were thrilled at the idea of a music player, Internet browser, video player, note keeper, email reader, and other necessities for today’s virtual world, all being integrated into one sleek and simple device. The App Store was not open when the first generation iPhone was released though and its sales went as high as 2.315 million units sold during the first quarter of 2008. However, on July 10 of that same year, Apple opened the App Store for business and the next day released the iPhone 3G with the fourth quarter of that year showing sales of 6.89 million phones sold. The combination of the App Store/iPhone 3G release gave the iPhone that added boost in sales and introduced people to the App Store for the first time. What was so great about the App Store though? Was it the variety of applications the store started with? Had the first generation iPhone already established a solid customer base? Were the applications just “fun?” I think it was a combination of all of these and more. The App Store and the iPhone created a mobile computing revolution that put a new and exciting twist on what was possible for a smartphone and people liked it. The new ecosystem created by the App Store and the “anytime, anywhere” access that the iPhone had to that ecosystem merged to create the world of applications and iPhone functionality that is seen today.

With all this success, the App Store and iPhone had nowhere to go but up, and that is exactly where they went. The App Store grew tremendously in its app count, now leading the pack with 100,000 apps.One of the most appealing features of these apps, and perhaps one that added a new level of interaction with their phone, was the addition of location-based services. With this kind of service, users not only got search results for their queries but relevant ones to their location. If a user wanted the nearest pizzeria, the search would give them the nearest pizzeria, and everything that was near them. There are even more features that were recognized, just not by the everyday user. These features were for developers, the niche group of people (though that has changed to encompass anyone willing to pay and learn how to program and devote the necessary time to it), who create all the apps you have ever used on the iPhone and iPod Touch. And this is where the application development comes in.

For its application developers, Apple provided a nice suite of applications to create, code, design, debug, and test their applications. This software development kit (SDK) had all the tools necessary to make the application life cycle from inception to distribution extremely easy. This talk of how easy the process was and the idea of being able to make an application of my own is what sparked my interest in application development. One of the reasons, I believe, that made my application development experience that much easier is Ted Nelson’s ideas in Computer Lib /Dream Machines, playing with the concept of self-directed learning. Instead of being taught by traditional methods, I embarked on a journey of my own, driven by self-interest and a desire to learn what it takes to make an application on the iPhone/iPod Touch platform. This self-interest alone made the process of learning the necessary code and gaining new understanding of the programming language relatively easy (proven by the fact that I had taken a computer science class, based on the same principles of the programming language of the iPhone, in high school which was ironically not my best class).

Learning a new language is no easy task, and neither is learning a new programming language. The iPhone applications utilize a type of programming known as object-oriented programming, specifically Objective-C. Objective-C is not necessarily a new language in itself but is a derivative of a more familiar programming language known as C. After doing a little research, I found that Objective-C as an object-oriented programming language found its roots with a man named Alan Kay and his work known as Smalltalk. Smalltalk, the language that formed the core for all window-based systems to date i.e. nearly all the OS’s in existence, was an object-oriented programming language that was originally developed for educational purposes and use by children. One of the aspects that make Objective-C, and therefore all object-oriented languages, so “easy” is that they revolve around something known as an object. An object is a programming entity that has all of its methods tied to it inherently, so instead of programming with all the formulas, one only has to worry about the object as a whole while the complexities of equations and formulas are left to the computer. (For more info see this post).

My application was difficult for me to think up. It took a great deal of time to come up with the substance that would give my application meaning and purpose. Upon coming up with an application idea that I thought was rather attractive, it also occurred to me that it would be nearly impossible to create such an application in the time given. The core of my application stems from my original inspiration for the application and that is something known to Mac users as the Flurry screensaver. One day I had gotten tired of the screensaver I had previously and decided to change it and after looking through them, I found that there was something about the Flurry that I had not noticed before. It was hypnotic, almost angelic if I may go that far, to the point where I thought, “Why don’t I use this in my application?” While the scope of my imagination is too far to cover in this report, I found a way to integrate the flurry into my application.

Using the SDK from Apple and various resources to assist me in the learning process, I was able to create/manipulate two different applications, one demonstrating the accelerometer feature of the iPhone/iPod Touch that had the picture of the Flurry screensaver in the center that responded to twists of the phone. The second application was a demonstration of the animation possibilities using OpenGl. This was mainly to show the future possibilities and where I want the application to go. I also want to integrate a voice-activated search function that can be used to search both the phone and/or the Internet for relevant information.

With all the advancements in technology that our world is seeing today, and the rate at which that advancement is occurring, it takes a lot to be at the forefront of that advancement. This project gave me a taste of what that advancement is all about, a small understanding of what it takes and what it is going to take in the future to spur such advancement, and I hope that many more will see that the possibilities are quite literally endless given the Internet and the wealth of information available on it. It just takes a little curiosity, a splash of desire, and a whole lot of time, which is going to balance with the desire and the rewards that come with accomplishment, so there is nothing to lose. Go for it!

And in traditional manner, thanks as always for your interest ^_^

EC

~ by erix on December 4, 2009. Tagged: , ,

Comments are closed.