View Review Details


Book:   iPhone SDK Application Development
Subject:   Early impressions not good
Date:   2009-05-29 00:21:13
From:   Don
Rating:  StarStarStarStarStar

I have only read the first few chapters so I can't judge the entire book, but there are such major problems with Chapter 2 on the Interface Builder (IB) that I am already very dissatisfied with the book. Note that I am a complete newcomer to the Interface Builder but I am the target audience for this chapter.


First let me say that the tutorial simply does not create the desired application, apparently because of some missing step. So that is major, but there are many things that are upsetting about this tutorial and how it is presented to the reader.


The fist thing is that the steps of the tutorial are buried in the text and hard to distinguish from the non-tutorial information. For example, the first two steps of the tutorial are to create a project with Xcode and to open the generated MainWindow.xib file in Interface Builder by double-clicking it from Xcode. Immediately following those steps there is what appears to be the next tutorial step, saying, "To create a new IB project from a template, select New from the File menu". Yet this is not really a step in the tutorial and following it hopelessly confuses the reader. If the tutorial steps were clearly differentiated from the expository text and were numbered and had a distinct font, this confusion would not have occurred.


The next gripe is that the tutorial has many pages of expository text inserted right in the middle of it, making it very hard to follow or to find a particular step. It would be much better if the tutorial was in one uninterrupted piece and followed the expository material.


There were places in the tutorial in which the instructions did not follow logically. For example, there is a step that tells the reader to launch the IB and edit the MainWindow template. But at this point the IB is still open from the previous step. At another point, the instructions say to save the template as MainWindow, but since you started IB by opening MainWindow, the instruction should simply say to save the template. It is a minor point but still causes confusion because it doesn't make sense.


There are also parts of the tutorial that could use more information, including screen grabs. For example, where it tells you to drag a Tab Bar Controller into the document window, it fails to mention that you need to open the Library first. Another minor point but it shows lack of appreciation for the inexperience of the reader for which it is intended.


Another point of confusion arose when the instructions say "We suggest that you create a separate view class to correspond to each tab and use an IB file to describe them." The impression I got was that I was supposed to create the view classes first and that I would then describe them with an IB file. It is clarified in the next paragraph but that came too late to prevent me from wasting time trying to figure out how I should create a view class and what it meant to describe it with IB once it was created.


There were other points of confusion that could have been avoided if the author had worked through the tutorial before publishing it, which I seriously doubt he did. For example you are instructed to save templates and the default location is in the application, which causes Xcode to ask if you want to add them to the app. But the instructions seem to assume that you saved them somewhere else and need to drag them into the application later. And the instructions do not tell you how to fill in the forms that appear when you do add the templates to the application.


But the really big problem is that it is impossible to create the desired application with the tutorial. The instructions at one point say that that the application delegate class will have properties for window and viewController, but there is only window, none for viewController. And from this point on the instructions are impossible to follow because they depend on the viewController property. It seems apparent that neither the author nor the editor ever went through the tutorial.


Maybe things get better as the book progresses.


See larger cover


Jonathan Zdziarski Webcast
Full Threads Oldest First