Marvel Internet Group blog

Posts Tagged ‘development’

Delivering more for our clients in less time by utilizing the CakePHP framework

Sunday, February 8th, 2009

The process of conceptualizing, designing, and implementing web applications is a complex one. It requires both the client and the development company to come together and share enough domain knowledge to enable constructive communications about the project. To reduce the impact of mis-communicated ideas developers need to be agile, which involves being able to quickly confirm, implement, and get feedback on ideas. Therefore, any tool that helps us reduce the time required to implementing common functionality helps our clients greatly. It is with this in mind that Marvel Internet Group decided to standardize all projects on a development framework. That framework is CakePHP.

CakePHP is a framework started in 2005 that is compatible with PHP, a ubiquitous web development programming language that is used by more than 20 million websites, that follows the “model, view, controller” design pattern. CakePHP allows us to implement client-specific features using common functions that have been heavily tested and debugged by the entire CakePHP community. CakePHP offers polished database abstraction, templating, AJAX, caching, testing, and security features that can be implemented in client applications. Those pre-built features allows us to have a solid foundation from which we can quickly realize our clients’ vision in the form of a working prototype.

The productivity gains that comes with CakePHP would not be so great if a lot of time had to be invested in learning it. That is why CakePHP’s excellent documentation and active developer community means that we can quickly train programmers to become familiar with and productive with CakePHP in a matter weeks.

A real world case demonstrating the benefits of CakePHP comes from our experience with ICEF Online 2.0’s development. For this project we managed to take the version 1.0 program, which was developed without a framework, and re-code it from the ground up with 20+ additional core features in three months using one full time and one part time programmer. The part time programmer had never used CakePHP before and was able to implement our ordering system with less than one week training.

The product delivery time was a great improvement over version 1.0, which took well over six months using the same amount of human resources. We also saw improvement in the size of the code base, shrinking it from 137 megabytes to just under 50 megabytes. With all things being equal we have basically managed to half quoted times in our client application development and create a much higher quality application. This was possible because we were able to focus on what was important to the client, instead of worrying about the low level mechanics of the application.