 Hi, I'm Colin, Colin Thomas Arnold. I've been using Ruby Motion since the day it was announced. And my goal today is to kind of give an overview of, OK, you've downloaded it, now what? And I think that's always the first question. So my handle is Colin TA. Everyone reads it. Colin, I replied to it. I'm a Ruby Motion architect. Yeah, Colin TA. I also administer the github.com slash Ruby Motion organization. That's the community organization. The formal one that is run by the creator of Ruby Motion, whose name is Lawrence Cincinnati, is Hitbite. So there's Ruby Motion. That's a community organization. Hitbite is the formal one. So what is Ruby Motion? Ruby Motion compiles Ruby into native iOS code. It does not run Matz's Ruby interpreter. It doesn't run an interpreter at all. You end up with a compiled executable. So it can be submitted to the app store and approved because no one knows the difference. So it's very cool. And this is the stack. It's a terminal and an editor. That's it. You do not have to use Xcode. You can, but you don't have to. And I don't, and I won't in this talk. So I have a couple of sites open. Colin TA. I run Sweet Tea. That's a combination of a couple plugins. I'm also the lead dev on Teacup. I'm going to be showing that one. The Ruby Motion organization is Bubblewrap, Sugarcube, Teacup, and the website, which has nothing on it. So when you get started with Ruby Motion, Sugarcube and Bubblewrap are two go-to gems. They wrap Objective-C code. And that's what we'll hopefully do. OK. So where am I? When you install Ruby Motion, you get a motion command. And you can create a new project like that. Those are all the files. Your usual tool set is going to be very familiar. So I'll create a gem file. And it's funny, I used Sublime Text, but I used TextMate for so long. I still use the mate command to open files, old habits. And I'm going to copy some stuff from over here. So I actually don't need Sweet Tea. So you have a gem file, just like you've always used. You also have a rake file. This is what gets compiled when you run rake. And we see Ruby Motion in here. Once we update it, I'm going to jump back and forth for a little bit. You can see we're going to use Bundler. OK, so let's do that. Let's see here. RBM, like I say, it's a lot of the same tools. All right, well, two minutes, I'm going to jump ahead. OK, let's see. So it's compiling. I'm not going to download the new version, but there's a new version of Ruby Motion today. That's exciting. We get the thing to compile. At this point, here is what our app looks like. We have an app delegate. And if you've seen iOS, you see these, but this is very low level. You create the window manually. You activate it. It gives us an error. It's not doing anything. So I'm going to make it do something. I'm going to create a controller, a first controller. It's not going to do much. I'm going to hand it to a navigation controller. And now we're starting to see a little bit of iOS code written as Ruby code. And if you've seen iOS or Objective-C code, then you know what this looks like. And I've got to go a little faster. OK, now I'm going to show you some T-cup. T-cup is a style sheet kind of thing. So I say I'm going to use a style sheet called first. And it's empty for now. And I create my view. So Xcode does this for you. But I'm going to do it manually. And I'm going to jump real fast. So I create a button. I style it as a button. And you can see this looks like CSS, except we're running Ruby. So we've got width and stuff in there. That's like where we're at. So app delegate, I get my first controller. I assign, and this is sugar cube code. So I assign a handler to it. I'm just going to assign it a block. I give it, so the code for this, the Objective-C code, would be navigationcontroller.pushviewcontroller, secondviewcontroller.alec.init, animated yes. We shorten all that. NavigationController, less and less than second view controller, new. And we'll run it with five seconds left. Five minutes is short. OK, all this is going to do is prove that I did write an app. Oh, and last thing, come talk to me if you're interested in Ruby Motion. I'd like to meet other Ruby Motion developers.