Technology Overload
Don't blink. You may miss the latest must-have gadget, piece of software or technological convention. And without a doubt, you and your business will suffer because of it. Right?
Maybe. But probably not.
I know. A bit of an unexpected stance, coming from an entrepreneur in the web development industry. But in the past few years, I've been extremely in tune to the fact that most adults these days share a weakness - they obsess over new technology in about as levelheaded a manner as a child lusts for a new toy. Every time we see a new innovation, we immediately need to find a reason to have it and/or use it. And that's a problem.
We shouldn't be wasting resources buying, learning or implementing new things because they're cool. Technology should fill a need.
Now, that's not to say we can't have fun every once in a while. I bought a Droid X because it's a grownup toy that I enjoy. I mess around with new web technologies from time to time because they're fun. And every once in a while, those fun things turn out to legitimately help advance my knowledge and/or my business in a significant way. But most of the time, they don't. Most of the time, we're blinded by too much form and not enough function. Or by a technology that's 5-10 years too early to matter.
From a business standpoint - especially as a startup entrepreneur - what you need to do is focus. And it's hard to do that when you spend more time upgrading to 2.0 and 3.0 than taking full advantage of all 1.0 had to offer in the first place.
I see this everywhere. ERP systems are upgraded every year because they're "supposed to be". Phones are upgraded because 2 years are up. New web technologies are used because they're "more standard", despite the fact that current standards can usually get the same job done with less effort and more compatibility.
From now on, I encourage you to follow this rule: Buy new gadgets... for yourself. Try new technology... on your own watch. And stay up on the times... using side projects to learn your way. By all means, do these things because the kid in you wants to. But recognize where the kid should leave and the adult should enter. Once you step foot in your office, on the money-making clock, make decisions on the basis of what will be a sound decision from that standpoint. You just may find that Facebook apps, Droids, HTML5, and [insert latest crazes here] are nothing more than fun (but dangerous) distractions from real business.
All of this being said, you need to stay on top of new technology, because eventually these things do become relevant, obvious, cost-effective choices that you absolutely should make. But there is a difference between constantly learning and constantly adopting. Early adopters are rarely rewarded. While they're running around like chickens with their heads cut off, other people are utilizing "old" technology in perfectly efficient and effective ways, and making profits. Profits that will help them re-invest in new technology, when the time is right, with the satisfaction that the old technology was given enough time to realize a positive ROI. After all, that's the point of it, right?
Why We Use CakePHP for Our Web Applications
I am on my way back from Chicago where I attended CakeFest, an annual conference for CakePHP web developers. I can go into depth about the great experiences I had this weekend. But instead, I'd like to divulge a bit about CakePHP itself. This article is definitely for the more tech-focused crowd, so if that's not you, prepare for utter confusion or indulge in a different post of mine.
What is CakePHP?
CakePHP is an MVC framework that sits on top of PHP. It was originally developed a few years ago, in response to a lot of positive buzz about the Rails framework for Ruby. In essence, CakePHP is a logical evolution of the PHP language itself, in much the same way iRobots are progress for vacuums; without the help of either, you need to be utterly OCD and have far too much time on your hands in order to keep a bigcode base or house as clean as you'd like. CakePHP helps keep your code implicitly "clean" without much effort. It does this by forcing you to separate your data saves & retrievals, business logic and views/themes into distinct areas of the code, all of which communicate with each other in structured ways. If you've ever written incoherent code that ends up looking like "spaghetti" (come on, fess up), then you can quickly begin to appreciate why MVC and CakePHP are welcome changes to the process.
Why do we use CakePHP?
Here we are in 2010. There are a few other notable PHP frameworks avail ble. And in order to write MVC code, you can just, well, write MVC code. There's no need to use "somebody else's" framework. So what's the motivation behind doing so?
This is a simple one for us. CakePHP is the right decision in much the same way PHP is our clear choice over many other languages/conventions; it's extremely easy to use, it's 100% open source, and it offers a huge community of developers that we can interface with at any given time.
There are massive amounts of "plug-in" code available. Whether we need to interface with Google Analytics or upload images to Amazon S3, there is probably already someone in the Cake community who has done it first. And that saves us heaps of time and frustration. And if we need to home-brew some code, we can still bet on the fact that some core components of the framework will inevitably help us to do that with swiftness and ease.
In addition, because of the open source nature of the project, upgrades/enhancements are frequent. Any issues you come across are often fixed without your input in a matter of weeks/months, and those that are not, you can fix yourself and help give back to the community in the process.
Bottom Line
Nobody likes reinventing the wheel. And while you can write or use a more proprietary MVC system, nothing beats the ease, extensibility, and constantly improving nature of the CakePHP framework. They call it the rapid development framework for a reason. And by doing so, they're not-so-subtly implying that by doing it any other way, there's a good chance you may be wasting time.