This is completely counterintuitive but stop trying to build apps. Whether you are just learning to code or someone unafraid of the command line, do yourself a favor and build prototypes first.
What do I mean by a prototype, let me explain, my definition might be a little different than yours.
So I hold an M.F.A. in Studio Art but I will level with you. I got a C in my first college art class. Heres why. We would get assignments like this: draw some fruit aka the still life, spend about 5 hours drawing, and it should look good.
Well I would draw some fruit until I thought it looked awesome but in actuality it looked quite bad. Maybe I would spend about two and a half hours working on something and stop.
So what if I continued? Would it have been a good drawing? It might have been better, it might have earned me good marks in the class but it would still suck.
This starting with 5 hour drawings when you do not know what you are doing is like the waterfall approach. Maybe you have read about agile approaches such as XP or Scrum, but the truth is. People throw these words around but they are still doing a waterfall approach under the guise of agile. They might call it sprints or whatever but it is no different then slightly more granular milestones in a prehistoric gantt chart.
About three years later I graduated to the big leagues. I was at a community college building my drawing skills to go to SJSU, a very unlikely place for the number four animation program in the US at the time and traditional (hand drawn) animation at that. This isn’t some inspiring story how I killed it in that program, but rather how I failed but also learned everything I know about, creativity, iteration and prototyping.
So, no more 5 hour drawings. We did thousands and I literally mean thousands upon thousands of quick sketches. A quick sketch is the bare minimum to convey an idea, tell a story, show form and action.
It is very difficult to master.
My drawings always ended up in the lower average where about 70% of the drawings were so much more rocking than mine. It was a very humbling experience, but I was determined to succeed. To bad I would not.
I made it all the way to Intermediate Illustration. I loved that word, Illustrator and how it rolled off the tongue. It was with one of the rockstar professors John Clapp. I took every class with him up to this point that I could and he was smart, funny and inspiring.
Little did I know this is where the rubber hit the road.
We spent about 1/3 of the semester working on a color wheel (yes art 101 people) and a color grid. I spent hundreds of hours as the heavy Liquitex Acrylic paint got thicker and thicker. Everything had to be perfect.
Later we graduated to our one painting that we would do for the entire semester. We took photographs by the hundreds and hoped for an approval. To my dimise, I chose this side lit full chrome harley which ruined my life for the rest of the semester. I got 67% (a failing grade) on my black and white painting about 5 x 7 inches, took two weeks off of work, burnt the midnight oil over spring break and brought it back like a trophy.
Clapp shrugged, scrunched his brow and said it will have to do.
Here is the problem as I see it today: I did not spent enough time doing small iterations to know that my decisions were totally off base. In retrospect I could have made several small changes that might have resulted in a much more successful project.
Here is the thing, no one knows anything nor everything. With a great amount of experience some can make better educated guesses but no one has the good solutions to every type of problem. To me that is a myth.
Now you might say lets do some testing, check the response, but the problem is you need good things to test. If you test two bad ideas then you will just have a less bad idea. And thats not great.
Lets look at how you approach this in drawing and the extrapolate it to modern web development:
- You first brainstorm ideas, hundreds
- You do thumbnails, 30 second sketches, hundreds
- You do small sketches, 5 minutes each, maybe 20 or more
- You do one black and white rendering
- 10-20 1/2 or 1/4 size color comps exploring specific color systems
- you do one full size color rendering, congrats, you finished one professional quality project
This is a iterative approach that will usually lead you to the best work of your ability. This is for every project. As you gain experience you might decrease the numbers slightly but you never just go for it. Unless you need to turn things out quickly and then your finals are really just sketches in a larger system of iteration.
Here is the problem in web development. People will completely spec things out, break them into sprints and continue the waterfall paradigm.
Don’t do that.
Follow the analogy above.
- Brainstorm ideas, hundreds
- Wireframes, Flows and sketches hundreds
- Prototypes, 20 or more
- Component or Feature
Do not just copy peoples stuff.
Copy it to know and understand it but then own it. At SJSU would literally trace thousands of drawings by Rubens, Remrandnt and Michelangelo. There is a ton you can learn form this. But then, do not copy one of these and call it yours.
Remix, mashup, change variables, make it better for your situation. Own it.
So if someone says just make it like x, where x is Facebook, some other app or some part of an app, run. If you are already doing this, stop. It shows a lack of investment and engagement with your subject, with your customers, etc. And engagement and authenticity is everything. If you are just learning, by all means trace those amazing websites, but keep them to yourself. You need to show polished work that you have some ownership in.
So lets say you are starting out and a lot of what you do sucks. You want a job and you are striving for that portfolio piece, so you jump on every e-learning site looking for the silver bullet. Sure, I know how that is, we have all been there.
Maybe you build a bunch of projects but they are kind of lame and not worth showing. Don’t worry we have all been there. Remember me with my two hour lame drawings? Its OK. They were not worth showing either.
Here is part of the problem. You are likely being a perfectionist and you are just copying. You are also trying to game the market by looking at what people say is popular and trying to do exactly that. There is nothing wrong with this process but you need to finish something tangeable.
After each project make up something new, your own idea and implement it. It should do at a minimum at least one more thing that you do not know is possible. Follow your interests. You will develop preferences as you continue to do this.
Now that you have that awesome idea, don’t build it yet. Sketch out flows and UX. Really take some ownership in it. This is your roadmap to the completed project.
Now you can start prototyping. I will start by explaining my process.
In my book ZURB Foundation Blueprints I have a project for every chapter. I have a prototypes repo that has an average of 5 prototypes to create every project. I am not new at this, so if you are starting out you might want to have even more prototypes.
I try to break down each library or piece of functionality beyond the basic Foundation install into a prototype. I then create a simple scenario that integrates this with Foundation.
Remember, I am doing the absolute minimum amount of work necessary to prove the point or concept.
Sometimes I make small modifications and sometimes things do not work out at all. Some ideas were just plain bad. Some technologies are incompatible. Or maybe it will take a significant amount of work to implement it. By spending a minimal amount of time exploring each item and picking the best ones for the project I get a much better project at the end.
This can be applied to anything. Rails? Create a new Rails project for each experiment. Meteor or Node? Same thing. Are you wondering if Angular Foundation works with Rails Turbo Links? Try it. Don’t post questions like these to Stack Overflow. My advices is to explore these things yourself, report your findings and ask a question on SO if you get stuck. That is what SO it is for and you will have a greatly more significant contribution to that community if you take a good stab at it first.
So go forth, make a bunch of bad prototypes and share them with no one. Use them with a goal or app in mind and get to the point where you can build a complex app that actually does something beyond being a copy. I am sure you know what I mean.
Then, repeat this process because you will get better with each project.
I do, every single time.
Are you taking an iterative approach in your web development or are you just getting started and trying to figure things out? If so, I would love to hear from you in the comments.—
title: How to Make a Great Living Teaching Online by John Purcell
time: 9:15 PM CET
tags: book, marketing
This book pleasantly surprised me with a very personal tour de force explanation of how he became an accidental entrepreneur of sorts.SPLIT_SUMMARY_BEFORE_THIS
And also how this evolved into his current online business, caveofprogramming.com.
What I really like about this ebook over others, is that John has an active business and he describes exactly what his strategies are. He explains how to effectively teach something that is somewhat marketable, in his case programming, and to make money with it. He tells you how to get started, even if webcasting and video are not your forte, and how to test the waters in your area.
He advises to start with about 3 videos and see if people start watching them. He also gives a lot of hope in explaining, it doesn’t take that much traffic to make a few sales of a premium product.
Where many books and people giving advice in this area may encourage you to work on it full time, full commitment and eventually reap the rewards, John’s advice is a bit more open minded and flexible, which is very refreshing.
He even points out that he is often lazy or has very low energy levels and admits that at some times he gets very little done towards his business.
One of the biggest things that I appreciate about the book is how genuine it is. I feel as if he was excited about his journey and just wanted to share his insight and experience with the world.
The book really focuses on what he does for a living. He sells premium courses through Udemy (who recently revised their royalty split) and promotes them through free courses on Udemy, YouTube and and his website/blog. If you follow what I am doing, you can see that is very similar to what I have been doing recently. With the exception of the Udemy courses.
I have been interested in putting together a premium Udemy course for quite some time but just haven’t spent the time to figure out exactly how it all works. I taught at Penn State and it was a great experience. I have wanted to go beyond the basic blog articles and short screencasts on YouTube and I believe he presents a very good model to follow.
Can you use his methods with a different platform? Absolutely. He gives a good pitch about how Udemy is the premier marketplace at the moment, however, you do not sign an exclusive agreement with them. This allows you to also offer your courses through other e-learning platforms.
Also, you can release some of your lessons for free, as a way for people to try out the course, as well as release those same videos on YouTube to promote the course. This way you get the best of both marketing platforms. The number 1 e-learning platform coupled with the number 2 search engine in the world, that is owned by google, and is the number 1 video search engine, namely YouTube.
Another interesting thing to note is that there are a couple of diversions that I have to admit, almost lost me. But, if you hang in there, there is a great payoff. These are stories about his bouts of pot smoking as well as a public speaker that talks about magic mushrooms. These are some pretty bizarre stories that really seem out of left field, however, he brings it back to earth and remarkably relates it to the subject at hand, making and selling video courses online.
I found it to be a good quick read and well worth the low cost of entry. I would highly recommend it to anyone looking to teach online in any sort of discipline. It is focused on programming tutorials, so if you are doing that sort of thing, as I am, you will find it particularly useful.