<?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>blog.aaziz.org &#187; rant</title>
	<atom:link href="http://blog.aaziz.org/tag/rant/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.aaziz.org</link>
	<description>ramblings and opinions of a geek</description>
	<lastBuildDate>Fri, 08 Oct 2010 00:26:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>I Hate CSS</title>
		<link>http://blog.aaziz.org/i-hate-css</link>
		<comments>http://blog.aaziz.org/i-hate-css#comments</comments>
		<pubDate>Fri, 04 Dec 2009 17:16:48 +0000</pubDate>
		<dc:creator>Anthony Aziz</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Geek]]></category>
		<category><![CDATA[idea]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://blog.aaziz.org/?p=145</guid>
		<description><![CDATA[My latest project at work is a bit confidential, but I can say that it has me designing a webpage. I grew up on this stuff and I&#8217;ve almost entirely self-taught myself it. This time, I was given the design prototype, and didn&#8217;t have to worry about the actual design of the document.
But it was [...]]]></description>
			<content:encoded><![CDATA[<p>My latest project at work is a bit confidential, but I can say that it has me designing a webpage. I grew up on this stuff and I&#8217;ve almost entirely self-taught myself it. This time, I was given the design prototype, and didn&#8217;t have to worry about the actual design of the document.</p>
<p>But it was still a <strong>huge bitch</strong>. I began by reading up on some extra CSS articles. Maybe this time I&#8217;ll try absolute positioning instead of floating divs. It has its own issues. Creating web pages is fun for me … up until I run into the issues. I seems the W3C specs aren&#8217;t designed to make things easy for web designers. Some of the most common practices in web design are using CSS specs that aren&#8217;t designed specifically for layouts. Absolute positioning is generic – it&#8217;s useful for positioning arbitrary elements, which has a lot of use in layout design, but it has limitations and problems. Using floating divs and wrappers and margins to create a particular layout is using these tools for something other than what they are design for.</p>
<p>Take <em>float</em> – it&#8217;s a property to make <strong>text</strong> flow around an object. It wasn&#8217;t designed to create columns on a webpage. And there&#8217;s no CSS property that creates columns, or a header. In simple cases and the beginnings of large projects, working with a web layout seems simpler than a desktop application layout. All you need are some elements and style rules – no worry about creating objects and adding them and listening for events.</p>
<p>But I&#8217;m beginning to wish we had a better approach to creating webpage layouts. Something that&#8217;s actually designed to create web forms and two-column pages. The SWING library for Java is a good example. It was designed to create layouts for people to use an application. CSS is designed to style documents. It does have its uses, and that is <strong>styling documents</strong>. But there are a lot of cases where that doesn&#8217;t apply. I would guess that the majority of uses of CSS are either web applications or  websites (with columns, headings, footers, and the whole bit) I have no clue what the actual distribution is, or if even the majority of cases are that way, actually, but you can&#8217;t argue that there&#8217;s a <strong>lot</strong> of cases like that. And CSS simply doesn&#8217;t lend itself well to that.</p>
<p>I&#8217;m not saying to abolish CSS. It needs to be improved though, perhaps split into separate specifications. Give me something where I can layout a page as easily and reliably as I could with a table, without the actual horrible atrocities of table design. I&#8217;d like something where I can say &#8220;this element is going to be a left column that spans from below the header to the bottom of the document&#8221; and &#8220;the element is going to be a horizontal menu whose items are centered and spaced evenly&#8221;. I&#8217;m sure some would say that was too specific. Rules that would be used to do that simply would be very narrow-focused. But there are so many cases where this could be used.</p>
<p>CSS is about separating the content from the design. But we should be able to separate parts of a CSS document: <em>style</em> and <em>layout</em>. Fonts, colours, paragraph spacing, etc, are all design properties. Floating divs and absolutely positioned footers are all things that make up a layout. I haven&#8217;t looked into to HTML5 much, so maybe there&#8217;s a step in the right direction, but what about something like this?</p>
<pre class="brush: xml;">&lt;html&gt;
&lt;head&gt;
	&lt;title&gt;FGC Sample&lt;/title&gt;
	&lt;style&gt;
		page {
			width: 800px;
			horizontal-position: center;
		}

		header {
			width: page-width;
			height: 100px;
			color: white;
			background-color: black;
		}

		navigation {
			nav-style: horizontal;
			item-spacing: equal;
			item-position: center;
			background-color: blue;
		}

		item {
			color: white;
		}

		item:hover {
			font-weight: bold;
			background-color: green;
		}

		content#aside {
			type: column;
			top: auto;
			bottom: document-bottom;
			width: 300px;
			position: left;
		}

		content#aside h1 {
			text-transform: uppercase;
		}

		content#main {
			type: column;
			width: auto;
			position: center;
			height: auto;

			color: black;
			background-color: blue;
		}

		content#main #execphoto {
			float: left;
			margin: 5px;
		}

		footer {
			width: page-width;
			font-size: 0.8em;
			font-style: italic;
			color: grey;
			background-colour: black;
		}
	&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
	&lt;page&gt;
		&lt;header&gt;&lt;img src=&quot;header.png&quot; /&gt;&lt;/header&gt;
		&lt;navigation&gt;
			&lt;item href=&quot;#&quot;&gt;Home&lt;/item&gt;
			&lt;item href=&quot;#&quot;&gt;Products&lt;/item&gt;
			&lt;item href=&quot;#&quot;&gt;About&lt;/item&gt;
			&lt;item href=&quot;#&quot;&gt;Contact&lt;/item&gt;
		&lt;/navigation&gt;
		&lt;content id=&quot;aside&quot;&gt;
			&lt;h1&gt;New product launched!&lt;/h1&gt;
			&lt;p&gt;We have launched a new product XXBBYY&lt;/p&gt;
			&lt;p&gt;Herp derp derp&lt;/p&gt;
			&lt;p&gt;FARBLE GARBLE FBRARFGARFGB&lt;/p&gt;
		&lt;/content&gt;
		&lt;content id=&quot;main&quot;&gt;
			&lt;h1&gt;Welcome to FarbleGarb CO&lt;/h1&gt;
			&lt;img id=&quot;execphoto&quot; src=&quot;mrfarble.png&quot; /&gt;
			&lt;p&gt;At FGC we have pride and garbs to make you garble in pride.&lt;/p&gt;
			&lt;p&gt;These paragraphs will float around that image like in regular CSS&lt;/p&gt;
		&lt;/content&gt;
		&lt;footer&gt;Copyright &amp;copy; FarbleGarb 2009&lt;/footer&gt;
	&lt;/page&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p>I don&#8217;t even have to tell you what it would look like, really, because the CSS explains it. Not perfectly, perhaps, but that&#8217;s why I&#8217;m not working with the W3C to design the next specs. I&#8217;m not even that great of a web designer. But I do know what problems I run into when I&#8217;m working on a website, and all the articles across the web that take a genius to get a properly flowing 3-column layout with variable length columns and a footer.</p>
<p>I doubt there&#8217;s going to be anything like this soon, or even not soon. CSS3 is barely implemented, and IE still has troubles with most of CSS2 and some of CSS1. But I can dream (and rant), right? One day I&#8217;m going back to party like its &#8216;99 and make a table-based layout. Yes, &lt;font&gt; tags and all.</p>
<p><em>(I&#8217;m extremely interested in other folk&#8217;s opinions. I know there are a lot better web designers out there, and I know they don&#8217;t read this blog. But if there&#8217;s any post that I think deserves commentary and discussion, it&#8217;s this one.)</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.aaziz.org/i-hate-css/feed</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>The lack of standards for standards</title>
		<link>http://blog.aaziz.org/the-lack-of-standards-for-standards</link>
		<comments>http://blog.aaziz.org/the-lack-of-standards-for-standards#comments</comments>
		<pubDate>Mon, 07 Jul 2008 17:25:00 +0000</pubDate>
		<dc:creator>Anthony Aziz</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://blog.aaziz.org/?p=18</guid>
		<description><![CDATA[At work I&#8217;ve been developing a inital draft for the new company website. Based on some browser statistics, Firefox holds 41% of the browser market, with IE6 and 7 close at 26.5% and 27%, respectively. However, I&#8217;m willing to bet a good 30% of the people using Firefox (a statistic pulled out of my ass, [...]]]></description>
			<content:encoded><![CDATA[<p>At work I&#8217;ve been developing a inital draft for the new company website. Based on some <a href="http://www.w3schools.com/browsers/browsers_stats.asp">browser statistics</a>, Firefox holds 41% of the browser market, with IE6 and 7 close at 26.5% and 27%, respectively. However, I&#8217;m willing to bet a good 30% of the people using Firefox (a statistic pulled out of my ass, of course) are geeks and/or in the IT profession (including web designers). The company I work for is a manufacturing company, who sells machines that make gel capsules. So I have to assume the a larger percentage of the audience will be using IE7 and 6 (IE6 is still out there &#8211; there&#8217;s a lot of companies still using Win2000).</p>
<p>That about puts them all on the same plate, which means I have to develop for three different browsers, all with their own little perkiness. Of course, I could just use tables &#8211; hell, tables work anywhere. Or I could make a navigation bar with images only. But as a geek and supporter of standards, I <em>of course</em> have to use CSS only. And the navigation menu isn&#8217;t in a line of text. No, it&#8217;s an actual list element. And it&#8217;s floated and horizontal, with no bullets.</p>
<p>And the best part &#8211; it&#8217;s a rollover, drop-down menu. <em>Without Javascript</em>. Of course, that was the point, except in order for IE to accept rollovers properly, I had to use some <a href="http://htmldog.com/articles/suckerfish/dropdowns/">Suckerfish javascript</a>. Well &#8211; at least it was tidy, and worked. Sprinkled throughout the code are little hacks and tricks to make everything fit in place, like <span style="color: #ff0000;"><strong>!important</strong></span> flags and <span style="color: #333399;"><strong>.margin-top: -2px</strong></span> tricks. In my quest to achieve standards compliance and full accessibility, I have broken my core religious believes and broken my balls over gettings everyone to play nicely. Isn&#8217;t it just easier to say <strong>eff that browser I don&#8217;t care about you</strong>? Well, certainly. But then I&#8217;d be a rational, productive person.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.aaziz.org/the-lack-of-standards-for-standards/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

