Dear @rwenderlich and all the authors of Raywenderlich.com,
I am a subscriber, and I have subscribed because your tutorials have always helped me grow as a developer.
If I have to be honest, however, there is one thing that unfortunately I do not understand: it is happening more and more often to find tutorials on interesting topics, such as the one on the widget: “Getting Started With Widgets”, that instead of concentrating the efforts and knowledge on creating the widget, I have to do a lot of things that have nothing to do with the topic of the tutorial, but have to do with the initial project. This is very confusing. For example, right in the widget project I have to move files, I have to create files, use protocols, import packages. Operations strictly necessary for the basic project used for the tutorial. and all the classes that may have relevance to the project are created without any specific explanation and all inherent to the initial project. And all this, without even making an explanation of the code that is generated by Xcode in which there is already everything you need to work.
If tutorials are meant to teach and educate a person on a certain topic, isn’t it wiser to make the tutorials simpler? I understand that with an initial project you avoid having to write a lot of code that has nothing to do with the tutorial and focus on the topic of the tutorial. But then what good is it that I do all those operations strictly necessary for the initial project, when xcode generates me some working code that I don’t know what it is for? Isn’t it better that an initial project is created on purpose in which nothing has to be done, but nothing at all to make it work, and we only talk about the topic and the changes are only strictly related to the topic of the tutorial?
let’s take the example of the tutorial named above:
in the code that xcode generates to me when I create the widget, I have a class that contains several things:
- to what the struct provider? and what do its methods do?
- What is IntentTimelineProvider?
- what is the timelineProvider?
- where should I get my hands to create the widget screen? in the subclass of view? or in the widget subclass?
- what is configuration intent? can i change it? if so, how?
- I know that I can give a refresh time, how do I set it?
Isn’t it better first of all to dwell on this code and explain it well? After all, whoever creates a widget will find this code first. Why not create an initial project, which allows you to focus exclusively on this code, its modification and the development of the widget?
Forgive me if I may sound a little whiny, but I paid a subscription worth more than $ 200 and it bothers me to find tutorials that explain things that have nothing to do with the subject of the tutorial, or even incomplete. Why isn’t it fully explained how to create a configurable widget? (In the tutorial it is shown in a few lines how to change the interval value) If the article becomes too long, is it not possible to break it all into two articles? Or if we avoided making unnecessary operations on the initial project, would there perhaps be more space to better explain the topics of the tutorial?
This kind of article wastes a lot of time, interest and does not reach the point. Honestly, I wonder what it was good to pay for the subscription. When it expires, will I renew it? I have strong doubts.
So please, review the articles, instruct the authors not to waste lines of code or text on things related to the initial project; simplify the tutorials! Not all of us are professional developers working at Apple or IBM or Google or Sky. There are people like me who have been willing to pay $ 200 or more to learn. Learn the tutorial topics, not how to modify your initial designs.
Please do me this huge favor.