Cocoa and Objective-C: Up and Running (by me) is now available from O'Reilly.

Video for Intro to Cocoa at CocoaHeads

The video for the Introduction to Cocoa talk at CocoaHeads is now available. Technically, this talk is called Best of Both Worlds, but the bulk of the talk is on entry-level material. We also had several interesting demos before the main talk.

Doorway at Infinite Loop 4
Doorway at Infinite Loop 4 (photo: Steve Weller)

Joel Norvell
Joel Norvell (photo: Steve Weller)

The video comes in two parts. The first is about 26 minutes long, and includes the meeting introduction, and several mini presentations. First, Joel Norvell discusses the PDF APIs in Mac OS X, followed by David Oster of Google who talks about his open source Vidnik video tool, and finally Elliot Harris demos his Photo Touch app.

Elliot Harris
Elliot Harris (photo: Steve Weller)

Meeting Introduction and Demos
Google Video
QuickTime HD (743MB):
QuickTime Medium (311MB):
QuickTime Small/Mobile (180MB):

The main talk provides an introduction to Xcode, Interface Builder, Objective-C, Mac UI standards and more. It's just over 90 minutes, but I think the amount of material that it covers justifies the length, particularly for true beginners. I should note that we posted an HD version of the main talk, but we weren't able to get at it from a web browser (possibly because the 2.6GB file surpassed a server limit).

Best of Both Worlds
(photo: Steve Weller)

Introduction to Cocoa (aka "Best of Both Worlds")
QuickTime Medium (1.1GB):
QuickTime Small/Mobile (641MB):
Slides (2.6MB)

We ran way over and had very little time for advanced material at the end. Fortunately, I think Elliot's more advanced demo helped balance the talk.

Notes About the Video

Because two of our usual staff folks had other commitments, we didn't have a dedicated camera operator. As a result, there are some brief periods (less than ten seconds) where the camera goes completely out of focus. Just be patient and it comes right back.

Huge thanks this time to Joar Wingfors, who edited and encoded all of the video into a number of different formats and sizes to make the video as accessible as possible. Again, when you see him at WWDC, please let him know you appreciate it. Joar and Chris Hanson also coordinated to make sure the camera itself showed up on time. Thanks to Steve Weller for the photos.

Also, thanks to everyone who showed up and was so patient through the entire presentation. Finally, thanks to Joel, David, and Elliot for presenting, and Michael Jurewitz as always for securing the location.

One more thing: I checked with Stephen and Joar, and we all agree that you are welcomed and encouraged to distribute the videos via BitTorrent.
Design Element
Video for Intro to Cocoa at CocoaHeads
Posted May 20, 2008 — 60 comments below


Spencer MacDonald — May 20, 08 5853

Thanks again, this is much appreciated.

Ryan Maxwell — May 20, 08 5854

Thank you

Steven Huey — May 20, 08 5855

Thanks guys, for those of us not on the west coast these videos are great!

Serhei Makarov — May 20, 08 5856

Hmm... my download speed for the "mobile version" loses exactly 1 KB/s every three seconds. Which is weird and disconcerting and means the download is going to take a while..

Steve Madsen — May 20, 08 5858

Can you make the HD version of the main talk available via BitTorrent somehow?

mandaris — May 20, 08 5859

Thank you very much!
This has really made my day and is a definite turn around from how the last two days have been for me.

Not only did I see your post, but my copy of Aaron Hillegass' Cocoa Programming for Mac OS X came in!

Some would say this is a sign that it's time for me to get off my butt and stop being a want-a-be.

Fraser Hess — May 20, 08 5860

Any chance you can post MD5 for SHA1 checksums of the video files?

Chad — May 20, 08 5861

I'm having similar problems downloading the mobile version of the video... any advice? Is there a torrent somewhere?

Robert McGovern — May 20, 08 5862

I am also getting hellishly slow (28kbs) speeds downloading the Medium version of the main talk. Guess we must be hammering the server.

Wonder how many of us are currently trying to download it?

Curtis — May 20, 08 5863

Anywhere else we can get the talk from (google video, torrent)? I have 590megs of the medium talk and now it's stalling?

Jussi — May 20, 08 5864

The download does not work properly, a .torrent would be appreciated.

Scott Stevenson — May 20, 08 5866 Scotty the Leopard

I'm sorry about the problems people are having downloading. The best option is try to again in a few hours. I don't have any control over that particular server. I actually looked at CacheFly as an option, but it looks like our files are bigger than their limit.

I can see the value in a torrent, but I don't have any way to facilitate that right now. You are welcome to distribute it yourself, though I understand that's dependent on having the files in the first place.

Joar did try to upload it to Google Video, but the upload failed, possibly because of the size. We're open to other suggestions.

Ted — May 20, 08 5868

I created a torrent for the HD version of the Introduction (743 MB), and the MEDIUM version of the Introduction to Cocoa Talk (1.1 GB). In total, the files are 1.8 GB.

I'll seed as long as is needed.

Naseer Khan — May 20, 08 5869


I've downloaded the torrent file from TPB, but can't see you as a seeder. Have you started seeding it yet? I'm using Transmission...

I'll try to keep it fed back with as much bandwidth as possible once I started getting it down this way...

Thanks to the original creators, and to Ted for the facilitation.


George — May 20, 08 5872

I am currently downloading the videos, however from previous experience the Cocoaheads talks are awesome. Too bad there is nothing similar in my state (VA). Anyway, you guys are providing us with some great information, and I hope to see every meeting in a podcast at one point (I am willing to help myself).

Keep up the great work!

Naseer Khan — May 20, 08 5873

Just wanted to re-insert the comment/correction that the torrent is moving well now. I still don't see the 100% participant (Ted, the original seeder) but in the infinite wisdom of the torrent exchange, he's probably hidden from my leech since he might be busy serving others ahead of me in line.

Who knows... but for those reading this now (May 20, 2008 late night), jump in... the water's fine. Oh, wow... now I'm getting >150Kb/sec now DL'ing from about 7 out of 15!!!

Mitch Cohen — May 21, 08 5874

I watched the first half of the main topic video last night (Medium format, I got 587MB down before it timed out, roughly 50 minutes). Great stuff. A very nice crash course in XCode/IB, with a few useful hints thrown in. I'm anxious to watch the rest.

I've always thought entry-level tutorials like this would be helpful to entry-level Cocoa programmers like myself. I'm currently reading the new Hillegass but a human presentation provides a different learning experience. I'm a visual person so this suits me well.

I also watched the intro/demos via Google Video. Good stuff. I grabbed the vidnik source, which I'll play around with later this week.

The download issue is interesting. I attempted downloading the medium version twice yesterday, once in the afternoon and once in the evening. In both cases the download began lightning fast, slowed down around 350MB, then timed out in the mid-500's (587MB, then 559MB). I tried a curl starting at 580MB and it never budged. I don't think it's an issue of the server being slammed - seems more like a problem dealing with large files. I wonder if file splits (either by raw size requiring recombining, or using QuickTime to generate 15 minute segments) would be helpful. Once the torrent is fully seeded this should spread well.

Steve — May 21, 08 5875

Having the same problems with the direct download, just hangs at about 50% of the way through. The torrent is very slow and only appears to have 50% of the data available. Can someone post the videos to Rapidshare or somewhere that can host larger files at all please? Much appreciated!

Trausti Thor Johannsson — May 21, 08 5876

The download is extremely slow, like 1.1KB/sec

Is there a possibility someone could store them on a fast server ?

Matt J S — May 21, 08 5877

@ Ted - Thanks for the Bittorrent version - for me, in the UK, it is much quicker than the server.

I'm really looking forward to watching.
As an idea for next time: would it be possible to put a .torrent file in the main post with the rest of the download links. I think that would help.

Many thanks

David Weiss — May 21, 08 5878

Thanks for posting the videos Scott!

Ted — May 21, 08 5879

@Matt J S and @Naseer Khan - no problem, and thanks for the thanks ;)

I -AM- still seeding (been seeding all night), and average is a little under 40 Kbps. I'll keep seeding for several more days.

My ISP is Comcast, so hopefully they're not messing with things too much........

Major thanks to all who made these videos.

Please SEED once you've got the files!!


Chris Ryland — May 21, 08 5881

Nice work!

One clarification, Scott: when someone asked why the .h file didn't appear as a target, what you said was correct, but it could be more helpful to say that only source files that result in an object file will belong to a target.

Jussi — May 21, 08 5882

The bittorrent download worked well for me too, thanks Ted.

I'm almost done downloading and have been seeding quite liberally, I'll continue to do that when not working.

Christopher R. Bowman — May 22, 08 5885

How did the actual video come out? It was hard for me to tell much from the small screen, and no way to know about audio levels. If I knew there was an auto focus, I would have turned it off. I'll know better next time. Hey Scott, I still have one of the Cocoa head videos I shot on my hard drive if you are interested. I could bring it in next month and give it to you.

Mitch Cohen — May 22, 08 5886

Thanks for making this happen. Looks like both the seeding and leeching has quieted down, currently 3 seeders and one leecher. I'll keep seeding at least through the weekend.

Christopher: Video is good, a bit on the dark side but quite watchable. Computer projection is a bit muddy, typical of pointing a camera at a screen. Audio is mediocre - low level with some noise, but still definitely comprehensible with the volume up. I'm assuming this was using a camcorder's built-in mic. Too few camcorders have mic inputs these days, and built-in mics are generally junk.

I help oversee the recordings of government meetings in our town, and that includes many PowerPoint/Keynote presentations. Whenever possible we record the video directly out of the laptop (through a transcoder) instead of shooting the screen. When there's more control over the laptop a software screen recorder works even better, especially for text-heavy stuff. Either way the computer info is much more readable. Downside is more post-production work as you need to mix two video sources (you either don't record video of the human, or have the means to edit live). With a crisper image, you can compress the video more while retaining readability. For web streaming we crush our stuff down to 100MB/hour (200K/s video + 32K audio). I wouldn't go that low for this since code needs to be readable, but I'll bet 500-800K would be fine with good source video.

Patrick — May 23, 08 5893

Thank you very much for the torrent, the download worked like a charm and I'm still seeding for the rest of the weekend.


Joe — May 23, 08 5894

The slides are great. Haven't managed to download the videos yet, but am looking forward to the presentations whenever it works out.

You guys are awesome for doing this for everyone out there. Not sure if I missed the bus on this, but are you guys taking donations for this, or can I at least buy you a drink?

thanks a ton

Brian Stucki — May 23, 08 5897

Now that it's been posted to TUAW, my guess is that the torrent is going to jump again.

We'll put it on a machine in our data center to make sure there's plenty of speed.

Ben — May 23, 08 5898

You could upload the video to Amazon S3, which has fast download speeds (I believe).

Ben Hodgson — May 23, 08 5899


I'm torrenting this now and will seed for as long as I can.

Thanks so much :)

John R. — May 24, 08 5901

I'm behind a proxy so I can't download on bittorent. Is it possible to put the files on a HTTP server or on a online storage provider (rapidshare, megaupload or anything else) ?

Alex — May 24, 08 5903

@Ted, thanks for the BitTorrent

Steve — May 24, 08 5904

I'm torrenting this now and will continue to do so for as long as possible.

Anders Whe — May 24, 08 5905

Thanks! Great videos, very useful!

yllan — May 24, 08 5906

Adam — May 24, 08 5908

Thanks yllan!! I was behind school proxy, so was looking for ways to get around it. Thanks to you I saved time and effort!!

Scott Stevenson — May 24, 08 5914 Scotty the Leopard

@Mitch Cohen: Whenever possible we record the video directly out of the laptop (through a transcoder) instead of shooting the screen.

We actually talked about this recently, but made a conscious decision not to do it. I personally think it's incredibly hard to watch a presentation without seeing the person, and recording just the presentation itself seems mostly unnecessary when you can just download the slides.

Obviously, on-screen demos are a factor. We will probably get there eventually, but I think we're already far ahead of where we were just a few months ago. Either way, I'll really try to make an effort to get microphones squared away in the future, since that would help the audio considerably.

@Joe: Not sure if I missed the bus on this, but are you guys taking donations for this, or can I at least buy you a drink?

We don't have any donation stuff setup right now, but I'm sure some folks would take you up on the drink offer at WWDC.

@Brian Stucki We'll put it on a machine in our data center to make sure there's plenty of speed.

Thanks, Brian. Much appreciated.

Elliott Harris — May 25, 08 5916

Thanks to Scott for letting me get my late entry in, I had a great time at CocoaHeads and look forward to it next month!

Ben — May 25, 08 5918

gm — May 26, 08 5923

Hey Thanks for the videos! I'm just up to the IB stuff and it is great. Keep up the great work.

One suggestion. Can you combine the slide show, audio and demo into some sort of screen cast?

SnapzProX might be worth looking at for that.

Once again, keep up the great work. Wish there was a group closer to home for to attend. Any one else out there in Winnipeg?

Patrick — May 26, 08 5924

I'm downloading via the Torrent and it's going well. I'll be seeding for a week or so ( or until my ISP blocks me or something ).

peter — May 27, 08 5932

@yllan: thanks for the mirror!

By the way, I've had no luck with the torrent. It's been stuck on "Getting torrent info" since last night... (Using Tomato Torrent.)

Joe — May 27, 08 5933

The .torrent is fantastic, thanks to all those seeding. I'll leave it up seeding for a while too.

Gand — May 27, 08 5936

A solution could be as they support HD video quality. They have a limit of 500mb a week so video has to be splitted on two or three parts.
Anyway I'll seed torrent. Thanks

John — May 27, 08 5939


Thanks for the videos!

Just regarding torrents - its dead easy. Get the Transmission client. Then create a torrent file of the videos you want to share using Transmission. Use a public tracker (in the future you could even host your own tracker on

Then just post the torrent file in the blog post and voila.

I've been downloading the video at 700KB/s on bittorrent, about 5 times faster than the webserver.

PS: it is great to see that the swarm is overwhelmingly Transmission users!

Scott Stevenson — May 28, 08 5941 Scotty the Leopard

@John: Just regarding torrents - its dead easy. Get the Transmission client. Then create a torrent file of the videos you want to share using Transmission

The issue in this case is mostly one of bandwidth. I'm not necessarily in a position to seed the torrent when we initially post the video.

John — May 29, 08 5949


No problem at all. Most of the big Bittorrent clients (not Transmission unfortunately), support a feature called web seeding, which means a plain HTTP web server can also act as a seed. Thus, you don't have to worry about the bandwidth cost of being the initial seed, as your original download server does it automatically.

John — May 29, 08 5950

sorry, I can't seem to edit my post:

web seeding should point to:

There are two types, however the one you would be interested in is the GetRight one, which doesn't involve any changes on your part. Just specify the webserver when you create your torrent and off you go.

Colin Devroe — May 30, 08 5961

Hi there. If you create an account on, and then message me with the username, I'll push your limit to "unlimited" and you can share the video through our player.

Let me know if you need any help!

C. M. Et — May 30, 08 5962

I'll upload too. From a 700 kbit upload Azureus Mac, and a 300 kbit upload uTorrent PC.

The torrent is insane ! over 800 kiloBYTE download. And that just with a few seeders.*

*I understand the system of torrents, but never acctually saw it in real the "few-fast-seeders + fewer-leechers".

Robert McGovern — May 31, 08 5969

I am curious about the amount of data we must of shifted. I know I've uploaded about 38gb so far which is kinda scary.

These videos appear to have been very popular.

Joe — Jun 04, 08 6017

Hi Scott,

Is there any chance of a follow up screen cast of just the advanced stuff?
Only getting to see your app for a few seconds was a total tease.
And integrating TextMate with Xcode looked really awesome, but again was a only a teaser. I've watch Allan Odgaard's videos on using the objective-c bundle (as I'm sure many have) and they were good but also very short.

A full feature of using TextMate with objective-c and the cocoa frameworks would be insanely awesome.

Scott Stevenson — Jun 04, 08 6019 Scotty the Leopard

@Joe: Is there any chance of a follow up screen cast of just the advanced stuff?

I absolutely see the value in that. Most likely it would be for a future CocoaHeads meeting.

Fraser Hess — Jun 07, 08 6036

Hello everyone, I have been working with Scott and we are very close to offering a torrent for The Best of Both Worlds in HD, that's the full size version, all 2.6GB. We also have a torrent for Scott's UI Design Essentials from April.

Before we offer them publicly, we are looking for a couple of folks to help seed the files. If you are interested in helping please email me at fraser at renewedheart dot org, and I'll send you the torrent files. We'll probably need no more than 3 or 4 more seeds. Once we have those seeds, I'll post another comment in this thread, with links to the torrent files.

Patrick Webster — Jun 10, 08 6060

You mentioned in the video that you would post the code for the clouds animation program. Where is the link to this code?

Joe — Jun 18, 08 6075

Hey Scott,
I've got .h and .m files set to open in TextMate, but when I double click one in the source list of Xcode it always open in another Xcode window.

In the video it looked like your files opened in TextMate from within Xcode.
Is there a preference for this?


Scott Stevenson — Jun 18, 08 6076 Scotty the Leopard

@Joe: I've got .h and .m files set to open in TextMate, but when I double click one in the source list of Xcode it always open in another Xcode window.

I'm not sure what you mean specifically by "set to open in TextMate", but there's a section of the Xcode preferences called "File Types". You need to make your changes in there to have the files opened in TextMate when you double-click them in Xcode.

Fraser Hess — Jun 26, 08 6089

Ammar Ibrahim — Dec 21, 08 6572

Thanks for posting the videos. And please do this regularly. Maybe if you create an iTunes feed it would be great and easier to follow.

Greetings all the way from Jordan.


Comments Temporarily Disabled

I had to temporarily disable comments due to spam. I'll re-enable them soon.

Technorati Profile
Copyright © Scott Stevenson 2004-2008