 So, um, I guess it was just a little while ago and I had the good fortune to see this technology before it was rolled out here at WWDC and as sometimes happens with technologies that I get stoked about, the first thing I do is go to the iTunes Music Store and type in some keywords, see if there are any songs about it and there weren't any. One song about ModelViewController. Um, so then of course the next step is I tend to write one. Um, so this year's song is a ModelViewController song and once again I thank you for your kind indulgence. Are we, are we good to go? Am I good to go? And we're going to switch over to Demo Machine, the one Victor's in front of. One or two? Alright, I'm going to go with something like this. In between, ModelView, it's got three layers like Oreos do, ModelView, CreamyController. Objects represent your applications raised on Detra, custom classes that contain data logic and et cetera. You create custom classes in your apps problem domain, then you can choose to reuse them with other views but the ModelObjects stay the same. You can model a throttle in a manifold, model a lover two-year-old, model a bottle of fine Chardonnay, model all the volatile stuff people say, model the coddle in a boil in eggs, model the waddle in Hexley's legs. One, two, three, four, ModelView. You can model all the models opposed for GQ. Texts tend to be controls that view in edits. Coco's got a lot of those well-written to his credit. Take an NS TextView, hand it any old unit code string. The user interacts with it, it can hold most anything. But the view don't know about the model, that string could be a phone number, or the words of Aristotle keep the couple in loose. And so achieve a massive level of reuse, ModelView. All rendered very nicely in aqua blue, ModelView. Controller. You're probably wondering now, you're probably wondering how data flows between model and view. The controller has to mediate between each layer's changing state to synchronize the data of the two. It pulls and pushes every changed value. Man props to the small talk crew, the controller, pronounced O-O, not O-O. A bit more to this starry few more miles upon this road. Well, nobody seems to get much glory right in controller code. Well, the model is mission critical and gorgeous is the view. But I might be lazy, but sometimes just crazy how much code I write is just glue. And it wouldn't be so tragic, but the coding, doing magic, it's just moving values through. And I wish I had a dime for every single time I send a text field to bring value. ModelView. How are we gonna deep six all that glue? ModelView, the controller. Controllers know the modeling view very intimately. They often are hard coding, which is very foreboding for reusability. But now you can connect any value you select to any few property. And I think you'll stop buying and then you'll be finding less code in your source tree. Yeah, I know I was astounded, that's not even a rhyme. I think if there's repeating all the code you won't be needing when you hook it up in IB. Model, there's multiple selections to model view controller. I hope I get my G5 before you.