<?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>Joseph Piché &#187; Web Development</title>
	<atom:link href="http://jpiche.com/topics/web-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://jpiche.com</link>
	<description>Web development professional with expertise in PHP, MySQL query optimization, Ajax, and XHTML</description>
	<lastBuildDate>Tue, 20 Jul 2010 04:04:51 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>&#8220;Over half of the web is flash&#8221;</title>
		<link>http://jpiche.com/2010/07/over-half-of-the-web-is-flash/</link>
		<comments>http://jpiche.com/2010/07/over-half-of-the-web-is-flash/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 04:04:51 +0000</pubDate>
		<dc:creator>Joseph Piché</dc:creator>
				<category><![CDATA[Thoughts]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://jpiche.com/?p=483</guid>
		<description><![CDATA[Out of nowhere I hear someone at the other end of the office (we share with two other companies) blurt out, &#8220;over half of the web is flash.&#8221; This person always leaves his door open and talks loudly, so I&#8217;ve learned to tune him out, but this line grabbed me. First, I feel this number [...]]]></description>
			<content:encoded><![CDATA[<p>Out of nowhere I hear someone at the other end of the office (we share with two other companies) blurt out, &ldquo;over half of the web is flash.&rdquo; This person always leaves his door open and talks loudly, so I&#8217;ve learned to tune him out, but this line grabbed me. First, I feel this number is wrong. Second, there is no way to know with a good amount of certainty what the percentage is. From the continuing context, I learned that he was talking about the iPad and its lack of Flash support, criticizing Apple for becoming &ldquo;the next Microsoft&rdquo;&mdash;whatever that means. He concludes with saying an increasing amount of developers are starting to program for android.</p>
<p>This whole conversation triggered feelings of anger and frustration at this person. I hate Flash; I hate Flash a lot. But this is not because Flash is not supported on the iPad, or that it is full of security holes, or that distributing unchecked byte-code is an inherently bad idea. I hate Flash because it is closed source, anti-freedom software controlled by a single entity interested only in financial gain.</p>
<p>Do I have Flash installed? Yes, and according to <a href="http://www.adobe.com/products/player_census/flashplayer/" rel="nofollow">certain surveys</a>, up to 99% of internet users have Flash installed. And it disgusts me. I try to not install it, or run it only in controlled virtual environments, but it is ubiquitous. Many &ldquo;social marketing&rdquo; companies promote using sites like YouTube, which almost exclusively uses Flash for its videos, so when clients ask for YouTube, I reluctantly grant.</p>
<p>But while I concede to its use when necessary, I never create new material using Flash and whenever possible evangelize open technologies and Free/Libre alternatives. And I beseech you, reader, to also stop developing for or using Flash.</p>
]]></content:encoded>
			<wfw:commentRss>http://jpiche.com/2010/07/over-half-of-the-web-is-flash/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>CSS is Not an Art</title>
		<link>http://jpiche.com/2009/12/css-is-not-an-art/</link>
		<comments>http://jpiche.com/2009/12/css-is-not-an-art/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 08:29:19 +0000</pubDate>
		<dc:creator>Joseph Piché</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[languages]]></category>
		<category><![CDATA[web-browsers]]></category>

		<guid isPermaLink="false">http://jpiche.com/?p=313</guid>
		<description><![CDATA[For some time I&#8217;ve been working with web frameworks. Finding a good web framework is not hard with PHP since so many exist already, but since I&#8217;ve fallen in love with Python I&#8217;ve discovered Django. Recently, I&#8217;ve been re-building this blog using Django (more on that to come later) and to my surprise, using a [...]]]></description>
			<content:encoded><![CDATA[<p>For some time I&#8217;ve been working with web frameworks. Finding a good web framework is not hard with PHP since so many exist already, but since I&#8217;ve fallen in love with Python I&#8217;ve discovered <a href="http://www.djangoproject.com/">Django</a>. Recently, I&#8217;ve been re-building this blog using Django (more on that to come later) and to my surprise, using a well-developed <a href="http://en.wikipedia.org/wiki/Model-view-controller"><acronym title="Model-view-controller">MVC</acronym></a> Framework with a thought-out database schema makes traditional development almost non-existent and lets me focus on theming.</p>
<p>Since my job is mainly PHP and MySQL development, I don&#8217;t do a lot of theming. I actually like coding CSS, but we have a design team for that. For this blog, it&#8217;s actually something I need to think about. I&#8217;ve done a lot of CSS coding, but recent events at work have left me frustrated with legacy code, thus sparking this post. So getting to the point: CSS is not an art. Cross-browser CSS is not something one intuitively picks up and starts playing with, it is a language, and to be successful at it you need to know what you are doing.</p>
<p>The key concept is the possibility of writing unsuccessful or <em>bad</em> CSS. The art is drawing up what the page is to look like&mdash;concept art, or as some call it &ldquo;mocking up&rdquo; a page. CSS is the tool used to get the page to actually look <em>and function</em> as intended, and in every browser. I believe a lot of amateur web developers do not realize the importance of understanding both the CSS specifications themselves and how each CSS command will affect each web browser.</p>
<p>To further my point, this week I&#8217;ve been working with more legacy code which has CSS sprinkled all over, and always as an afterthought. This itself is not necessarily bad, as sometimes the importance of getting something semi-functional (or to a state where your boss stops yelling at you) necessitates ignoring certain parts of the process. In this, Internet Explorer 7 was forgotten about and somehow hovering over a certain set of <code>&lt;span&gt;</code> tags makes large parts of the page shift a few pixels back and forth. In an extreme case, it would hinder someone from using the application and potentially cost the company money&mdash;again an unacceptable outcome.</p>
<p>Having been dealing with CSS for a number of years now, I feel like I&#8217;ve learned quite a bit about how each browser treats different CSS attributes, but new web technology is embraced at a quick pace, and I still find new awkward Internet Explorer rendering engine bugs on a consistent basis. But at the least, having an understanding of what CSS was built to do goes a long way.</p>
]]></content:encoded>
			<wfw:commentRss>http://jpiche.com/2009/12/css-is-not-an-art/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Dreamhost and MySQL</title>
		<link>http://jpiche.com/2009/11/dreamhost-and-mysql/</link>
		<comments>http://jpiche.com/2009/11/dreamhost-and-mysql/#comments</comments>
		<pubDate>Sun, 29 Nov 2009 21:02:44 +0000</pubDate>
		<dc:creator>Joseph Piché</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[dreamhost]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://jpiche.com/?p=353</guid>
		<description><![CDATA[At the company I work for, any amount of downtime on a website means we lose money, no exceptions. We run thousands of websites off just 6 or 7 severs and each of our popular sites get thousands of visits per day on average. This is easily accomplished by using dedicated servers and having a [...]]]></description>
			<content:encoded><![CDATA[<p>At the company I work for, any amount of downtime on a website means we lose money, no exceptions. We run thousands of websites off just 6 or 7 severs and each of our popular sites get thousands of visits per day on average. This is easily accomplished by using dedicated servers and having a simple master-slave MySQL setup with writes only going to the master. Of course we went with a really cheap stupid company and absolutely no support, but we control our servers, so its all good.</p>
<p>For my personal sites, I do not have the luxury of having a dedicated sever; instead I use Dreamhost. Support at Dreamhost is phenomenal&mdash;I could not ask for anything better. But I feel ripped-off by their actual service. Using shared hosting is always a gamble, and not in an exciting way like Casino.com (<a href="http://www.casino.com/">http://www.casino.com/</a>), but Dreamhost goes one further. Web servers are physically separated from database servers.</p>
<p>From the perspective of a System Admin, separating web from DB is a great idea. Web servers need different setups than database servers, and management would be much easier with them separate. However, the web developer perspective looks at processing time more than anything else, and unless a network is setup to be super fast, latency is going to be killer. But since this is a respectable web hosting company I would not expect anything less.</p>
<p>So, assuming they know what they are doing, the only other explanation for why my page processing time is seconds instead of tenths of seconds is that server load is terrible, once again pointing to inadequacy of service.</p>
<p>Even so, I stay with them if nothing else because they are the cheapest web host to provide SSH access and the flexibility to use PHP, Python or whatever I want.</p>
]]></content:encoded>
			<wfw:commentRss>http://jpiche.com/2009/11/dreamhost-and-mysql/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Page Load Times Are Very Important</title>
		<link>http://jpiche.com/2009/08/page-load-times-are-very-important/</link>
		<comments>http://jpiche.com/2009/08/page-load-times-are-very-important/#comments</comments>
		<pubDate>Sat, 22 Aug 2009 19:00:43 +0000</pubDate>
		<dc:creator>Joseph Piché</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[pageload]]></category>
		<category><![CDATA[remember-the-users]]></category>

		<guid isPermaLink="false">http://jpiche.com/?p=223</guid>
		<description><![CDATA[We&#8217;ve progressed pretty far since 56k dial-up days; no more waiting for pages to load in order to access information, almost everything is immediately accessible via multi-megabyte per second internet connections. But we would be naive to think that there have not been growing pains. In the IT industry, high turnover is both frequent and [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve progressed pretty far since 56k dial-up days; no more waiting for pages to load in order to access information, almost everything is immediately accessible via multi-megabyte per second internet connections. But we would be naive to think that there have not been growing pains. In the IT industry, high turnover is both frequent and expected due to the constantly changing environment. (The exception is highly specialized fields.) Improving technologies changes the needs of the people and their expectations.</p>
<p>Reading <a href="http://www.percona.com/">Percona</a>&#8217;s Web Scaling Blog, I saw a page on <a href="http://www.webscalingblog.com/front-end-performance">Front End Performance</a> which outlined why web developers need to be conscious of users.</p>
<blockquote><p>Web Site Speed Affects your bottom line. [...] Amazon&rsquo;s experiment: Slowing pages by 100ms decreased sales by 1%</p>
</blockquote>
<p>Highly-available internet access shifted our needs to security and privacy, but now we expect websites to be uber-fast. As a web developer, I need to listen to the needs of the user. The studies presented here show that those who do not develop sites up to user expectations will not get the traffic and revenue they desire.</p>
<p>This argument is very similar to the business scenario of the credit card purchase. Using a credit card is convenient to users, and even though it presents cost to a business to accept credit card purchases, if they do not accept them, they will lose business because customers expect it. Also, if a business abuses the power of the credit card by throwing in additional charges that are unnecessary (or unethical) customers will either not make purchases or not return for additional business.</p>
<p>So while producing a high-performance website&mdash;or trimming an existing one&mdash;may be costly, it is an important gesture, and will probably pay off.</p>
]]></content:encoded>
			<wfw:commentRss>http://jpiche.com/2009/08/page-load-times-are-very-important/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Static vs Generated HTML and Content-Length</title>
		<link>http://jpiche.com/2009/07/static-vs-generated-html-and-content-length/</link>
		<comments>http://jpiche.com/2009/07/static-vs-generated-html-and-content-length/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 14:55:39 +0000</pubDate>
		<dc:creator>Joseph Piché</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[optimization]]></category>

		<guid isPermaLink="false">http://jpiche.com/?p=151</guid>
		<description><![CDATA[A frustrating aspect of writing in PHP is that almost all HTML is generated from PHP and is offered to the client after some processing is done. Under Ideal conditions, the amount of processing would be minimal, but in the case of the code I am currently working on at my job, it is not. [...]]]></description>
			<content:encoded><![CDATA[<p>A frustrating aspect of writing in PHP is that almost all HTML is generated from PHP and is offered to the client after some processing is done. Under Ideal conditions, the amount of processing would be minimal, but in the case of the code I am currently working on at my job, it is not. I believe the root of the problem though is probably something most professional PHP programmers experience: the code they are working on is apart of a collaboration and being under a tight schedule, they cannot afford the resources to change what they would like.</p>
<p>The answer I most often get is &#8220;since it already works, let&#8217;s focus on something else.&#8221; With static HTML files on the server, apache can easily send the Content-Length, but even with PHP generated HTML, I could store all HTML in variables, then calculate the size and use apache&#8217;s Content-Length header to speed up page load times. Time is a valuable resource though, and being a good employee, I&#8217;m gonna (try to) do what I&#8217;m told.</p>
]]></content:encoded>
			<wfw:commentRss>http://jpiche.com/2009/07/static-vs-generated-html-and-content-length/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
