Internet Bandaid   [RSS Feed]

Archive for the ‘open source’ tag

Why You Should Re-invent the Wheel

without comments

I recently wrote my own blog component for my evermight framework. Many people ask, “Why do that when you can use wordpress for free?”

The reason I re-invented the wheel, in this case a blog system, is because I do a lot of freelance work. I do it because clients make recurring requests for similar components. I do it because clients frequently ask for a web application of integrating these components. I do it because I’m tired of reverse engineering products to make them do things they weren’t meant to do.

Freelance project clients often request web applications that integrate the following:

1) A blog system
2) A discussion forum
3) Paypal integration
4) Newsletter subscription service

If I used off the shelf solutions, I would install Word Press Blog, phpBB forum, Paypal API, and OEMPRO email marketing. Each of these systems, with exception of PayPal, is meant to work as standalone systems. So that means it would be a nightmare to integrate Word Press, phpBB and OEMPRO into one seamless application. Imagine a project where you have to log in to 3 different CMS to manage users. And if you look at the database, you’ll shake your head at the 3 different USER tables. I can’t imagine a developer’s nightmare worse than this.

In the time it takes me to study each platform, reverse engineer it, debug it and integrate it, I will have already re-invented one of the components.

I don’t want to waste time studying each of these platforms every time I get a freelance project. Everytime I look at the code for phpBB or wordpress, i say to myself, “I hate the way this is done.” So instead, I build my own whenever I get the opportunity, and assimilate it into my Evermight Framework. It saves me time in the long run when I work with things I’ve built as opposed to foreign and poorly documented applications. It makes customization much easier (and clients always want customization). I can ignore many of the advanced features off the shelf solutions offer because clients only want the basics, but basics done well.

Written by John Lai

December 11th, 2008 at 3:24 pm

Off the shelf or build from scratch?

without comments

I’m about to work on a big project. I’m doing research into off the shelf products that may or may not do what I want. Here are quick pros vs. cons

OFF THE SHELF
pros – much of what you need might be built; there’s support for the product; save a lot of time; great short term

cons - may not be as flexible; takes time to learn how to reverse engineer; since open source platforms try to solve ALL business scenarios, you’re stuck with superfluous code and irrelevent modules, which results in one big bloated system that’s hard to maintain and scale

BUILD FROM SCRATCH

pros – you know exactly what it can or can’t do; solve only problems you need solved; design for immediate re-use with other projects you have on the go

cons – takes more time to build;

If your project is quite substantive with long term plans, and you have the skills to do programmatic wonders, then you will be biased towards Build from Scratch. It’s appealing to a developer to design his own products, and re-sell them on his next projects.

Whatever you end up deciding do invest A LOT of time in trying out existing tools. You may end up using them, or they may inspire you to build even better products!

Written by John Lai

July 20th, 2008 at 9:59 pm