Thoughts from a NeXTStep Guy on Cocoa Development

Instead of writing...

Feb 26, 2008 by Bill Dudney

On Tuesday of last week I checked in the final chapter, there is still plenty to do (like roll in all the great feedback I've gotten from the tech reviewers) but I figured a little R&R was in order today. So this morning I hoped on the bus with my lovely wife and we skied from 8:30 (first tracks :) till around 11:00. It was a great day! Here is a photo of one of the runs with the valley our house is in in the background. I highly recommend Breck if you can make it out you should.

Permalink     1 Comment - Add Yours

New Mini Online...

Feb 25, 2008 by Bill Dudney

Finally, my new mini is online and serving pages. Here is hoping that I get as much out of this new mini as I did from the old.

If you notice anything missing please don't hesitate to ping me and let me know so I can fix it asap.

Permalink     Add A Comment

New Beta Available

Feb 14, 2008 by Bill Dudney

We pushed a new beta today. Most of the existing errata was addressed as well as adding a new chapter 'Core Animation' in which you will learn all about layer hosting views and building UI's with CA.

Permalink     Add A Comment

Only one more chapter to go...

Feb 12, 2008 by Bill Dudney

I just checked in the last changes on Chapter 8, Chapter 9 has been done for a while so now I'm on to Chapter 10 and then I'll be wrapped up.

After Chap 10 is in the bag its off to fix all the stuff the tech reviewers are finding. I can't say enough how thankful I am to this group of folks for doing such a great job in giving me feedback.

Permalink     Add A Comment

Intermittent Blog Failures...

Feb 03, 2008 by Bill Dudney

My blog is dying every 1 to 5 hrs and I'm not sure what is happening (it suddenly started to run out of db connections about a week ago). I'm looking into it and hopefully will get that fixed shortly. Sorry for the lack of responsiveness.


It appears that the success of my lovely wife's iPhone games are to blame. This site has been hosted on a mac-mini since June of 2005. The box never had any problems serving up quite a bit of content from my java blog even when I was near the center of a tempest in a teapot about JBoss and was getting thousands of hits a day for about a week my mini never complained. The average hit count per day was between seven and ten thousand hits a day. Then...

A friend of mine wrote two very cool iPhone apps, Connect4 Touch and Tic Tac Toe. While my wife and I were in the theatre waiting for National Treasure 2 to start a couple in front of us way playing Connect 4. Two days later I start getting AIM hits from my wife asking how to do this or that with Javascript.

The result has been a bit of an increase in the traffic on and the little mini that could. December's daily average hit count was 7,700, Janurary was 55,000 and so far in February the daily average is 130,000. And all that from a mac mini. The culprits are iKala (mancala), Ball Blast (which is currently in the top 10 games on, way to go!) and the latest Alien Defeat. If you are so inclined go check them out.

One of the coolest things about getting into this is that it's been a family affair. My 12 year old son wrote about half the code for Alien Defeat and came up with the idea. He also made the icon (which is one of the coolest icons ever for an iPhone app IMO ;). And my 10 year old made the background images for both Alien Defeat and iKala with Blender. The Dudney software factory is in full swing :)

Back to the tech: from what I can tell Apache was consuming all the memory (because of my config, fixed now I hope) and causing mysql and java to swap out. Then every hit on my blog was causing a massive bit of swap activity, and causing mysql hits to timeout, and boom my blog would croak.

I think I have apache limited now so that my blog has enough breathing room. Lets hope so anyway, my wife is about to release a fourth game in the next week or so, might be in the market soon for an XServe :)

Update 2:

Ordered a new intel mac mini to replace the G4 mini. its just not able to keep up...

Permalink     2 Comments - Add Yours

Beta here we are!

Feb 02, 2008 by Bill Dudney

I am totally stoked to report that Core Animation for OS X: Creating Dynamic Compelling User Interfaces is finally in beta!

If you buy a copy of the beta you can get the content now and then a full version when the book ships.

You can read all about it here.

Permalink     Add A Comment

Beta here we come!

Jan 11, 2008 by Bill Dudney

I've been making great progress on the book. I have submitted chapters 2 to 7 for editorial review and 1, 2, 3 and 4 are very close to being ready for beta, so everyone that has signed up to help review (thanks again BTW!) you should be hearing something in the next week or so.

Some things that would be extremely helpful as you read the book and offer criticism.

  • Does the chapter/book flow, do the ideas logically progress from one to the next for you?
  • Is the pace too fast or too slow?
  • Are the assumptions made to broad or too narrow?
  • Grammar and Spelling

Despite our best efforts to make sure all this stuff is spot on its not possible to catch everything. And besides writing a book is all too often like the process described in this interview with Garrison Keillor in which he sums up writing as

Writing is revising. You just keep messing around, cutting the dead wood, forcing the plants to bloom, until whomever you're writing the piece for gets exasperated and then you send it to them.

And while Daniel is fairly hard to exasperate I am exceedingly good at it so your feedback is critical!

Permalink     2 Comments - Add Yours

Chapt 3 finito

Dec 20, 2007 by Bill Dudney

Finally, first three chapters are off and running. Should be well on track for beta by MacWorld. If I'm really a nose to the grindstone kinda guy i might just make 4 chapters by MacWorld.

Permalink     Add A Comment

Chapter 2 - Off to Editor

Nov 21, 2007 by Bill Dudney

The pace has started to pick up now that I'm on the book more or less full time. I just submitted the second full chapter to my editor. The chapter is on the advanced aspects of Cocoa Animation (i.e. using mixed content, opengl, quartz composer etc). I really like the content, its amazing what you can do with NSView these days :)

My goal is to be done with the first three chapters by MacWorld and that goal seems like it will be no problem. Now that I've finished the second chapter I am startinig to feel like I'm on a roll and I might even be done with the fourth chapter by MacWorld. The milestone though is that third chapter because that is when the publisher feels like we are far enough along to get the external reviewers going on the content.

Thanks again to everyone that has offered to review! There is still room if you are interested just drop me a note.

Permalink     1 Comment - Add Yours


Nov 13, 2007 by Bill Dudney

When coding examples and explaining things to folks I'm generally a minimalist. I try to make examples that show as simply as possible the feature or concept I'm explaining.

In writing this book on animation though I'm struggling with that tendency. I have built a bunch of really simple user interfaces that show the animation techniques. I think the examples are good for explaining the concepts and show in a minimal fashion what can be done. So that part is positive. What I'm having a hard time with is there is little motivation or guidance in these examples of when or why to use the animation.

I fell something like I'm writing a book about the button when there is not a common set of understood interaction paradigms around the button. There are ways we should use a button and there are ways we should not. As developers we have developed that all important intuition over the years of what to do with a button.

With animation that corporate intuition is not there. I of course have my ideas of how we should use animation, Apple has its ideas and others have also put some animation into their apps. We have a start but its just that a start. So as I write these examples I struggle with doing an example to illustrate the why as well as the how. The trouble is that much of the why requires a bigger (usually much bigger) example and the details of that bigger example end up obscuring what I'm trying to explain.

As a concrete example take the Cocoa Slides application that Apple provides as an example of what you can do with animation. That has a kitchen sink approach to putting in tons of features to show off the animation possibilities. It has no real function other than that. No one would actually use that code to model their interface (at least I'd hope not).

If all you had was this example and you want to know how to put a QuartzComposer composition into a view you'd have to wade through all the bucket of code to get at that little bit. And there is always the possibility that the code in class A somehow makes everything work but the code that messes with the QC composition is in class B. It can be difficult to find that one line of code in class A that makes everything work as expected. It can be quite frustrating to figure out how to do the little bit you want to do successfully. Where as a simple example that had one view and placed a QC composition into its layer would have the advantage of being exactly what you were looking for.

On the other hand the Cocoa Slides example is inspiring because of its beauty. It just looks so cool. If you've not played with it you need to is fantastic. It has placed visions in my head of what is possible and how beautiful an application can be, even a useless one.

So anyway as an author I want to make sure the people get the most out of the book so I want to include examples that help people to understand animation as best I can. What are your thoughts, how do you learn best? I posted about this a while back in my java blog and got some interesting responses. I'd love to get some of the Cocoa community's thoughts.

Permalink     1 Comment - Add Yours

Slight Change In Direction

Oct 31, 2007 by Bill Dudney

Ok so perhaps its not slight, the ObjC book that I started has turned into a Core Animation, Core Image, Quartz Composer and Image Kit book.

With some great advice from my editor I realized that my passion was with doing cool stuff with ObjC and Cocoa not just with the language. So I jumped over to a new topic (after writing 2 full chapters, not an easy move to make...) and I'm really excited about the new direction. I have an outline and part of the first chapter (Cocoa Animation) done. As always if you are interested in getting into the review cycle please drop me an email I'd be glad to add you.

Permalink     Add A Comment