Back in 2007 a group of CodeIgniter developers created a new PHP framework called Kohana. From what I understand, Kohana was red hot. By that I mean that it was fast, modular and - frankly - better than CodeIgniter. Unfortunately, Kohana has not been updated since July 2016. It's basically a dead framework. If you're interested, the website is still up at the time of writing. The URL is

Why Did Kohana Fail?

I'm sure we've all seen those motivational videos on YouTube from people like Tony Robbins, where they'll tell you that 'success leaves clues'. Guess what? It turns out, failure leaves clues also! In the case of Kohana, we had a framework that had everything going for it - at least from a technical perspective. However, Kohana was doomed to fail because nobody from the Kohana community ever bothered to write comprehensive documentation. Even with that aside, there was a distinct lack of learning resources for Kohana. Finding decent books or video tutorials was a seemingly impossible task. If you go to YouTube now and search for 'Kohana tutorial', you'll find a handful of videos that show you how to install Kohana. As soon as you get beyond installations, the content dries up. By the way, I just checked Amazon and I cannot find a single book that has been written about Kohana!

I can remember desperately wanting to learn Kohana but struggling to get to grips with it because of a lack of learning resources. This would have been around 2012 - a phase that you might call "peak CodeIgniter". Back then, there appeared to be an unspoken assumption that if you wanted to know how Kohana works then all you have to do is read the framework! Sure enough, the Kohana community - rightly or wrongly - acquired a reputation for being elitist and unwelcoming - particularly towards beginner developers.

Over the years, there were a few attempts to create documentation for the Kohana framework. Unfortunately, however, the documentation never quite got out of the starting blocks. I've had a look and the closest thing to documentation that I can find is here:

Diminished Responsibility

An interesting question is, 'How did this happen?' The idea of a competent, well respected PHP framework not having documentation seems absurd. Let's not forget, Kohana was not just technically good. It was also a top five PHP framework! Even today, Kohana has 1,600 GitHub stars. That's far more than Trongate and much more than several popular and still-active top ten PHP frameworks!

For what it's worth, I've given this some thought and I have a theory.

The reason why Kohana went down, in my opinion, is not because the Kohana community was lazy, unfriendly or somehow uncaring. Clearly, there was a problem with nobody producing decent learning resources. You don't have to be Einstein to see why this would be a huge problem for the longevity of the framework! However, I think the reason why nobody produced learning resources is because nobody took the bull by the horns and said, "I'm going to effing DO THIS!".

Instead of seeing massive action (oh dear, did I just use another Tony Robbins phrase?), we had this perpetually unfinished documentation with desolate chapters that said things like,

"*** Use this space to talk about form validation ***"

Of course Kohana was bound to fail!

So now, I find myself asking a very simple question:

"What's the precise opposite of what the Kohana community did?"

To me the answer is crystal clear. Massive accountability.

Launch Launch Launch!

For all of the reasons given, I've taken the decision to launch the Trongate Learning Zone in an unfinished, and outrageously untested state.

Fortunately, we've had some volunteers who have offered to contribute to the Learning Zone. That's great. I accept their offers and I can't wait to have community members doing presentations and tutorials for the Trongate Learning Zone. As a matter of fact, I don't even want to be the guy who teaches Trongate! I've said many times before that I think it's unhealthy if one guy does all of the training. I stand by it!

We Lost One To Node

There's something that I do have to tell you, however. Just a few days ago - a community member of ours, who had previously said he'd be willing to assist with the Learning Zone, got in touch and said that he has decided to switch to NodeJS.

Now, I happen to think that his decision to switch to Node was a poor decision. As a matter of fact, I'm looking forward to putting Trongate head to head with NodeJS in an upcoming edition of "FRAMEWORK WARS!". You'll see that on YouTube soon. I'd also like to stress that this person was - by his own admission - new to web development. Nevertheless, I must respect his decision and I certainly do! However, as well as sending out messages of good will to Node developers, I think it's important to take on board whatever lessons are to be learned from this. As far as I can tell, the key lesson is that the only way I can guarantee that somebody will show up is if I show up. That doesn't make me better than anyone or more competent than anyone. However, I think it's the only philosophy that absolutely guarantees that STUFF GETS DONE.

What Now?

So, for now, I've committed myself to working on this Learning Zone every day. I have no idea how long it'll take me to finish everything but finish I will. Once I'm finished, nothing will make me happier than taking my videos down and replacing them with videos from members of our beloved community.

In the meantime, I'd rather have a Learning Zone on this site that's broken, unfinished and embarrassing than have no Learning Zone. THAT - my friend - is what makes the afterburners switch on. THAT is when productivity happens. I like the pressure. As a matter of fact, I love it!

So, for a while - the Trongate Learning Zone will be an unfinished embarrassment. However, I want you to know that this is all by design. What I'm effectively doing here is dishing out a form of extreme self-motivation. Hopefully, it'll turn out to be a decision that pays off.

You can keep an eye on the progress of the Trongate Learning Zone at this URL:

May the code be with you,