Reinvent the Wheel
A lot of people will tell you not to try and reinvent the wheel. If a script has been written, or a styling effect developed that accomplishes what you want, why spend time trying to create the effect yourself?
I can see their point, and in some situations, I agree. If you are on a tight deadline for a project, you often don’t have time to develop that functionality from scratch, and it therefore makes more sense to adapt the structure already developed by someone else.
I do feel, however, that web developers do need to try and create an effect from scratch when they have the opportunity. There are a couple reasons why I feel this is the case.
First off, by forcing yourself to create that layout using CSS, or that form validation script in Javascript from scratch, you force yourself to analyze and learn the intricacies of the language you are dealing with. This knowledge will help to increase your understanding of both the concepts and techniques involved in arriving at a solution for the task. And as far as I know, more knowledge and understanding is never a bad thing.
The other main reason for creating something yourself is because you never know how another point of view may help to create a superior solution to a common problem. Challenge yourself to see if you can improve the solution. I guess you could call this ‘modifying the wheel’. If you are going to try and develop a better solution, you should study the ones already out there. Try to see their strengths and weaknesses, and see how you can improve the weaknesses while not losing the strengths.
So over all, I say go ahead and reinvent the wheel. Challenge yourself to create a better solution, and in the process, increase your knowledge. Remember, the first wheels were stone slabs. I tend to think the wheels currently being manufactured for cars, bikes, etc. are probably a little bit better solution.
3 Smart Things Were Said
12/19/2007
Thank You. I was beginning to think I was alone on this one. What’s the fun of always using the other guy’s stuff? I still feel a little like I’m ‘cheating’ when I use any type of library, cms, or the like.
Also, I found your site from cssmania. Damn good job, keep it going.
12/20/2007
Thanks for nice response Tyler.
While I feel that there are times where frameworks and the like are the right solution, I usually end up trying to come up with my own solution first. There really is a sense of accomplishment you get from doing it yourself.
12/21/2007
I agree with you on this. Real life example: blogs. I, for example, have just set up a prebuilt theme on my blog just because I’m too lazy to build a specific one and I usually have to modify the original CSS files to get things running. On the other hand, in the design agency where I work, I never set up a CSS file any other way than from scratch. This said, we sell a custom built CMS which we set up for clients. Being from the old school integration world, modifying the wheel was my first approach to learn CSS, afterwards I ended building my own. Modifiying is sometimes useful especially for learning.