Group Group Group Group Group Group Group Group Group

Style Ray's books are written in

All Ray’s books I own are written in the style whereby a project/product/example app is developed and aspects of what is being taught are shown along the way. Many online tutorials are doing the same so this is not uncommon and generally an acceptable form of teaching.

However, I have never been much of a fan of this and the older I get the less patience I have with this style. Digging through the SwiftUI book at the moment, I have come to the realization I just do not wish to be educated this way any longer.

Perhaps unlike everyone (most?) others out there, I start reading these books already with a problem in mind. I do not wish to solve somebody else’s fictitious problem (the educational app). I also do not wish to be taught bits and pieces without seeing the horizon, where it all is going towards to. I really am hungry for a style whereby the abstract points are shown first illustrated with small examples (if necessary). I am really tired of this demo app that is dragged along the chapters becoming bigger and bigger through its code which I have to hunt to find that small part I was missing/not understanding.

This style of writing seems to assume I am only learning this one thing in the next few weeks and I have no other applications to create or problems to solve. As if I in the class room and the only thing in front of me is my professor (book). No I am not looking for a cookbook style either, I am looking for a style that teaches the big picture in an abstract way. I can handle filling it in with reality. I am trying my best to lift of as much abstract-ness from the pages I am reading and hunting through the chapters of the bits I need. I have quite a few of your books Ray and have no complaints about the general quality and workmanship but the style is just too difficult/annoying to handle - don’t think I will buy more.

Age related problem? I am doing an awful lot of other tech and must conclude senility has not set in yet.

1 Like

Had same problem like you described that you see just small pieces but there is no big picture of what is going on. May I suggest that you take a look at Matt Neuburg’s books and then come back to raywenderlich material or any other resources that examine small pieces.

It’s really not up to teachers and their style of teaching. You’re the one that is picking which resources will you process and which not. It’s hard to satisfy all public and you should be happy that you can pick between different teachers and teaching styles. Of course is up to you that you find which resource is best fit for you. School will never provide you that kind of option, teacher that is assigned to your class at start of the year will be with you until the end of school year.

Nothing is wrong with giving your opinion after all every product needs to hear user experience, what I want to point out is that you’re the king of teaching resources on internet and there wasn’t better time like now to teach. Make the best out of it :slight_smile:

Hope that you find your path. Happy coding

1 Like

Yes I am familiar with Matt’s books (some of them anyway, he is a prolific writer), read them on safaribooksonline. In no way was I suggesting that Ray’s style is wrong, should be abandoned, nor that I cannot find other sources, nor that I do not accept/celebrate diversity. Ray’s books generally look and feel attractive and I have quite a few of them but I read others and hunt and peck all over the interwebs as I am sure many do. While browsing around, this “let me take you through my sample app and teach along the way” style has become the predominant style (my opinion, my experience) and I am/was lamenting that this is just so. It is a way of thinking that when driven to the extreme is just not really teaching.

I have a lot of respect for Ray and his team, seen this all grow over the years from just him to where he is now; a well recognized teaching and educational firm. He certainly must be doing something right! But for me (and perhaps others), it would be really nice to see sometimes a more fundamental approach or mix between what is there now and more abstract teaching.

So I find my resources online somewhere and then come back to Ray’s shiny book I purchased and find it missing the mark for me because it is so anchored on following building the demo app. And that is just a pity.

I echo your thoughts on (and “dislike” for) the approach followed by RW books. I’ve worked through the recent SwiftUI and Combine books and found myself longing for something like the Big Nerd Ranch books I consumed in the past when learning Objective-C and Cocoa. Sadly the BNR books seem to have fallen by the wayside. Perhaps with Swift 2.0 (?) they might find new life. Having said this, though, I’ve benefited (a lot) from Ray’s tutorials and work and am grateful (though I dislike the style and would pay for better).

1 Like

Hi all, thanks for bringing this to my attention, you have some good points here.

It’s true that there are many styles of teaching:

  • Cookbook style: Show snippets of code that solve common problems, typically with very brief illustrations.
  • Theory-heavy style: Mostly focus on the underlying theory/ideas, with code snippets included mostly for illustrative purposes. Perhaps with a downloadable sample project to review on your own afterwards.
  • Tutorial style: Follow along with a step-by-step tutorial, where you are meant to code along, and see progress along the way.

I recognize that different learners prefer different styles, and this also depends on where you are in your career (for example, I think the more advanced you get, the less patience you may have for tutorials, because sometimes as a busy developer you want to just “get to the meat”).

However, for the past 10 years, our site’s focus has always been tutorials. The reason our focus is on tutorials, is because that is how I personally like learning best. I like opening up a code editor, and typing in every line, and seeing it work myself. I learn a lot better that way than just reading about it in the abstract, and I like having a working example I can tweak and play with.

But I totally understand that it’s not for everyone. Maybe we’ll get into other styles other than tutorials in the future as we grow, but for the time being, that will be our focus, even though it may not be for everybody.

That said, I think that regardless of the teaching style, it is incredibly important for good learning material to cover the “horizon”, “abstract points”, and the “why”, like you mentioned. All of those things can (and should) be covered in tutorial-style. One thing I stress a lot to our team is how a good tutorial should have CRED:

  • C: Correct. It’s important that our instructions are always 100% correct. Nothing is more frustrating than a broken tutorial!
  • R: Readable. Our readers have limited learning time. So we keep our tutorials concise, fun, and easy to read.
  • E: Educational. Our tutorials should explain the “why” behind every step, so readers can actually apply what they learn in their own projects.
  • D: Deep. Our tutorials should showcase practical aspects of using the technologies in the real world, including best practices and gotchas.

In particular, I think E: Educational is kinda what you’re getting at. As tutorial writers, we should always keep in mind our goal isn’t to “show you how to follow some steps to build a particular example app”. Our goal should be to teach you the underlying concepts that you can then apply to your own app.

It’s come to my attention in the past few months that some of our tutorials lately haven’t done a good enough job covering the “why” behind the steps, or in some cases don’t cover enough theory or reference. I’ve been making it my personal mission in the past few months to work with the team on this (via overhauled guides and training), so this is very much on our mind.

To sum it up: we know tutorials aren’t everyone’s preferred learning style, but for some people it definitely is. And I think we’re good at it. If recently we’ve messed up on the E: Educational bit, I apologize. That’s very much on my radar and we’re working on it. :]

I hope that helps and explains my reasoning. Happy to chat more for the curious, I’m pretty passionate about this subject!



That is a very nice reply and I’d say a top quality answer. As mentioned above, I too recognize that there is a need for different teaching styles and your firm is doing a good job of fitting that “tutorial style”. I have never been so much of a favorite of the tutorial style, more tolerant of it. I guess I do not like nor need to be held by the hand.

Your books and online courses as well as website look and feel engaging - it makes one want to be part of it somehow. And so I have, but the tutorial-only approach is just getting to me - it feels I have to wade through muddy water to get to little islands of knowledge. The tutorial style is popular and many resources do the same - that is a little frustrating. But I’ve covered that already no point in lamenting more.

I, and others with me I suppose, would absolute love it if you were to add a more theoretical style to your teachings. (say in the vein of Matt Nueburg’s books (?) as @interactivexr refers to also) Though it seems to me (just my opinion) that a book/course mixed between tutorial and theoretical might not work so well. A sort of “pro” series or “handbook” series that expect existing knowledge, honors the reader’s time and goes to the meat quickly with brief, standalone examples … yum!

Thank you for your heart felt reply, I have respect for what you have done and are still doing in this domain. If you were to experiment with a more theory heavy style at some point, I will look forward to that.

1 Like

Thanks for the kind and thoughtful response @joosty, I really appreciate it.

I would absolutely love to make tutorials, books, and even video courses in that style one day (and if our site survives long enough, it’s a certainty) :]

One of the challenges of running a small company is there’s so many things I want to do, but only a small subset of things that we currently have the capacity to do. So it’s a tricky balance of prioritizing, and making sure what whatever we do decide to focus on, that we have enough capacity to do it well (rather than taking on too much and spreading ourselves too thin).

But yeah I think a lot of people (especially advanced developers like you) would love content from us in a more theory heavy style. Although this hasn’t made it to the top of our priority list yet, I am sure it will one day. Thank you for starting such a great and helpful discussion! :+1:

@joosty’s well thought out comments on other ways to learn as well as Ray’s well crafted response are yet another reason why this website is so useful. It’s great to take a pause every now and then to think though what is the best way each of us learn. For me the website tutorials are the only reason I have an app in the Apple store. They were the perfect bite sized way to learn Xcode (multiple versions), Swift (multiple versions), and how to get an app actually deployed on the Apple store. The Apple documentation makes sense to me after I know how to do something but not before. When learning something new (PHPhoto I am looking at you) I start with the Apple documentation, switch to and wrap up with the Apple documentation which I then can understand. Thanks so much Ray and your entire team for keeping this interesting and fun.