<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Customising GMail with GreaseMonkey</title>
	<atom:link href="http://www.sitepoint.com/blogs/2005/03/02/customising-gmail-with-greasemonkey/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sitepoint.com/blogs/2005/03/02/customising-gmail-with-greasemonkey/</link>
	<description></description>
	<pubDate>Mon, 08 Sep 2008 14:37:03 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
		<item>
		<title>By: Skunk</title>
		<link>http://www.sitepoint.com/blogs/2005/03/02/customising-gmail-with-greasemonkey/#comment-3982</link>
		<dc:creator>Skunk</dc:creator>
		<pubDate>Wed, 31 Dec 1969 19:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-3982</guid>
		<description>&lt;p&gt;That is freakin' brilliant. GreaseMonkey (and bookmarklets) add a whole new angle to the idea of rich web applications - the JavaScript on the site becomes an API for customising the applications. The &lt;a href="http://libgmail.sourceforge.net/googlemaps.html"&gt;Google Maps bookmarklets&lt;/a&gt; are another great example of this.&lt;/p&gt;

</description>
		<content:encoded><![CDATA[<p>That is freakin&#8217; brilliant. GreaseMonkey (and bookmarklets) add a whole new angle to the idea of rich web applications - the JavaScript on the site becomes an API for customising the applications. The <a href="http://libgmail.sourceforge.net/googlemaps.html">Google Maps bookmarklets</a> are another great example of this.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: cranial-bore</title>
		<link>http://www.sitepoint.com/blogs/2005/03/02/customising-gmail-with-greasemonkey/#comment-3983</link>
		<dc:creator>cranial-bore</dc:creator>
		<pubDate>Wed, 31 Dec 1969 19:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-3983</guid>
		<description>&lt;p&gt;Impressive stuff.&lt;br /&gt;
I have wanted to know more Javascript for a while, but I now I don't have to as my visitors can just write their own ;)&lt;/p&gt;

</description>
		<content:encoded><![CDATA[<p>Impressive stuff.<br />
I have wanted to know more Javascript for a while, but I now I don&#8217;t have to as my visitors can just write their own ;)</p>]]></content:encoded>
	</item>
	<item>
		<title>By: sil</title>
		<link>http://www.sitepoint.com/blogs/2005/03/02/customising-gmail-with-greasemonkey/#comment-3984</link>
		<dc:creator>sil</dc:creator>
		<pubDate>Wed, 31 Dec 1969 19:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-3984</guid>
		<description>&lt;p&gt;Yes indeed. This sort of thing works well as long as you have a well-defined URL API for getting at data (examine del.icio.us for the best example). If, for example, GMail used some complex URL scheme which wasn't stable and didn't have the same URLs for a given search (it added loads of "session ID" stuff or whatever) this would be a lot harder to write. This is why a good URL API is important, why REST is great, and why SOAP etc is a lot more of a pain, because you need SOAP built in to the browser to use it in this sort of situation.&lt;/p&gt;

</description>
		<content:encoded><![CDATA[<p>Yes indeed. This sort of thing works well as long as you have a well-defined URL API for getting at data (examine del.icio.us for the best example). If, for example, GMail used some complex URL scheme which wasn&#8217;t stable and didn&#8217;t have the same URLs for a given search (it added loads of &#8220;session ID&#8221; stuff or whatever) this would be a lot harder to write. This is why a good URL API is important, why REST is great, and why SOAP etc is a lot more of a pain, because you need SOAP built in to the browser to use it in this sort of situation.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Rynoguill</title>
		<link>http://www.sitepoint.com/blogs/2005/03/02/customising-gmail-with-greasemonkey/#comment-3985</link>
		<dc:creator>Rynoguill</dc:creator>
		<pubDate>Wed, 31 Dec 1969 19:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-3985</guid>
		<description>&lt;p&gt;See, i can definately agree thats great and all, i mean your giving yourself features that you don't have provided, BUT, from a webdevelopers standpoint doesn't this concern anyone?  I mean I use a lot of things like the way forms are passed around and html along with my programming language to ensure some security.  For one thing if someone gets in there and starts monkeying around (no pun intended) theyre going to more than likely screw a lot of stuff up before theyre going to get it right, which could mean bad data getting in the db, could mean security problems.  While its cool, I don't really see this as any different than another form of hacking, that personally I feel shouldn't be allowed.&lt;/p&gt;

</description>
		<content:encoded><![CDATA[<p>See, i can definately agree thats great and all, i mean your giving yourself features that you don&#8217;t have provided, BUT, from a webdevelopers standpoint doesn&#8217;t this concern anyone?  I mean I use a lot of things like the way forms are passed around and html along with my programming language to ensure some security.  For one thing if someone gets in there and starts monkeying around (no pun intended) theyre going to more than likely screw a lot of stuff up before theyre going to get it right, which could mean bad data getting in the db, could mean security problems.  While its cool, I don&#8217;t really see this as any different than another form of hacking, that personally I feel shouldn&#8217;t be allowed.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Jim</title>
		<link>http://www.sitepoint.com/blogs/2005/03/02/customising-gmail-with-greasemonkey/#comment-3986</link>
		<dc:creator>Jim</dc:creator>
		<pubDate>Wed, 31 Dec 1969 19:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-3986</guid>
		<description>&lt;p&gt;You should not be expecting any sort of security when your passing around forms. If you're relying on anything that can be reached through the DOM and javascript to protect you, you really need to invest in learning better security practices. If you're not validating user input with anything other than javascript, for instance, what do you do with someone who has it disabled?&lt;/p&gt;

&lt;p&gt;People should be able to do what they want to a page in their browser, as long as they don't get on your server to do it for everyone ;).&lt;/p&gt;

</description>
		<content:encoded><![CDATA[<p>You should not be expecting any sort of security when your passing around forms. If you&#8217;re relying on anything that can be reached through the DOM and javascript to protect you, you really need to invest in learning better security practices. If you&#8217;re not validating user input with anything other than javascript, for instance, what do you do with someone who has it disabled?</p>
<p>People should be able to do what they want to a page in their browser, as long as they don&#8217;t get on your server to do it for everyone ;).</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Jeremy Dunck</title>
		<link>http://www.sitepoint.com/blogs/2005/03/02/customising-gmail-with-greasemonkey/#comment-3987</link>
		<dc:creator>Jeremy Dunck</dc:creator>
		<pubDate>Wed, 31 Dec 1969 19:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-3987</guid>
		<description>&lt;p&gt;Rynoguill,&lt;br /&gt;
  A responsible web app developer should not expect valid data from the browser.  At all.&lt;br /&gt;
  You can use client side JS and specific data modelling to improve user experience, but the only thing you (the developer) really control is the server, and that's where trust needs to be established.&lt;/p&gt;

</description>
		<content:encoded><![CDATA[<p>Rynoguill,<br />
  A responsible web app developer should not expect valid data from the browser.  At all.<br />
  You can use client side JS and specific data modelling to improve user experience, but the only thing you (the developer) really control is the server, and that&#8217;s where trust needs to be established.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Jeremy Dunck</title>
		<link>http://www.sitepoint.com/blogs/2005/03/02/customising-gmail-with-greasemonkey/#comment-3988</link>
		<dc:creator>Jeremy Dunck</dc:creator>
		<pubDate>Wed, 31 Dec 1969 19:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-3988</guid>
		<description>&lt;p&gt;You know, I was just wondering how long it might be before they think to implement URL-per-message and URL-per-conversation.&lt;/p&gt;

&lt;p&gt;Authenticated, of course.&lt;/p&gt;

&lt;p&gt;I just felt a need to refer to a previous email in a note to myself, and it sure would have been handy to refer to it by identifier.&lt;/p&gt;

</description>
		<content:encoded><![CDATA[<p>You know, I was just wondering how long it might be before they think to implement URL-per-message and URL-per-conversation.</p>
<p>Authenticated, of course.</p>
<p>I just felt a need to refer to a previous email in a note to myself, and it sure would have been handy to refer to it by identifier.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: boogs</title>
		<link>http://www.sitepoint.com/blogs/2005/03/02/customising-gmail-with-greasemonkey/#comment-3989</link>
		<dc:creator>boogs</dc:creator>
		<pubDate>Wed, 31 Dec 1969 19:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-3989</guid>
		<description>&lt;p&gt;Rynoguill,&lt;/p&gt;

&lt;p&gt;The most important thing to remember when developing web applications is that you can never trust the client. I can't count the number of times when this has been drilled home by older, wiser souls.&lt;/p&gt;

&lt;p&gt;Even though you are used to looking at it in a browser, where the inputs are somewhat controlled, other people are not.&lt;/p&gt;

&lt;p&gt;Anything you put on a server is accessible to anyone using any client. It is literally impossible to keep non-browser user agents from monkeying with your public website. This is the entire idea of the web, and it is how great services like search engines are possible.&lt;/p&gt;

&lt;p&gt;The solution is to stop making these assumptions, not to ban useful extensions like gm.&lt;/p&gt;

&lt;p&gt;full disclosure: i wrote the initial verison of gm.&lt;/p&gt;

</description>
		<content:encoded><![CDATA[<p>Rynoguill,</p>
<p>The most important thing to remember when developing web applications is that you can never trust the client. I can&#8217;t count the number of times when this has been drilled home by older, wiser souls.</p>
<p>Even though you are used to looking at it in a browser, where the inputs are somewhat controlled, other people are not.</p>
<p>Anything you put on a server is accessible to anyone using any client. It is literally impossible to keep non-browser user agents from monkeying with your public website. This is the entire idea of the web, and it is how great services like search engines are possible.</p>
<p>The solution is to stop making these assumptions, not to ban useful extensions like gm.</p>
<p>full disclosure: i wrote the initial verison of gm.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: z0s0</title>
		<link>http://www.sitepoint.com/blogs/2005/03/02/customising-gmail-with-greasemonkey/#comment-3990</link>
		<dc:creator>z0s0</dc:creator>
		<pubDate>Wed, 31 Dec 1969 19:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-3990</guid>
		<description>&lt;p&gt;I think Ryno's got it now, after 3 paraphrased explanations ;-)&lt;/p&gt;

</description>
		<content:encoded><![CDATA[<p>I think Ryno&#8217;s got it now, after 3 paraphrased explanations ;-)</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Brak</title>
		<link>http://www.sitepoint.com/blogs/2005/03/02/customising-gmail-with-greasemonkey/#comment-3991</link>
		<dc:creator>Brak</dc:creator>
		<pubDate>Wed, 31 Dec 1969 19:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-3991</guid>
		<description>&lt;p&gt;&lt;blockquote&gt;&lt;p&gt;I think Ryno's got it now, after 3 paraphrased explanations ;-)&lt;/p&gt;&lt;/blockquote&gt;&lt;/p&gt;

&lt;p&gt;If this were any other explination, I'd say it's overkill. Unfortunately, not validating data on the server is the #1 reason for security breaches in websites. It accounts for something like 90% (or so I remeber form smewhere) of security breaches.&lt;/p&gt;

&lt;p&gt;So, once again: We can never, ever, ever, ever trust what the browser will give us (Except in intranet apps)&lt;/p&gt;

&lt;p&gt;I love to see developments like this, as I use bookmarklets constantly :)&lt;/p&gt;

</description>
		<content:encoded><![CDATA[<p>
<blockquote>
<p>I think Ryno&#8217;s got it now, after 3 paraphrased explanations ;-)</p>
</blockquote>
</p><p>If this were any other explination, I&#8217;d say it&#8217;s overkill. Unfortunately, not validating data on the server is the #1 reason for security breaches in websites. It accounts for something like 90% (or so I remeber form smewhere) of security breaches.</p>
<p>So, once again: We can never, ever, ever, ever trust what the browser will give us (Except in intranet apps)</p>
<p>I love to see developments like this, as I use bookmarklets constantly :)</p>]]></content:encoded>
	</item>
</channel>
</rss>
