Renaissance

The Art And Science Of Apps

Tim Burks and Bill Dudney are collaborating to put on a new conference for App Makers early next year in San Francisco: Renaissance.  The conference aims to be (roughly) equal parts design, business, and technology.  This is a 3-day single track conference, so you don’t have to miss anything.  The entire speaker roster has yet to be announced, but already includes folks like Daniel Pasco, Rob Rhyne, Brent Simmons, James Dempsey, Chris Clark, and Matt Drance.

I am proud to announce that I will be presenting a session on animation (the technical half) in conjunction with Phil Letourneau of Black Pixel (the design half).  I’m really excited about the session format (50/50 design/technology).

Early bird tickets are available through the end of November.  Even better, for $200 more you can get a combo Renaissance / CocoaConf ticket that is good for Renaissance plus any 2013 CocoaConf conference.  There are four confirmed dates/cities for next Spring (Chicago, DC, San Jose, and Dallas) with more planned for the Fall.

Personally I think this conference is going to be epic.  If you’re an indie, startup, or small company iOS App Maker, you’ll especially want to be there.  The main sessions look great and cover a wide variety of topics, and I’m certain all the informal breakout sessions and after hours conversations will be fantastic.

Update: Use code “mpospese” to register by November 30 and receive an extra $100 off the early bird price!

CocoaConf PDX wrap-up / Raleigh preview

Photo courtesy of Gordon Hughes

Last weekend I attended CocoaConf PDX in Portland, OR.  Dave Klein really upped his game with keynotes from Daniel Pasco and Brent Simmons, and speakers such as James Dempsey and Collin Donnell.  The event was sold out (the second one to do so I believe, the other being Chicago), so there was a good crowd of about 100 developers on hand.  As always it’s a great vibe with so many people eager to learn and share.

Recap

I presented talks on matrix transformations and collection views.  This was the 4th time I’ve given my matrix transformation talk, “Enter The Matrix: Reloaded“, and I feel like it’s really starting to hit its stride.  I revamped it in August to include a lot more information about flipping and folding animations as well as some general graphics performance tips.  Apparently it was voted the 2nd favorite session of the conference, losing out by a single vote to Jonathan Penn‘s UIAutomation talk.  I consider that a great compliment because Jonathan is a fantastic speaker and his automation talk is really a lot of fun (no, really!) and gets the crowd cheering by the end.  The slides are available here and the code is on GitHub.

My second talk, “Introducing Collection Views”, was a new talk.  I sought to cover the basics of collection views, layouts, and attributes while also covering the more advanced topics of custom layouts and animations and providing specific tips borne from personal (sometimes painful) experience.  The talk is accompanied by a sample app that displays a single collection view with five different layouts.  The slides are here and the code is on GitHub.

Next

I will be presenting at CocoaConf RTP in Raleigh, NC at the end of this month.  Tickets are still available and it looks to be another great conference.  Bill Dudney will be there (including an all-day graphics tutorial) – need I say more?

I will be presenting the same two talks for Raleigh.  I’m looking forward to the additional polish and reworking I can bring to the collection views talk for its second rendition.

Title: Introducing Collection Views

Abstract: UICollectionView, introduced in the iOS 6 SDK, is Apple’s new class for visualizing data in a grid or really any format other than a vertical list.  We’ll cover the basics and then explore the intricacies of UICollectionViewLayout,  UICollectionViewFlowLayout and related classes.  Along the way we’ll learn how to make both horizontal and vertical grids, cover flow, iPhoto-like stacks, and other custom layouts.  Apple has provided yet another tool that makes it easier and faster for you to provide rich experiences for your users – come learn how to hit the ground running with UICollectionView.  Plenty of source code will accompany the talk.

Title: Enter The Matrix: Reloaded

Abstract: Matrix transformations can make your user interfaces come to life: translate, scale, and rotate. Each on its own is relatively simple and straightforward. Yet many developers are daunted when 2 or more operations need to be combined. What if you need to rotate or zoom about an off-center (or even off-screen) point? How do you combine multiple transformations into a single animation? How do you make advanced, polished 3D animations such as folding and flipping views? Learn everything you need to know to get started with complex matrix transformations in CoreGraphics and CoreAnimation and take an in-depth look at folding and flipping animations. We’ll also cover related topics such as anti-aliasing, avoiding off-screen render passes, shadows, and rendering retina images. Tons of demos and full open-source source code provided.

I hope to see you in Raleigh at the end of the month – it’s going to be a good time!

CocoaConf PDX 2012

I am proud to announce that I will be presenting at CocoaConf PDX in Portland, OR this October.  I’ll be debuting a new talk on something I can’t talk about quite yet.  But it’ll be about something new and fun to play with for you to create great interfaces for your users.

Update: Now that the NDA on iOS 6 has been dropped, I can reveal that my new talk will be on UICollectionViews.

Title: Introducing Collection Views

Abstract: UICollectionView, introduced in the iOS 6 SDK, is Apple’s new class for visualizing data in a grid or really any format other than a vertical list.  We’ll cover the basics and then explore the intricacies of UICollectionViewLayout,  UICollectionViewFlowLayout and related classes.  Along the way we’ll learn how to make both horizontal and vertical grids, cover flow, iPhoto-like stacks, and other custom layouts.  Apple has provided yet another tool that makes it easier and faster for you to provide rich experiences for your users – come learn how to hit the ground running with UICollectionView.  Plenty of source code will accompany the talk.

I’ll also be giving my matrix transformations talk, which now has even more rotational and graphical goodness.  That one is a longer session, so there will be plenty of time to get into all the minutiae of shadows, timing curves, anti-aliasing, rendering layers as bitmaps, etc.  If you’re interested in either FlipBoard-style page-flipping animations or Clear-style folding animations, then you won’t want to miss this session.

Title: Enter The Matrix: Reloaded

Abstract: Matrix transformations can make your user interfaces come to life: translate, scale, and rotate. Each on its own is relatively simple and straightforward. Yet many developers are daunted when 2 or more operations need to be combined. What if you need to rotate or zoom about an off-center (or even off-screen) point? How do you combine multiple transformations into a single animation? How do you make advanced, polished 3D animations such as folding and flipping views? Learn everything you need to know to get started with complex matrix transformations in CoreGraphics and CoreAnimation and take an in-depth look at folding and flipping animations. We’ll also cover related topics such as anti-aliasing, avoiding off-screen render passes, shadows, and rendering retina images. Tons of demos and full open-source source code provided.

I’m super excited to visit Portland and looking forward to Chris Adamson‘s Core Audio Workshop.  There’s even a place where you can get bacon on maple-frosted pastries.

“Bacon maple goodness – so wrong and yet so right”

Early Bird registration ends Sept 14th.

iOSDevCampDC wrap-up

Last Saturday I had the privilege of speaking at and attending iOSDevCamp DC (which actually took place in Reston, VA).  iOSDevCamp DC is a single day, single track conference that is now in its 4th year.  This was my 2nd year attending.  Unlike most conferences, this one groups all the attendees in a single (large) room for the day (stocked of course with plenty of beverages and snacks as well as breakfast and lunch).  This aspect really helps facilitate the mingling and conversations that make attending conferences so valuable.

I was the 4th of 6 speakers and I gave my matrix transformations talk for the 3rd time in 5 months.  This time I deliberately cut the introductory material somewhat and spent more time on folding and flipping animations plus touched on some general graphics tips like anti-aliasing, rendering retina bitmaps, and avoiding off-screen render passes.  I think it went well.  I forgot to sacrifice to the demo gods beforehand though and got the dreaded bootstrap server error that prevented me from running my demo app in the iOS Simulator.  Fortunately, I had it on my iPad and with the help of the HDMI adapter was able to run Instruments while projecting the iPad screen.

I enjoyed the other 5 talks, but especially Ken Yarmosh‘s talk on gestures and Jonathan Blocksom‘s iOS concurrency talk.  I think I picked up about 3 different nuggets from Jonathan’s talk alone that made attending worthwhile.

Slides from my “Enter The Matrix: Reloaded” talk can be found here (latest version here), and the code can be found on GitHub.

(Presenter tip: If you use a retina MacBook Pro or a new 2012 MacBook Air to present, remember to pack a MagSafe to MagSafe 2 converter so that you can charge your laptop using the power adapter that’s hopefully installed on the podium.)

iOSDevCampDC 2012

I am pleased to announce that I will be speaking at iOSDevCampDC in Reston, VA on August 11.  This is a single track, single day mini-conference (for a mini price, just $50) that brings together a lot of DC-area developers.  It’s on a Saturday, so work conflicts are minimal.  Ticket sales end this Saturday (July 14), so if you’d like to go, act soon.

Update: registration has been extended until July 24.

I will be doing my “Enter The Matrix” presentation on matrix transformations, but I’ll probably fine-tune it to the more advanced audience I expect to quickly review the basics and then spend more time examining flipping and folding animations (and related ephemera such as anti-aliasing, avoiding off-screen render passes, shadows, rendering retina images, etc.)

So if you’re in the area (or will be), I hope to see you there!  (Seriously, for $50 you can’t beat the price for 6 technical sessions plus the opportunity to network with a cadre of local devs.)

CocoaConf DC wrap-up

Last weekend I had a great time at CocoaConf DC on my home turf of northern Virginia.  In many ways CocoaConf is the antithesis of WWDC.  Capped at 100 attendees, it’s small where WWDC is enormous, and intimate where WWDC can be impersonal.  It’s a conference where you can meet (and spend time chatting with) every speaker and every attendee, if you put your mind to it.  And really, although the sessions are the ostensible reason to attend conferences (the way we justify them to our bosses or to ourselves), for me at least it’s the personal connections you make that are the real value.  As developers we tend to spend most of our time isolated in our cubicles (and in some cases our homes), so it’s doubly important to take the time to reach out to the like-minded individuals we encounter at conferences.  CocoaConf is a great venue for that.  And with 3 tracks of 30 sessions over 2 days (preceded by an optional full-day intensive tutorial), there’s plenty of knowledge to be gained as well.  A common theme I heard throughout last weekend was the “which of these sessions should I attend next?  They all sound great” dilemma (trilemma?).

This time I presented two talks.  I debuted a talk on custom container view controllers (using the iOS 5 containment API), which in addition to containment covered the iterative process of designing and refining the UI and API for a page-flipping control (demo app shown above).  The slides are available here and the code (open source and attribution-only licensed) is up on GitHub.

My other talk, “Enter The Matrix”, I gave for the second time.  It’s about using matrix transformations in Quartz drawing, UIKit animations, and CoreAnimation (with obligatory, gratuitous references to the Matrix movies).  Since Chicago in March, I’ve significantly improved the accompanying sample app, completely revised the slides for fold and flip animations, and introduced a section on skew and perspective.  The slides are available here (latest version here) and the code is on GitHub.

I think one new talk is the most I can manage per conference.  A great deal of work goes into each presentation (code, slides, and speech).  I like this picture of Saul Mora, Scott McAlister and me all preparing for our talks on the first day of the conference.  We work on our presentations up until the last minute not because we’re ill-prepared, but rather because we care.

One little touch that I really appreciated as a speaker: a MacBook power adapter installed on the presenter’s table in each of the rooms.  Sometimes, it’s the attention to little details that really stand out.

I hear that CocoaConf may be back in DC next March.  If so, I hope I can be a part of it again, either as speaker or attendee.

Thoughts on WWDC 2012

or lessons I learned from WWDC 2011

Let me preface this post by saying that I am no WWDC veteran; last year was my first WWDC.  Jeff LaMarche and Collin Donnell (among many others) are seasoned veterans who have written guides on what to bring and what to expect.  That said, here were some of my impressions after WWDC 2011.

Trip Planning

A little late for this considering WWDC 2012 is only little more than a week away, but here goes.  You want to arrive Sunday afternoon or earlier.  You’ll want to swing by Moscone on Sunday afternoon to get your conference badge, so that you’re ready to go on Monday morning.  Also, there will be plenty of social gatherings on Sunday night (some even earlier), so it’s a good opportunity to get your networking and socializing on.  At the end of the week Friday is only a half day and for the most part is repeated sessions, so when planning your return flight, remember that you don’t necessarily need to be there all day (and in fact they will kick you out at 4:15 pm).  I live on the east coast and last year I took the red-eye back Friday night, but there was really no need for me to hang around in San Francisco until 11 pm.  This year I’m flying out in the middle of the afternoon and should be home in bed by midnight.  Considering the usual post-WWDC exhaustion, that’s infinitely better than a night on a plane (especially if you have young children who won’t have mercy on you when you finally arrive home the following morning after a week away).

Packing

Definitely pack for a carry-on.  You don’t want to deal with checked luggage either on arrival or upon your return home (when you’ll no doubt be exhausted and possibly coming down with the WWDisease).  Besides, you just need casual clothes and your tech gear, so you can pack light and keep it simple.

You don’t need to bring a t-shirt for every day.  If you’re like me, you’ll probably buy at least one t-shirt (e.g. the official WWDC 2012 shirt) and win one or more others.  Just wear the new ones to finish out the week.

It’s ok to leave your workout clothes at home.  Usually on business trips I bring workout gear and try to spend an hour a day in the hotel gym.  At WWDC though chances are you’ll be at Moscone all day in sessions and labs, in restaurants and bars fueling up, networking, or socializing in the evenings, and what little time you do spend in your hotel you’ll need for sleep, or else you’ll want to be coding (either for your boss, your clients, or just to try out some of the new shiny bits).  Exercise can be put on hold for a week.

Tech Gear

Bring wall chargers and sync cables for all your iOS devices.  Consider bringing test devices to load up iOS betas on (I rely on my phone too much to install beta 1 builds on it, especially while on the road).  Make sure your test devices are synced to your travel laptop if you want or need to have any content on them.  Expect your iPhone battery to be running low at the end of every day.  If you don’t have one, you might want to buy a rechargeable backup battery such as a mophie juice pack (I just bought this one) to top off your phone at the end of the day.  Even if you don’t need it yourself, I’m sure you’ll meet others you can offer a quick charge to.

Conference

If you’re planning on waiting in line to get into the main room for the Monday keynote, think about leaving your laptop back at the hotel on Monday (especially if it’s one of the heavier models).  You definitely won’t need it for the keynote, and your feet will thank you after you’ve been standing for 4 or more hours.  (Last year I started waiting in the keynote line at 6 am and didn’t sit down until almost 10 am and regretted bringing my laptop.)

You won’t really be able to plan out your week until after the keynote when all the TBA sessions are finally announced.  When planning which sessions to attend, note that some sessions are offered multiple times, so check to see which is the best time for you to attend a particular talk.  Consider going to labs to work with Apple engineers instead of sessions.  The session videos will be available online not long after the conference, but the labs are a unique opportunity and precious commodity.  For sure if there are issues/questions you have regarding current or future projects, seek help at the appropriate labs.  Also, if there is a new technology/API announced that week that you’re keenly interested in, make sure not just to attend the sessions on that topic but to also attend the labs.  For example, last year I really regretted not going to any iCloud labs.  The Apple iCloud engineers could probably have saved me a ton of time and trouble in the weeks just after WWDC when I was struggling with the iCloud beta bits.  So yeah, labs, labs, and more labs.

The Indie Scene

This year I’m really excited and pleased to see an indie dev scene occur in parallel to WWDC.  Indie Dev Lab and Appsterdam are both hosting workplaces and talks that week.  It’s almost enough to make me wish I had opted out of the official event just so that I could spend full time there.  Anyway, there’s definitely an alternate way to network and learn during the day outside of Moscone, and I only hope to see it grow in future years.

If you’re going to be out in San Francisco the week of June 11-15, I hope to see you around.  I’d love to have a beer or grab a bite of sushi or perhaps eat way more meat than is healthy with you.  I’m super excited for it because I love what we do.