About a year ago I decided to develop a course about how to create web apps using a full stack framework called Meteor. I wanted the course to be hands on/ project-based, so it would allow my students to develop a complete web app from start to finish and to get the knowledge to develop their own apps. Meteor has a great community and some good learning resources, including some courses. However, I found most of them were not providing a holistic view of an entire app, were outdated or were too simplistic.
I spent a few hours brainstorming ideas for the app. The criteria to select it included the following things:
- It should allow to showcase a number of interesting things that you normally do while developing web apps, such as handling user accounts, routing, managing alerts and notifications, saving, editing and deleting data from a database, using the reactive nature of Meteor, using different packages to leverage the work done by others in your own apps, and a few more.
- It should be easy for people to understand the goal of the web app. I didn’t want to need two hours to explain what the app is about.
- It should be useful to anyone. In the worst case the user should be able to use the app for her own use.To satisfy the previous one I thought it should be related to Internet Marketing and/or growth hacking.
I decided to build a polling app for the course. I Thought I could create a course where I was going to build a number of apps, but at the end I decided that I could continue adding more features and functionality to just this one polling app.
So far so good. The next step was to actually develop the poll app, and then plan how to setup the lessons and start scripting and recording the course.
Then, it hit me. I had the final app, but I needed to create intermediate steps to show how to setup the layout of the pages using fake data, and some other stuff. So I had to sort of start again. Anyhow, I learned and moved on to script things better.
I spent the next two months recording the videos (the lessons) and I was almost done, at least with the MVP (Minimum Viable Product). More on the MVP later. And then Microsoft hit me hard. Booooom.
What the … are you talking about? (I heard you). Let me explain. I have a Windows machine and Microsoft decided, without asking me, to upgrade my OS to Windows 10, and boom, it crashed my machine and wiped out my hard disk. I sent the disk to a disk recovery specialist and they said it would take about two weeks for them to recover my data.
I hear you again – Didn’t you make some backups? Well…yes and no. I have a backup system at home that works with my router. However, about a year ago I decided to work in a co-working space, C3 CIC (Cambridge Innovation Center) next to MIT. You know, for all the networking opportunities with tons of startups on the area. Thus, I was not using my laptop at home anymore, so no more backups…sob.
Anyway, since I was supposed to get my files back from the recovery service, I decided to use the two weeks to put more work on other projects. Those two weeks passed by and then recovery service firm, said: “oh, we are sorry but your case is tougher than we originally estimated, we need additional time”. After more than two months they couldn’t recover anything useful.
OK, I said. Let’s start again. By end of March, 2016 I was almost done again. The product was a little better than the first time around. I guess I learned a few things from the whole experience. And BANG Meteor released version 1.3.
So what? Well, even though what I was teaching still worked, Meteor 1.3 included a number of new things that made my course obsolete, such as support for npm files, official support for React and Angular and more. So, scratch everything and start over again.
I decided to use React to manage the views. The workflow of the app would be similar, so I could reuse at least some conceptual stuff and a few more things. But, in general it was going to be a new effort and new video lessons.
Finally, I finished my course, uploaded it to Udemy and submitted it for approval (I submitted test videos from the previous version many months before). The approval was fast, it took just a couple of hours, and on September 13 the course was life. YUPPI!
So, what’s that about the MVP
The MVP is a well known concept that startups deal with everyday. What is the Minimum set of features that a product needs to be put out there in the market. With an online course you can have some content that makes it sufficient to be considered complete. So my MVP covers the creation of the poll application to the point that the application works and can be launched, but without all the bells and whistles. Hence, I plan to add more lesson overtime to make the course even better.
Adding lessons overtime will allow me to attract new students, as they see that the course is getting updated and have more to offer. So, it gives me good excuses to contact potential students that are not yet subscribed to the course.
Make sure you have backups of your course materials, including scripts, code (if applicable), video files, images, slides ,etc.
If you think you will spend X hours producing your course, probably it means you will need Xx20 hours. OK, maybe I am exaggerating a bit, but you get the idea.
Technology changes…quickly. Therefore, if the topic of your course is related to programming, growth hacking and other fast pace areas, plan accordingly. The life of your course could be short.
Once you finish and publish your course, the work is just starting. Now you have to market your course and produce new content to keep students engaged. Putting the course on Udemy or similar platforms can provide you with some organic sales. However, to have some real sales you need to promote the course yourself, and that is not trivial. Furthermore, you have to answer questions from you students in a timely basis.
Is it worth the effort? I don’t know. I need to make a lot of sales to justify the time invested. However, the only real way to know for sure is to try it out.
And some shameless self-promotion:)
In case you are wondering about where you can learn about my course, just follow the link:
Yeah…please click on the the link and buy the course. Your support is appreciated!