118 iPS Tutorials For Developers and Gamers with Ray Wenderlich, Mic Pringle, and Greg Heo
Show Notes
01:14 - Ray Wenderlich Introduction
01:23 - Mic Pringle Introduction
01:40 - Greg Heo Introduction
01:47 - The Conception of Ray’s Tutorial Website and The Tutorial Team
05:58 - Maintaining High Quality and Consistency
07:26 - Tips & Advice for Writing a Tutorial
09:12 - Avoiding User Frustration
11:54 - Writing Books
13:00 - Traditional vs Self-Publishing
14:31 - Book Content vs Site Tutorials
15:41 - Starter Kits
16:33 - Transitioning to Swift
19:47 - Error/Bug Support
21:06 - Branching Out Into Other Technologies
22:21 - Selling Introductory vs Advanced Tutorials
25:15 - Choosing Topics
26:08 - RWDevCon
31:48 - Working with Ray and on raywenderlich.com
36:31 - Maximizing Marketing Opportunities
39:46 - Writing Tutorials for Mainstream Apps & Games
41:08 - Highlights
- Video Tutorials
- iOS Games by Tutorials Second Edition: Beginning 2D iOS Game Development with Swift
- iOS Animations by Tutorials by Marin Todorov
Episode Resources
- The Freelancers' Show Episode #164: Teaching and Learning Courses with Breanne Dyck
- The Freelancers' Show Episode #165: Strategy and Project Management with Marie Poulin
- JavaScript Jabber Episode #173: Online Learning with Gregg Pollack
Picks
WinObjC (Andrew)
Friday Q&A 2015-07-31: Tagged Pointer Strings by Mike Ash (Andrew)
The Web Platform Podcast Episode 56: Building Your Brand with Charles Max Wood (Chuck)
Developer On Fire Episode 017 - Charles Max Wood - Get Involved and Try New Things (Chuck)
Skype’s Inside Out Emojis (Chuck)
little bites of cocoa (Ray)
The insanely slow road to building a blog (and why most people give up) by Belle Beth Cooper (Ray)
What the Best College Teachers Do by Ken Bain (Greg)
What’s Your Learning Style? Quiz (Greg)
Brian Gilham's WatchKit Resources (Mic)
Exploding Kittens (Mic)
Friday Q&A 2015-07-31: Tagged Pointer Strings by Mike Ash (Andrew)
The Web Platform Podcast Episode 56: Building Your Brand with Charles Max Wood (Chuck)
Developer On Fire Episode 017 - Charles Max Wood - Get Involved and Try New Things (Chuck)
Skype’s Inside Out Emojis (Chuck)
little bites of cocoa (Ray)
The insanely slow road to building a blog (and why most people give up) by Belle Beth Cooper (Ray)
What the Best College Teachers Do by Ken Bain (Greg)
What’s Your Learning Style? Quiz (Greg)
Brian Gilham's WatchKit Resources (Mic)
Exploding Kittens (Mic)
Transcript
[This episode is sponsored by Hired.com. Every week on Hired, they run an auction where over a thousand tech companies in San Francisco, New York and L.A. bid on iOS developers, providing them with salary and equity upfront. The average iOS developer gets an average of 5-15 introductory offers and an average salary offer of $130,000/year. Users can either accept an offer and go right into interviewing with a company or deny them without any continuing obligations. It’s totally free for users, and when you're hired they also give you a $2,000 signing bonus as a thank you for using them. But if you use the iPhreaks link, you’ll get a $4,000 bonus instead. Finally, if you're not looking for a job but know someone who is, you can refer them on Hired and get a $1,337 bonus as thanks after the job. Go sign up at Hired.com/iphreaks]
CHUCK:
Hey everybody and welcome to episode 118 of the iPhreaks Show. This week on our panel we have Andrew Madsen.
ANDREW:
Hello, from Salt Lake City.
CHUCK:
I’m Charles Max Wood also from Salt Lake City. We have a couple of guests. We have Greg Heo. We also have Mic Pringle.
MIC:
Hello.
CHUCK:
And Ray Wenderlich.
RAY:
Hello from Virginia.
CHUCK:
Do you gentlemen want to introduce yourselves?
RAY:
Sure. My name is Ray Wenderlich and I’m the editor-in-chief of a popular iPhone programming blog, and I work with Mic and Greg.
MIC:
I’m Mic Pringle. As Ray said, I work with Ray on [inaudible] making video tutorials, written tutorials. I manage a team of writers as well that put out all the iOS related content. And I do the raywenderlich.com podcast.
GREG:
Hey! My name is Greg Heo and I also work with Ray and Mic. And I work on video tutorials and editing for the sites.
CHUCK:
Awesome. So, how did you get started with this?
RAY:
The blog started back around 2009 time frame. I had – previously I’d been working around electronic art, so yeah, we have a company for those who do not know it. And it’s a really cool job. I’m really into games and geeky stuff, and everybody there was too. We would play board games at lunch, talk about games all the time. Just working on a cool project whenever online.
But I just got [inaudible] and we always wanted to start a business. And I thought that would be a good time before kids come along and it becomes a little more difficult. So we decided what could I do, and iPhone programming was just becoming hot at that time so I decided to get into that, make some apps. And so I started out as an indie iPhone developer, making my own apps. And as I was doing that, I started a blog to teach people different things I was learning all the way. And I started to become popular, and what brought about the tutorial team was I used to just write whatever I felt like writing. And I noticed – used what I was learning making apps. And then I noticed that some of my posts were more popular than the others, and I was like how can I get more popular posts? And I was like, well just let people vote on what they wanted.
And of course, the people will vote on things I haven’t played around with yet. So it became a lot more work that I have to learn it and then write about it, rather than just writing about whatever I
happened to be doing. And it became to the point where I couldn’t keep up the schedule I’d set for myself of one post a week so then I’d put up a call for other people to help me write tutorials so that I could keep the tutorial schedule going at that quick rate, and I just grew from there.
Some people on the team said, “Hey, let’s write a book!” so we started doing that. And then later down the road we got into video tutorials and it just grew overtime.
CHUCK:
Cool. So when did you make the decision to move into tutorials and things like that?
RAY:
For a long time, it was primarily – I was just making apps as an indie iPhone developer, and the blog was just like a side project for fun. And I still felt that way until we started making books. We made our first book and it did pretty well; and then we did our second book and it did even better. And about that point, I got to the point here I was making about a little more money on books that I was on my apps. And so my whole philosophy of business is do whatever it is that’s working. And since, that was doing well, I decided to shift more of my focus on to that.
And these days, my focus is really 100% on the blog and related things and not much on apps anymore.
ANDREW:
Seems like you’ve got a pretty big team now. You explained it you have some people that are working full time, but then you’ve got a large pool of people that write for the site that is just part time. And I actually know a couple of people that have written for you. I wonder how you find people? Because you’ve got tutorials about all kinds of different things. It’s not – it seems like you kind of, early on, a lot of your stuff was game-focused, but now there’s a really broad range of stuff that you talk about, and you found experts in all of these topics. How have you done that?
RAY:
Definitely. We have about 100 people on our tutorial team right now, and the way I found people was, at the very beginning, I just put up a blog post up, “Hey, who’s interested in joining?” and got a small team together. And then different people would e-mail me saying, “Hey, I’d like to contribute,” or I’d meet people at conferences, or some people on the team would know other people they work with, their friends that they would recommend the site to. And generally, people just e-mail me and say, “Hey I’m interested to join the team,” tell me a little bit about themselves.
And these days we’ve got a little more formal with things. I used to be – if people looked like they knew what they would talking about they could join the team. These days we have a tryout for each of the different sub-teams. We have – the people have to pass before they could write for the site.
ANDREW:
That’s interesting. It seems like at this point you’re big enough, that writing for your site is kind of a
big deal, something that people wanted to do. I certainly appreciate the level of – I hate to say this, but I was reading a tutorial you have up there about using iBeacons, and that’s not something that’s really something for a beginner to jump into. So you had to find somebody who actually knew what they were talking about, that could figure that out, write a good tutorial, which actually kind of brings up something that seems really hard to me, which is you’ve got – you said you’ve got about a hundred people. How do you keep them all together so that the quality and the tone and everything – the content on the site stays high, because I’ve noticed that it’s very consistent.
RAY:
Yeah, that’s a good point. It’s important to us as well to keep the quality high, because the way I see it everybody who’s making apps or doing anything with technology is very busy, right? And you don’t have a lot of learning time necessarily; and so when you do want to spend time learning something, you want to make sure whatever you’re doing works and is accurate technical information.
So we want to make sure our tutorials are all really high quality for everybody, and the way we do that – and keep everybody on the same page is we have a tutorial team guide which has step-bystep instructions on how to write a tutorial, and all the mistakes that I’ve made through the years that I’ve noticed when I wrote bad tutorials, or messed up, or I’ve seen other people write some things that can be improved, I put them on a guide and then everybody can learn from that when they write tutorials.
In addition to that, we have three phases of editing that every tutorial goes through. It starts out with a technical editor, and then it goes through an English language editor who is a non-technical person but just really great at catching grammar, spelling errors and so on. And then we have a final pass editor who is usually one of the most experienced people on the site who looks over it one last time to catch everything. And by the end, the goal is to have it be 100% working really polished and good for everybody to go through.
CHUCK:
So, I’m working right now on a tutorial. My expertise is much more on the server side on Ruby on Rails, and I’m getting in [inaudible]. But I’m working on a tutorial there, so if I’m working on a tutorial what kinds of things would you recommend that I make sure that I do or don’t do while writing he tutorial?
RAY:
Sure. The first thing is we always like to do the sample project first. Usually, when you do the sample project as you write the tutorial it doesn’t flow as well. And then we have a poll tutorial team guide with toms of different tips and tricks to watch out for along the way.
Here’s a couple of tips; it’s important sometimes, before you get to doing things, cover the reference behind what’s going on. But in our opinion, it’s better to put the reference sections and the theory sections right before you need it, versus huge theory before you get into do anything. In other words, people want to learn just in time so that they can see things working.
Another tip I’d suggest is you always want to have a lot of small built-in run steps. You don’t want to have a huge block of code and then several more, and then at the very end of the tutorial it says ‘okay, now good luck trying it’ because if there’s a mistake somewhere along the way, the user won’t know what went wrong. Ups, they’ll learn a little bit better.
Illustrations, screen shots – very important to help people understand what’s going on. And you always need to include every single line of code that goes in; you can’t skip something because you think it’s easier. Just describe it in paragraph; always have a code block right there so people could just kind of want to see a code block, they know they have to do something and put it down.
And there’s a ton more tips like this, but it’s just little things like that that we’ve learned over the years that seemed to make good tutorials.
CHUCK:
I’m curious, because I’ve run into this a little bit where I want to get people to working code very quickly so that they can experience it, dig into it and see what’s there. But in some cases, there’s some concept or some code that’s going to look like magic while I explain, “Okay, first, we’re going to get into what a data model does and is. And then we’re going to get into controllers or whatever.” But in order for them to see a full on working project, they need those other pieces and so a lot of times I have them generated and created, and then I hand-wave over it and say ‘we’re going to get to that later’. How do you do that without frustrating people.
RAY:
Yeah, that’s a good question. I think it’s a common problem especially for beginner level tutorials, because there are so many prerequisite concepts that go together. One thing that works for us is the more tutorials you have, you can start linking to things together, so if you were to, in your example, make a series of things and say, “Look, for now all you need to know is this – A, B, C.” That’s a very simple thought example of it, “And if you want to learn more, check out this other tutorial,” down the road, this is one way of doing it.
GREG:
On our side at least we can have starter projects where we can say ‘here is the shell of an app’. For example, if the app is about core data and modeling your data, then you don’t necessarily have to say start a new project, open a new story board, and have all these view elements. So you can just say, “I have already made this starter project. It’s got a few views in there and some text labels; now let’s just focus on the core data parts,” for example. And then give people a starting point and then saying not to worry about all those stuff that we’re not going to cover, and just to focus on whatever the topic of the tutorial is, is also something that we do a lot.
MIC:
Yeah, I’d say that as well that depending on how much you want – you’re aiming to cover in your tutorial, if you start hitting huge areas of [inaudible] because you have been using all these different concepts, it might be worth pulling them up into separate tutorials, or maybe make a series. We don’t tend to do it much now, but we quite often previously we start two or three parts series, so that you could split those pieces and introduce them at a pace where the reader is comfortable, rather than, like you say, it almost appears like magic. And then maybe get on to explain it at some point if you’re conscious about worth counting things and keeping the reader interested, then you might actually not give as thorough explanation of a concept as you would want to. But by pulling it out into two separate tutorials, lengthen them all together into a series, you can actually do that and do it quite nicely.
CHUCK:
Yeah, that makes sense.
ANDREW:
You mentioned that you didn’t really consider the site the main thing you did until you started working on books. And I’m sort of interested in the book – what made you decide to start writing books as opposed to just tutorials on the site?
RAY:
A couple of people, like readers of the blog, have suggested that I work on a book; I never really reconsidered it. I guess the first time I got involved with working on a book was Rod Strougo, who now works at Big Nerd Ranch. He was working on a book called Learning Cocos2D, and he was looking for a co-author to work with him on a book. And so he knew about me from my blog, and like you said, back in the day I used to write a lot of Cocos2D tutorials which is a game framework – open source game framework.
So I started working on a book with Rod and I was a very traditional publisher. And then some of the people on the tutorial team were writing a bunch of tutorials on iOS 5 back at the time. And they said, “You know what, there’s a lot of stuff on iOS 5; we should team up and write a book about all this.” And I thought, “Well, that sounds like a cool idea.” so that was the first book that we did that was self-published. And there was just five or six of us at that time working on that book.
CHUCK:
Do you have thoughts as to what made sense to your traditional publisher versus self-publishing?
RAY:
Traditional publishers aren’t a very good deal for technical writers. On a traditional publisher, you get maybe 12%-16% royalties on a book which usually, unless you book is very popular, doesn’t earn you much at all. And so most people who write for a traditional publisher just do it for exposure, getting their name out there, the experience of writing a book, et cetera. I certainly didn’t make much money at all in Learning Cocos2D, but you can make money doing self-publishing, and that’s one of the goals of my website.
When we self-publish books and people o my site contribute to the books, we give 50% royalties to the authors, and we also – there’s some people on the team who are tech editors and get royalties by doing that and so on. And you can make money doing that; there’s a guy on our team in fact who makes a full time living just contributing to books, not talking about it – pretty good full time living also. And I want lots of people like that on our team.
CHUCK:
Yeah, that sounds a lot like The Pragmatic Programmer’s business model. I think their authors get somewhere close to 50%.
RAY:
Yeah, I think it is. I think they are the one exception of Pragmatic Programmers.
CHUCK:
Yeah. So do you actually self-print copies your books then or they’re all e-books?
RAY:
We do. We sell book printed and electronic copies. Most people buy them through our site; you can buy a bundle of both the print and both the PDF on our site. We also sell it on Amazon.com.
ANDREW:
What’s the difference in audience for the online tutorials for the books? Or why do people buy the books when you’ve got someone’s great stuff on the site?
RAY:
Yeah, we do have a lot of free stuff on our site, but I think of – and it’s good stuff, but I think of the books as the premium stuff, that’s where we try to make the tutorials on our site good of course, but we really put a lot of effort into our books. So the written tutorials on the site are different than the ones that are in the books. The books are more of a cohesive unit.
As an example, we have this book iOS Games by Tutorials, and it walks you through the process of making five complete games from scratch using Sprite Kit. Versus on our website, we have a whole lot of little tutorials that show different aspects of Sprite Kit but nothing that shows you from start to finish, everything you’d want to know about Sprite Kit.
GREG:
Like what Mic was saying, sometimes we have two part, three part series on the website, but then in the book you could go so much more in depth than cover a topic from end to end. And then since we’ve also started doing the more single topic books like a book on core data, book on animations – you can really explore the topic more than you could even in a two or three part tutorial just on the website.
ANDREW:
Most look up these starter kits – what are those exactly?
RAY:
The starter kit, that was actually something that we did more of a [inaudible]. Sometimes, people want to know how to make a particular type of game, like they might know Sprite Kit but they might want to know how can I make a Beat ‘Em Up game with Sprite Kit or platformer game. These are programming techniques to make those types of games, and that’s where the starter kits come in.
We have three of them right now; we have a space game starter kit, beat ‘em up game starter kit and a platformer game starter kit. And they just show you how to make a game – a specific type of game – and learning the programming techniques along the way.
They’re not as popular as our other books; they’re kind of more minor things.
ANDREW:
Okay. I just saw those [inaudible] one of those starter kits and talk to him about it a little bit before so I was curious about them. one thing I’ve noticed in looking through the site, just as we’ve been talking, I’ve been looking through a lot of your tutorials and I noticed that you have – you seem to have pretty much completely transitioned to Swift, so I’m – I have a hard time finding some Objective-C stuff at all, or if it’s even still there. What was your thinking behind making that transition so quickly and so completely? And I’m also curious about challenges with doing it.
RAY:
Yeah. We shifted very quickly over to Swift. I was at, I remember then watching Keynote at WWDC a couple of years ago and they announced Swift. And I was like, “Oh man, this is going to be a lot of work,” because everything – we had tons of tutorials at that time and we were all on Objective-C, all our books we’re on Objective-C. I’m like, “How are we going to deal with this?” But I knew we had to shift to Swift because as you guys recall the excitement level of Swift was insane, and all our readers wanted was Swift.
And I intend to go by what our readers want. And we don’t have the resources being a small company; the ideal thing, right, would be to make all our tutorials both Objective-C and Swift, but that’ not realistic with the size of our company. So we decided to go with Swift, and I think it’s been the right decision for us. People have been really liking the Swift content. There’s a few people who are like ‘I miss the Objective-C tutorial’, but I think most people are happy with it.
As to how we manage it, Greg was actually the update team lead, and he was instrumental on helping us make a new team to switch all the tutorials over to Swift in a short period of time, so maybe Greg, can you tell about that a little bit?
GREG:
Yeah, it was tough working through the very early betas, because the difference in Beta 1 through to Beta 5 or 6 whatever was – last year – was so huge and we had to keep on top of the language. But the idea was we would get the most popular tutorials. We ran a parallel track where we set up, “Right, new tutorials are going to be in Swift; let’s start those in the pipeline.”
But we had this massive archive of really good tutorials, and we thought, “Why not just start transitioning some of the – some of those over to Swift overtime.” So that was my project over the summer; not me, personally, but I was putting team together to say, “Let’s get this tutorials.” And a lot of the contents, the diagrams, a lot of the theories can stay the same but then let’s start transitioning them over and converting the projects over to Swift and then updating the text we’re needed.
And so a lot of our tutorials on our site got a Swift revamp over the summer and over the past year. And then most of the challenge has been just to keep that up to date. As Ray said, we’d like to keep the content on the site up to date, and Swift has been in such heavy development over the last year that it’s definitely a challenge, but I think, like Charles was saying – I forgot who it was – about making sure that the content on the site is always up to date and works. And as Ray mentioned, because our readers are time sensitive, they want to make sure that they can build the project and have it working. So that’s definitely been a challenge over the year is keeping up with the changes with Swift and making sure that the tutorials on the site follows. But that was the strategy that we had because we did have such a big bucket of contents that we could work with, and also slowly moving that over to Swift, well, also in parallel, saying, “Alright, all the new tutorials are going forward will be in Swift,” and that gives us a really good bundle of content to have ready when the GM came out and over the past year.
CHUCK:
I’m kind of curious, as you do this I’m sure that you – I’m going to use a developer term on this because I’m not sure – an error in the, or an errata – I don’t know, a bug in the tutorial so to speak.
What do you do for support for those?
RAY:
We shifted over the years, but our recent thing is when you sign up to write a tutorial on our site you agree to maintain it for six months, so if a new version of Swift comes out during that time or whatever, you’ll go ahead and update it. Or if you notice any comments from readers saying, “Hey, there’s a bug here,” you go ahead and fix that. Now it’s not perfect; we have a large team and some members might not remember it always to check, but our goal is to do that. Then after six months, we periodically go back like where we [inaudible], and we have different people go ahead and update our older tutorials for a new version of iOS, whatever else has changed.
GREG:
We do forums on the site as well, and so every post and every video gets a topic automatically on the forms for people to comment. And then we have all the readers who chime in and say ‘hey this didn’t work’ or ‘this didn’t build’ or ‘I found a different way to do this’ so it’s always great to get the feedback from the readers. And if they report bugs we can go in and fix the project or fix the tutorials as time goes on.
CHUCK:
Yeah. I ran into an issue when I went into the forum. I have a little bit of trouble using it but maybe we can talk about that offline.
RAY:
Sure.
CHUCK:
So I’m also really curious, have you looked at branching out into other technologies, or are you super focused on iOS?
RAY:
We are, actually. We just recently changed the way we did things. We used to have one massive tutorial team; they were primarily about iOS. We had a little bit of OS X stuff, a little bit of Arduino stuff, some Unity stuff, other game technologies. And it got to be too much; we felt like we couldn’t focus on other things because out team’s too big, so now we shifted so we have different teams for different technologies. We now have an iOS team – that’s the one that Mic runs. We have a Swift language team – not programming with Cocoa APIs but the actual language. That’s Greg and soon we’ll be shifting to Janie Clayton on that one.
We also have an OS X team by Sam Davis, and the Android team also by Sam Davies. And then we have a couple of Game groups, too like Unity Sprite Kit and Unreal under which we’re starting later on. We also have an article team which is kind of like non-tutorials for more advanced people.
And a lot of these teams are just starting so there’s not a lot yet, but you’ll see a lot of new stuff in those different areas coming out in the coming months.
CHUCK:
One other thing that I’ve ran into in my [inaudible] into doing tutorials is that it seems to be a lot easier to sell introductory tutorials, so how to get started with iOS or in my case, how to get started with Ruby on Rails. When you get into more advanced areas, I find that it’s harder to either find the market or get them to buy your tutorial depending on what it is.
Have you found this as well, and how do you compensate for that when you get into more advanced topics?
RAY:
Yeah, that’s definitely the case. The best-selling book on our site is The iOS Apprentice, which is a book for complete beginners. And just like you said right, there’s more people who are trying to get into something than people who just stick around long enough to become an advanced developer looking for a more advanced book.
That said, we have some more advanced books too. We have our iOS by Tutorial series, and the way that works is every year we write a book on basically all the new stuff that comes out that year at WWDC. We have a new one, iOS 9 by Tutorials talks about stack views or APIs, all the other new stuff that comes out.
So I would guess into that – not a beginner book. It’s more for people who have already been around in iOS and just want to catch up to date on the good stuff. And maybe because we’ve done this a while and we do this every year, people are used to it and they liked it and they keep coming back but it seems to do pretty well, too.
Another more advanced book that we have, I would say, arguably is one that Mic was a final pass editor on which is WatchKit by Tutorials. I don’t think – I could chime in if anyone disagrees, but I think most people who are making WatchKit apps these days already have an iOS background, and it’s a little bit of a smaller audience than people who want to make watch apps than iOS apps in general.
And so that book doesn’t sell as much as our more beginner books but it’s still, I would say, is worth the time and effort than it takes to put together the book for us.
MIC:
Even when we were putting these books together though, the first thing that we do once we’ve got the team obviously together is to come up with the content for the chapters. As Ray said, before this somehow we’ve been working on iOS 9 by Tutorials, and there was a huge amount that came out in iOS 9 book because of the type of release it was. A lot of it was niche, which is kind of the point that you were getting at. Like [inaudible]. So we sit down with the [inaudible] and we try and apply common sense and judgment.
Out of all these concepts that we could write about, which ones are going to be the most popular, and then ultimately those are the bit of ones that are going to the book. So there will be stuff in iOS 9 as with the previous release that might’ve been really cool, but if that part didn’t make it into the book because it would only apply to a very small percentage of the audience.
CHUCK:
Yeah, that makes sense. The other question I have is do you wait to make some of these – like the iOS games or platformer games or beat ‘em up games starter kits – do you on for those until somebody’s asking for them? Or do you – how do you figure out that that’s what your audience is going to buy?
RAY:
We’ve done it in different ways. Sometimes, people just e-mail us, asking for different things and we kind of know that people want that when we have time to do it. But if we’re thinking of something and we’re not sure. Or we have a couple of ideas but we’re not sure what’s the best sometimes we put a poll up on our site and we say ‘hey everybody, vote’ and see what they’ll like.
For example, Matthias Solomon, the guy who wrote The iOS Apprentice, he wants to write a new book and he had a couple different ideas and we put some poll up, and ‘iOS app architecture’ was the one that ended up winning hugely compared to the others. We might not have guessed that if we hadn’t had a poll, so sometimes asking your audience can really help.
ANDREW:
Ray, I want to switch in topics a little bit. I know you did a big developer conference this year and you’re working on, I think I saw that tickets are on sale for next year’s, and I’ve heard from a few people that went and they seem to really like it. I assume that that was the first time you’ve ever put on a conference like that.
So I’m curious about the background for that – what made you decide to do a conference with a lot of other iOS conferences already out there. You could talk about how that all came together; it seems like a big undertaking.
RAY:
Sure, yeah, definitely. What happened is, like many things we do on our site, somebody on the team said ‘hey Ray, we should run an iPhone conference in the spur of the moment’ and I got caught up in the excitement and I was like ‘yeah, let’s do that!’ not realizing at all how much work was involved in putting this together.
So yeah, somebody suggested it and I got the ball rolling. It was a huge amount of work but I think it was really worth it because people seem to really like it, I got really great reviews and we had a really good time meeting our readers and meeting each other as a team.
I think what makes out conference different than a lot of other iPhone conferences out there is we really have, just like our site is, we have the focus on hands-on tutorials. It’s not like a normal conference where you watch a talk and there’s a bunch of slides, and you take notes and maybe come back to it later.
In RWDevCon, there’s like five minutes of slides or something like that, and we go straight into it – follow along demo where the instructor actually live codes in front of you and you follow along with him. And by the end of the demo you have the same project that the instructor has. And after you go through with the instructor, then you go through and practice something on your own. The idea is that by then of the session you actually walk away with a new skill that you can actually start using.
And the other difference is since we are used to working together on a tutorial team, the conference is very coordinated top down. At a traditional conference, the way it works is there’s like a call for speakers; people submit their talk ideas and the organizer will just accept different ones. It’s kind of random in the end because it’s whatever people happen to suggest as their talk ideas, which is – that’s good, but we want to do things a little bit differently.
And so what we do is we put a poll out to everyone who is attending the conference; we say ‘hey, what do you guys want this year?’ then they come up with different tutorial ideas and we get the most popular ones and then we form out the top ideas based on who on our team has the most experience with them. in that way, we are guaranteed to have a coordinated set of talks that everybody really wants, and we can also do cool things like have two sessions that are related where one session’s a prerequisite to another session.
And then the other difference that we do is we have this thing called inspiration talks, because I’ve noticed – I used to give a lot of in person workshops at other conferences. Some conferences have pre-conference at workshop days – I used to do a lot of those. Whenever I did one of those I noticed that in the afternoon, people started getting tired and not really working as hard because there’s so much hands-on stuff.
So in the afternoon we recognize that and we switch over to non-techno/comp inspiration talks, and the idea is that there’s just new ideas, different ways of looking at things that might spur you on and inspire you to leave the conference with a new idea, or change your life in a little bit of way. And you can see some of those examples on our websites if you want to see what I mean.
But yeah, the conference went great. It was a ton of work – I wasn’t sure if I was going to do it again at first because of how much work it was, and the conference really isn’t a money-maker for us; it’ – we’d spend all the money at the conference back on the attendees to make it a nice experience. But in the end people liked it so much that we just felt like we had to do it again. [Crosstalk]
ANDREW:
Greg, I was going to ask you if you were involved, if you guys both went.
GREG:
Yeah! I gave a session. Well, Mic gave a session, too and I think we actually coordinated on some of them. For example, we had someone do a talk on app extensions last year, and I followed it up with a talk on WatchKits and then Mic did WatchKit Part Two. So as Ray was saying, it was really nice because we could coordinate the topics and coordinate with each other and say ‘oh, you’re going to cover this and that, and the app extensions’ which means I don’t have to talk about it in WatchKit and so on. So it was really cool to be able to do that.
And as Ray mentioned, just to meet everybody. All the readers were like, you know they read your stuff and they watch the videos that you’re in and they recognize you and then the team.
I forgot – Ray, how many team members do we have there? I think you have the number –.
RAY:
Yeah, we got 39 members from the site there, which is our biggest get-together ever. It was amazing.
GREG:
So just working – I know that Ray has worked together with some people that for years and years that we have never met and it was the same for me, which is really great to meet everyone, too.
CHUCK:
So how many people were at the conference? Was it just 39 or were there more people?
RAY:
No, we had 180 total people at the conference.
ANDREW:
39 of those were [crosstalk] worked at raywenderlich.com. No, team members, people who write for the site. At least that’s what I understood. Exactly.
MIC:
Yeah, I think that’s one of the advantage because in a conference is all because you’ve got all these people, regular readers of the site, so they know all these people by name. And then you see these same people whose tutorials you are familiar with and use as a resource. A lot of them pointing on me [inaudible] at the sessions in the form that I explained, so you’ve got that consistency and familiarity between the site and the people given the talks at the conference as well.
ANDREW:
Yeah, it sounds like a lot of fun. It’s about you guys, but for me I’d like to go to at least one conference a year – that’s probably all I have the budget for but I’m going to think about going because it does seems like a lot of fun, and a few other people I know are going.
So on a philosophical level, I’m curious for all three of you, but I think especially for Mic and Greg – I’m curious to know what you get out of working for, or working on the Ray Wenderlich site and working on the tutorials and books. Obviously it’s something that you guys chose to do; you didn’t exactly just fall into it, so I’d like to hear about that.
MIC:
For me, it’s an opportunity to learn new stuff that you won’t necessarily deal with in a standard day job. So I started working with Ray as a tech editor, so I start first stage in the tutorial – part time, maybe during one or two month. But because you don’t get to pick the topic, you just design, you get to learn – it’s wildly different.
The first one I ever did was making music for a game, and I was neither a musician nor a game maker, so that was really interesting. It was one of the unusual ones along the way. But that was the biggest draw at that time, and it just spiraled from there – the more we do, the more you learn.
The more you learn, the more you can give back and you just get into that circle.
GREG:
Yeah, I really enjoyed the learning aspect of the job because, like they say, the best way to learn something is to explain it to someone else. And like Mic said, there’s just such a diversity of topics. And I also – Mic and I started on the same day. I was also a tech editor way back, and I was getting a lot of game tutorials to start. And I’ve never really worked on a game program or anything like that before, but just doing the tech editing for that you just get exposed to so many different topics.
Sometimes it’s like ‘oh, I happened to be working’ – when I was doing freelance work, I’m working on this project that happens to use a lot of table views. And then I would get tutorial on table views to edit it, and it just matches really well because that’s what you do in our job; it’s the same thing that you’re doing for the editing side.
And then for working on tutorials, it’s kind of a similar thing. You really have to do a lot of research and work on an app and check out the code. And then by the time you’ve written that – the whole outline for a tutorial, or you’ve written a whole plan for a video series, you really know the topic well and then you can – because you have to know well enough to present to a beginner. And I think teaching something to a beginner audience is a really good way just to solidify your own knowledge in it.
MIC:
Another advantage that really drew me – so I was doing what previously [inaudible] we were building up the outer support, generational devices. We have to go back to iOS 5, iOS 6. We can adopt to new technologies, whereas it’s the exact company [inaudible] working for eight year on the [inaudible] niche.
Well, I started in November last year, and on a Monday like I saw down with Ray, we had to hangout, we were discussing what I was going to be doing up until Christmas. And then Apple shipped their first [inaudible] of WatchKit. On a Tuesday, I’m not at – I know to hang out with Ray because the whole plan we made yesterday, that’s out the window now. And from now until Christmas, we’re going to be working on WatchKit.
There’s no way I would’ve been exposed to WatchKit and Swift at that point, and the job that I have previously, and I think it’s probably a lot of – [inaudible] for a lot of people, either contractors or working enterprise, that kind of thing, because you’ve got Legacy up to support, you’ve got bigger audiences that use your app so you need to keep servicing. So you can’t always be on the bleeding edge, but because we don’t have that; our audience come to the expectance to teach them. They’re bleeding edge stuff which they really got.
RAY:
That was a very fun week in November, Mic, I remember that well. I think Mic wrote a small watch app on Tuesday night and sent it to me on Wednesday. And I wrote a tutorial – because Mic is in the UK, we have that timezone advantage. So I wrote a tutorial on Wednesday, sent it to Mic. He woke up in the morning on Thursday and did the tech out of it. And when I woke up on Thursday I had it ready and we posted the site – we posted the first tutorial on a Thursday, after a Monday release of WatchKit, and we hat videos going out the following week or something like that.
Yeah, I definitely enjoyed living in the bleeding edge of technology like that. Pretty cool.
ANDREW:
The last few months spent teaching iOS development at a local code school here, I’ve just been having a lot of fun with it. Just showing – especially people who are completely new to the whole world of programming – taking them from not being able to do anything to being able to create something that springs from an idea in their head and see how excited they get about it had been pretty fun and fulfilling. And I think it’s cool stuff you get to do.
RAY:
Yeah. Stuff never bore the same people and they finally start to get a subject, and they finally feel like ‘alright, I’m finally getting this now’.
CHUCK:
I’m going to dust off my evil capitalist hat. You have the podcast, you have the blog, you have the conference – I’m curious how you maximize the marketing opportunities with those.
RAY:
That’s not the area that we’re the best at; we’re trying to get better at that kind of thing. One thing we’re hoping to do in the future is have more related – I think Greg and Mic came up with this idea – more related content where we have a theme week, like maybe it’s WatchKit week, and on the podsct we talk about WatchKit, on the blog we talk about WatchKit and maybe something else, too.
But now, everything’s kind of a little bit separate at this time.
GREG:
Yeah, I think with the podcast open – like with books and tutorials instead of written material, and when I think the video tutorials started and when the podcast started, you start to spread out your audience a little bit more because maybe there’s people who only listen to that and –. I can’t imagine this is the case, but maybe there’s people who only listens to the podcast. Maybe there’s people who only watch the videos and do not read the side tutorials.
One of the things I always try to do is when I have a video, for example, I would try to reference a site tutorial. Or if I’m doing a final pass on the site tutorial and we have a video on the same topic and crosslink it and say, just because people have different learning styles and it’s nice to say ‘you just watch this video demo of me showing how to setup a core data stack; but if you like it in a written form, you want to read about it, then here’s a post about it, here’s one of the books we have about it’ and so on.
I think it’s important to try to get your audience, because it may be segmented by, sort of, medium, but to try to bring them together a little bit more. And then like you said with the conference and 3D Oculus versions of Mic on your screen who knows what’s coming up, but to try and tie them all together a little bit more. I think it’s important.
MIC:
Hey, I think well, because Ray does such a good job initially being one of the first people to be blogging about this subject which is why the blog took off in the first place. And also, the high quality of those original tutorials and how we’ve maintained an even step to [inaudible] as the size grow, and we’ve got this really strict editing process, which means we consistently put out great content. I think that has a side effect that built a branch so that whenever we – anything comes out it’s got raywenderlich.com associated with it. Anybody is familiar with the site, knows what to expect.
So I think a lot of stuff in the point almost market itself.
RAY:
Yeah. We have the guiding principle of trying to keep everything we do high quality; that ties everything together.
MIC:
It can be very frustrating for an author working with such a tight ship when it comes to [inaudible] because an FPA who is the final person but also the initial person that an author will work with and that could be experienced of or a new author. Like the ones that give the author the ‘go ahead’ to start right in and that could come quickly or that could actually take quite a while to get to because there will be several iterations of the subject, there will be several iterations of the outline and what’s going to go into the tutorial.
And that’s even before being given the ‘go ahead’ to start in, but all these leads to point out quality content that the readers enjoy in and know what to expect.
CHUCK:
What’s the difference between writing a tutorial for mainstream layout type iOS apps and games. Is there a major difference between writing those tutorials or are they mostly he same?
RAY:
there are a few differences. The most important thing that we look for in our gaming tutorials is the game has got to be fun. I’ve seen some people in the past submit games that demonstrate an API or something like that but the game’s just not fun, maybe it doesn’t even have sound effects or the art looks terrible. And so we always try to put a little more polish into the game so it’s actually something that, when you’re done making it you can feel proud of it and you can show it to your wife or your co-worker or something like that. And so usually what we have people do when they’re working on a game is they just make it look like programmer art at first because that’s the fastest way for development. And then when they’re done, we get somebody to make them some really nice art for it, which is usually my wife Vicky; I’m lucky enough that she’s a graphic artist, so she does a lot of art for our tutorials on the site. And so she [inaudible], and we make sure there’s sound effects and the game controls are good. And yeah, we’d go from there.
But other than that making the game fun and polished, it’s a similar process; we have the same kind of style of writing game tutorials as we do writing app tutorials.
CHUCK:
What’s the course or tutorial on the website that you’re most proud of?
RAY:
I would say our video tutorials on the site I’m really proud of. We just started that about a year ago, and Greg and Mic have made a ton of them on there. And I think they’re pretty good, especially if you are the type of person who prefers to learn visually and via videos. Personally, I am not. I am more of the – I prefer to read via texts and books and so on, but I recognize that I’m probably on the minority these days, so I think more people want to learn via videos, which is why we started that section.
I’m really happy with how the videos have been turning out, but as far as books go, I think out of all the books we’ve made my favorite so far as iOS Games by Tutorials. I just think it demonstrates a lot of best practices with our writing style and the games we make in the book are all pretty polished and fun.
I think also Marin Todorov’s recent iOS Animations by Tutorials turned out really great. He actually helped us learn a lot of things about making good tutorials that we’ve recently incorporated into the Tutorial team guid; he did a great job on that.
CHUCK:
Alright. Are there any other things that we should discuss that we didn’t dig into about tutorials and business we got here?
RAY:
I don’t think so. Have anything Greg and Mic?
MIC:
I was going to give the back story of – because I know who it was that suggested the conference. [Chuckles] Well, it was Matt Galloway that suggested Ray put up a conference. I’ll tell you why; because we were at the iOSDevUK, which is the biggest iOS developer conference in the UK as you can probably get from the name; that was 2013. There was quite a few raywenderlich.com team members giving talks there, and Chris, the guy that puts in – always making jokes if he was on the session. And Matt, at the end of his talk, he had five minutes left after the Q and A, so he was just having a bit of a bum fit with the audience. And he was asking people like, “If then you decide and have to go up and did [inaudible] let me just throw out the question – if Ray put up a conference, how many would go?”
And half the hands in the room went up, so that night, me and Matt went out for a beer. Matt, he met Ray and said, “You know, you should put up a conf –,” although we proposed the name Ray Conf, but obviously Ray didn’t buy into that and changed it into [chuckles] .com. But that was – that’s where the origin came from.
GREG:
Well, today in the Slacker, because the conference announced what went out today for the tickets, WonderConf has also risen up in the charts; just putting that one out there maybe for next year. Or it’s too late for 2016 but maybe for 2017.
ANDREW:
Yeah, I like it.
CHUCK:
Yeah, me too. Alright, let’s go ahead and dig into some picks. Andrew, do you want to start us off with picks?
ANDREW:
Sure, I’ve got two picks today. The first one is, I’m not condoning – or well, I’m not signing off on this because I don’t know how good it is; I haven’t tried it out yet and there have been some questions raised.
But anyway, this past week Microsoft open sourced their – it’s basically – it’s called WinObjC and it’s an Objective-C – it’s Objective-C support for Windows development including support for all of the iOS APIs. So you can import your iOS apps to Windows, and you can also write regular Windows apps using the existing Windows APIs using Objective-C.
It’s still very early and rough but just the very fact that Microsoft is supporting Objective-C, writing their own versions of the iOS APIs, and the whole thing is open source on GitHub kind of blows my mind. And if you told me that five years ago I would’ve thought it was hilarious and obviously not going to happen. so that’s WinObjective-C by Microsoft.
My second pick, I think I can do because Mike’s not here this week,but Mike’s Friday Q and A. it’s actually from a couple of weeks ago now, but it’s about tag pointer strings on – I don’t know if they added this in iOS 8 but on OS 10 they moved over to using tag pointers for some [inaudible] and he just dives into how it is implemented and it’s super technical article he’s really good at.
It’s not the kind of information that is really useful for the average developer but I love reading this stuff and he did a really good job with it. So those are my picks.
CHUCK:
Cool. I’ll go ahead and put out a couple of picks. I’ve been interviewed on a couple of podcasts lately so I’m just going to mention those if you’re interested.
One that I did last night – they released it this morning – it was The Web Platform podcast, and you can find that, I’ll put a link to it on the show notes. But it was a fun talk. We talked about personal branding as freelancers and as employees, and how to do it and why to do it and how to do it the right way, and some of the approaches that you can use.
It was a lot of fun – great conversation. And so I’m going to pick that. I was also interviewed on Developer On Fire, and I’ll put a link to that in the show notes as well. That was also a fun discussion. We talked about the podcast, we talked about some of the other things that I had going on.
And then I’m also going to pick Skype has the Inside Out – if you’ve seen the Disney movie. They have the characters Joy, Anger, Fear, Disgust and Sadness as emoji or emoticons, whatever you want to call them. And so anyway – and they’re animated so that’s kind of fun. So when somebody says something that’s kind of sad, instead of putting a frowny face [inaudible] anymore, you put sadness in which is, anyway. I think it’s fun. So if you’re on Skype, check that out. And yeah those are my picks.
Ray, do you have some picks for us?
RAY:
Sure. I have two picks. My first is a semi-new little blog by Jake Marsh called Lil’ Bite of Cocoa. What he does is every single day he posts short little posts on some bite sized tips and tricks for iOS development. He’s had some really neat things in the past like mixing Sprite Kit with UI kit, or making chainable methods in Swift. And recently he’s been doing a lot of quick looks at various APIs, so I definitely recommend; everybody, follow that for a bunch of useful tips again. That’s Lil’ Bites of Cocoa by Jake Marsh.
The second thing just a blog post. I thought since we were talking about blogging today and our blog, I thought this might be of interest for people who are looking to do something similar. It’s post on ghost.org by Belle Beth Cooper titled The insanely slow road to building a blog (and why most people give up). and basically it’s talking about how when you first start a blog, it can be very demotivating because you spend all this time working on your first post, and you put them up there and you’re expecting to get all these comments and retweets, but actually you get complete silence – I know, I have that experience when I first started. And the article talks about how the trick is you just got to keep posting even when you feel like no one’s paying any attention, and especially after when you feel like giving up. And so I just thought that’d be useful for anybody looking to start a blog.
CHUCK:
Awesome! Greg, do you have some picks for us?
GREG:
I do also have two picks, staying on the training theme as well. My first pick is a book; it’s called What the Best College Teachers Do, which is not quite maybe relevant because I’m not a college teacher; I read it anyway. I think like programming – like if when you work on Swift and Objective-C but learning about say a prototype based language or a functional language really let’s you see your own language in a new way. And so I think reading about college teaching is a new lens to look at videos and tutorials and how to do that kind of thing better.
And the interesting thing for me is that they focus a lot on things like classroom and engagements and evaluation. And those are two things that when you write tutorials and when you do videos you – it’s very tough to do because you can’t reach through the screen and quiz the people, make sure they understood, and we don’t really have tests that people take. So reading about how other people deal with that helps shape how I write tutorials and write challenges and work on videos and things like that. so that’s my pick for people doing training.
And then my second pick is for people who are learning, and it’s just a quiz. There are all kinds of these all over the web. But it’s just one of those quizzes on what’s your learning style. I think it’s important to know how you learn, whether you, like Ray mentioned, you like reading books or you like watching videos, or you want to have someone stand next to you and explain things. Because so many people are self-directed learners with this kind of stuff with technology. You really have to look out for yourself and so learning about how you learn best I think is important to figure that out early and ten it’ll help you learn stuff going forward into the future.
CHUCK:
Alright. Mic, do you have some picks for us?
MIC:
Yeah, I also have two picks. Just – we’ve bust already about consistency and I’m going to go right through that; everybody’s got two picks. The first one is WatchKit Resources from Brian Gilham. When I started working WatchKit back in November, Brian cite Five Minute WatchKit; it was one of the first sites I came across to have some really good content, short blog post on –. It was mainly on issues that it came across and worked around and things like that. and then a few weeks ago he transitioned out from a blog. A lot think he’d steal those post occasionally into an e-mail newsletter. If you’re familiar with iOS Dev Weekly it’s very similar to that but it’s just focused on WatchOS, WatchKit and all things Apple Watch, and you can find out WatchKitResources.com.
The second one is a game. I’m excited about this because it only just arrived this week, but I boxed it, and I think it’s about February, which is Exploding Kittens which is among Xbox’s Kickstarter projects. And it’s from Matthew Inman, who you might recognize from The Oatmeal and Elan Lee in [inaudible] work at Xbox. And it’s this really cool card game, it’s a bit like Russian Roulette where you – every so often you come across an exploding kitten and then they’re always really amusing and cards you can play to [inaudible] the exploding kittens. But if you have known Matthew Inman’s style and it’s very clever, the humor and the comedy in it, so it’s sad – it’s very good.
And you got two decks as well. You got a normal deck and a ‘not safe for work’ edition, which is great as well.
CHUCK:
That’s funny. I just want to follow this up. I’m going to point you to a couple of episodes that we’ve done recently on other shows that are related to this. We talked to Brianna Dick on The Freelancer Show, and she talked about teaching and learning. Specifically, she coaches people about building courses, so that’s a good resource, and one of our students was on the next week – Marie Poulin. And she also talked a lot about that along with being serious and consistent in your business.
And then the other episode actually came out – when this one comes out, the other came out yesterday. We talked to Gregg Pollack from Code School and that was on JavaScript Jabber. So if you want to check those episodes out, we’ll put links of all of those in the show notes as well.
If people want to know more about what you folks are doing over at raywenderlich.com, what should they do, where should they go?
RAY:
The best place is our website, raywenderlich.com. You can see our latest posts there. And also you might be interested in checking out our conference which ticket sales just opened today at RWDevCon.com.
MIC:
Also the podcast where we have a lot of exciting development things to discuss, Jake and I.
ANDREW:
Yeah, plus one to that. That’s a – I don’t listen to a lot of podcasts because I work from home and I don’t drive very often, but I do listen to your podcast. And partly because I’m a friend of Jake’s, but you guys do a great job and I always enjoy the people you have on and the stuff that you talk about.
RAY:
Thank you so much.
CHUCK:
Very cool. We’ll go ahead and wrap up the show. Thank you guys for coming!
RAY:
Thank you!
MIC:
My pleasure.
GREG:
Yeah, it’s a great time, thanks!
[Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.]
[Bandwidth for this segment is provided by CacheFly, the world’s fastest CDN. Deliver your content fast with CacheFly. Visit cachefly.com to learn more]
[Would you like to join a conversation with the iPhreaks and their guests? Want to support the show? We have a forum that allows you to join the conversation and support the show at the same time. You can sign up at iphreaksshow.com/forum]
118 iPS Tutorials For Developers and Gamers with Ray Wenderlich, Mic Pringle, and Greg Heo
0:00
Playback Speed: