Archive for March, 2008

iPhone is no desktop, it’s a phone!

March 27, 2008

“iPhone is no desktop”, says John C. Dvorak. And I say that I don’t even see Apple trying make iPhone as a desktop replacement. If they were, I think Adobe would be pushed on hard to make a Flash available at launch, Mail application would have all sorts of filtering options, Photos application would allow to do some advanced picture editing and retouching and they would probably have Garage Band preinstalled :). What do we see instead? GUI and applications are made as simple as possible, but very accessible and fast. I don’t think that we are ever to create complicated CAD drawings or 32-tracks music compositions on the devices as compact as Smartphone unless the data input/output technology gets more advanced and we get bigger displays (mini-projectors) and a more convenient way of input. Let’s not forget that primary task of the Smartphone is to keep you connected with the world in more ways than just being able to talk to your buddies.

Windows Mobile was more the beginning of a desktop replacement than iPhone was. Microsoft implemented multitasking support, “Start” menu and the UI that more or less resembled the desktop environment. Why did PDAs get extinct? Because of the lack of connectivity with the world. People don’t bother about carrying a device that runs a scaled down version of Winamp or Doom, but rather a well-designed AIM client or Facebook, and an iPod that you can navigate through with a touch a finger :).

The question is whether iPhone is good at connecting people to the world. Half way it does good (UI of the SMS application resembles the conversation; a well-written browser that runs Facebook web app that allows to perform some basic tasks of the “real Facebook”, Digg web app that gives me a laugh or two during the day, Twitter web app that helps me twit for free without using the text messages from the package). But what about MMS (something, that even $50 phones can do)? Looks like it was easier for Apple to make YouTube convert their movie database into H.264 than writing a simple MMS application…

iPhone development – Where to start?

March 10, 2008

After struggling for quite a while to find a good documentation on iPhone SDK I decided to come up with a set of tutorials that I’m gonna do while learning the iPhone OS API myself. Official documentation found on Apple’s web site still suffers from being not clear enough and it’s not very obvious where the starting point is – whether it is the Objective-C 2.0 intro or the iPhone OS intro. Objective-C guide is hard to understand without real world example, and iPhone OS intro is too complicated to read without some basic knowledge of Objective-C. Just look at the ‘HelloWorldClassic’ example which is hundreds of lines long and makes your head go around when you look at it.

Luckily we have dozens of bloggers around and hundreds of non-official tutorials available everywhere online. As a newcomer to the Mac OS X and a person who has zero amount of experience in Cocoa programming I decided that programming for the desktop would be a better start than programming under the similar framework for the mobile device. Apple clearly states that iPhone Cocoa Touch development workflow is similar to development experience under desktop version of Cocoa, but due to the hardware specifics the Cocoa Touch has both limitations and advantages over the desktop platform. I think it is clear now that the good starting point would be the Cocoa ‘Hello World’ application, where you can get familiar with the IDE and the programming language itself. It turns out that most tutorials that are available online were created for the Xcode 2 and the older version of Objective-C, but still I was able to find some great resources that were a great push in development in Xcode IDE:

Particularly the YouTube videos by lammig were useful by showing the connection between the Interface Builder and actual coding in Xcode. Although Apple has demoed the Interface Builder for iPhone, in the original beta release of the SDK the Interface Builder for iPhone Cocoa Touch is unavailable, but Apple promised that it is not going to be a lot different from using the Interface Builder for original Cocoa for desktop platform.

This is it for today, but I’m currently building a small tutorial on how to build a lighter version of ‘Hello World’ application. By saying ‘lighter’ I mean something that is more compact and readable than the one Apple has on its iPhone Developer Center web site ;).