<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>Catch My Fame</title>
	
	<link>http://www.catchmyfame.com</link>
	<description>A web designoper's journal</description>
	<lastBuildDate>Fri, 12 Mar 2010 13:16:05 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/CatchMyFame" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="catchmyfame" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Labels – An Easy Way to Make Forms Better for Everyone</title>
		<link>http://www.catchmyfame.com/2010/03/11/labels-an-easy-way-to-make-forms-better-for-everyone/</link>
		<comments>http://www.catchmyfame.com/2010/03/11/labels-an-easy-way-to-make-forms-better-for-everyone/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 15:16:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://www.catchmyfame.com/?p=495</guid>
		<description><![CDATA[I’m sure you’ve filled out a form on a website and at some point gotten a message about not completing a required field, only to find that one of the boxes you thought you clicked on never received your click. Sure you probably clicked close to the button or box when you filled out the [...]]]></description>
			<content:encoded><![CDATA[<p>I’m sure you’ve filled out a form on a website and at some point gotten a message about not completing a required field, only to find that one of the boxes you thought you clicked on never received your click. Sure you probably clicked close to the button or box when you filled out the form, but when it comes to clicking, close doesn’t count. So then you went back over the whole form and made sure that the checkbox or radio button was properly clicked. The thing is, if the person who designed the form was aware of the mysterious &lt;label&gt; tag, then odds are you never would have had to go back and correct the mistake in the first place.</p>
<h3>The &lt;label&gt; Tag</h3>
<p>The label tag makes completing forms easier. The main point of the label tag is to provide a usability improvement for mouse users. According to the W3C: “Some form controls automatically have labels associated with them (press buttons) while most do not (text fields, checkboxes and radio buttons, and menus).  The LABEL element is used to specify labels for controls that do not have implicit labels”.</p>
<p>So what does the label tag do for us? Basically it allows you to extend the clickable area for most form elements. For example, instead of having to click on a radio button, you can click the button <strong>or</strong> some text that’s been enclosed in a label tag. While a typical radio button might appear like:</p>
<pre>&lt;input name=“option1” type=“radio” /&gt; Click here to select option 1</pre>
<p>The same button with a label could look like either:</p>
<pre>&lt;label&gt;&lt;input name=“option1” type=“radio” /&gt; Click here to select option 1&lt;/label&gt;</pre>
<p>or</p>
<pre>&lt;input name=“option1” type=“radio” id=“option1” /&gt; &lt;label for=”option1”&gt;Click here to select option 1&lt;/label&gt;</pre>
<p>Notice the differences between these two examples. In the first example, the input element and associated text have been wrapped within a label tag (implicitly associated). This is the easiest way to use the label tag; however in some cases the text you want to associate with a form element may not be adjacent to it. This is where the second example comes in handy. Here, the associated text is wrapped by the label tag, and the label tag has a “for” attribute which specifies the id of the element to associate the label&#8217;s contents with (explicitly associated). In this case, we use the id attribute of the input element “option1” in our label’s for attribute. The end result is identical from the user’s perspective.  Labels also allow you to target the text of form elements so that you can style them without any extra div or spans tags. Pretty handy.</p>
<p>Check out this example that shows two simple forms; one without labels and one with.</p>
<p id="example"><div class="iframe-wrapper">
  <iframe src="/misc/labels.html" scrolling="no" frameborder="0" style="height:260px;width:600px;">Please upgrade your browser</iframe>
</div>
<p>If you click on the various elements on the form on the left, you&#8217;ll see the only way to make choices is to click exactly on the control, whereas on the form on the right, not only can you click on any of the form controls, but you can click on the text associated with the control. And in the table example, you can even click the space around the control (the blank areas in the table cell) which allows you to easily select the radio buttons.</p>
<p>Also note that labels help users that have screen readers when they access forms. Screen readers will read out the label text and then the form elements associated with it. Without label tags, most forms are just read as list of items with the text coming together (e.g. first name, last name, email address) followed by a list of form fields (e.g. input box first name, input box last name, input box email, etc). With label tags added, screen readers read the label correctly along with the input field it’s associated with.</p>
<p>While the label tag is nothing new, some developers forget how beneficial they are while others don&#8217;t know they exist. So the next time you&#8217;re designing a form, remember that people don&#8217;t like to have to hit tiny targets with their mouse when they can just as easily click in the vicinity to accomplish the same goal.</p>
<p>﻿</p>

<p><a href="http://feedads.g.doubleclick.net/~a/RcqeE9ovuVy8C8M3Eo9mDZ0W4Xk/0/da"><img src="http://feedads.g.doubleclick.net/~a/RcqeE9ovuVy8C8M3Eo9mDZ0W4Xk/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/RcqeE9ovuVy8C8M3Eo9mDZ0W4Xk/1/da"><img src="http://feedads.g.doubleclick.net/~a/RcqeE9ovuVy8C8M3Eo9mDZ0W4Xk/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.catchmyfame.com/2010/03/11/labels-an-easy-way-to-make-forms-better-for-everyone/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Narrow Minded</title>
		<link>http://www.catchmyfame.com/2010/03/01/narrow-minded/</link>
		<comments>http://www.catchmyfame.com/2010/03/01/narrow-minded/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 02:42:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://www.catchmyfame.com/?p=492</guid>
		<description><![CDATA[Recently I was checking out some code written many years ago by another developer, and as I was hacking it up to be re-used, I started wondering why he had decided to split up his lines of code so that they were very narrow. Comments, for example, that were a few sentences long ended up [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I was checking out some code written many years ago by another developer, and as I was hacking it up to be re-used, I started wondering why he had decided to split up his lines of code so that they were very narrow. Comments, for example, that were a few sentences long ended up spanning nearly a dozen lines when they could easily exist on just a couple of lines. It was then that I noticed that he had been wrapping his text at 80 columns – in other words, each line contained no more than 80 characters. It&#8217;s been a long time since I forced myself to wrap code at 80 columns, either because what I had written was concise to begin with, or because no one else would be looking at the code and it just didn&#8217;t matter, and I had almost forgotten why people did this in the first place.</p>
<p>I’ve seen code wrapped at 80 columns plenty of times before, but something about picking apart this code at that moment made me suddenly ask why. What was so special about this 80 column “standard” and why was it seen throughout the programming world? When I first started out coding this was just assumed to be the way to do things but I had never fully heard an explanation as for why this was done.</p>
<p>As it turns out the answer lies in old technology and tradition. In the early days of coding,  text based terminal displays were only 80 characters wide, so any lines longer than 80 characters needed to be wrapped. There just wasn’t any choice in the matter. Remember that GUIs and mice didn’t exist back then and scrolling was typically done only vertically. Some people believe that the even older computing method of using punch cards, which also typically had 80 columns, is the reason for this style of coding, however while it may have influenced the design of those old terminals, I don’t believe that punch cards directly gave way to practice of coding text at 80 columns.</p>
<p>Now since virtually no one uses an old terminal to write code, and today’s monitors are larger and have larger display resolution than older machines, why do we still see this? The answer? Tradition. Well that and readability. While most modern code editors will let you type a single line for as long as you want, reading that line becomes a huge pain in the ass. You’re forced to scroll horizontally to the right to read the code or comment, and then scroll back to the left to get back to the rest of the code. While an 80 column limit might seem constrictive or limiting, it actually makes code easier to read, and can help you write better code by making you find ways to shrink your code down to fit in one line. Another advantage to limiting the characters per line is code comparison. By staying with the 80 column rule you can usually fit two files side by side and examine them line by line quite easily.</p>
<p>Oh and while 80 columns is sort of a standard, 72 and 76 column layout are also quite common, but slightly more restrictive. Personally I am lazier than I like to admit and I often don’t pay a load of attention to how many columns each line of my code takes up. But that’s being both a bit lazy and selfish. By making your code readable, it helps you and anyone else looking at it&#8230;and you just know you’re going to need another set of eyes looking at your code at some point to help ferret out a bug down the line. And while I’m no advocate for 80 columns, if you stick with a layout that makes your code easy to read why not pick something like 100, 120, or 132 columns now that most people have larger monitors? Being lazy I also don’t think that any of this should be a rule but more of a suggestion or guideline. Bottom line, once you get your code to work the way you want it to, why not make it look good and improve the readability at the same time?</p>

<p><a href="http://feedads.g.doubleclick.net/~a/oTeSMYhSZsTnqJFZOhW1xhY2_2k/0/da"><img src="http://feedads.g.doubleclick.net/~a/oTeSMYhSZsTnqJFZOhW1xhY2_2k/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/oTeSMYhSZsTnqJFZOhW1xhY2_2k/1/da"><img src="http://feedads.g.doubleclick.net/~a/oTeSMYhSZsTnqJFZOhW1xhY2_2k/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.catchmyfame.com/2010/03/01/narrow-minded/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Stupidity of Income Taxes and the IRS</title>
		<link>http://www.catchmyfame.com/2010/02/18/the-stupidity-of-income-taxes-and-the-irs/</link>
		<comments>http://www.catchmyfame.com/2010/02/18/the-stupidity-of-income-taxes-and-the-irs/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 20:43:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Rants]]></category>

		<guid isPermaLink="false">http://www.catchmyfame.com/?p=487</guid>
		<description><![CDATA[The other week I read a great article in the New York Time about the IRS and income taxes and how archaic our entire system for reporting our income is. You&#8217;re probably saying no kidding genius, tell me something else I don&#8217;t know. Well to put a fine point on the problem, I&#8217;ll cite this [...]]]></description>
			<content:encoded><![CDATA[<p>The other week I read a <a href="http://www.nytimes.com/2010/01/24/business/24digi.html">great article in the New York Time about the IRS and income taxes</a> and how archaic our entire system for reporting our income is. You&#8217;re probably saying no kidding genius, tell me something else I don&#8217;t know. Well to put a fine point on the problem, I&#8217;ll cite this paragraph from the story:</p>
<blockquote><p>Requiring taxpayers to file returns without being told what the  government already knows makes as much sense “as if Visa sent customers a  blank piece of paper, requiring that they assemble their receipts, list  their purchases — and pay a fine if they forget one,” said Joseph  Bankman, a professor at the Stanford Law School.</p></blockquote>
<p>In other words, why in 2010 are we still burdened by the same ridiculous, error-prone system, that is decades old, that everyone (except accountants) hates? Most people either pay someone to prepare their taxes or they buy software and do it themselves. There are also those who use free software to prepare their taxes, but regardless of how you do it, it takes time, sometimes money, and is an endlessly annoying task.</p>
<blockquote><p>In the digital age, filing income tax returns should be a snap. The  important data from employers and financial institutions have already  been sent to the government’s computers. Yet taxpayers are still  required to perform the anachronistic chore of preparing a return from  scratch. And, in many cases, they pay a software company for the  privilege.</p></blockquote>
<p>I highly encourage you to read this article and start thinking of how much better this annual root canal could be. I just got mine done and it made me sick.</p>
<p>Update: I may be disgruntled but I&#8217;m not as angry<a href="http://www.msnbc.msn.com/id/35460268/ns/us_news-life/"> as this guy</a>.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/jKCpE8qg7nM-TTdTj6IBJJvF93k/0/da"><img src="http://feedads.g.doubleclick.net/~a/jKCpE8qg7nM-TTdTj6IBJJvF93k/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/jKCpE8qg7nM-TTdTj6IBJJvF93k/1/da"><img src="http://feedads.g.doubleclick.net/~a/jKCpE8qg7nM-TTdTj6IBJJvF93k/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.catchmyfame.com/2010/02/18/the-stupidity-of-income-taxes-and-the-irs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Thumbnails in the Infinite Carousel</title>
		<link>http://www.catchmyfame.com/2010/02/03/thumbnails-in-the-infinite-carousel/</link>
		<comments>http://www.catchmyfame.com/2010/02/03/thumbnails-in-the-infinite-carousel/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 00:48:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.catchmyfame.com/?p=472</guid>
		<description><![CDATA[One question I frequently get about the Infinite Carousel jQuery plugin focuses on the  way that I chose to create the thumbnail images. Probably the biggest  criticism is that the thumbnail image is just a tiny part of the overall  image and in some cases doesn&#8217;t help distinguish the images that make [...]]]></description>
			<content:encoded><![CDATA[<p>One question I frequently get about the <a href="http://www.catchmyfame.com/catchmyfame-jquery-plugins/">Infinite Carousel</a> jQuery plugin focuses on the  way that I chose to create the thumbnail images. Probably the biggest  criticism is that the thumbnail image is just a tiny part of the overall  image and in some cases doesn&#8217;t help distinguish the images that make  up the carousel. For example, if the upper left corner of all your  images is say sky blue, then all the thumbnails may end up looking  alike.</p>
<p>For those of you that haven&#8217;t looked at the code that  generates the thumbnails, the plugin uses the individual carousel images  as the background image (CSS background-image) for each respective  thumbnail div. I did this primarily for speed. By reusing the carousel  images as the background images for the thumbnails, there&#8217;s no added  processing needed to create the backgrounds. The trade off here is  pretty obvious; speed for recognition.</p>
<p>For many images this works out  just fine, but for some it doesn&#8217;t. Therefore I have come up with two  alternatives for better thumbnail images. I will present these options  here, but I am not yet making this part of the plugin itself. Your  feedback will determine if a future version of the infinite carousel  will incorporate one of these new methods to generate thumbnails.</p>
<h3>Method  #1 &#8211; HTML</h3>
<p>The other easy solution to creating thumbnail is to simply  resize the carousel images to fit into a smaller area. The biggest  issue with this resizing the individual images and using them as  thumbnail images is that a) the quality degrades (pixelization) and b)  the aspect ratio may not be the same as the original image. There&#8217;s  nothing you can do about the quality when you take a large image and  change the width and height attributes in a web page. Thems is just the  facts of web life. An images resized by altering its dimensions will end  up pixelated to some degree. Not the end of the world. The aspect ratio  can also be overcome by properly calculating the correct width and  height for thumbnails based on your full size images. For example, if  your images are 800&#215;600, setting a width and height for your thumbnails  of 40 pixels would end up squashing the image. However if you set them  to 40&#215;30 then they would better represent the actual images.</p>
<p><a href="/jquery/infinitecarousel2/demo/thumbmod/" target="_blank">Click here for an example of method #1</a>.</p>
<h3>Method  #2 &#8211; PHP</h3>
<p>Another solution is to generate properly resized thumbnails  automatically using the proper aspect ratio using PHP,  so that the smaller image is  the proper size and not pixelated. The trade off here is processor  utilization. If you have a lot of traffic to your site then without some  sort of caching mechanism, the constant thumbnail generation could end  up being a real drain on your server. The aspect ratio isn&#8217;t as much of a  problem with the PHP solution as the PHP script that generates the  thumbnails can easily be coded to generate the them using the same  aspect ratio as the full size images.</p>
<p><a href="/jquery/infinitecarousel2/demo/thumbmod/index.php" target="_blank">Click here for an example of method #2</a>.</p>
<h3>Method #3?</h3>
<p>While I did say there were two  alternatives for the thumbnail issue, there does exist a third option &#8212;  manually creating the thumbnail images. You could generate your own scaled  down versions of your carousel images and then point the plugin to a  folder of thumbnails. This would require extra work in creating and  managing more images, increase the number of requests to the server  (unless we used sprites), and also require some sort of special naming  convention so that the plugin could correlate images with their  respective thumbnails. This would increase the quality of the images and  keep server processing to a minimum, at the expense of giving you more  work in creating and managing images. I&#8217;m not big on more work myself,  but to each his own.</p>
<p>One issue with using either the HTML or PHP  solution is that since we&#8217;re moving from using a background image to  filling the div with an image, we can&#8217;t as easily place numbers on the  thumbnails as we did previously. It can be done, but now it would  require CSS to position the number over the image in the div.</p>
<p>Personally  I&#8217;m leaning toward method #1 as the most viable solution. As long as  your thumbnails aren&#8217;t tiny, scaling the full size images down should  give fairly decent results and not cost anything extra in terms of  server requests or processing. View the source code of the first example&#8217;s modified carousel code to see the two lines that were changed.</p>
<p>If you&#8217;d like to have the PHP script used in method #2, post a comment and if I get enough interest I&#8217;ll post the source.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/5Y3UY6XW9k6RikKi3QjlJeYXweg/0/da"><img src="http://feedads.g.doubleclick.net/~a/5Y3UY6XW9k6RikKi3QjlJeYXweg/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/5Y3UY6XW9k6RikKi3QjlJeYXweg/1/da"><img src="http://feedads.g.doubleclick.net/~a/5Y3UY6XW9k6RikKi3QjlJeYXweg/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.catchmyfame.com/2010/02/03/thumbnails-in-the-infinite-carousel/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>The Week In Review: iPads, Chrome, Firefox, and PayPal</title>
		<link>http://www.catchmyfame.com/2010/01/28/the-week-in-review-ipads-chrome-firefox-and-paypal/</link>
		<comments>http://www.catchmyfame.com/2010/01/28/the-week-in-review-ipads-chrome-firefox-and-paypal/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 16:55:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Rants]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.catchmyfame.com/?p=465</guid>
		<description><![CDATA[Wow, what a week. For a web developer/designer/tech lover there has been a lot of new information in this first month of 2010 (at last we get to use the word &#8220;twenty&#8221; to describe the new decade &#8212; twenty-oh-four never rolled off the tongue). Not only did two of the best browsers get some nice [...]]]></description>
			<content:encoded><![CDATA[<p>Wow, what a week. For a web developer/designer/tech lover there has been a lot of new information in this first month of 2010 (at last we get to use the word &#8220;twenty&#8221; to describe the new decade &#8212; twenty-oh-four never rolled off the tongue). Not only did two of the best browsers get some nice updates, but Apple finally released their long-rumored tablet and Microsoft told users to stop using IE6. Oh, and then there&#8217;s PayPal.</p>
<h3>Firefox and Chrome</h3>
<p>First off, Mozilla and Google both released updates to their web browsers. Firefox 3.6 is out now, and in addition to some bug fixes it introduces eye candy known as &#8220;personas&#8221;, stale plugin protection, downloadable web font (WOFF)  support, support for new CSS attributes such as gradients, background sizing,  and pointer events, and support for new DOM and HTML5 specifications including the drag &amp; drop and file API, which allow for more interactive  web pages.</p>
<p>Google released the fourth version of their Chrome browser which added the ability to add extensions and sync bookmarks across multiple computers.  They also have added more HTML 5 support including   LocalStorage, Database API, WebSockets, and more. I like Chrome, but I still haven&#8217;t switched to using it as my primary browser (still Firefox). I think it&#8217;s making good strides but for the time being I still use it  mostly for testing. I like it, don&#8217;t get me wrong, it&#8217;s just that Firefox and I are old friends and well, I don&#8217;t see a need to dump Firefox just yet.</p>
<h3>The <span style="text-decoration: line-through;">iTablet</span> <span style="text-decoration: line-through;">iSlate</span> iPad</h3>
<p>Just yesterday Apple released their long awaited tabled, the iPad. Almost instantly the jokes about the name iPad began to circulate around the Internet with no end in sight. I admit I also cringed at the name, and was hoping for something more inventive than iPad. While Apple&#8217;s iWhatever line is certainly good branding, it&#8217;s wearing thin on me and it&#8217;s inevitable that at some point they&#8217;ll need to come up with a better solution.<span id="more-465"></span></p>
<p>Name aside, I, like many others, was a bit let down by the product that Apple released. Granted, with all the hype and rumors swirling around the tablet, it was virtually unavoidable that no matter what Apple released that it wouldn&#8217;t be as amazing as everyone had dreamed it would. A lot of reports call the iPad just a big iPhone with no camera (or ability to make calls) and since I don&#8217;t own an iPhone (can&#8217;t stand AT&amp;T and don&#8217;t want to endure the raping they call data charges) I guess I&#8217;ll have to take their word for it. Personally I think I&#8217;ll wait until the next generation of iPads comes out before I plunk down $500+ for one. It looks like a decent start, but it has a ways to go before I see it as the &#8220;magical&#8221; and &#8220;revolutionary&#8221; product that Steve says it is.</p>
<h3>Stop Using IE6</h3>
<p>It&#8217;s no surprise to those of you that read CatchMyFame that I don&#8217;t support IE6 at all. If anything I create works in iE6, it&#8217;s by accident. Not only have big names like YouTube announced that they will be ending support of IE6, even <a href="http://blogs.zdnet.com/Bott/?p=1645">Microsoft announced that it&#8217;s probably a good thing to upgrade</a> to a more recent browser. The fact that IE6 is still alive and kicking amazes me, though I am well aware of the arguments for using it &#8211; primarily ignorance and sloth.</p>
<h3>HTML5 and CSS3</h3>
<p>I&#8217;m happy to see increasing support for <a href="http://dev.w3.org/html5/spec/Overview.html">HTML5</a> and <a href="http://www.w3.org/Style/CSS/current-work#table">CSS3</a>, however I haven&#8217;t jumped on the bandwagon just yet. There are some really great features in these updates, however the sad fact is that until all the major browsers support the features, we&#8217;re forced to find workarounds and create special conditions to account for those features that don&#8217;t exist yet, or aren&#8217;t fully implemented, in the major browsers. Like rounded corners? I do, but since some browsers don&#8217;t understand the border-radius rule, you either need to generate a solution for those browsers that don&#8217;t get it (&lt;cough&gt;IE8&lt;/cough&gt;) or ignore it and let those visitors that use browsers without CSS3 support see squared cornered.</p>
<p>So the dilemma is, do we forge ahead and learn HTML5 and CSS3 now, or do we wait until there&#8217;s mass support for it and most users will benefit from it? Personally I&#8217;m in the first camp and think we should learn as much about it as possible and implement it when its most accessible and least problematic. I also think that if more developers start using HTML5 and CSS3 that it will force browser developers to come out with updates for the features more quickly.</p>
<h3>PayPal &#8211; Love it or Hate it?</h3>
<p>I&#8217;ve been a PayPal member for a decade. That said, overall I think it&#8217;s a very good service and for web developers it&#8217;s a great way to be able to accept payments online. It&#8217;s far easier than trying to get a merchant account, a payment gateway and everything else you need to accept credit cards on the web. They offer several services that allow you to integrate their service into your website including something called Instant Payment Notification.</p>
<p>In a nutshell, IPN allows PayPal to send a notification to your server with transaction details whenever you receive a payment. I recently worked with NotOneBit.com to develop a system where my client could sell eBooks online and accept payment with PayPal. PayPal would notify the client&#8217;s server upon receiving payment and the customer would almost instantly be able to download their purchase. The system worked perfectly; customers were able to make purchased quickly and easily and then download the eBooks directly from the website. No fuss, no muss.</p>
<p>However we soon discovered a fatal flaw in PayPal&#8217;s seller protection policy after one customer claimed that their PayPal account had been hacked and someone used their information to make an eBook purchase. You see, PayPal only protects sellers where there are tangible goods that can be tracked, and since my client sold digital goods, they therefore weren&#8217;t protected. My client argued with PayPal that based upon the system that I and NotOneBit designed, that there&#8217;s no way that this claim of a hacked PayPal account could be legitimate (we send download data to the customer&#8217;s email address so this supposed hacker would have also needed to hack  this person&#8217;s  email account in addition to their PayPal account). PayPal didn&#8217;t seem to care and just reiterated their policy, so in the end, my client was out the money for the purchase (which PayPal happily refunded to the person with the supposed hacked accounts) and the eBook. In the end the person got a few free eBooks (and hopefully some bad karma). It&#8217;s really a shame that PayPal caves so easily on a topic like this when if they took a few minutes to understand what we and probably many other developers using their service to help deliver digital goods have done, then they&#8217;d see the obvious fraud.</p>
<p>Caveat venditor.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/YHSTYNrEvamonbFcET2YYe0GtTg/0/da"><img src="http://feedads.g.doubleclick.net/~a/YHSTYNrEvamonbFcET2YYe0GtTg/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/YHSTYNrEvamonbFcET2YYe0GtTg/1/da"><img src="http://feedads.g.doubleclick.net/~a/YHSTYNrEvamonbFcET2YYe0GtTg/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.catchmyfame.com/2010/01/28/the-week-in-review-ipads-chrome-firefox-and-paypal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery 1.4 Released and All CatchMyFame Plugins Compatible</title>
		<link>http://www.catchmyfame.com/2010/01/14/jquery-1-4-released-and-all-catchmyfame-plugins-compatible/</link>
		<comments>http://www.catchmyfame.com/2010/01/14/jquery-1-4-released-and-all-catchmyfame-plugins-compatible/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 01:12:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.catchmyfame.com/?p=455</guid>
		<description><![CDATA[This is just a short post to say that jQuery 1.4 has just been released and all CatchMyFame plugins are compatible. All demos have been updated to use the new 1.4 version. If you encounter any issues, please let me know.
]]></description>
			<content:encoded><![CDATA[<p>This is just a short post to say that <a href="http://blog.jquery.com/2010/01/14/jquery-14-released/" target="_blank">jQuery 1.4 has just been released</a> and all CatchMyFame plugins are compatible. All demos have been updated to use the new 1.4 version. If you encounter any issues, please let me know.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/XERBt5DA5ubC2lc9IB4CNOTrKmQ/0/da"><img src="http://feedads.g.doubleclick.net/~a/XERBt5DA5ubC2lc9IB4CNOTrKmQ/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/XERBt5DA5ubC2lc9IB4CNOTrKmQ/1/da"><img src="http://feedads.g.doubleclick.net/~a/XERBt5DA5ubC2lc9IB4CNOTrKmQ/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.catchmyfame.com/2010/01/14/jquery-1-4-released-and-all-catchmyfame-plugins-compatible/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>jQuery Before/After Plugin 1.1 Released</title>
		<link>http://www.catchmyfame.com/2010/01/12/jquery-beforeafter-plugin-1-1-released/</link>
		<comments>http://www.catchmyfame.com/2010/01/12/jquery-beforeafter-plugin-1-1-released/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 00:41:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.catchmyfame.com/?p=449</guid>
		<description><![CDATA[This is a small update to my before/after jQuery plugin but since it introduced a new option I bumped the version number up by a point.
Version 1.1 introduces the option to specify the path to where you are storing the navigation images that come with the plugin. Previously you needed to either edit it by [...]]]></description>
			<content:encoded><![CDATA[<p>This is a small update to my before/after jQuery plugin but since it introduced a new option I bumped the version number up by a point.</p>
<p>Version 1.1 introduces the option to specify the path to where you are storing the navigation images that come with the plugin. Previously you needed to either edit it by hand or use the folder that was coded in the plugin. Now you can specify the path on a per instance basis.</p>
<p>For more info, see the <a href="/2009/06/25/jquery-beforeafter-plugin/">original before/after plugin page</a> which has been updated with the latest information or see our <a href="/catchmyfame-jquery-plugins/">jQuery plugin page</a> which list all of our plugins.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/0vRmGefo44hJgnHwjfh9sKhcE8Y/0/da"><img src="http://feedads.g.doubleclick.net/~a/0vRmGefo44hJgnHwjfh9sKhcE8Y/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/0vRmGefo44hJgnHwjfh9sKhcE8Y/1/da"><img src="http://feedads.g.doubleclick.net/~a/0vRmGefo44hJgnHwjfh9sKhcE8Y/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.catchmyfame.com/2010/01/12/jquery-beforeafter-plugin-1-1-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Huge Updates to jQuery Infinite Carousel – Version 2 Released</title>
		<link>http://www.catchmyfame.com/2009/12/30/huge-updates-to-jquery-infinite-carousel-version-2-released/</link>
		<comments>http://www.catchmyfame.com/2009/12/30/huge-updates-to-jquery-infinite-carousel-version-2-released/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 17:58:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.catchmyfame.com/?p=413</guid>
		<description><![CDATA[As announced earlier, I&#8217;m happy to release version 2 of the jQuery Infinite Carousel plugin. What happened to versions 1.3-1.9 you ask? Well, since I overhauled the old plugin and added so many new features, it just seemed fitting to brand this release with a whole new version number. Heck I could&#8217;ve named it version [...]]]></description>
			<content:encoded><![CDATA[<p>As announced earlier, I&#8217;m happy to release version 2 of the jQuery Infinite Carousel plugin. What happened to versions 1.3-1.9 you ask? Well, since I overhauled the old plugin and added so many new features, it just seemed fitting to brand this release with a whole new version number. Heck I could&#8217;ve named it version Infinite Carousel, the &#8220;Illudium Q-36 Explosive Space Modulator&#8221; edition, but it seemed a bit wordy. Anyway, like it matters. All you want is the plugin right?</p>
<h2>So What&#8217;s New?</h2>
<p>Where to begin? Based on feedback from users, I&#8217;ve added more options than you can shake a stick at. Go on, get a stick. Shake. Can&#8217;t be done. There are so many new features that I was a bit worried that the plugin might suffer from option overload, but in the end I think what remained was not only useful but vital to the plugin.<span id="more-413"></span></p>
<p>In addition to the features in the previous version, I&#8217;ve added the ability to:</p>
<ul>
<li> add easing as an option with separate left and right easing effects</li>
<li>specify the path to the navigation images as an option</li>
<li>specify how many images should be viewable at once</li>
<li>specify padding around images</li>
<li>specify how many images should advance when the user navigates using the previous and next controls as well as when the carousel is running automatically</li>
<li>hide navigation controls</li>
<li>auto hide navigation controls so that they appear only when the user moves their mouse over the carousel</li>
<li>auto hide captions so that they appear only when the user moves their mouse over the carousel</li>
<li>prevent the carousel from automatically starting</li>
<li>move the previous and next navigation control outside the carousel so that they don&#8217;t appear on top of any images</li>
<li>use keyboard navigation with the ability to disable it (left and right arrows for previous/next, p for pause, s for start)</li>
<li>access callback functions</li>
</ul>
<h2>The Most Basic Example</h2>
<p id="example" style="text-align: center;"><div class="iframe-wrapper">
  <iframe src="/jquery/infinitecarousel2/demo/d1.html" scrolling="no" frameborder="0" style="height:280px;width:400px;">Please upgrade your browser</iframe>
</div>
<h2>Download</h2>
<p><a href="/jquery/jquery.infinitecarousel2.zip"><strong>jQuery.InfiniteCarousel2.zip</strong></a> (contains the uncompressed and minified versions in the same zip file. The uncompressed plugin is about 18k while the minified version is about 9k)</p>
<h2>Demos</h2>
<p>To show off some of the things version 2 can do, I&#8217;ve created several demo pages for easy viewing. Each demo link will open in a new window. View the source code for a demo to see the options that were selected.</p>
<ol>
<li><a href="/jquery/infinitecarousel2/demo/d1.html" target="_blank">A basic example with default settings</a></li>
<li><a href="/jquery/infinitecarousel2/demo/d2.html" target="_blank">Displaying and advancing more than one image at a time</a></li>
<li><a href="/jquery/infinitecarousel2/demo/d3.html" target="_blank">Displaying multiple images while advancing one at a time with easing effects</a></li>
<li><a href="/jquery/infinitecarousel2/demo/d4.html" target="_blank">Navigation outside the carousel with captions automatically hidden</a></li>
<li><a href="/jquery/infinitecarousel2/demo/d5.html" target="_blank">Thumbnails and navigation hidden. Keyboard navigation active</a></li>
<li><a href="/jquery/infinitecarousel2/demo/d6.html" target="_blank">Navigation automatically hidden with keyboard controls disabled. Also shows how to hint at the next and last images using CSS</a></li>
<li><a href="/jquery/infinitecarousel2/demo/d7.html" target="_blank">An example of callback functions</a></li>
<li><a href="/jquery/infinitecarousel2/demo/d8.html" target="_blank">An example of how easy it is to integrate with a lightbox plugin. Easing functions are also being used in this example</a></li>
<li><a href="/jquery/infinitecarousel2/demo/d9.html" target="_blank">An infinitely scrolling slideshow with no controls enabled</a></li>
</ol>
<h2>How to Use</h2>
<p>With the exception of new options, the carousel works in the same way as previous versions. First, all of the images that you want to display should be the same size and wrapped in a containing element (I recommend a div) which must have an ID.  Note that by using CSS, you can style the container (carousel) div to have left and/or right padding so that you can display a small amount of the previous and/or next images (see demo #6 above). The carousel must be a list where each list item is the image and optionally a paragraph containing the caption. See this example.</p>
<pre id="line34">&lt;div id="carousel"&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;img alt="" src="p1.jpg" width="500" height="213" /&gt;&lt;p&gt;This carousel has no padding applied to it so you won't see hints for the previous and next images. Also, the progress bar could be disabled by setting just one option on the plugin.&lt;/p&gt;&lt;/li&gt;
	&lt;li&gt;&lt;img alt="" src="p2.jpg" width="500" height="213" /&gt;&lt;p&gt;This is the caption for the second image. The height of the caption box is an option.&lt;/p&gt;&lt;/li&gt;
	&lt;li&gt;&lt;img alt="" src="p3.jpg" width="500" height="213" /&gt;&lt;/li&gt;
	&lt;li&gt;&lt;img alt="" src="p4.jpg" width="500" height="213" /&gt;&lt;p&gt;It's not easy being green.&lt;/p&gt;&lt;/li&gt;
	&lt;li&gt;&lt;img alt="" src="p5.jpg" width="500" height="213" /&gt;&lt;/li&gt;
	&lt;li&gt;&lt;img alt="" src="p6.jpg" width="500" height="213" /&gt;&lt;p&gt;You can easily mix images types. Gif, png, and jpeg all work without any issues.&lt;/p&gt;&lt;/li&gt;

&lt;/ul&gt;
&lt;/div&gt;</pre>
<p>All images *MUST* have the width and height declared otherwise the plugin won’t work in Safari, Chrome, and any other webkit-based browsers. Also, all images should be the same size.  If you want to have a caption with an image, it *MUST* exist in a paragraph after the image.</p>
<p>To use the plugin you’ll need to have a copy of  <a href="http://jquery.com/">jQuery</a>, or point to <a href="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js">jquery on Google</a>, and the plugin. Place the files on your site and link to them:</p>
<pre id="line1">&lt;<span>script</span><span> type</span>=<span>"text/javascript" </span><span>src</span>=<span>"http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"</span>&gt;&lt;/<span>script</span>&gt;
&lt;<span>script</span><span> type</span>=<span>"text/javascript" </span><span>src</span>=<span>"jquery.infinitecarousel-2.0.0.js"</span>&gt;&lt;/<span>script</span>&gt;
&lt;script type="text/javascript"&gt;
$(function(){
	$('#carousel').infiniteCarousel();
});
&lt;/script&gt;</pre>
<p>Finally, make sure that your CSS contains a rule for the width of the list within your container so that it&#8217;s set to a minimum of the combined widths of all your images. For example. #carousel ul {width:3000px}. In version 1.2 of the Infinite Carousel this isn&#8217;t necessary, however for anyone with JavaScript disabled, declaring the width in your style sheet can give them a simulated (albeit limited) carousel experience.</p>
<p><strong>Be sure to check out the demos above!</strong></p>
<p>Note that in this new version of the carousel, since the path to the navigation images is an option, you may need to specify the path to your installation if you aren&#8217;t using the path of &#8220;/js/infinitecarousel/images/&#8221; which is the plugin&#8217;s default path. More on the options below.</p>
<div>
<p>That’s it! You can apply the infinite carousel to any number of elements on a page.</p>
<h2>Options</h2>
<p>The following options are configurable:</p>
<ul>
<li>transitionSpeed &#8211; the time (in milliseconds) it will take to transition between two images (default 800)</li>
<li>displayTime &#8211; the time (in milliseconds) to display each image (default: 6000)</li>
<li>textholderHeight &#8211; the height of the caption. This is a fraction of the height of the images. (default: .25)</li>
<li>displayProgressBar &#8211; Boolean. Whether or not to display the progress bar (default: true)</li>
<li>displayThumbnails &#8211; Boolean. Whether or not to display the thumbnails for the carousel. (default:  true)</li>
<li>displayThumbnailNumbers &#8211; Boolean. Whether or not to automatically place numbers in the thumbnail boxes. (default: true)</li>
<li>displayThumbnailBackground &#8211; Boolean. Whether or not to use the corresponding image as the background for a thumbnail box. (default: true)</li>
<li>thumbnailWidth &#8211; the width of each thumbnail box. (default: &#8216;20px&#8217;)</li>
<li>thumbnailHeight &#8211; the height of each thumbnail box. (default: &#8216;20px&#8217;)\</li>
<li>thumbnailFontSize &#8211; the font size of the number within the thumbnail box. (default: .7em)</li>
<li>easeLeft &#8211; The type of easing to use when the carousel moves images to the left. Here you can use the <a href="http://www.google.com/url?sa=t&amp;source=web&amp;ct=res&amp;cd=1&amp;ved=0CAkQFjAA&amp;url=http%3A%2F%2Fgsgd.co.uk%2Fsandbox%2Fjquery%2Feasing%2F&amp;ei=lI07S6f1F8PhlAeijaiRBw&amp;usg=AFQjCNGm85MbOOz6yaCJ2N6WVYS_QPoMjw&amp;sig2=rGPWaaEg6dKGPRkP8STsFQ" target="_blank">jQuery easing plugin</a> and specify any type of easing, or use jQuery&#8217;s built-in defaults of &#8216;linear&#8217; or &#8217;swing&#8217;. (default:  &#8216;linear&#8217;)</li>
<li>easeRight- The type of easing to use when the carousel moves images to the right. Here you can use the <a href="http://www.google.com/url?sa=t&amp;source=web&amp;ct=res&amp;cd=1&amp;ved=0CAkQFjAA&amp;url=http%3A%2F%2Fgsgd.co.uk%2Fsandbox%2Fjquery%2Feasing%2F&amp;ei=lI07S6f1F8PhlAeijaiRBw&amp;usg=AFQjCNGm85MbOOz6yaCJ2N6WVYS_QPoMjw&amp;sig2=rGPWaaEg6dKGPRkP8STsFQ" target="_blank">jQuery easing plugin</a> and specify any type of easing, or use jQuery&#8217;s built-in defaults of &#8216;linear&#8217; or &#8217;swing&#8217;. (default:  &#8216;linear&#8217;)</li>
<li>imagePath &#8211; The path to the carousel&#8217;s navigation images (now sprites). (default: &#8216;/js/infinitecarousel/images/&#8217;)</li>
<li>inView &#8211; The number of images to display at once. (default: 1)</li>
<li>padding &#8211; The amount of padding to be applied around each image. (default:  &#8216;0px&#8217;)</li>
<li>advance &#8211; The number of images to be moved either automatically, or when the user moves images by using the navigation controls. (default: 1)</li>
<li>showControls &#8211; Boolean. Whether or not to display the navigation buttons for previous, next, play and pause. (default: true)</li>
<li>autoHideControls &#8211; Boolean. Whether or not to automatically hide the navigation controls. (default: false)</li>
<li>autoHideCaptions &#8211; Boolean. Whether or not to automatically hide the captions (if any). (default: false)</li>
<li>autoStart &#8211; Boolean. Whether or not to automatically begin the carousel. (default: true)</li>
<li>prevNextInternal &#8211; Boolean. Display the navigation on the inside of the carousel. If false, controls will be dispayed outside and next to the carousel. (default: true)</li>
<li>enableKeyboardNav &#8211; Boolean. Enable keyboard navigation (kind of obvious no?). The left and right arrows are used to move the images, while &#8216;p&#8217; pauses the show and &#8217;s&#8217; starts it. (default: true)</li>
<li>onSlideStart. A callback function triggered when the images begin to move</li>
<li>onSlideEnd. A callback function triggered when the images stop moving. An array of images being displayed is returned</li>
<li>onPauseClick A callback function triggered when the carousel is paused</li>
</ul>
<p>Options are added when calling the script:</p>
<pre>$('#carousel').infiniteCarousel({
	transitionSpeed : 2000,
	displayTime : 10000,
	textholderHeight : .25,
	displayProgressBar : false
});</pre>
<p>Note that the CSS of the thumbnail div created by the plugin can be controlled by using a rule like #carousel + div {your CSS here}. The plus between the carousel id and the div specifically targets the thumbnail container.</p>
<p>Enjoy!</p>
</div>
<h2>Previous Version</h2>
<p>I will continue to make the previous versions of the Infinite Carousel available until there seems to be no demand for them. To download them, <a href="/catchmyfame-jquery-plugins/">click here</a>.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/qzY5-tuz9eIAimtKMcdTLeZxImA/0/da"><img src="http://feedads.g.doubleclick.net/~a/qzY5-tuz9eIAimtKMcdTLeZxImA/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/qzY5-tuz9eIAimtKMcdTLeZxImA/1/da"><img src="http://feedads.g.doubleclick.net/~a/qzY5-tuz9eIAimtKMcdTLeZxImA/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.catchmyfame.com/2009/12/30/huge-updates-to-jquery-infinite-carousel-version-2-released/feed/</wfw:commentRss>
		<slash:comments>45</slash:comments>
		</item>
		<item>
		<title>New Version of jQuery Infinite Carousel on the Way</title>
		<link>http://www.catchmyfame.com/2009/12/22/new-version-of-jquery-infinite-carousel-on-the-way/</link>
		<comments>http://www.catchmyfame.com/2009/12/22/new-version-of-jquery-infinite-carousel-on-the-way/#comments</comments>
		<pubDate>Wed, 23 Dec 2009 03:39:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.catchmyfame.com/?p=410</guid>
		<description><![CDATA[I wanted to let everyone know that I&#8217;ll be releasing a new version of the jQuery Infinite Carousel in the week between Christmas and New Year&#8217;s Day. This new has TONS of new features and streamlines the existing code to make it more efficient, and includes many of the feature requests you have asked for. [...]]]></description>
			<content:encoded><![CDATA[<p>I wanted to let everyone know that I&#8217;ll be releasing a new version of the jQuery Infinite Carousel in the week between Christmas and New Year&#8217;s Day. This new has TONS of new features and streamlines the existing code to make it more efficient, and includes many of the feature requests you have asked for. The new features include:</p>
<ul>
<li>The ability to control how many images are displayed at once</li>
<li>The ability to control how many images are advanced automatically or when someone manually advances the carousel</li>
<li>Player controls can be disabled</li>
<li>Autohiding player controls</li>
<li>Autohiding image captions</li>
<li>Previous/Next buttons can be displayed over the images or outside and next to them</li>
<li>The path to the player images is set as an option</li>
<li>an Easy integration of the jQuery Easing plugin for cool transition effects (you can specify easing effects for the previous and next transitions)</li>
<li>Easy lightbox integration (tested with fancybox, colorbox, balupton, and leandroviera)</li>
<li>Callback functions</li>
<li>Disabling the automatic start of the carousel</li>
</ul>
<p>Stay tuned for more information and a lot of demos. Happy holidays!</p>

<p><a href="http://feedads.g.doubleclick.net/~a/yQXvcK-zThmHiXh8KRhhK-Uo28c/0/da"><img src="http://feedads.g.doubleclick.net/~a/yQXvcK-zThmHiXh8KRhhK-Uo28c/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/yQXvcK-zThmHiXh8KRhhK-Uo28c/1/da"><img src="http://feedads.g.doubleclick.net/~a/yQXvcK-zThmHiXh8KRhhK-Uo28c/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.catchmyfame.com/2009/12/22/new-version-of-jquery-infinite-carousel-on-the-way/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Use the Google Docs Viewer for Fast PDF Viewing</title>
		<link>http://www.catchmyfame.com/2009/11/21/use-the-google-docs-viewer-for-fast-pdf-viewing/</link>
		<comments>http://www.catchmyfame.com/2009/11/21/use-the-google-docs-viewer-for-fast-pdf-viewing/#comments</comments>
		<pubDate>Sat, 21 Nov 2009 18:38:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.catchmyfame.com/?p=399</guid>
		<description><![CDATA[A shorty but goodie. For those of you that didn&#8217;t hear about this, a little over a month ago Google released their Google document viewer to be used anywhere on the web, which allows you to point to a PDF and open it much faster than the full version of Acrobat and the Firefox addon [...]]]></description>
			<content:encoded><![CDATA[<p>A shorty but goodie. For those of you that didn&#8217;t hear about this, a little over a month ago Google released their Google document viewer to be used anywhere on the web, which allows you to point to a PDF and open it much faster than the full version of Acrobat and the Firefox addon Foxit. It also lets you copy text, print, search, and view multiple pages on the screen simultaneously.</p>
<p>You can visit <a href="http://docs.google.com/viewer">http://docs.google.com/viewer</a> to build links that use Google&#8217;s viewer, or follow their instructions:</p>
<blockquote><p>Technical Documentation &#8211; Instructions for building your own URLs</p>
<p>All viewer URLs should use the path http://docs.google.com/viewer. This path accepts two parameters:</p>
<p>url: The URL of the document to view. This should be URL-encoded.</p>
<p>embedded: If set to true, the viewer will use an embedded mode interface.</p>
<p>For example, if you wanted to view the PDF at the URL  http://labs.google.com/papers/bigtable-osdi06.pdf, you would use the URL:  http://docs.google.com/viewer?url=http%3A%2F%2Flabs.google.com%2Fpapers%2Fbigtable-osdi06.pdf</p></blockquote>
<p>For a demo, <a href="http://docs.google.com/viewer?url=http://www.catchmyfame.com/wp-content/uploads/2009/07/CSS-Shorthand-Cheat-Sheet.pdf">check out this sample PDF</a>.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/nNZis4NPsvGPxdUamXaRzgQgUZ8/0/da"><img src="http://feedads.g.doubleclick.net/~a/nNZis4NPsvGPxdUamXaRzgQgUZ8/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/nNZis4NPsvGPxdUamXaRzgQgUZ8/1/da"><img src="http://feedads.g.doubleclick.net/~a/nNZis4NPsvGPxdUamXaRzgQgUZ8/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.catchmyfame.com/2009/11/21/use-the-google-docs-viewer-for-fast-pdf-viewing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss><!-- Dynamic page generated in 0.808 seconds. --><!-- Cached page generated by WP-Super-Cache on 2010-03-12 08:16:12 -->
