I mentioned earlier in the the year that a major focus of mine has been to help better educate people about AV Foundation. I’m happy to announce I’m working on a new book called Learning AV Foundation that will provide a comprehensive guide to mastering the framework. The book provides a hands-on guide to working with the various features of the framework and focuses heavily on building real-world applications for iOS and OS X.
The book is still early in its development, but the publisher has made a Rough Cut version available on Safari Books Online. The first 5 chapters are currently available and new ones will be added as the content is developed. A Rough Cut chapter is the raw, unedited version, so if you notice any errors or omissions, ping me here or leave a comment on the book’s page on Safari Books Online.
Table of Contents
- Getting Started with AV Foundation
- Playing and Recording Audio
- Working with Assets
- Playing Video
- Using the AV Kit Framework
- Capturing Media
- Using Advanced Capture Features
- Composing Media
- Mixing Audio
- Layering Animated Content
- Performing Video Transitions
- Building Custom Video Transitions
- Reading and Writing Media
- Creating Realtime Audio Effects
- Creating Realtime Video Effects
I had the great opportunity this spring to attend and speak at a couple different stops on the CocoaConf Spring Tour. I was at the event in D.C. in March and this past weekend returned from the event in San Jose. Now that I've had a couple CocoaConfs under my belt I thought I'd share my thoughts on the conference.
CocoaConf is a technical conference for iOS and Mac developers. The conference offers three concurrent tracks on a wide variety of topics so at any given time you're sure to find something of interest to you. The sessions offer a nice mix of introductory and advanced technical topics along with some great business-oriented talks as well. It has a really strong speaker line up featuring guys like Daniel Steinberg, Bill Dudney, Chris Adamson, and Jeff LaMarche, to name but a few. It was great to meet so many of the people whose writing and other works have been a big source of professional inspiration over the years.
One aspect of the conference I really like is the organizers put a cap on the number of attendees at a given event. Having a smaller group of attendees makes it much easier to meet new people, make new friends, and have meaningful conversations. I have learned a lot from the people I have met over the past couple months and listened to a lot of great stories along the way.
No mention of CocoaConf would be complete without discussing the family behind the conference. The Klein family puts on the conferences and does a great job of juggling the logistics while managing to make everything run like clockwork. It has been great getting to know Dave and his family a bit better. I can't say enough good things about the Kleins and am very thankful for their contributions to the Cocoa community.
The bottom line is CocoaConf is a great place to learn, connect, and grow. The CocoaConf Spring Tour may be over, but the bus will be rolling again this fall. Be sure to keep an eye on their website for upcoming dates. If you haven't been to CocoaConf before you owe it to yourself to go.
This past weekend I spoke at the CocoaConf event in DC. This was my first time attending CocoaConf so didn’t know what to expect, but I was very impressed by the format and quality of the conference and thought the organizers did an excellent job. I’m speaking again in San Jose next month and will post a more thorough review of the conference when I get back.
I gave a talk entitled “Composing and Editing Media with AV Foundation” where I dove into the details of the media creation and editing APIs. This is one of the more interesting areas of AV Foundation, but it is also the least documented which makes it particularly difficult to learn. Hopefully, this session and its associated sample app will make it easier for others to get started.
You can find the materials for the talk here:
Speaker Deck: Composing and Editing Media with AV Foundation
Slideshare: Composing and Editing Media with AV Foundation
GitHub: AV Foundation Editor
I’ll be giving this talk again next month so I look forwarding to seeing you at CocoaConf San Jose!
Tonight I gave an updated version of my “Learning AV Foundation” talk at the MN CocoaHeads meeting. In a rare move I actually posted my slides and sample code before I gave the talk. You can find the materials here:
Speaker Deck: Learning AV Foundation
Slideshare: Learning AV Foundation
GitHub: AV Foundation Demos
Thanks to everyone who turned out tonight. You guys continue to make the MN CocoaHeads groups one of the biggest and best CocoaHeads groups in the country.
AV Foundation is Apple’s advanced Objective-C framework for working with timed media in iOS apps. The framework, as we know it today, was first introduced in iOS 4 and has seen signficant additions and enhancements in both iOS 5 and iOS 6. Starting with Mac OS 10.7 it is also the default media framework for the Mac platform which means Apple is investing the bulk of its media engineering resources in its development. Clearly AV Foundation is important to Apple and if media matters to you and your applications, it should be important to you as well.
AV Foundation is a very impressive framework with a broad and powerful feature set. However, it’s not a particularly easy framework to learn to use. It’s quite large with many classes, functions, and protocols so simply understanding where to start can be a challenge. It also relies on a number of advanced language features such as blocks, KVO, and Grand Central Dispatch so it can be a lot to bite off if you’re just starting out with the Mac or iOS platforms. But the single biggest reason this is a difficult framework to learn is it is so poorly documented. The AV Foundation Programming Guide is badly out of date and the API docs can, at best, be described as sparse. My best guess as to why this is the case is that the development team’s technical writers are always on vacation at release time. This means the only real way to learn to use the framework is through a significant investment of time, lots of experimentation, and the use of one or more high blood pressure medications.
One of my recent goals is to help people better understand how to use AV Foundation. I started working on this last fall when I gave my “Learning AV Foundation” talk at 360|iDev. I’ll be giving an updated version of that talk this week at the Minnesota CocoaHeads meeting. I’ll also be giving a talk entitled “Composing and Editing Media with AV Foundation” at the CocoaConf stops in DC and San Jose in the coming weeks. As part of both talks I have sample apps that I’ll be releasing on GitHub that will illustrate how to make use of the framework.
I’ve got some additional things planned for later this year and will post more about those when I get a bit closer. I like to do at least one useful blog post a year so, who knows, maybe I’ll even find the time to write about the topic on my blog.
This past spring I developed an introductory training course called Learning iOS Programming for Infinite Skills. Given my background in training I had been considering developing a course like this for some time and when the opportunity came along I was eager to jump on it. Developing and producing the course was no small effort, but I’m glad I did it and am happy with the results. I hope it will be a useful resource for developers moving to the iOS platform.
The course is now officially available from the Infinite Skills website and you can also find it on O’Reilly’s Safari Books Online. Check it out and let me know what you think.
I mentioned that this is my first video training course, but it definitely won’t be my last. My company, TapHarmonic, has been hard at work on some new offerings that we’ll hopefully be ready to reveal later this year. Stay tuned!