<?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>Bin-Blog &#187; Browsers</title>
	<atom:link href="http://www.bin-co.com/blog/category/browsers/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bin-co.com/blog</link>
	<description>Learn about the latest in Web Development - as soon as I do.</description>
	<lastBuildDate>Tue, 13 Oct 2009 18:55:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>JSL &#8211; a New JavaScript Library</title>
		<link>http://www.bin-co.com/blog/2008/07/jsl-javascript-library/</link>
		<comments>http://www.bin-co.com/blog/2008/07/jsl-javascript-library/#comments</comments>
		<pubDate>Sun, 20 Jul 2008 18:17:56 +0000</pubDate>
		<dc:creator>Binny V A</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[client]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[jsl]]></category>
		<category><![CDATA[library]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://www.bin-co.com/blog/?p=119</guid>
		<description><![CDATA[
Yesterday, I published a new JavaScript Library &#8211; JSL. It borrows many ideas from the famous  jQuery library. 
Download

Packed Version &#8211; 13 KB
Source &#8211; 38 KB

Features
The Standard Stuff&#8230;

CSS DOM Selectors
Ajax Functions
Event Handling is abstracted
Ability to change style of an element.
Extendable by Plugins
Supports all Modern Browsers
And more&#8230;

And then some&#8230;

Function Chainability
Entire Library is 13 KB(un-gzipped)
Special handlers [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.bin-co.com/blog/wp-content/uploads/2008/05/javascript_logo.jpg" alt="Javascript Rhino Logo" title="Javascript Logo" width="230" height="194" class="wp-image-109 intro" align="right" /></p>
<p class="intro">Yesterday, I published a new <a href="http://www.openjs.com/scripts/jslibrary/">JavaScript Library &#8211; JSL</a>. It borrows many ideas from the famous  <a href="http://jquery.com/">jQuery</a> library. </p>
<h2>Download</h2>
<ul>
<li><a href="http://www.openjs.com/scripts/jslibrary/releases/jsl.js">Packed Version</a> &#8211; 13 KB</li>
<li><a href="http://www.openjs.com/scripts/jslibrary/releases/jsl-src.js">Source</a> &#8211; 38 KB</li>
</ul>
<h2>Features</h2>
<p>The Standard Stuff&#8230;</p>
<ul>
<li>CSS DOM Selectors</li>
<li>Ajax Functions</li>
<li>Event Handling is abstracted</li>
<li>Ability to change style of an element.</li>
<li>Extendable by Plugins</li>
<li>Supports all Modern Browsers</li>
<li>And more&#8230;</li>
</ul>
<p>And then some&#8230;</p>
<ul>
<li>Function Chainability</li>
<li>Entire Library is 13 KB(un-gzipped)</li>
<li>Special handlers for <a href="http://projects.binnyva.com/wiki/JSL.array">Arrays</a>, <a href="http://projects.binnyva.com/wiki/JSL.number">Numbers</a></li>
<li>Extra Plugins for Unit Testing and Debugging</li>
<li>Functional Programming Encouraged (map, reduce, filter, etc functions in <a href="http://projects.binnyva.com/wiki/JSL.array">JSL.array</a>)</li>
</ul>
<h2>Missing Features</h2>
<dl>
<dt>XPath Selectors</dt>
<dd>Does anyone use XPath to select elements in JavaScript? I use CSS selectors for this all the time.</dd>
<dt>innerHTML Alternatives</dt>
<dd>I like innerHTML &#8211; so I did not include the <a href="http://www.openjs.com/scripts/createdom/">functions to create DOM elements</a>.</dd>
<dt>Animations/UI Elements</dt>
<dd>You will not see any animation functions in this library. Also, no Drag and Drop, sliders, JS dialog boxes and the like. Of course, I may write a plugin for these elements &#8211; but right now, they are not supported.</dd>
<dt>JavaScript Monkey-patching</dt>
<dd>I don&#8217;t do any <a href="http://www.prototypejs.org/">Prototype</a> style addition to JavaScript standard objects. I hate that &#8211; and so should you.</dd>
<dt>Functions in the global namespace</dt>
<dd>Everything that I do is under the JSL namespace &#8211; except for two shortcut functions &#8211; <code>jslib()</code> and <code>$()</code>. So my library adds only three global variables to the namespace &#8211; JSL, jslib, and $.</dd>
<dt>The <a href="http://en.wikipedia.org/wiki/Kitchen_sink_syndrome">Kitchen Sink</a></dt>
<dd>JSL is a small library &#8211; if you want a library with everything, opt for <a href="http://dojotoolkit.org/">Dojo</a> or <a href="http://developer.yahoo.com/yui/">YUI</a>.</dd>
</dl>
<h2>Some Sample Code</h2>
<h4>Using Event Handler&#8230;</h4>
<pre><code class="javascript">JSL.dom("a").click(function(e) { // Adds a click event handler to all links
	alert(this.href); //Shows the link URL
	JSL.event(e).stop(); //And stops the event from propagating any further
});</code></pre>
<h4>The $() Function&#8230;</h4>
<pre><code class="javascript">$("div.content p.intro a").setStyle({
	"text-decoration":"underline",
	"color":"red"
});</code></pre>
<p>And everything you expect to work with document.getElementById() works with $() as well&#8230;</p>
<pre><code class="javascript">$("element-id").innerHTML = "Hello World";
$("element-id").getElementsByTagName("a"); // Returns all the anchors under that element.</code></pre>
<p>See More <a href="http://www.openjs.com/scripts/jslibrary/preview.php">Sample Code</a></p>
<h2>JSL Links</h2>
<ul>
<li><a href="http://projects.binnyva.com/wiki/JSL">Documentation</a></li>
<li><a href="http://www.openjs.com/scripts/jslibrary/demos/">Demos of JSL in Action</a></li>
<li><a href="http://projects.binnyva.com/forum/viewforum.php?f=2">Support Forum</a></li>
<li><a href="http://www.openjs.com/scripts/jslibrary/code/trunk/">Code Repository</a></li>
</ul>
<h2>License</h2>
<p><a href="http://www.openjs.com/license.php">BSD, as always</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bin-co.com/blog/2008/07/jsl-javascript-library/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Version of URL Lister Firefox Add-on</title>
		<link>http://www.bin-co.com/blog/2008/06/new-version-of-url-lister-firefox-add-on/</link>
		<comments>http://www.bin-co.com/blog/2008/06/new-version-of-url-lister-firefox-add-on/#comments</comments>
		<pubDate>Mon, 30 Jun 2008 16:22:46 +0000</pubDate>
		<dc:creator>Binny V A</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[addon]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[xul]]></category>

		<guid isPermaLink="false">http://www.bin-co.com/blog/?p=115</guid>
		<description><![CDATA[
Following the release of Firefox 3, I have updated my URL Lister firefox Add-on. Now it works in Firefox 3 &#8211; and I have added a new feature.
For those unfamiliar with URL Lister, its a firefox add-on that shows the URLs of all the open tabs in a textarea so that it can be copied [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.bin-co.com/tools/firefox/extensions/urllister/url_lister_logo.png' alt='URL Lister Logo' class='alignnone' /></p>
<p class="intro">Following the <a href="http://www.bin-co.com/blog/2008/06/firefox-3-world-record-and-downed-servers/">release of Firefox 3</a>, I have updated my <a href="http://www.bin-co.com/tools/firefox/extensions/urllister/">URL Lister firefox Add-on</a>. Now it works in Firefox 3 &#8211; and I have added a new feature.</p>
<p>For those unfamiliar with URL Lister, its a firefox add-on that shows the URLs of all the open tabs in a textarea so that it can be copied easily. It is <a href="http://www.bin-co.com/blog/2008/05/url-lister-my-first-firefox-plugin/">my first firefox add-on</a>.</p>
<p><img src='http://www.bin-co.com/tools/firefox/extensions/urllister/url_lister_screenshot.png' alt='URL Lister Screenshot' class='alignnone' /></p>
<p>Unfortunately, there is a problem with the <a href="https://addons.mozilla.org/en-US/firefox/addon/7192">mozilla add-ons listing page</a> &#8211; I cannot install the extensions using that page. I am getting this error&#8230;</p>
<pre><code class="plain">Firefox could not install the file at 

https://addons.mozilla.org/en-US/firefox/downloads/file/32487/url_lister-1.1-fx.xpi

because: Invalid file hash (possible download corruption)
-261</code></pre>
<p>However, you can right click the &#8216;Add to Firefox&#8217; button and choose &#8216;Save Target As&#8217; and download the file without any issues. Then you can install the extension by dragging the downloaded file into a firefox window. That works perfectly &#8211; but not the direct install method.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bin-co.com/blog/2008/06/new-version-of-url-lister-firefox-add-on/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Firefox 3 &#8211; World Record and Downed Servers</title>
		<link>http://www.bin-co.com/blog/2008/06/firefox-3-world-record-and-downed-servers/</link>
		<comments>http://www.bin-co.com/blog/2008/06/firefox-3-world-record-and-downed-servers/#comments</comments>
		<pubDate>Tue, 17 Jun 2008 17:43:10 +0000</pubDate>
		<dc:creator>Binny V A</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Sites]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[site]]></category>

		<guid isPermaLink="false">http://www.bin-co.com/blog/?p=113</guid>
		<description><![CDATA[As many others from around the web, I too am waiting for the latest iteration of the Firefox browser &#8211; Firefox 3. And again, like many others, I too am participating in the World Record attempt. Unfortunately, even though the release time is upon us, I cannot download the software &#8211; because their server is [...]]]></description>
			<content:encoded><![CDATA[<p class="intro">As <a href="http://www.cyberciti.biz/tips/firefox-3-set-to-release-on-june-17th-2008.html">many</a> <a href="http://www.openjs.com/articles/firefox/javascript_updates_firefox3.php">others</a> from around the web, I too am waiting for the latest iteration of the Firefox browser &#8211; Firefox 3. And again, <a href="http://www.techzilo.com/download-mozilla-firefox-3-final/">like</a> <a href="http://www.nirmaltv.com/2008/06/17/download-firefox-3/">many</a> <a href="http://www.labnol.org/software/download/download-firefox-3-exact-time-world-map/3595/">others</a>, I too am participating in the <a href="http://www.spreadfirefox.com/worldrecord">World Record attempt</a>. Unfortunately, even though the release time is upon us, I cannot download the software &#8211; because <strong class="highlight">their server is down</strong>!</p>
<p><a href='http://www.bin-co.com/blog/wp-content/uploads/2008/06/mozilla_firefox_outage.png'><img src="http://www.bin-co.com/blog/wp-content/uploads/2008/06/mozilla_firefox_outage.png" alt="" title="Mozilla Firefox Site Outage" width="500" height="219" class="alignnone size-full wp-image-114" /></a></p>
<p>As a linux user, I have come to expect the fact that servers will collapse when a new version of a distro is released. But those are big files that are transferred(the linux images will be anywhere between 600 MB to 4 GB). But in case of firefox, a 8 MB file managed to bring top servers to their knees. A testament to the popularity of firefox &#8211; although <strong class="highlight">I wish mozilla had more mirrors.</strong></p>
<p>If you cannot wait to get the latest version, get it from <a href="ftp://ftp.mozilla.org/pub/firefox/releases/3.0/">their FTP servers</a> &#8211; they are functioning normally. But, <strong class="highlight">those downloads will NOT BE COUNTED in the final tally for the world record</strong>.</p>
<h2>Related Links</h2>
<ul>
<li><a href="http://www.dria.org/wordpress/archives/2008/06/12/655/">Field Guide to Firefox 3</a></li>
<li><a href="http://www.labnol.org/software/download/download-firefox-3-mozilla-ftp-servers/3603/">Firefox 3 Available for Download on Mozilla FTP and Web Servers</a></li>
<li><a href="http://developer.mozilla.org/devnews/index.php/2008/06/11/coming-tuesday-june-17th-firefox-3/">Coming Tuesday, June 17th: Firefox 3</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.bin-co.com/blog/2008/06/firefox-3-world-record-and-downed-servers/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Hello Script For JavaScript</title>
		<link>http://www.bin-co.com/blog/2008/05/hello-script-for-javascript/</link>
		<comments>http://www.bin-co.com/blog/2008/05/hello-script-for-javascript/#comments</comments>
		<pubDate>Thu, 22 May 2008 18:26:14 +0000</pubDate>
		<dc:creator>Binny V A</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[hello]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://www.bin-co.com/blog/?p=108</guid>
		<description><![CDATA[
The next language to get the Hello Script treatment is JavaScript &#8211; my favorite language. Before we go any further, here is the definitions for Hello Script and JavaScript &#8211; just to make sure that we are on the same page&#8230;

Hello Script
&#8216;Hello Script&#8217; is a file that contains the most commonly used elements of a [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.bin-co.com/blog/wp-content/uploads/2008/05/javascript_logo.jpg" alt="Javascript Rhino Logo" title="Javascript Logo" width="230" height="194" class="alignnone size-full wp-image-109 intro" align="right" /></p>
<p class="intro">The next language to get the <a href="http://www.bin-co.com/blog/2008/03/learning-a-new-programming-language-the-hello-world-method/">Hello Script</a> treatment is <a href="http://www.openjs.com/">JavaScript &#8211; my favorite language</a>. Before we go any further, here is the definitions for Hello Script and JavaScript &#8211; just to make sure that we are on the same page&#8230;</p>
<dl>
<dt>Hello Script</dt>
<dd><strong class="highlight">&#8216;Hello Script&#8217; is a file that contains the most commonly used elements of a programming language so that it can be used as a cheat sheet</strong> when working with that language.</dd>
<dt><a href="http://localhost/Sites/openjs/openjs.com/about.php#about-js">JavaScript</a></dt>
<dd>JavaScript is a <strong class="highlight">client side scripting language</strong> that is used in browsers.</dd>
</dl>
<h2>Code</h2>
<p>Warning: Do not run this code &#8211; you will get a lot of alerts. If you have firebug extension, uncomment the first line &#8211; then you can run the code.</p>
<pre><code class="html">
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Hello Script for JS&lt;/title&gt;
&lt;script type="text/javascript"&gt;
//alert=console.log;
alert("Hello World");

// Variables, concatination
var name = 'Binny';
var year = 2008;
alert("Hello, " + name + " - welcome to " + year );

//If,else conditions
if (year &gt; 2008) {
	alert("Welcome to the future - yes, we have flying cars!");
}
else if(year &lt; 2008) {
	alert("The past - please don't change anything. Don't step on any butterflies. And for the sake of all thats good and holy, stay away from your parents!");
}
else {
	alert("Anything wrong with your time machine? You have not gone anywhere, kiddo.");
}

// For loop
for(var i=0; i&lt;3; i++) {
	alert(i + ") Hi there!");
}

//Numerical Array, While
var rules = [
	'Do no harm',
	'Obey',
	'Continue Living'
];
var i = 0;
while(i&lt;rules.length) {
	alert("Rule " + (i+1) + " : " + rules[i]);
	i++;
}

// Associated array, foreach
var associated = {
	'hello'	:	'world',
	'foo'	:	'bar',
	'lorem'	:	'ipsum'
}
for(key in associated) {
	alert(key + " : " + associated[key]);
}

// Using Join and Split
csv_values = "hello,world,how,are,you".split(",");
alert(csv_values.join(":"));

// Function, argument, return, call
function hello(name) {
	return "Hello " + name;
}
hello_string = hello("Binny");
alert(hello_string);

// One for the OOP fanboys - Class, members, object and stuff.
function Movie(name) { //Constuctor
	this.name = name;
}
Movie.prototype.rateMovie = function() {
	this.rating = (this.name.length % 10) + 1; //IMDBs rating algorithm. True story!
}

Movie.prototype.printMovieDetails = function() {
	alert("Movie : " + this.name + "\nRating : " + this.rating);
}

//Create the object
ncfom = new Movie("New Country for Old Men"); //It's a sequel!
ncfom.printMovieDetails();

// Regular Expressions
string = "Hello World";
if(string.match(/^Hell/)) alert("Yup - its evil\n");
alert(string.replace(/l([^l])/g, "$1")); //Remove an 'l' from both words. Should alert('Helo Word'

/**
 * Specialized code
 */
window.onload = function() {
	var ele = document.getElementById("div-element");
	alert(ele);
	ele.innerHTML = "Hello World";
	ele.onclick = function() {
		alert("You Clicked?");
	}

	document.getElementById("text").value = "Goodbye World";
}
&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div id="div-element"&gt;&lt;/div&gt;

&lt;input type="text" value="3" id="text" /&gt;

&lt;/body&gt;
&lt;/html&gt;
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.bin-co.com/blog/2008/05/hello-script-for-javascript/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>URL Lister &#8211; My First Firefox Plugin</title>
		<link>http://www.bin-co.com/blog/2008/05/url-lister-my-first-firefox-plugin/</link>
		<comments>http://www.bin-co.com/blog/2008/05/url-lister-my-first-firefox-plugin/#comments</comments>
		<pubDate>Wed, 07 May 2008 18:03:52 +0000</pubDate>
		<dc:creator>Binny V A</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[lister]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[tab]]></category>
		<category><![CDATA[URL]]></category>

		<guid isPermaLink="false">http://www.bin-co.com/blog/?p=106</guid>
		<description><![CDATA[
I just released my first firefox plugin &#8211; URL Lister. It shows the URLs of all the open tabs in a textarea so that they can be copied easily.
Download/Install
Install URL Lister
If you have installed it, consider rating it or reviewing it at Firefox plugins sandbox. Go to the public page for URL Lister and write [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.bin-co.com/tools/firefox/extensions/urllister/url_lister_logo.png" alt="URL Lister Logo" class="intro" align="right" /></p>
<p class="intro">I just released my first firefox plugin &#8211; <a href="http://www.bin-co.com/tools/firefox/extensions/urllister/">URL Lister</a>. It <strong class="highlight">shows the URLs of all the open tabs in a textarea so that they can be copied</strong> easily.</p>
<h2>Download/Install</h2>
<p><a href="http://www.bin-co.com/tools/firefox/extensions/urllister/urllister.xpi">Install URL Lister</a></p>
<p>If you have installed it, consider <strong class="highlight">rating it or reviewing it at Firefox plugins sandbox</strong>. Go to the <a href="https://addons.mozilla.org/en-US/firefox/addon/7192">public page for URL Lister</a> and write a review for the application. <strong class="highlight">I need reviews to promote it to the main extensions page</strong> &#8211; sandbox plugins are for registered users only.</p>
<h2>Usage</h2>
<p>Lets say you have these four tabs open&#8230;</p>
<ul>
<li><a href="http://www.openjs.com/">OpenJS &#8211; JavaScript, Opened.</a></li>
<li><a href="http://www.bin-co.com/">Bin-Co</a></li>
<li><a href="http://lindesk.com/">LinDesk</a></li>
<li><a href="http://blog.binnyva.com/">BinnyVA</a></li>
</ul>
<p>Right click any tab and click on the &#8216;URL Lister&#8230;&#8217; to open up the main dialog. You can also use &#8216;Tools &gt; URL Lister&#8217;. You will find the URLs of all the open tabs there.</p>
<p><img src="http://www.bin-co.com/tools/firefox/extensions/urllister/url_lister_screenshot.png" alt="URL Lister Screenshot" /></p>
<p>There is a drop down menu at the bottom &#8211; it has these three options&#8230;</p>
<ul>
<li>Plain Text</li>
<li>HTML Anchors</li>
<li>Linked List</li>
</ul>
<h3>Open URLs</h3>
<p>If you have a list of URLs and want to open them all, all you have to do is copy those URLs into this dialog and press OK &#8211; this will open up all the given URLs.</p>
<h2>And my thanks goes to&#8230;</h2>
<p>URL Lister is sort of a response to <a href="http://www.mattcutts.com/blog/wanted-convert-firefox-tabs-to-links/">this post</a> by Matt Cutts. I want to thank him for the idea.</p>
<p>There is another plugin with a similar function &#8211; <a href="https://addons.mozilla.org/en-US/firefox/addon/2069">Tab URL Copier</a>. I lifted some code from that plugin when creating URL Lister. Thanks.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bin-co.com/blog/2008/05/url-lister-my-first-firefox-plugin/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Between Web Application and Desktop Applications</title>
		<link>http://www.bin-co.com/blog/2007/08/between-web-application-and-desktop-applications/</link>
		<comments>http://www.bin-co.com/blog/2007/08/between-web-application-and-desktop-applications/#comments</comments>
		<pubDate>Sun, 26 Aug 2007 17:39:10 +0000</pubDate>
		<dc:creator>Binny V A</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[local]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.bin-co.com/blog/2007/08/between-web-application-and-desktop-applications/</guid>
		<description><![CDATA[There is a distinct line between web application and desktop applications. But over the last few years, this line is becoming thinner. Due to faster internet connection and technologies like ajax, web applications are becoming much faster and more responsive. And, if you have a local web server installed, a &#8216;web&#8217; application can become desktop [...]]]></description>
			<content:encoded><![CDATA[<p class="intro">There is a distinct line between web application and desktop applications. But over the last few years, this line is becoming thinner. Due to faster internet connection and technologies like ajax, web applications are becoming much faster and more responsive. And, if you have a local web server installed, a &#8216;web&#8217; application can become desktop application.</p>
<p>I have a web server(Apache), and a database server(MySQL) running at all times on my local system. Since <abbr title="Linux/Apache/MySQL/PHP">LAMP</abbr> is my preferred platform of development, if I need a new software, I will create it on LAMP. A good example of this is <a href="http://www.bin-co.com/php/programs/apps/nexty/">Nexty</a>. Over time, I have discovered that web application can be used as desktop applications. All you need is a web server, a database server and a browser.</p>
<p>There must be some changes to the current model to make this system work. These are a few I could think of&#8230;</p>
<ul>
<li>Web Server must run as the current user. That way, you can read/write to any file using PHP(or equivalent).</li>
<li>The application must not be available over the network. Or, the web server must only accept connections from 127.0.0.1</li>
<li>An installer for these kind of applications must be made.</li>
</ul>
<h2>Advantages</h2>
<ul>
<li><strong>Familiarity</strong>: People are already used to web applications &#8211; so it will be easy to switch.</li>
<li><strong>User Customizable</strong>: Users can change the appearance of the application(user stylesheets), and to a limited extent, the functionality(GreaseMonkey).</li>
<li><strong>Open Source</strong>: If the code is in PHP or Ruby on Rails, or anything similar, the code will be available for study or even modification.</li>
<li><strong>Cross Platform</strong>: The same program can be installed in Windows or Linux or whatever &#8211; as long as it has a Web server.</li>
</ul>
<h2>Disadvantages</h2>
<ul>
<li><strong>Imaginary</strong>: As of yet no such system exists.</li>
<li><strong>High Level</strong>: The system will not be able to do low level system operations.</li>
<li><strong>Limited</strong>: There will be some very serious limitation to the application unless the current systems are modified. For example, the browser cannot read or write to the filesystem.</li>
</ul>
<p>I have been using some web applications as desktop applications for a while now &#8211; these include <a href="http://wordpress.org/">WordPress</a>(for keeping notes), <a href="http://www.activecollab.com/">activeCollab</a>(project management), Nexty(to do list), and Tiker(time tracker).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bin-co.com/blog/2007/08/between-web-application-and-desktop-applications/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
