Sunday, September 25, 2011

Old Tutorials and New Utilities

My first week using of using a lean startup style to Blender Addons has been interesting. The lean approach is already turning out to be an excellent learning tool. Here are the results so far on what I've learned and done.

Khan Academy and 3D Math
Khan Academy does a good job at teaching the basics of linear algebra. The topic of matrices is very well done. Manipulating these structures is key to understanding how moving, rotating, and scaling 3D scene objects work.

For math specific to curves, trigonometry and quaternions look like concepts worth looking into. Trig math shows up all over the place with curves.  Quaternions seem to appear in a lot of round shapes. This should open up some interesting possibilities.

PHP Reduction
Blender Addons could get by fine with less PHP. Templates can probably be done with JQuery. Code coloring can be done with a JQuery plugin. Dialing back PHP will open up more web hosting options. Hopefully, those options will include one with Django support.

Retirement of the 2.49 Tutorials
The Blender 2.49 tutorials become less relevant as time goes on. This justified a new “retired” section for those tutorials. It makes more sense to deprecate them rather than remove them outright. They still serves a purpose for people who want to port over scripts to the new API or for people who haven't moved to 2.5 for whatever reason.

New Utility Script for Developers
Every decent developer will find themselves, at one time or another, making tools to automate certain tasks. My own collection of tools were added to the site today. They include module searching lambdas along with functions for handling materials and deleting data. They've been very handy for me and, hopefully, will be likewise for other coders.

So that's all there is for now. It's back to work now to see what can be made of this coming week. Cheers.

Sunday, September 18, 2011

Lean Startup Ideas For Blender Addons

Blender Addons has been a fun hobby and a great excuse to play with technology. With some guidance from “The Lean Startup” by Eric Ries, it could become a profitable business too. Here are some ideas that might help towards that goal.

Build, Measure, Learn
My most successful add-ons are related to curves. I learned this by messing with the layout, making predictions, and scrutinizing the following week's traffic data. Experiments like this help clue me in on what kind of script to do next.

Waste Elimination
The Game PD project saved me money on games and helped sharpen my tech skills. Alas, by lean startup principles, it is technically waste work. It doesn't serve my users and it adds zero value to the business. This isn't to say learning tech skills on a just-for-fun project is a bad thing. What it means is that work that directly serves the user deserves higher priority.

User Community
It pays to spend time getting to know users better. In the case of Blender Addons, forum participation is one good way to get to know the kinds of things they think about. For example, linear algebra is one thing that matters a lot to my fellow developers. From that, I was able to make Khan Academy time on the topic a priority for the coming week.

Weekly Batch
Releasing project features in small batches may have some advantages. It's likely more satisfying to release a few things at once rather than put out each thing as it's finished. Furthermore, batches released at the start of the week make it easy to measure traffic for that week.

Growth and Pivots
Site traffic has been flat for the past 3 weeks because it's been that long since the last update. This is bad. To remedy this, I set a specific web traffic goal and deadline to shoot for. I also established projects and strategies for getting my numbers up. If it fails, the data I collect should help me decide my next move. This direction change would be my “pivot”.

Final Thoughts
Like all good intentions, I fully expect life to get in the way. Everybody, including startup founders, deals with that. However, if things go even half as well as I hope, this could be a major turning point for my site. It should make for some interesting future blog entries.

Monday, September 5, 2011

Colors, Web Apps, and Google

I haven't talked projects in awhile and I'm due to get back on that track. So let's get started.

Random Face Color Addon
I wrote a Blender add-on that randomly colors all the faces on a mesh. This was a special project thanks to Blender Artists forum involvement. Someone suggested features the original version didn't have. That lead to new monochrome and animation features. It was a great learning experience and the script got a thumbs up. It felt good to be told I did a good job.

Web Applications for Blender
I revisited the idea of loading Blender data into PHP. This time, I listed the names of every object in a project separated by data category. Materials, meshes, and everything else got their own section. The bad news was I couldn't run Blender on my web host which meant no production deployment.  Back to the drawing board.

I looked to Github for inspiration. Getting the most out of that site means having Git installed on your computer. It's a setup that works really well and opens up an interesting question. Can Blender have a relationship with a web application similar to the one between Git and Github? It's an interesting idea.

Exploring App Engine
Exploring technology is key to executing ideas and I decided now was the time to look into Google AppEngine as a potential platform. The learning curve thus far is about as good as that of Django.

Of course, the recent pricing drama makes App Engine look like a risk that I might not be able to afford. However, I'm willing to give it the benefit of a doubt. It'll be awhile before I deploy anything which should give Google time to sort these issues out. Also, Google has made mistakes before with Buzz and Wave and managed to correct course. I'm hopeful that this will be just another trip in Google's history of awkward stumbles.

Ending Thoughts
There are other things I've played with that I didn't bring up because it would make this entry too long. So rather than going into things like Backbone.js and Python package hierarchies, I think I'll just end it here. May your coming week be fun. Will talk again soon.