How I made a simple Business Model Canvas for geekar

The power of simple python scripting is one of the themes of this blog, and now I can show a great practical example.

I needed to create something that looks like this:

geekar Business Model Canvas
geekar Business Model Canvas (click for webpage)

This is a simple HTML table with some CSS. But trying to write it in HTML would result in a lot of copy-pasting of stuff that looks like this:

That’s a lot of boring and error prone copy-pasting. And I’ll need to create lots of these in the coming months.

OK, so I need to write a script that will turn this:

Into the correct HTML.

It’s actually really easy:

It’s a small command-line tool that knows how to create an empty .py file for a canvas with the correct template, and knows how to read a .py file as a python file (since this is for self-use only I’m fine with no security at all, otherwise reading it as a python file would be very unwise) and do some preprocessing and some search-and-replacin’ to get the right thing into an HTML template.

I needed to be able to control how many notes to have in a row, so I added parsing of a space at the beginning of a note caption to mean “newline before this”. I needed to write many similar notes for “customer segments” – so I used the fact that the canvas definition file is in python to just write some python that generates it:

“customers”: [x + ” Fans” for x in [“Comics”, “RPG”, ” MTG”, “Anime”]] + [” Gamers”],

And that’s all there is to it. One of my students could write this in ten minutes. From now on, something that I will be doing every day will take a few minutes less.

Is It Worth the Time?

The whole code can be found here: https://github.com/SonOfLilit/quickbmc and the complete result here: https://github.com/SonOfLilit/quickbmc/tree/gh-pages.

Advertisements

Python For Everyone: Business Model Canvas – Iteration 1

The first iteration of my Business Model Canvas is done:

There is so much information contained within the form and content of this canvas that I think analysing it would only lead to information overload. Read it slowly, as if trying to find flaws in my plan, carefully noticing all the color coding and how blocks relate to each other. Start at the value proposition, through the customers and partners, towards the customer relations and channels, then the key resources and activities, and sum it up with the costs and revenue streams.

I will greatly appreciate feedback and discussion.

Python For Everyone: Business Model Canvas

I’m working on my Business Model Canvas.

I’ll have to continue working on it later, so here’s a job half-done:

I will upload a higher quality version of the final version, when it’s ready. This is just to whet you guys’ appetites (and introduce some alien thoughts into the thinking stage).

Note: I highly recommend working with paper, working in Inkscape has been quite a horrible experience and I do it only because my printer isn’t functioning.

Edit: I got some thought provoking comments on the boards, which made me find some errors and places where I don’t convey information well, so I uploaded a fixed version. Nothing major. Also, I am considering using mind mapping software for this.

Python for Everyone

As I explained before, the ability to write code is a superpower only recently discovered by humanity, and as far as I know there is not one state in the world yet where every child learns how to code – as opposed to other more established superpowers like math, writing and cooking.

It will happen soon. Perhaps sooner than it would have.

Every Child a Jewel (or: Give a Child a Snake)

For the Lean Launchpad class I will be searching for a successful business plan for teaching all our children to code in a simple language like Python or Ruby.

This is a philantropic project – I could make more money elsewhere, but I care deeply about kids learning how to think – but is nonetheless planned as a for-profit, as I believe those are much more sustainable. It might or might not get executed, depending both on the results of this research and on personal reasons that will only clear up when I finish the project I was talking about in the last post. For now I’ll treat it as a serious exercise.

Is the Product Feasible?

I’ve had experience lately teaching very advanced programming material to many different crowds, including secondary school children. I took two hours of material, spent weeks distilling the perfect way to teach it – fun and engaging, requiring no previous knowledge – and then practiced in front of many groups.

That last step turned out to be the critical one. The first time, I taught a crowd of experienced programmers and had about 50% participating while the other 50% couldn’t follow. The second time, I taught a less experienced crowd and had 95% engaged, following and actively participating. When I first reached a completely non-technical crowd, I had it down so well that I had 100% engagement and active participation.

I believe if found a way to teach children advanced topics in assembly language programming in one two-hour workshop, I can definitely find a way to teach them Ruby or Python and make it just as engaging and fun.

Is the Business Feasible?

There are many factions that would profit tremendously from this offering. Some of them have very deep pockets.

Can they be reached? That’s what the class is for. I guess we’ll find out together.

Should you learn to code?

Should you learn to read and write?

There is a discussion on the boards revolving around the eternal question of whether “non-techie” startup founders will put their time to good use by learning to code.

Five years ago, there was still some room for discussion. These days, I believe discussing it is a waste of time:

Yes. Learn to code.

As simple as that. But perhaps it is not as obvious to you as it is to me. Worry not! I will explain, give examples and even recommend where to start.

Since this is very relevant to my interests, I will create shorter and shorter version of this essay as time passes, incorporating your feedback, hoping to eventually converge on a version that passes the message. Continue reading