<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>The Bright Lines &#187; programming</title>
	<atom:link href="http://www.thebrightlines.com/tag/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.thebrightlines.com</link>
	<description>HTML, CSS, Javascript and more</description>
	<lastBuildDate>Thu, 29 Jul 2010 22:44:34 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Why do it yourself? Somebody else already did it for you!</title>
		<link>http://www.thebrightlines.com/2009/12/07/why-do-it-yourself-somebody-else-already-did-it-for-you/</link>
		<comments>http://www.thebrightlines.com/2009/12/07/why-do-it-yourself-somebody-else-already-did-it-for-you/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 20:29:15 +0000</pubDate>
		<dc:creator>Wouter Bos</dc:creator>
				<category><![CDATA[Web development in general]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Standards]]></category>

		<guid isPermaLink="false">http://www.thebrightlines.com/?p=243</guid>
		<description><![CDATA[Web developers like to create their own solutions, but most of the time it's better to get to learn a real product and start to implement it]]></description>
			<content:encoded><![CDATA[<p>Sometimes the possibilities you have as developer seems endless. Do you or your company need a CMS? Lock yourself up for a few weeks and you have one. In need of an online video player? Look for a tutorial online and create your own.</p>
<p>Creating something from scratch can be empowering. It also gives a sense of control, because <em>you</em> can determine what the specifications should be of a product. Better: you don&#8217;t only know the specifications by heart, you also know just what strings you need to pull in <em>your</em> code. Getting to know a product that you didn&#8217;t code from scratch seem hard to master. And it can even harder to know it&#8217;s limitations. That&#8217;s not a situation that you want to be in, when talking to a customer. And so it seems better to stay in control and build an application of your own for your own needs.</p>
<h2>A CMS for everyone</h2>
<p>And so in-house coded CMS systems pop-up everywhere. But why? Are the ideas of those companies about Content Management Systems so different compared to what is already on the market? Most likely not. In many cases the euphoria of having your own CMS will turn to into a slowly simmering frustration because the time needed for bug fixes and feature request doesn&#8217;t match at all with the time that&#8217;s available.</p>
<p>We all know that creating a product needs time. But what we tend to forget is that keeping a product “healthy” and up-to-date also costs a lot of time in the long run. And so we have a plethora of CMS systems with loose ends and incomplete functionalities. Most of the time with an unfinished “help”-function.</p>
<p>For years I was accustomed to do as much as you can yourself. But now that the internet is getting bigger and bigger, you see companies specializing. Some companies are focusing on only one or a few products like a CMS, while the creators of websites ask themselves: “Am I better in building a CMS or in creating websites?” In most cases it&#8217;s the latter. And so it&#8217;s better to find a product that helps you to do the job fast instead of slowing you down.</p>
<h2>Example: a quick flash video player</h2>
<p>Now you may think that a CMS is an obvious thing you shouldn&#8217;t build yourself because the codebase is so large. Well, lets take something that needs less lines of code: a simple Flash video player. Many companies have developed their own Flash video player. Because it&#8217;s just relatively easy to do. But again: why? Most of the time such a in-house coded player has minimal documentation, if at all. And if you find documentation it&#8217;s likely out of date. What really bugs me if you&#8217;re asked to just “Fetch that player from our previous project”. Like that&#8217;s an acceptable codebase.</p>
<p>I recently decided to go with the open source <a href="http://flowplayer.org/">Flow player</a>. I fell for the various options to customize the player. Soon I discovered all kinds of advantages you wouldn&#8217;t have with your own code: <a href="http://flowplayer.org/forum/index.html">Forums</a>, <a href="http://flowplayer.org/documentation/skinning/controlbar.html?skin=default">wizards</a> and extensive documentation. I could send a designer a link to a wizard that enables him to skin the video player at a basic level. I also could pass the player to another team member without having to explain every step in the code. The documentation is online, help yourself. Let me continue with my work.</p>
<h2>Another example: Javascript libraries</h2>
<p>Libraries really can speed up your work. They do not only provide lots of canned functionality, but libraries like <a href="http://www.prototypejs.org/">Prototype</a>, <a href="http://mootools.net/">Mootools</a> and <a href="http://jquery.com/">jQuery</a> can also really speed up your own coding. jQuery really helped me to code faster, more stable and in less lines of code. It made coding in avascipt even more fun.</p>
<p>There are lots of resources out there. As a web developer you need not only to know your code languages, you also need to know when to use some existing code and know where to find it.</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.thebrightlines.com/2009/12/07/why-do-it-yourself-somebody-else-already-did-it-for-you/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
