Thursday, December 30, 2010

2010 in Hindsight - Teaching vs. Doing

This blog entry is an end-of-year postmortem about my web development efforts in 2010. 

My two web site projects from this past year had different learning approaches behind them. “Blender Python Tutorials” was done using a learn-and-then-teach approach. “Uncle Squirrely” was a learn-by-doing project. While neither approach was bad, I got more out of building something than I did by writing “teaching” scripts.

Lessons from Uncle Squirrely
“Uncle Squirrely” was an online video game store. I built it with a mix of Python, PHP, MySQL, CSS, JQuery, and web services. Work involved migrating platforms, copying databases, setting up light boxes, running database update scripts, and setting up streaming video.

I learned a lot and gained experience working on that project. Despite that, it failed. It made no money and got few visitors.

Lessons from Blender Python Tutorials
“Blender Python Tutorials” shares free tutorials for building 3D animation tools. I learned enough to write teachable examples in Python. After that, I wrote drafts and pieced together bits of HTML, code snippets, and images. Then I would publish and I would be off to figuring out stuff for the next tutorial.

Technically, I learned very little. But I did gain an audience. At over a thousand visitors per month, Blender Python Tutorials nearly tripled in visitors compared to last year. As for financial success, it made 23 dollars.

Lesson About Teaching and Success
I've worked under the assumption that I could teach my way into building things and being successful. This is backwards thinking. My Blender work should have focused on building stuff and spending more time building relationships within the Blender community.  I didn't do enough of that. Yes, I used Google Analytics to tune in on user wants and needs.  However, traffic statistics are no substitute to getting out there and connecting with other Blenderheads.

Interestingly enough, I learned this lesson by looking outside the Blender community by considering the examples of Salman Khan and Zed Shaw. As personalities go, they couldn't be more different. However, they both put out free learning materials online. They also both did this AFTER they had established themselves in their respective careers. Khan was already making a good living in the financial sector when he started Khan Academy. Shaw had a reputation as blogger and software developer long before he wrote “Learn Python the Hard Way”. The hard reality of it is that an unknown and unemployed person simply isn't going to have the same impact.

Sharing knowledge generally does not lead to success. However, success can put one in a better position to share knowledge. But in order to have the best shot at success, I need to make something people want.This is my commitment for 2011.

Tuesday, December 21, 2010

Gui Tutorial, Market Analysis, and Experimentation

Okay, here's what's been happening over the past week or so.

Tutorial Updates
The week went well. Blender Python Tutorials got a new tutorial on panels and operators and how they can be used to "destory" a city.  A new property sampler script is complete which means I can start a tutorial on that.  Open GL research has also progresses nicely but, chances are, there won't be any new site material on that this week.

“Blender 2.49 Scripting" arrived in the mail recently.  This book is handy for a couple of reasons.  First, it's Blender 2.49 scripts inspire Blender 2.5 tutorials.  Second, it's a good resource for translating 2.49 scripts to run on 2.5.

Market Analysis
Market research for my work comes down to two resources, Google Analytics and the Blender Artists forums.  Spending time with these helps to know and connect with users.  Knowing user needs helps in serving them.  That's a good thing.  Making money matters too of course.  However, putting profit ahead of user needs is putting the cart before the horse.

Google Analytic bounce rates and search engine statistics show where the site falls short and what kind of tutorials to prioritize.  Right now, the stats say Blender 2.5 tutorials and Open GL need attention.  So that's where the work goes.  Besides that, stats are fun in a weird way.  There's something game-like about watching numbers go up and down as a result of what I do or not do.

Direct community involvement is a big deal and the Blender Artists forum is good for that.  It has a scripting forum containing useful stuff from smart people.  Lurking, asking questions, and answering questions creates value for all parties involved.

Experiment Plans
Content management systems deserves serious consideration.  Experiments with Joomla show great promise.  Joomla comes with tools that make it easier to potentially update and add new tutorials.  Once, the learning curve is climbed, it'll probably make design changes easier too.  That learning curve is the big factor here and climbing it must be balanced with other site priorities.

Uncle Squirrely is now a low priority experimental project due to it's lack of traffic.  This isn't a bad thing since it's still a handy target for technology research.  At the very least, it deserves a better light box.

All in all, it's been a good week and the next coming one should prove just as interesting.

Saturday, December 11, 2010

Deadlines as a Motivator: An Experiment

Sahil Lavingia makes apps for the web and iphone. Adam Savage is a Mythbuster who does a lot of creative projects. What these two men have in common is that they both thrive on deadlines. This is interesting. So, I set prioritized goals with a Saturday deadline and went to town. Here's the results.

The good news is Blender Python Tutorials gained a Blender 2.5 version of the triangle tutorial. The bad news is no Open GL tutorial headway got made and there was insufficient progress on a tutorial on the new panel and operator systems. This is a problem because users come to the site looking for info on Blender 2.5 scripting in general and the site only has two tutorials for that. Furthermore, quite a few users look specifically for Open GL information and find nothing outside of one tutorial for Blender 2.49.

There is a bounce rate problem that's partly the result of bad layout. To deal with that, the site now has a page dedicated to external references for things such as Python libraries. There's also a dedicated books section that offers up relevant books for Blender Python scripting for games and tools development. These improvements should make users happier and give them a little more to explore.

The redesign also had income generation in mind. Hand selected books were removed from the end of the tutorials and replaced with donation buttons. Amazon ads were added to the right side where there once was blank white space. 

There are a couple of advantages to this new setup. First, ads reach more eyeballs compared to where they were before. Secondly, having ads instead of gaping white space balances out the layout and makes the pages more aesthetically pleasing.

So, in conclusion, the experiment was a success. Even though the failures stung a bit, deadlines are a good motivator and I plan on using them during the coming week.