<?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>Robert Accettura&#039;s Fun With Wordage &#187; css</title>
	<atom:link href="http://robert.accettura.com/blog/tag/css/feed/" rel="self" type="application/rss+xml" />
	<link>http://robert.accettura.com</link>
	<description>Robert Accettura&#039;s Personal Blog on Web Development and Tech</description>
	<lastBuildDate>Thu, 09 Feb 2012 01:43:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<atom:link rel='hub' href='http://robert.accettura.com/?pushpress=hub'/>
<cloud domain='robert.accettura.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
		<item>
		<title>Profiling CSS</title>
		<link>http://robert.accettura.com/blog/2012/01/08/profiling-css/</link>
		<comments>http://robert.accettura.com/blog/2012/01/08/profiling-css/#comments</comments>
		<pubDate>Sun, 08 Jan 2012 06:14:26 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/?p=6986</guid>
		<description><![CDATA[Some interesting research regarding CSS and performance that any web developer should read. Nothing really groundbreaking but it&#8217;s good to see the reason behind many of the rules we often hear. It&#8217;s also good to see multiple browsers releasing tools &#8230; <a href="http://robert.accettura.com/blog/2012/01/08/profiling-css/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Some interesting research regarding <a href="http://perfectionkills.com/profiling-css-for-fun-and-profit-optimization-notes/">CSS and performance</a> that any web developer should read.  Nothing really groundbreaking but it&#8217;s good to see the reason behind many of the rules we often hear.  It&#8217;s also good to see multiple browsers releasing tools to test performance of selectors.
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/?p=6986#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2012/01/58c2ac6.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2012/01/08/profiling-css/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mobile Experience On A Budget</title>
		<link>http://robert.accettura.com/blog/2012/01/05/mobile-experience-on-a-budget/</link>
		<comments>http://robert.accettura.com/blog/2012/01/05/mobile-experience-on-a-budget/#comments</comments>
		<pubDate>Thu, 05 Jan 2012 21:03:24 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/?p=6946</guid>
		<description><![CDATA[This blog is largely read by people on traditional desktops and laptops. It&#8217;s mobile usage is a bit on the low side, though that&#8217;s changing. I decided I wanted to start making the mobile experience suck less, but I didn&#8217;t &#8230; <a href="http://robert.accettura.com/blog/2012/01/05/mobile-experience-on-a-budget/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This blog is largely read by people on traditional desktops and laptops.  It&#8217;s mobile usage is a bit on the low side, though that&#8217;s changing.  I decided I wanted to start making the mobile experience suck less, but I didn&#8217;t want to go as far as serving a whole new experience for mobile.  Responsive web design is interesting, but I didn&#8217;t want to invest so much time in it just yet.  </p>
<p>This is still an ongoing project, and partially an experiment but here is my game plan:</p>
<h3>Make The Standard Design Light/Flexible</h3>
<p>The site right now is actually pretty simple in design and structure.  It&#8217;s a grid layout, everything is modular and ID/classed up.  I&#8217;m a slight performance junkie and graphically impaired, so image use is pretty minimal and I&#8217;ve sprited what I could to make the design as light weight as possible.  The core site itself is actually just a few requests.  Everything that can benefit from being so is minimized/gziped to lessen the payload down the wire.  JS is only included on pages where it&#8217;s needed.  Light payloads and minimal requests are the name of the game.</p>
<p>This benefits all platforms.  Even with 45 thumbnails from Project 365 images on one page, I still can load it all about 2.5 seconds on my laptop.  That&#8217;s not terrible.  Some say &#8220;think mobile first&#8221;.  I say &#8220;think performance everywhere&#8221;.  There&#8217;s no reason why performance should be limited to mobile.</p>
<h3>Rejigger For Mobile</h3>
<p>Step two is to adjust the site for mobile.  In my case that means hiding some less useful things, and some size and layout related changes to fit on a smaller screen.  Like I said, I&#8217;m not serving up a separate mobile site.  My pages are already rather light and saving 1 KB doesn&#8217;t seem worth it to me just yet.  I just want my existing site to not feel like a desktop site.  This is more about usability.  Performance wise I optimized with mobile in the back of my head while working on the desktop experience.</p>
<p>I didn&#8217;t want to include a separate mobile stylesheet since my changes are intended to be subtle and minimal.  Besides, that&#8217;s a separate request for mobile users.  Instead I appended to my existing stylesheet with something like this:</p>
<pre>

@media only screen and (max-device-width: 480px) {
    body  {
        min-width: 0;
        width: auto;
    }
    #page {
        min-width: 0;
        width: 100%;
    }
    /* and so on... */
}
@media screen and (max-device-width: 480px) and (orientation:landscape) {
    /* landscape specific css */
}
</pre>
<p>Like I said, I intended for my changes to be pretty subtle.  This works pretty well.  The one thing it can&#8217;t really handle is images.  I tend to be pretty light on image use, so it&#8217;s not a deal killer for me.  However I may eventually look at better solutions in the responsive image world.  For now I&#8217;ll just make the editorial decision to keep image use tame.</p>
<p>In general my philosophy has been:</p>
<ul>
<li>Does this have value in a mobile context? (no: hide it, yes: continue)</li>
<li>Can I adjust the layout/design to make this not suck on mobile? (no: hide it, yes: continue)</li>
<li>Is this more work than it&#8217;s worth? (no: do it, yes: hide it)</li>
</ul>
<h3>Final Thoughts</h3>
<p>I&#8217;ve still got some more polish to do, I know <code>&lt;pre/&gt;</code> blocks don&#8217;t look/feel right and the comments area is still not quite there.  The image gallery experience is not even started.  But overall it&#8217;s still better than the desktop experience I was serving just hours ago.  </p>
<p>Perhaps one day the paradigm will shift on this blog, but I don&#8217;t see that happening just yet.  Most of what benefits mobile also benefits the desktop experience.  This approach gives me an improved mobile experience with minimal hassle.  I also benefit from not needing two do work twice as I would if I had a separate mobile experience.  That means more time to be productive.
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/?p=6946#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2012/01/6ea3f18.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2012/01/05/mobile-experience-on-a-budget/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Things You&#8217;ll Love About Firefox 4.0</title>
		<link>http://robert.accettura.com/blog/2011/03/21/things-youll-love-about-firefox-4-0/</link>
		<comments>http://robert.accettura.com/blog/2011/03/21/things-youll-love-about-firefox-4-0/#comments</comments>
		<pubDate>Mon, 21 Mar 2011 15:00:14 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[do not track]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[firefox 4.0]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[smil]]></category>
		<category><![CDATA[svg]]></category>
		<category><![CDATA[user-interface]]></category>
		<category><![CDATA[webgl]]></category>
		<category><![CDATA[webm]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/?p=5428</guid>
		<description><![CDATA[It&#8217;s that time again. Here&#8217;s my list of awesome things you&#8217;ll love about Firefox 4: For Users New Look For Tabs One of the first things that you’ll notice is tabs on top. This paradigm really makes more sense since &#8230; <a href="http://robert.accettura.com/blog/2011/03/21/things-youll-love-about-firefox-4-0/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s that time again.  Here&#8217;s my list of awesome things you&#8217;ll love about Firefox 4:</p>
<h3>For Users</h3>
<h4>New Look For Tabs</h4>
<p><img src="http://robert.accettura.com/wp-content/uploads/2011/03/20110321_new_tabs_firefox_4-620x76.jpg" alt="New Tabs For Firefox 4" title="New Tabs For Firefox 4" width="620" height="76" class="aligncenter size-Blog2011 wp-image-5436" /><br />
One of the first things that you’ll notice is tabs on top.  This paradigm really makes more sense since the tab defines not just the content but the environment it’s viewed (prev/next button, URL bar).  It’s also just much sleeker looking.  After a few minutes you’ll likely agree this is a better approach than tabs under.</p>
<p>Another nice touch is if you enter a URL that’s already open in another tab, you’ll be given the option to switch to that tab.  Perfect for those of us who end up with 50 tabs by lunch time.</p>
<p>It also just feels tighter and less intrusive on the web browsing experience.</p>
<p><span id="more-5428"></span></p>
<h4>App Tabs</h4>
<p><img src="http://robert.accettura.com/wp-content/uploads/2011/03/20110321_app_tabs-620x76.jpg" alt="App Tabs" title="App Tabs" width="620" height="76" class="aligncenter size-Blog2011 wp-image-5435" /><br />
App Tabs are a great way to pin sites you use constantly (webmail, Twitter, Facebook, etc.) to your browser and make them easily accessible throughout the day.  I suspect many webmail/Facebook addicts will really dig this feature.  To use it, right clicking on a tab and “Pin as app tab”.  Don’t need it?  Don’t use it, it’s not forced upon you.</p>
<h4>Tab Groups</h4>
<p><img src="http://robert.accettura.com/wp-content/uploads/2011/03/20110321_tab_groups-620x519.jpg" alt="Tab groups" title="Tab Groups" width="620" height="519" class="aligncenter size-Blog2011 wp-image-5434" /><br />
Tab groups are simply a way to group your tabs so that you can stay a little more organized through the day.  For example you might group tabs for “personal” and “work” then switch between the two groups a few times per day, rather than navigating through 50 tabs to find what you’re looking for.  The tab groups interface also gives you a more visual way of navigating tabs and a search feature for searching for a particular tab.  I personally like it for searching through the dozen bugzilla bug reports I have open through the day. It takes a little effort to work into your workflow, and I’m personally not quite there yet, but once you do it seems to really be handy.  Again you can ignore it if you feel no need. </p>
<h4>Goodbye Status Bar</h4>
<p>The status bar you used to see at the bottom of the window is gone for most people.  If you have an add-on that relies on it, for now it will still show (one of my computers still has it).  Just another few pixels for web content.  It does take slight getting used to for the technical folks who watch the connections as we&#8217;ve been used to looking at that bar for 15 years or so.  For the rest of you, it&#8217;s just more web on your screen to fill with photos of cats and amusing captions.</p>
<h4>Polish</h4>
<p>Like every Firefox release, there’s little polish, cleanup, simplifications everywhere.  To many to go into each individual tweaks but you’ll see some, and others you correctly won’t see as unused and outdated options are gone.</p>
<h4>Sync</h4>
<p>Sync is now built-in.  Settings, passwords, bookmarks, history, open tabs.  It’s encrypted on your computer then sent, so the only one who can view the data is you.  I’ve called this the <a href="http://robert.accettura.com/blog/2011/03/03/wanted-native-js-encryption/">ultimate security model</a> in the past.  It&#8217;s optional, you don&#8217;t have to use it, you don&#8217;t loose anything by not using it, other than the ability to sync multiple computers obviously.</p>
<h4>Add-on Manager</h4>
<p><img src="http://robert.accettura.com/wp-content/uploads/2011/03/20110321_addon_manager-620x349.jpg" alt="Add-On Manager" title="Add-On Manager" width="620" height="349" class="aligncenter size-Blog2011 wp-image-5433" /><br />
The add-on manager got some love in 4.0.  </p>
<h4>OMG Fast!</h4>
<p>Firefox 4 is faster in almost every respect.  First of all, it seems much more responsive on startup.  Its JägerMonkey JavaScript engine has really made a difference in <a href="http://www.mozilla.com/en-US/firefox/RC/features/">various benchmarks</a> including Kraken, Sunspider, and V8.  It also has hardware accelerated graphics.  Even on Windows XP, which is still fully supported (ahem). </p>
<h4>Out Of Process Plugins (Mac)</h4>
<p>Windows and Linux got this in Firefox 3.6, the Mac version was a little behind schedule.  Plugins now run outside of the Firefox process.  That means when a plugin like Flash crashes, it won’t take out your entire browser.  As Windows users will tell you, this makes a big difference in terms of stability.</p>
<h4>Do Not Track</h4>
<p>Simply put it’s a way to tell websites and advertisers that <a href="https://wiki.mozilla.org/Privacy/Jan2011_DoNotTrack_FAQ">you don’t want to be tracked.</a>  It’s obviously up to websites/advertisers to honor the flag.</p>
<p>To enable it go into Preferences and under the “Advanced” tab select the “General” sub-tab and check the “Tell web sites I do not want to be tracked” checkbox.</p>
<h3>For Developers</h3>
<h4>Support for WebM Video</h4>
<p>I&#8217;ve discussed <a href="http://robert.accettura.com/?s=webm">WebM</a> on this blog before and won&#8217;t repeat what I&#8217;ve said before.  WebM is an open standard, it looks great.</p>
<h4>WebGL</h4>
<p><a href="https://developer.mozilla.org/en/WebGL">WebGL</a> is amazing.  Check out some of the demos by <a href="http://hacks.mozilla.org/category/webgl/">Mozilla</a> or gathered by the <a href="http://www.chromeexperiments.com/webgl">Chromium team</a>.</p>
<p>Take a look at <a href="http://videos.mozilla.org/serv/mozhacks/flight-of-the-navigator/">Flight of the Navigator</a> and remember: this is the web!</p>
<p><img src="http://robert.accettura.com/wp-content/uploads/2011/03/20110321_webgl_flight_of_the_navigator-620x313.jpg" alt="WebGL Flight Of The Navigator" title="WebGL Flight Of The Navigator" width="620" height="313" class="aligncenter size-Blog2011 wp-image-5432" /></p>
<h4>Fix for the CSS :visited hole</h4>
<p>Just a FYI, this <a href="http://hacks.mozilla.org/2010/03/privacy-related-changes-coming-to-css-vistited/">no longer works</a>.</p>
<h4>Web Console</h4>
<p><a href="https://developer.mozilla.org/en/Using_the_Web_Console">This</a> replaces the old Error Console and in many ways is almost like Firebug Lite.  It’s got some great features like HTTP headers and will make it a lot easier to quickly debug things if you’re using a computer without Firebug already installed.  If you are a web developer make sure to take a look.</p>
<h4>Do Not Track Header</h4>
<p>This is a feature that’s been in the news quite a bit, and mentioned above.  When enabled all HTTP requests will include the following header:</p>
<pre>
DNT: 1
</pre>
<h4>HTTP Strict Transport Security</h4>
<p><a href="http://blog.mozilla.com/security/2010/08/27/http-strict-transport-security/">A HTTP header</a> to tell browsers to only use HTTPS to communicate with the site.  As more sites start to switch to HTTPS this is a great way to mitigate some potential attack vectors.</p>
<h4>CSS border-radius</h4>
<p>If you’re a web developer or designer you’ve likely tried to do this before using images and realized how much it sucks.  Now you can do it with the <a href="https://developer.mozilla.org/en/CSS/border-radius">simplicity of CSS</a>.</p>
<h4>CSS -moz-calc</h4>
<p><a href="https://developer.mozilla.org/en/CSS/-moz-calc">Do calculations</a> to determine the size and shape of an object.  I can’t tell you how many times this would have been realy helpful. </p>
<h4>HTML5 Parser</h4>
<p>Faster, more powerful, more consistent, <a href="https://developer.mozilla.org/en/HTML/HTML5/HTML5_Parser">futuristic</a>!</p>
<h4>Partial Support For HTML5 Forms</h4>
<p><a href="https://developer.mozilla.org/en/HTML/HTML5/Forms_in_HTML5">Forms in HTML5</a> are pretty awesome.  I won’t go into detail on HTML5 forms here, but you should check them out.</p>
<h4>SVG Animation with SMIL</h4>
<p>Exactly what the title says.  I suspect <a href="https://developer.mozilla.org/en/SVG/SVG_animation_with_SMIL">this</a> will result in some really cool things over time, and some really pointless things that we’ll still find amusing.</p>
<p>Of course that&#8217;s not all, just the stuff I really find to be the most interesting.
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/?p=5428#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2011/03/609c5e5.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2011/03/21/things-youll-love-about-firefox-4-0/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Enterprise CSS/JS/HTML</title>
		<link>http://robert.accettura.com/blog/2010/10/19/enterprise-cssjshtml/</link>
		<comments>http://robert.accettura.com/blog/2010/10/19/enterprise-cssjshtml/#comments</comments>
		<pubDate>Wed, 20 Oct 2010 02:01:45 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Around The Web]]></category>
		<category><![CDATA[Funny]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/?p=4833</guid>
		<description><![CDATA[Here&#8217;s a fantastic trilogy of websites: Enterprise HTML / JS / CSS. What makes them so brilliant is that they are actually 100% true. I spent a summer cleaning up just this type of stuff. It&#8217;s true, it&#8217;s out there, &#8230; <a href="http://robert.accettura.com/blog/2010/10/19/enterprise-cssjshtml/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a fantastic trilogy of websites: Enterprise <a href="http://enterprise-html.com/">HTML</a> / <a href="http://enterprise-js.com/">JS</a> / <a href="http://enterprise-css.com/">CSS</a>.</p>
<p>What makes them so brilliant is that they are actually 100% true.  I spent a summer cleaning up just this type of stuff.  It&#8217;s true, it&#8217;s out there, it&#8217;s painful.
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/?p=4833#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2010/10/41071a1.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2010/10/19/enterprise-cssjshtml/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Optimizing @font-face For Performance</title>
		<link>http://robert.accettura.com/blog/2009/07/03/optimizing-font-face-for-performance/</link>
		<comments>http://robert.accettura.com/blog/2009/07/03/optimizing-font-face-for-performance/#comments</comments>
		<pubDate>Fri, 03 Jul 2009 17:47:57 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[firefox 3.5]]></category>
		<category><![CDATA[font]]></category>
		<category><![CDATA[font-face]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/?p=2834</guid>
		<description><![CDATA[You want to use @font-face, then you realize it&#8217;s got some downsides. First of all, it&#8217;s another http request, and we know that the golden rule of web performance is to keep http requests to a minimum. Secondly fonts aren&#8217;t &#8230; <a href="http://robert.accettura.com/blog/2009/07/03/optimizing-font-face-for-performance/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>You want to use <code>@font-face</code>, then you realize it&#8217;s got some downsides.  First of all, it&#8217;s another http request, and we know that the golden rule of web performance is to keep http requests to a minimum.  Secondly fonts aren&#8217;t even small files, they can be 50k+ in size.  Lastly the lag of fonts loading last means you page seems to morph into it&#8217;s final form.</p>
<p>Here&#8217;s a cool little optimization.  By using a <a href="http://www.ietf.org/rfc/rfc2397.txt">data: url</a> you can use the font inline by encoding in base64.  For example:</p>
<pre>

@font-face {
    font-family: &quot;My Font&quot;;
    src: url(&quot;data:font/opentype;base64,[base-encoded font here]&quot;);
}

body {
    font-family: &quot;My Font&quot;, serif
}
</pre>
<p>You can see this in action <a href="http://robert.accettura.com/wp-content/uploads/2009/07/embedded-font-face.html">here</a>.  This seems to work fine in Firefox 3.5, and Safari 4 (presumably any modern WebKit based browser).  Other browsers will simply act as if they don&#8217;t support <code>@font-face</code>.</p>
<p>In practice I&#8217;d recommend putting it in a separate stylesheet rather than inline css so that your pages are smaller and css can be cached for subsequent page views.</p>
<p>Data url&#8217;s are part of Acid2, which most modern browsers either pass or plan to pass.  If you use an Open Type font you&#8217;d get pretty decent compatibility (IE only supports Open Type).  Using True Type you&#8217;d still get pretty good compatibility sans IE.  Check the <a href="https://developer.mozilla.org/en/CSS/@font-face">@font-face page on MDC</a> for more details.  Unlike images, browsers that support <code>@font-face</code> are likely to support data: url&#8217;s as well, making this a pretty good solution.</p>
<p>Special thanks to <a href="http://openfontlibrary.fontly.org/">Open Font Library</a> for having some nice free fonts with awesome licensing.  This post was partially in response to a <a href="http://robert.accettura.com/blog/2009/06/29/font-face-hacks/#comment-765381">comment</a> left the other day on my <a href="http://robert.accettura.com/blog/2009/06/29/font-face-hacks/">@font-face hacks</a> blog post.
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/?p=2834#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2009/07/9752d87.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2009/07/03/optimizing-font-face-for-performance/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>@font-face Hacks</title>
		<link>http://robert.accettura.com/blog/2009/06/29/font-face-hacks/</link>
		<comments>http://robert.accettura.com/blog/2009/06/29/font-face-hacks/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 01:28:57 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[firefox 3.5]]></category>
		<category><![CDATA[font]]></category>
		<category><![CDATA[font-face]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/?p=2806</guid>
		<description><![CDATA[I&#8217;m going to make a bold prediction on the night before a certain web browser is scheduled gets an upgrade. @font-face (MDC) will change web design, but not just for typography. As I suggested a few days ago, to use &#8230; <a href="http://robert.accettura.com/blog/2009/06/29/font-face-hacks/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m going to make a bold prediction on the night before a certain web browser is scheduled gets an upgrade.  <code>@font-face</code> (<a href="https://developer.mozilla.org/en/CSS/@font-face">MDC</a>) will change web design, but not just for typography.  As I suggested <a href="http://robert.accettura.com/blog/2009/06/20/things-youll-love-about-firefox-3-5/">a few days ago</a>, to use a font on the web it needs to sit on a webserver so the browser can download it, hence the website is &#8220;distributing&#8221; the font.  Licensing for many fonts doesn&#8217;t currently permit this, making <code>@font-face</code> for fonts somewhat problematic and hard to use&#8230; at least today.</p>
<h3>Cool Trick!</h3>
<p><a href="http://stevesouders.com/hpws/rules.php">Rule #1</a> of Steve Souders popular book &#8220;<a href="http://www.amazon.com/gp/product/0596529309?ie=UTF8&#038;tag=accettura-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=0596529309">High Performance Web Sites</a>&#8221; is simply:</p>
<blockquote cite="http://stevesouders.com/hpws/rules.php"><p>
Make Fewer HTTP Requests
</p></blockquote>
<p>That said, <code>@font-face</code> can be essentially as an image sprite by creating your own font with the glyphs you want.  Unlike image sprites they aren&#8217;t hacky in nature requiring tricky coordinates, nor are they obnoxiously <a href="http://blog.vlad1.com/2009/06/22/to-sprite-or-not-to-sprite/">memory intensive</a> (and a drag on mobile devices).  Firefox also loads fonts last, so you can be assured it won&#8217;t slow down the rest of your page. They also degrade nicely for devices that don&#8217;t support them.</p>
<p>Of course this changes webdesign to use simpler icons and pick 1 color per glyph&#8230; but there are some pretty interesting enhancements for example the ability to scale. Fonts are designed to resize much better than an image.</p>
<p>The other caveat is that this can make your markup slightly ugly.  However it&#8217;s not so bad when your building something in JavaScript.  Consider for example implementing Pac-Man.  Rather than a dozen images, or some complex sprite you can simply move <code>&lt;em&gt;p&lt;/em&gt;</code> around.  You can have quite a few glyphs in 1 font file.</p>
<p>Of course you can also use <code>&lt;canvas/&gt;</code> or a <code>data:</code> url to embed images, but IE doesn&#8217;t support <code>&lt;canvas/&gt;</code> and only recently started supporting <code>data:</code>.  IE has supported OpenType (not TrueType) fonts since <a href="http://msdn.microsoft.com/en-us/library/ms530757%28VS.85%29.aspx">IE 4</a>.</p>
<p>I&#8217;d be curious if anyone actually implements this and how well it works in practice.  It&#8217;s not a true replacement for image sprites, but for a few cases, such as simple icons, it could actually do the trick.</p>
<h3>Um What?</h3>
<p>This trick can also be engineered to work against the way the web traditionally works.  For example, I could create a <a href="http://en.wikipedia.org/wiki/ROT13">ROT13</a>&#8216;d font or any other encoding I imagined.  This essentially lets you remap the way characters are on the page, and the way they appear.  For example on the page may appear:</p>
<pre>

&lt;span class=&quot;rot13font&quot;&gt;rknzcyr@qbznva.gyq&lt;/span&gt;
&lt;small&gt;&lt;strong&gt;Note:&lt;/strong&gt; Do not copy/paste my email address&lt;/small&gt;
</pre>
<p>That looks like a totally invalid address, but with a ROT13 font, you&#8217;d know what it is&#8230; though if you copy/paste it you&#8217;re going to get the encoded version.  (I could in theory course engineer some JS to ROT13 the string).  This also could deter some spam bots, which lore says have <a href="http://slashdot.org/story/09/06/23/173229/Has-Google-Broken-JavaScript-Spam-Munging">found ways around JS munging</a>.</p>
<h3>Conclusion</h3>
<p>Moral of the story: <code>@font-face</code> can be fun for more than just typography.  <a href="http://www.helveticafilm.com/">Cult of Helvetica</a> be damned&#8230; all you typography geeks.
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/?p=2806#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2009/06/c0f971d.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2009/06/29/font-face-hacks/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Printable Stylesheets To Save The Environment</title>
		<link>http://robert.accettura.com/blog/2009/02/05/printable-stylesheets-to-save-the-environment/</link>
		<comments>http://robert.accettura.com/blog/2009/02/05/printable-stylesheets-to-save-the-environment/#comments</comments>
		<pubDate>Fri, 06 Feb 2009 03:12:22 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[environment]]></category>
		<category><![CDATA[green computing]]></category>
		<category><![CDATA[printer]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/?p=2471</guid>
		<description><![CDATA[Printing is a really wasteful process. The obvious waste is paper, ink, and of course money. The less obvious waste is the carbon footprint of printers and making paper/ink. The internet is a notorious waste of paper. One could argue &#8230; <a href="http://robert.accettura.com/blog/2009/02/05/printable-stylesheets-to-save-the-environment/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Printing is a really wasteful process.  The obvious waste is paper, ink, and of course money.  The less obvious waste is the carbon footprint of printers and making paper/ink.</p>
<p>The internet is a notorious waste of paper.  One could argue there&#8217;s no need for printing online content since you could easily save it either as text, the entire page, or print to a PDF file (my personal preference).  The main source of waste is due to the design of the page resulting in sometimes several useless pages and 1 page of useful content.  The rest of them simply go in the recycling bin, or worse the trash.  Some clever users preview first and only print the pages they want.  Most just print.</p>
<p>There are a few software products out there that try and reduce the amount of wasted printing such as <a href="http://www.printgreener.com">GreenPrint</a>, though it requires installation, companies hate buying site licenses for this type of stuff, etc.  Personally I think they are a pain and prefer to do it myself.</p>
<p>If every site were to include a printable stylesheet, the number of wasted pages would drop dramatically.  </p>
<p>Without a printable stylesheet a short post on this blog would take 3 pages to print out, 2 of which were worthless navigational elements.  The pages are also awkward to read.  With a printable stylesheet the output not only looks nicer but is reduced to 1.  That saves ink, paper and sanity.</p>
<p>Separate printable pages suck.  They are so 1999.  Nobody goes there anymore and they often drop content such as images which you may want to have.</p>
<p>When you look at some of <a href="http://www.printgreener.com/earthday.html">GreenPrint&#8217;s statistics</a> you can&#8217;t help but wonder how much would be saved if more sites had printable stylesheets that tried to reduce the amount of unnecessary printing is done.  I&#8217;d guesstimate just getting rid of some useless design elements in printable output could likely reduce the amount of ink consumed by 30-50%.</p>
<p>For developers looking to get started A List Apart has a great <a href="http://www.alistapart.com/stories/goingtoprint/">tutorial</a> on them.  Most developers know how to do it, but printable stylesheets become an afterthought in the development process.
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/?p=2471#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2009/02/d9ff90f.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2009/02/05/printable-stylesheets-to-save-the-environment/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Secrets In Websites II</title>
		<link>http://robert.accettura.com/blog/2008/01/11/secrets-in-websites-ii/</link>
		<comments>http://robert.accettura.com/blog/2008/01/11/secrets-in-websites-ii/#comments</comments>
		<pubDate>Sat, 12 Jan 2008 02:25:49 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Around The Web]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[akamai]]></category>
		<category><![CDATA[analytics]]></category>
		<category><![CDATA[barack obama]]></category>
		<category><![CDATA[bill richardson]]></category>
		<category><![CDATA[campaign 2008]]></category>
		<category><![CDATA[chase]]></category>
		<category><![CDATA[chris dodd]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[democrat]]></category>
		<category><![CDATA[dennis kucinich]]></category>
		<category><![CDATA[duncan hunter]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[fred thompson]]></category>
		<category><![CDATA[global crossing]]></category>
		<category><![CDATA[hillary clinton]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[joe biden]]></category>
		<category><![CDATA[john edwards]]></category>
		<category><![CDATA[john mccain]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[mike gravel]]></category>
		<category><![CDATA[mike huckabee]]></category>
		<category><![CDATA[mitt romney]]></category>
		<category><![CDATA[mtv]]></category>
		<category><![CDATA[myspace]]></category>
		<category><![CDATA[popurls]]></category>
		<category><![CDATA[redhat]]></category>
		<category><![CDATA[republican]]></category>
		<category><![CDATA[ron paul]]></category>
		<category><![CDATA[rudy guliani]]></category>
		<category><![CDATA[secrets in websites]]></category>
		<category><![CDATA[stephen colbert]]></category>
		<category><![CDATA[tom tancredo]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/archives/2008/01/11/secrets-in-websites-ii/</guid>
		<description><![CDATA[This post is a follow up to the first Secrets In Websites. For those who don&#8217;t remember the first time, I point out odd, interesting, funny things in other websites&#8217; code. Yes it takes some time to put a post &#8230; <a href="http://robert.accettura.com/blog/2008/01/11/secrets-in-websites-ii/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This post is a follow up to the first <a href="http://robert.accettura.com/blog/2007/01/20/secrets-in-websites/">Secrets In Websites</a>.  For those who don&#8217;t remember the first time, I point out odd, interesting, funny things in other websites&#8217; code.  Yes it takes some time to put a post like this together, that&#8217;s why it&#8217;s just about a year since the last time.  Enough with the intro, read on for the code.</p>
<p><span id="more-1270"></span></p>
<h3>The Code</h3>
<h4>WordPress.com</h4>
<p>You&#8217;ll notice a comment sure to make any web developer laugh on WordPress.com&#8217;s <a href="http://wordpress.com/wp-login.php">login page</a></p>
<pre>

	&lt;link rel=&quot;stylesheet&quot; href=&quot;http://wordpress.com/wp-admin/wp-admin.css?version=MU&quot; type=&quot;text/css&quot; /&gt;
	&lt;!--[if IE]&gt;
		&lt;style type=&quot;text/css&quot;&gt;#login h1 a { margin-top: 35px; } #login #login_error { margin-bottom: 10px; }&lt;/style&gt;&lt; ![endif]--&gt;
	&lt;!-- Curse you, IE! --&gt;
</pre>
<p>The guys behind <a href="http://www.wordpress.com">WordPress</a> a <a href="http://www.webstandards.org/press/releases/20050601/">while back</a> took the site <a href="http://browsehappy.com/">BrowseHappy</a> under its wing.  WordPress has always been a strong believer in web standards, so this isn&#8217;t surprising (though still amusing).  Did you also know that the guys behind it (<a href="http://automattic.com/about/">Automattic</a>) don&#8217;t have job titles?  Unless you consider &#8220;Chief BBQ Taste Tester&#8221; to be a real job title.  <a href="http://www.photomatt.net">Matt</a>, I hope your job doesn&#8217;t kill you with a heart attack.</p>
<h4>Facebook</h4>
<p>The geniuses over at <a href="http://www.facebook.com">Facebook</a> feel the same and put the following on the top of their IE conditionally included <a href="http://static.ak.facebook.com/css/ie6.css?48:76473">stylesheets</a>:</p>
<pre>

/*  ------------------------------------------------------------------------
                    Facebook | IE/PC Hacks | getfirefox.com
    ------------------------------------------------------------------------  */
</pre>
<h4>popurls</h4>
<p>The ever so popular <a href="http://www.popurls.com">popurls</a> has the following comment in the header of the page.</p>
<pre>

&lt;!--

  __   __
 (  \,/  )
  \_ | _/  IN THE FUTURE EVERY URL WILL BE POPULAR FOR 1.5 SECONDS
  (_/ \_)                  - thomas and the wise popurls butterfly

--&gt;
</pre>
<h4>RedHat</h4>
<p><a href="http://www.redhat.com">RedHat</a> was one of the earlier corporate sites to redo itself into a standards based design.  They have great respect for those who came before them.  In their <a href="http://www.redhat.com/s/master.css">master css</a> file they have the following tribute as well as a little remark about Netscape 4.x:</p>
<pre>

/* 	redhat.com MASTER style sheet

	a tip of the red hat to Zeldman, Bowman, Meyer, Shea, Cederholm, Newhouse, Holzschlag,
	and many, many other css and web standards pioneers who have inspired us. 

	the css, layout and validation status of redhat.com is a work-in-progress. numerous
	web-building worker bees are working furiously to correct the bugs, minimize the hacks
	and validate the code. stay tuned. 

-------------------------------------------------------------------- created June 2004 */
@import url(&quot;global.css&quot;);
...
@import url(&quot;dig.css&quot;);

/* ---------------------------------------------------------------- ns4 styles - bah! */

table {
	border: 1px;
	}
...
</pre>
<h4>Panic Software</h4>
<p><a href="http://www.panic.com/">Panic Software</a> has a cool little piece of code for those who browse the product page for <a href="http://www.panic.com/coda/">Coda</a> (awesome product btw) with IE and don&#8217;t have at least version 6.0:</p>
<pre>

		&lt;!--[if lte IE 6]&gt;&lt;p id=&quot;iewarning&quot;&gt;&lt;img src=&quot;/extras/ripoff/images/ie-warning.gif&quot; alt=&quot;IE Warning&quot; title=&quot;We hear Firefox is nice!&quot; /&gt;&lt;/p&gt;&lt; ![endif]--&gt;
</pre>
<p>I hear it&#8217;s pretty nice too.</p>
<p>Panic also has a comment in the head of their homepage that reads:</p>
<pre>

&lt;!-- This homepage design is not long for this world. Enjoy it while you can! <img src='http://robert.accettura.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  --&gt;
</pre>
<h4>Twitter</h4>
<p><a href="http://twitter.com/">Twitter</a> (who redirects to drop the &#8216;www&#8217; btw) is a very popular service these days.  In their html they mark which server served up the data.  You&#8217;ll see it in the form:</p>
<pre>

  &lt;!-- served to you through a copper wire by bennu.twitter.com at 24 Nov 19:08 in 11 ms (d 0 / r 8). thank you, come again. --&gt;
</pre>
<p>Copper eh?  No fiber in your data center?  I won&#8217;t judge, as long as your bandwidth is plentiful.</p>
<h4>WordPress.com</h4>
<p>Here&#8217;s a bonus from <a href="http://wordpress.com/">WordPress</a>.  While many analytics programs use a 1px transparent &#8220;tracker gif&#8221; to manage statistics, WordPress did something a little different.  At the very bottom on the left hand side, you can see the face of WordPress analytics in all it&#8217;s tiny glory.</p>
<h4>Mozilla</h4>
<p>This technically applies to more than just Firefox.  You&#8217;d be surprised to see how many times <code>kungFuDeathGrip</code> is in the <a href="http://lxr.mozilla.org/mozilla/search?string=kungFuDeathGrip">code base</a>.</p>
<h4>Many Sites using Google Products/Services</h4>
<p>Many people have noticed strange Google tags on sites such as:</p>
<pre>

code
&lt;!--googleoff: index--&gt;
all
&lt;!--googleon: index--&gt;
over
</pre>
<p>This isn&#8217;t a &#8220;SEO&#8221; practice, despite some misconception on the web.  This is used by the Google Search Appliance, a product made by Google which many websites use to power their own search engines to tell the engine what to read and what to ignore.  It wouldn&#8217;t be practical for Google to use these &#8220;in the wild&#8221;.  The reason is that spammers could effectively hide an alternate website within those comments.  Google&#8217;s business is based largely on accurate search results.  Spammers have already tried to abuse the css property <code>display: none;</code>.  This would be even better.  You can find code like this on <a href="http://www.apple.com">Apple.com</a> among many other sites.</p>
<p>Webmasters <em>can</em> however optimize their side for AdSense using a technique <a href="http://google.com/support/adsense/bin/answer.py?answer=23168">recommended by Google</a>:</p>
<pre>

&lt;!-- google_ad_section_start --&gt;

&lt;!-- google_ad_section_end --&gt;
</pre>
<p>This tells Google to give weight to a certain part of your page when deciding what ad to display on the page.  This is good for cases where you feel other material on your page is influencing the ads and resulting in off-topic ads.</p>
<h3>Infrastructure/Platform</h3>
<h4>Microsoft</h4>
<p><a href="http://www.microsoft.com">Microsoft</a>&#8216;s offering against Linux and Apache is IIS on Windows.  Which one would expect they themselves use.  What they don&#8217;t tell you is that they also have used <a href="http://www.akamai.com/">Akamai</a> (with over <a href="http://www.akamai.com/html/about/facts_figures.html">25,000</a> servers), which uses <a href="http://news.zdnet.co.uk/software/0,1000000121,39115920,00.htm">Linux</a>.  They have used Akamai for many things like DNS, and caching files.  Rather than &#8220;Powered By Windows Server&#8221; maybe they should append &#8220;hiding behind Linux&#8221;.</p>
<h4>Myspace.com</h4>
<p><a href="http://www.myspace.com">Myspace.com</a> was previously Adobe/Macromedia&#8217;s model customer because it was written in <a href="http://www.adobe.com/products/coldfusion/">ColdFusion</a>, and said to be the biggest ColdFusion site on the net (and one of the biggest sites on the net).  Many think it still is, but it&#8217;s not.  While many url&#8217;s suggest it might be because they end in <code>.cfm</code> it&#8217;s actually running ASP.net and has been <a href="http://weblogs.asp.net/scottgu/archive/2006/03/25/Handling-1.5-Billion-Page-Views-Per-Day-Using-ASP.NET-2.0.aspx">since aprox, 2006</a>.  You can confirm this by viewing the headers on some of their pages.  You&#8217;ll see:</p>
<pre>
X-AspNet-Version: 2.0.50727
</pre>
<h4>MTV.com</h4>
<p><a href="http://www.mtv.com">MTV.com</a>&#8216;s site has search powered by a Google Search Appliance.  MTV is also owned by <a href="http://www.techcrunch.com/2007/03/13/5217/">Viacom who sued Google</a>, the parent company of YouTube.  The folks at MTV awesomely <a href="http://labsblog.mtv.com/category/site-relaunch/">admitted the irony during relaunch on their blog</a>.</p>
<h4>Global Crossing</h4>
<p>Tier 1 networking provider <a href="http://www.globalcrossing.com/">Global Crossing</a> really wants you to know how fast they are.  Doing a trace could turn up something like this:</p>
<pre>
  7    15 ms    13 ms    14 ms  COMCAST-IP-SERVICES-LLC.tengigabitethernet1-4.ar5.NYC1.gblx.net [64.208.222.58]
  8    14 ms    13 ms    13 ms  tengigabitethernet1-4.ar5.NYC1.gblx.net [64.208.222.57]
</pre>
<p>Yes that&#8217;s right, they use 10 GigE!  Just FYI.</p>
<h3>Goofy</h3>
<h4>Firefox 2.0</h4>
<p>In Firefox 2.0, go to &#8220;About Firefox&#8221; (under the help menu for Windows, under the Firefox menu for Mac), and click on credits.  You&#8217;ll notice <a href="http://www.comedycentral.com/shows/the_colbert_report/index.jhtml">Stephen Colbert</a>.  He wrote it single handedly, but added some other names because he&#8217;s a nice guy.  Bonus: I&#8217;m on the list too.  Above him because I&#8217;m <a href="http://robert.accettura.com/blog/2007/11/17/who-dropped-the-soap/">better</a> than him.  That&#8217;s right, I said it.</p>
<h3>Handy</h3>
<h4>Chase</h4>
<p>Chase for some reason puts it&#8217;s login form in plain text.  The submit url is https, but it doesn&#8217;t feel right.  They do have a SSL enabled login page, but for some reason they hide it.  Here it is for those interested:</p>
<p><a href="https://chaseonline.chase.com/online/home/sso_co_home.jsp">https://chaseonline.chase.com/online/home/sso_co_home.jsp</a></p>
<h4>Google</h4>
<p>For some reason, most of Google&#8217;s services are insecure by default.  By simply going to https, you can use SSL for added security.<br />
Gmail: <a href="https://mail.google.com">https://mail.google.com</a><br />
Google Calendar: <a href="https://www.google.com/calendar">https://www.google.com/calendar</a><br />
Google Reader: <a href="https://www.google.com/reader">https://www.google.com/reader</a></p>
<p>On the <a href="2/">next page</a> is the 2008 US Presidential Candidate Campaign sites&#8230;</p>
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/archives/2008/01/11/secrets-in-websites-ii/#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2008/01/c850371.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2008/01/11/secrets-in-websites-ii/feed/</wfw:commentRss>
		<slash:comments>69</slash:comments>
		</item>
		<item>
		<title>Benchmarking And Testing Browsers</title>
		<link>http://robert.accettura.com/blog/2007/12/18/benchmarking-and-testing-browsers/</link>
		<comments>http://robert.accettura.com/blog/2007/12/18/benchmarking-and-testing-browsers/#comments</comments>
		<pubDate>Wed, 19 Dec 2007 03:25:28 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[acid2]]></category>
		<category><![CDATA[benchmark]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[gecko]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jsfunfuzz]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[safari]]></category>
		<category><![CDATA[software-development]]></category>
		<category><![CDATA[sunspider]]></category>
		<category><![CDATA[test]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/archives/2007/12/18/benchmarking-and-testing-browsers/</guid>
		<description><![CDATA[When people talk about open source they often talk about the products, not the process. That&#8217;s not really a bad thing (it is after all about the product), but it overlooks some really interesting things sometimes. For example open source &#8230; <a href="http://robert.accettura.com/blog/2007/12/18/benchmarking-and-testing-browsers/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>When people talk about open source they often talk about the products, not the process.  That&#8217;s not really a bad thing (it is after all about the product), but it overlooks some really interesting things sometimes.  For example open source tools used in open development.  </p>
<p>A few months ago Jesse Ruderman introduced <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=jsfunfuzz">jsfunfuzz</a>, which is a tool for fuzz testing the js engine in Firefox.  It turned up <a href="http://www.squarefree.com/2007/08/02/introducing-jsfunfuzz/">280 bugs</a> (many already fixed).  Because the tool itself is not horded behind a firewall it&#8217;s also helped <a href="http://www.squarefree.com/2007/08/02/introducing-jsfunfuzz/#comment-3799">identify several Safari and Opera bugs</a>.  It&#8217;s a <a href="http://ejohn.org/blog/javascript-fuzz-testing/">pretty cool</a> way to find some bugs. </p>
<p>The WebKit team has now released <a href="http://webkit.org/blog/152/announcing-sunspider-09/">SunSpider</a> a javascript benchmarking tool.  Something tells me this will lead to some performance improvements in everyone&#8217;s engine.  How much will be done for Firefox 3.0 is a little questionable considering beta 2 is nearing release, though you never know.  There&#8217;s been some nice work on <a href="http://blog.pavlov.net/2007/12/18/bye-bye-allocations/">removing allocations recently</a>.  So just because it&#8217;s beta, you can&#8217;t always assume fixes will be minor in scope.</p>
<p>Another test that many are familiar with is <a href="http://www.webstandards.org/action/acid2/">Acid 2</a> which essentially is checking CSS support among browsers.  Ironically this one too was released when Gecko is somewhat <a href="http://weblogs.mozillazine.org/roc/blog/2005/04/acid2.html">late</a> in the development cycle.</p>
<p>Efforts like this really help web development by allowing browser developers to have a baseline to compare their strengths and weaknesses.  Having a little healthy competition as motivation can be pretty helpful too <img src='http://robert.accettura.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  .
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/archives/2007/12/18/benchmarking-and-testing-browsers/#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2007/12/bcb41cc.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2007/12/18/benchmarking-and-testing-browsers/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Pinch Hitting For CSS&#8230; SVG</title>
		<link>http://robert.accettura.com/blog/2007/02/03/pinch-hitting-for-css-svg/</link>
		<comments>http://robert.accettura.com/blog/2007/02/03/pinch-hitting-for-css-svg/#comments</comments>
		<pubDate>Sun, 04 Feb 2007 02:50:58 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[svg]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/archives/2007/02/03/pinch-hitting-for-css-svg/</guid>
		<description><![CDATA[I was thinking the other day about CSS shortcomings. CSS is good intentioned, and usable, but it&#8217;s also very unintuitive. It&#8217;s far from friendly to designers, and makes some simple tasks rather complicated (such as multi-column layouts, and vertical positioning). &#8230; <a href="http://robert.accettura.com/blog/2007/02/03/pinch-hitting-for-css-svg/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I was thinking the other day about CSS shortcomings.  CSS is good intentioned, and usable, but it&#8217;s also very unintuitive.  It&#8217;s far from friendly to designers, and makes some simple tasks rather complicated (such as multi-column layouts, and vertical positioning). Of course <a href="http://www.w3.org/Style/CSS/current-work">CSS3</a> is coming, but is there some other way?</p>
<p><span id="more-1275"></span>It got me thinking.  If SVG can accurately handle percentages, why couldn&#8217;t SVG be the layout engine that CSS has struggled to be?   Leaving CSS to do what it does very well (text manipulation).  For example:</p>
<pre>

&lt; !DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01//EN&quot;&gt;
&lt;html&gt;
 &lt;head&gt;
  &lt;title&gt;Sample with SVG Binding&lt;/title&gt;
  &lt;link rel=&quot;stylesheet&quot; media=&quot;all&quot; href=&quot;/style/tabbed-pages&quot;&gt;&lt;/link&gt;
  &lt;link rel=&quot;layout&quot; media=&quot;all&quot; href=&quot;/layout/test.svg&quot;&gt;&lt;/link&gt;
&lt;/head&gt;
 &lt;body id=&quot;robert.accettura.com&quot;&gt;
 &lt;div id=&quot;header&quot;&gt;
  &lt;h1&gt;Header&lt;/h1&gt;
 &lt;/div&gt;
 &lt;div id=&quot;content&quot;&gt;
    &lt;h2&gt;This is a title&lt;/h2&gt;
&lt;p&gt;Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer cursus erat. Fusce pharetra. Nullam vestibulum fringilla augue. Quisque sed neque eu nisl malesuada gravida. Mauris arcu lacus, malesuada sit amet, imperdiet sit amet, laoreet nec, magna. In pretium lacinia eros. In vel eros. Nullam sed orci. Integer sollicitudin ante suscipit diam. Sed tincidunt, libero et bibendum mattis, eros lacus nonummy purus, eu interdum erat augue nec tellus. Donec at lacus. Aliquam luctus. In hac habitasse platea dictumst. Vivamus pede urna, auctor eget, aliquet nec, auctor non, libero. Nulla facilisi. Etiam ornare fermentum est. In tempus porta dolor. Phasellus at felis.&lt;/p&gt;

&lt;p&gt;Vivamus sollicitudin justo vel turpis cursus suscipit. Mauris id nisi. Sed metus ipsum, ultrices ac, dignissim in, auctor ut, dui. Aliquam tempor mollis metus. Sed vitae neque vitae massa interdum viverra. Ut feugiat ipsum vitae purus. Maecenas consectetuer pede ac ante. Aenean pharetra. Nulla facilisi. Cras tincidunt massa a augue. Sed a augue. Integer magna massa, vestibulum a, semper ut, vehicula a, dui. Fusce dignissim venenatis lectus. Fusce nisl. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nulla porttitor lorem et purus. Praesent posuere tempor lectus. Donec a lorem. Praesent ante ligula, convallis et, porta nec, dapibus vel, odio. Integer tellus ipsum, viverra nec, suscipit in, convallis quis, mi.
 This is a Title This is a header&lt;/p&gt;
&lt;p&gt;Posted By: &lt;a href=&quot;#&quot;&gt;Robert&lt;/a&gt;&lt;/p&gt;
 &lt;/div&gt;
&lt;div id=&quot;sidebar&quot;&gt;
Sidebar
&lt;/div&gt;
&lt;div id=&quot;footer&quot;&gt;
This is the footer
&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>And the new svg layout:</p>
<pre>

&lt; ?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;
&lt;svg xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot;
   xmlns:cc=&quot;http://web.resource.org/cc/&quot;
   xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;
   xmlns:svg=&quot;http://www.w3.org/2000/svg&quot;
   xmlns=&quot;http://www.w3.org/2000/svg&quot;
   xmlns:inkscape=&quot;http://www.inkscape.org/namespaces/inkscape&quot;
   width=&quot;100%&quot;
   height=&quot;100%&quot;
   id=&quot;robert.accettura.com&quot;
   version=&quot;1.0&quot;&gt;
  &lt;g id=&quot;robert.accettura.com&quot;
     transform=&quot;translate(-274,-107.6479)&quot;&gt;
    &lt;rect style=&quot;opacity:0.84736843;fill:black;fill-opacity:1;fill-rule:nonzero;stroke:#34343c;stroke-width:1.33481812;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1&quot;
       id=&quot;header&quot;
       width=&quot;100%&quot;
       height=&quot;86.7892&quot;
       x=&quot;274.66742&quot;
       y=&quot;108.31531&quot; /&gt;
    &lt;rect style=&quot;opacity:0.84736843;fill:#fff;fill-opacity:1;fill-rule:nonzero;stroke:#34343c;stroke-width:0.82362348;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1&quot;
       id=&quot;content&quot;
       width=&quot;100%&quot;
       height=&quot;282.67288&quot;
       x=&quot;0&quot;
       y=&quot;194.84891&quot; /&gt;
    &lt;rect style=&quot;opacity:0.84736843;fill:#f2f2f2;fill-opacity:1;fill-rule:nonzero;stroke:#34343c;stroke-width:0.82362348;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1&quot;
       id=&quot;sidebar&quot;
       width=&quot;100%&quot;
       height=&quot;282.67288&quot;
       x=&quot;100%&quot;
       y=&quot;194.84891&quot; /&gt;
    &lt;rect style=&quot;opacity:0.84736843;fill:black;fill-opacity:1;fill-rule:nonzero;stroke:#34343c;stroke-width:2.00462627;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1&quot;
       id=&quot;footer&quot;
       width=&quot;100%&quot;
       height=&quot;38.995373&quot;
       x=&quot;275.00232&quot;
       y=&quot;477.3645&quot; /&gt;
  &lt;/g&gt;
&lt;/svg&gt;
</pre>
<p>And here is the above SVG <a href="http://robert.accettura.com/wp-content/uploads/2007/02/20070203_sample.svg" title="SVG Example">example</a> in case you want to view it in your SVG-capable browser.</p>
<p>This SVG was made using <a href="http://inkscape.org/">Inkscape</a>, and hand edited by me (I don&#8217;t code SVG, so it&#8217;s a true &#8220;hack&#8221;).  Total time to do this: 5 min.</p>
<p>The trick here would be the id&#8217;s of the elements in the SVG align with the elements of the html.  All subelements are rendered within the SVG&#8217;s matching element.</p>
<p>The end result would be something like this:</p>
<p><img src="http://robert.accettura.com/wp-content/uploads/2007/02/20070203_svg.jpg" alt="SVG HTML Rendering" class="centered" /></p>
<p>So is this a reasonable thing to do?  I don&#8217;t know, but considering how far SVG editing has come, having a vector based layout language sounds really ideal.  Something where a tool can do most of the hard work is ideal.  Something intuitive is ideal.</p>
<p>Using gzip on SVG also yields decent results.  So file size wouldn&#8217;t be too bad.</p>
<p>The technical side of implementing such a thing on a browser may be a whole other deal.  But from a developer point of view, it would be a really cool way to create webpages.  </p>
<p>So there&#8217;s my excessively random thought of the day.
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/archives/2007/02/03/pinch-hitting-for-css-svg/#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2007/02/bb04af0.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2007/02/03/pinch-hitting-for-css-svg/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

