Three days ago, sosa wrote a comment to an older post which inspired me to think. But first sosa’s comment:
I think is all a matter of marketing, CakePHP is the best framework but it’s marketing hasn’t been the best.
* It needs some killer app
* It needs some killer tutorials
* Screencasts would be cool
I agree with that comment. Let us compare CakePHP with two of its “competitors”: symfony and Ruby on Rails (RoR). Both frameworks have one or more killer applications: symfony has askeet and RoR, well, they have several applications. And CakePHP? Hm, there is no such killer application in sight… (maybe someone is developing it in stealth mode, who knows?). symfony has found a nice way to create their killer application, they developed askeet in 24 steps within the scope of an advent calendar. Each step has been created as a tutorial, so they kill two birds with one stone: they have a killer application and a series of tutorials. Genial! What do you think could be the killer application for CakePHP? Or do you have an idea how to create one?
The next point are the killer tutorials, or, more general, the documentation. The good thing is: all three projects provide extensive documentation: manuals, howto’s, tutorials, api documentation. Even though, it is obvious that the documentation is a weakness of CakePHP when compared with the other projects. Well, the most important point is that it is not easy to find the documentation for CakePHP. A page with all available documentation is missing. And on the homepage you only find a link to the wiki (yeah, there are also links to the api and the manual on the homepage, but they are hidden and you find them only by accident). What could we do to improve that weakness of CakePHP?
The last point, screencasts, is a “nice to have” point, at least for me. Nonetheless, all three projects have at least one screencast. symfony and RoR place the link to the screencasts prominently on the homepage, whereas you have to search the screencast for CakePHP. Yes, there exists a CakePHP screencast, but the link to the screencast is hidden in the wiki ;-)
Conclusion: I think CakePHP can keep up technologically with the other projects, but it has to learn to sell itself better :)