<?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>Ankit Ahuja &#187; Projects</title>
	<atom:link href="http://ankitahuja.com/blog/category/projects/feed/" rel="self" type="application/rss+xml" />
	<link>http://ankitahuja.com</link>
	<description>Personal Website and Blog of Ankit Ahuja</description>
	<lastBuildDate>Sun, 04 Dec 2011 01:39:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Deploying on Dreamhost using Git</title>
		<link>http://ankitahuja.com/blog/development/deploying-on-dreamhost-using-git/</link>
		<comments>http://ankitahuja.com/blog/development/deploying-on-dreamhost-using-git/#comments</comments>
		<pubDate>Fri, 06 May 2011 11:32:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Projects]]></category>
		<guid isPermaLink="false">http://ankitahuja.com/?p=580</guid>
		<description><![CDATA[I&#8217;ve had to this multiple times for multiple projects and thankfully I had written down the instructions when I first did it in a .txt file. Before I lose those instructions, I wanted to jot those down here. As a side note, I find this to be extremely useful. You get versioning control and you [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve had to this multiple times for multiple projects and thankfully I had written down the instructions when I first did it in a .txt file. Before I lose those instructions, I wanted to jot those down here. </p>
<p>As a side note, I find this to be extremely useful. You get versioning control and you can easily make small changes and perform updates to a site via the command line, without needing to go through the entire FTP login process. It is especially faster if you save the SSH key. That way you don&#8217;t have to enter your password everytime you push your code.</p>
<p>Here are the step-by-step instructions assuming the project name to be &#8216;rainbows&#8217;:</p>
<ul>
<li>
Update the robots.txt:</p>
<pre class="brush: bash; title: ;">User-agent: *
Disallow: /relative-path-to-rainbows
</pre>
</li>
<li>
If your site uses a database, create the database and other dependencies on the server.
</li>
<li>
Login via SSH on server: <a href="#">username@domain.com</a>. Navigate to where you want to deploy your website. Execute the following:</p>
<pre class="brush: bash; auto-links: true; title: ;">
mkdir rainbows
cd rainbows
git init
git config receive.denyCurrentBranch ignore
vim .git/hooks/post-update
# paste this script: http://utsl.gen.nz/git/post-update
chmod +x .git/hooks/post-update
</pre>
</li>
<li>
In your local repository, add the remote for the live site:</p>
<pre class="brush: bash; title: ;">
git remote add live ssh://username@domain.com/path-to-rainbows
</pre>
</li>
<li>
In local copy, push to remote repository:</p>
<pre class="brush: bash; title: ;">
git push live master
# On the remote repository, you may or may not need to
# do 'git checkout master' to see the changes.
</pre>
</li>
<li>
That&#8217;s it! Whenever you need to push code, just do:</p>
<pre class="brush: bash; title: ;">
git push live
</pre>
</li>
<li>
To make the process a lot faster, set up SSH Keys to avoid having to enter the password everytime. Instructions for that coming up later.
</li>
</ul>
<p>
Reference:</p>
<p><a href="http://stackoverflow.com/questions/279169/deploy-php-using-git">http://stackoverflow.com/questions/279169/deploy-php-using-git</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ankitahuja.com/blog/development/deploying-on-dreamhost-using-git/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How gleeBox makes browsing the web faster and more fun</title>
		<link>http://ankitahuja.com/blog/development/how-gleebox-makes-browsing-the-web-faster-and-more-fun/</link>
		<comments>http://ankitahuja.com/blog/development/how-gleebox-makes-browsing-the-web-faster-and-more-fun/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 07:17:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[gleebox]]></category>
		<guid isPermaLink="false">http://ankitahuja.com/?p=501</guid>
		<description><![CDATA[gleeBox started out as a weekend hack project for me and Sameer. But, we ended up spending a lot more time working on it. Not that I&#8217;m complaining, I think we managed to build a tool that is really useful once you get used to it. We made our last major release (1.0) a couple [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;">
<p><a href="http://thegleebox.com">gleeBox</a> started out as a weekend hack project for me and <a href="http://sameerahuja.com">Sameer</a>. But, we ended up spending a lot more time working on it. Not that I&#8217;m complaining, I think we managed to build a tool that is really useful once you get used to it. We made our last major release (<a href="http://thegleebox.com/releases.html">1.0</a>) a couple of weeks back. From now on, gleeBox development will be carried out at ease (and not the <a href="http://github.com/glee/glee">20 commits/day</a> rate at which it was being carried out earlier ^^ )</p>
<p>If you&#8217;re not familiar with gleeBox, you should take a look at this <a href="http://vimeo.com/7987369">screencast</a> or read the <a href="http://thegleebox.com/manual.html">user manual</a>.</p>
<p>After continually using gleeBox for some time, I&#8217;ve discovered several ways in which it makes browsing and doing stuff on the web quicker and more fun. Here are some of them:</p>
<p><strong>ESP Visions</strong>:</p>
<p>This is my favorite feature of gleeBox. What this means is, you can specify <a href="http://api.jquery.com/category/selectors/">jQuery selectors</a> for specific URLs and when you visit that particular page and open gleeBox, that selector will automatically be executed and all the matching elements will be highlighted on the page. You can TAB through them and press enter to execute a link.</p>
<p>This is especially useful on pages like the Google search results page, where all you would ever want to do is to go through the results. You don&#8217;t need to scroll using the mouse. This makes searching a lot more fun and less tiresome for the fingers.</p>
<p>This is also really useful for automating stuff, especially for pages where you have to click the same link everytime you visit them.</p>
<p>Several useful ESP Visions are listed on <a href="http://tipjar.thegleebox.com/category/esp/">TipJar</a>.</p>
<p><strong>Default Link Search:</strong></p>
<p>You start typing something and gleeBox highlights all the links on the page that match the text. This means you don&#8217;t need to take your hands off the keyboard to navigate the web.</p>
<p><strong>Page commands and bookmarklet execution:</strong></p>
<p>You can execute any bookmarklet by typing in
<pre class="brush: plain; title: ;">!bookmarklet-name</pre>
<p>. There are also some inbuilt-commands. A couple of examples are:</p>
<p>Open the RSS feed of the current page in Google Reader so that you can easily subscribe to it</p>
<pre class="brush: plain; title: ;">!rss</pre>
<p>Share current page through mail, gmail, facebook, twitter, etc.</p>
<pre class="brush: plain; title: ;">!share m / g / fb / t / ...</pre>
<p>All of them are listed in the <a href="http://thegleebox.com/manual.html">user manual</a>.</p>
<p><strong>Bookmark Search:</strong></p>
<p>If turned on, gleeBox searches browser bookmarks if no links are found matching the entered text. This is useful, instead of manually going through a long list of sites in the bookmarks menu.</p>
<p><strong>Yubnub commands:</strong></p>
<p>You can execute <a href="http://yubnub.org">yubnub</a> or <a href='http://quixapp.com'>quix</a> commands preceded by
<pre class="brush: plain; title: ;">:</pre>
<p>A couple of examples are:</p>
<p>Search twitter for gleeBox</p>
<pre class="brush: plain; title: ;">:tw gleebox</pre>
<p>Search IMDb for avatar</p>
<pre class="brush: plain; title: ;">:imdb avatar</pre>
<p><strong>Scraper commands:</strong></p>
<p>Select Linked Images </p>
<pre class="brush: plain; title: ;">?img</pre>
<p>You can also define custom scrapers. Example: This will select all shared links on twitter.com</p>
<pre class="brush: plain; title: ;">?t - a.web </pre>
<p>If you&#8217;re an advanced gleeBox user, you should go ahead and share tips on <a href="http://tipjar.thegleebox.com">Tipjar</a>. You can login using your Twitter / Facebook / other accounts and start posting right away from the main page.</p>
]]></content:encoded>
			<wfw:commentRss>http://ankitahuja.com/blog/development/how-gleebox-makes-browsing-the-web-faster-and-more-fun/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing the Front End Editor extension on Joomla 1.5</title>
		<link>http://ankitahuja.com/blog/development/installing-the-front-end-editor-extension-on-joomla-1-5/</link>
		<comments>http://ankitahuja.com/blog/development/installing-the-front-end-editor-extension-on-joomla-1-5/#comments</comments>
		<pubDate>Thu, 01 Oct 2009 15:18:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[Front End Editor]]></category>
		<category><![CDATA[gsoc]]></category>
		<category><![CDATA[joomla]]></category>
		<category><![CDATA[project]]></category>
		<guid isPermaLink="false">http://ankitahuja.com/?p=304</guid>
		<description><![CDATA[Many of you already know that I created the “Front End Editor” aka &#8220;Enhanced Front End Editing&#8221; extension for Joomla! as part of Google Summer of Code 2009. The extension only works in 1.5.x right now. Even though I tried to make it easy to adopt the extension by making it easy to setup, the [...]]]></description>
			<content:encoded><![CDATA[<p>Many of you already know that I created the “<strong>Front End Editor</strong>” aka &#8220;<strong>Enhanced Front End Editing</strong>&#8221; extension for Joomla! as part of Google Summer of Code 2009. The extension only works in 1.5.x right now. Even though I tried to make it easy to adopt the extension by making it easy to setup, the extension does rely on the template quite a bit. I thought if I explain the installation process, all the hacks the extension makes and the underlying dependencies in a blogpost, it should help in getting rid of confusion to some degree.</p>
<p>You can download the <a href="http://extensions.joomla.org/extensions/news-production/content-submission/9838">extension</a> from JED.</p>
<h2 id="installation">Installation</h2>
<ol>
<li>Install ‘<strong>com_frontendeditor</strong>’, ‘<strong>plg_frontendeditor</strong>’ and ‘<strong>plg_articleeditor</strong>’ from <a href="http://joomlacode.org/gf/project/frediting/frs/?action=FrsReleaseBrowse&amp;frs_package_id=4870">here</a>.</li>
<li>Enable the plugins “System &#8211; Frontend Editor” and “Content &#8211; Frontend Article Editor”.</li>
<li>Go to “Components-&gt;Enhanced Frontend Editor” at the backend and click on “<strong>Apply Changes</strong>”. You can modify the settings there to suit your template and needs.</li>
</ol>
<h2 id="hacks_applied_when_you_click_on_8220apply_hack8221">Hacks ( applied when you click on “Apply Changes”)</h2>
<ol>
<li>Adds the module chrome &#8220;<strong>modChromefreditor</strong>&#8221; to the “<strong>html/modules.php</strong>” file of the current template. Before doing this, it creates a backup file ‘html/modules.php.backup’.</li>
<li>After creating a backup of “<strong>index.php</strong>” as “<strong>index.php.backup</strong>”, it modifies the following statements in the “index.php” of the current template:
<ul>
<li>All the jdoc statements get the style “<strong>freditor</strong>”. Example:
<pre class="brush: xml; title: ;">&lt;jdoc:include type=&quot;modules&quot; name=&quot;top&quot;&gt;</pre>
<p> gets changed into
<pre class="brush: xml; title: ;">&lt;jdoc:include type=&quot;modules&quot; name=&quot;top&quot; style=&quot;freditor&quot;&gt;</pre>
</li>
<li>Surrounds the jdoc statements with a DIV that has class in the format
<pre class="brush: xml; title: ;">frpos.position-name</pre>
<p> Example: </p>
<pre class="brush: xml; title: ;">
&lt;jdoc:include type=&quot;modules&quot; name=&quot;user3&quot; style=&quot;freditor&quot;&gt;</pre>
<p> gets changed into
<pre class="brush: xml; title: ;">
&lt;div class=&quot;frpos.user3&quot;&gt;
&lt;jdoc:include type=&quot;modules&quot; name=&quot;user3&quot; style=&quot;freditor&quot;&gt;
&lt;/div&gt;
</pre>
</li>
</ul>
</li>
<li>Replaces the existing “<strong>/html/com_content/article/form.php</strong>” file with a custom “<strong>form.php</strong>” ( after creating a backup file i.e. “<strong>form.php.backup</strong>”)</li>
</ol>
<p>The backup files are created so that you can undo the changes anytime by clicking on “<strong>Revert Changes</strong>”. You would probably want to revert the hack if you choose to uninstall the extension.</p>
<p>You’ll also need to apply the hack separately for each template you want to use.</p>
<h2 id="dependencies_limitations">Dependencies and Limitations</h2>
<ol>
<li><strong>Mootools 1.2</strong><br />
Perhaps the biggest limitation of this extension is that it uses mootools 1.2 instead of 1.1 which is used in Joomla! 1.5. Consequently, some of your javascript that uses mootools 1.1 may not work properly when you’re logged in. Mootools 1.2 will only replace 1.1 when you’re logged in at the front-end and have the plugins enabled. The reason I chose 1.2 is that Joomla! 1.6 will use mootools 1.2.</li>
<li><strong>Menu-item title editing</strong><br />
The menu-item titles must be enclosed in LI elements with the class in format
<pre class="brush: plain; title: ;">item&lt;menu-id&gt;</pre>
<p> Eg.:</p>
<pre class="brush: xml; title: ;">
&lt;li class=&quot;item13&quot;&gt;
&lt;span&gt;Joomla! Documentation&lt;/span&gt;
&lt;/li&gt;
</pre>
<p>If your template uses a different layout, you may want to modify it a little to support menu-item title editing. In case you don’t, you need not worry as each of these features degrade gracefully, without affecting the functionality or presentation of your site.</li>
<li><strong>Default article edit icons are hidden</strong><br />
The default edit icons are hidden and the extension displays its own edit icons. You can specify their selector in the admin component. In case your template uses a different selector than the default one and you don’t specify it, a pair of edit icons can appear for each article which will lead to confusion.</li>
<li><strong>Selectors for article and page titles</strong><br />
If they are not the default, you can modify them in the admin so that editing of article and page titles works.</li>
</ol>
<h2 id="future_versions">Future Versions</h2>
<p>You can report any bugs <a href="http://joomlacode.org/gf/project/frediting/tracker/?action=TrackerItemBrowse&amp;tracker_id=9019">here</a>. Since my college semester has now begun, any updates to the extension will probably come slowly. I plan to remove any trivial withstanding bugs, add new features with time and improve the extension in general. I would love to spend any free time in fixing bugs of the overall Joomla! project as well.</p>
<p>As far as Joomla! 1.6 is concerned, I did create a patch for 1.6 but due to time constraints, it wasn’t included in the feature-set for 1.6. So, when a stable version of 1.6 is released, I’ll port this extension to support 1.6.</p>
<p>I will love to know if the extension worked for you and any suggestions or feedback you want to give. You can either contact me via the <a href="http://ankitahuja.com/contact">Contact page</a> or send me an <a title="Me on Twitter" href="http://twitter.com/ahujaankit">@reply</a> on twitter.</p>
<p><strong>Update:</strong></p>
<p>This is a common recurring problem for version 0.3.7 of the extension. If you&#8217;re getting the following error:</p>
<p>Parse error: syntax error, unexpected &#8216;&#038;&#8217;, expecting T_VARIABLE or &#8216;$&#8217;<br />
in your-install/administrator/components/com_frontendeditor/controller.php<br />
on line 99</p>
<p>it means you&#8217;re probably using a version of PHP earlier than 5. Unfortunately, this piece of code only works in PHP 5. You&#8217;ll either need to update to PHP 5 or get the patch from <a href="http://joomlacode.org/gf/download/frsrelease/11233/44798/99line.patch">here</a>. You&#8217;ll need to apply the patch to 
<pre class="brush: plain; title: ;">your-install/administrator/components/com_frontendeditor/controller.php</pre>
<p>In case you&#8217;re not familiar with applying a patch, you&#8217;ll have to execute the following command from the shell:</p>
<pre class="brush: bash; title: ;">patch -p1 -i 99line.patch controller.php</pre>
<p><strong>Update 2</strong>:<br />
If you would like to promote the development of this extension and make a contribution, please go to the <a href="http://ankitahuja.com/front-end-editor">project page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ankitahuja.com/blog/development/installing-the-front-end-editor-extension-on-joomla-1-5/feed/</wfw:commentRss>
		<slash:comments>51</slash:comments>
		</item>
		<item>
		<title>Twitkut v2.0 to be an OAuth Gadget</title>
		<link>http://ankitahuja.com/blog/development/twitkut-v2-0-to-be-an-oauth-gadget/</link>
		<comments>http://ankitahuja.com/blog/development/twitkut-v2-0-to-be-an-oauth-gadget/#comments</comments>
		<pubDate>Mon, 28 Sep 2009 07:58:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[twitkut]]></category>
		<category><![CDATA[twitter]]></category>
		<guid isPermaLink="false">http://ankitahuja.com/?p=289</guid>
		<description><![CDATA[I&#8217;ve been working on the next version of Twitkut in whatever little free time I&#8217;ve had in the past couple weeks ( mostly weekends ). The next version of Twitkut will feature a number of new and exciting features, the most major one being support for OAuth. Some of the features have already been deployed [...]]]></description>
			<content:encoded><![CDATA[<p style="clear: both">I&#8217;ve been working on the next version of Twitkut in whatever little free time I&#8217;ve had in the past couple weeks ( mostly weekends ). The next version of Twitkut will feature a number of new and exciting features, the most major one being support for OAuth. Some of the features have already been deployed on Orkut:</p>
<p style="clear: both">1. <strong>Displaying user tweets in the Orkut profile page (</strong><em><strong>deployed</strong></em><strong>)</strong>: I had to rewrite the whole code for this due the new <a href="http://orkutdeveloper.blogspot.com/2009/05/posted-by-rahul-kulkarni-product.html">server-side templates and data-pipelining standards enforced by Orkut</a>. It has certain limitations in that you cannot click on any link that links to any external source. Clicking on the user&#8217;s pic or username leads you to the application page.</p>
<p style="clear: both">2. <strong>OAuth Support</strong>: Twitkut will now enable you to authorize it with your Twitter account via OAuth. Doing this will enable you to post updates from Twitkut, add your Orkut friends as your Twitter friends and many more things (listed as separate features). I chose OAuth since then you won&#8217;t have to worry about me storing your Twitter passwords.</p>
<p style="clear: both">3.<strong> Post updates from Twitkut</strong>: If you enable OAuth, you&#8217;ll be able to post updates to your Twitter account from within Twitkut.</p>
<p style="clear: both">4. <strong>Follow your Orkut friends on Twitter</strong>: Enabling OAuth will enable you to follow your Orkut friends on Twitter from within Twitkut.</p>
<p style="clear: both">5. <strong>Selective Updates</strong>: This will be similar to the &#8220;Selective Twitter Updater&#8221; Facebook app. You will able to selectively display updates on Twitkut by adding a hashtag to the end of updates similar to &#8220;#orktw&#8221; or &#8220;#orkut&#8221;. I&#8217;ve still to decide upon the hashtag. Only the updates containing the hashtag will be displayed on Twitkut.</p>
<p style="clear: both">Unfortunately, the popular demand for automatic updates to the user&#8217;s activity stream ( without the user having to visit the application page ) won&#8217;t be possible due to the limitations enforced by Orkut. If Orkut ever allows it, it&#8217;ll be the first feature I&#8217;ll add.</p>
<p style="clear: both">I cannot promise if and when I&#8217;ll add all these features. There are too many variables, time being the biggest one. You can keep abreast with the latest updates to Twitkut by following <a title="Twitkut on twitter" href="http://twitter.com/twitkut">@twitkut</a>.</p>
<p style="clear: both">You can also suggest features that you&#8217;ll like to be added to Twitkut as comments to this blogpost or as @replies to <a title="Twitkut on twitter" href="http://twitter.com/twitkut">@twitkut</a>.</p>
<p style="clear: both">Enabling Twitkut with OAuth has been/will be a complicated task. I&#8217;ll probably write a separate blog on writing an Opensocial OAuth Gadget.</p>
<p><br class="final-break" style="clear: both" /></p>
]]></content:encoded>
			<wfw:commentRss>http://ankitahuja.com/blog/development/twitkut-v2-0-to-be-an-oauth-gadget/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I&#039;m in! #GSoC</title>
		<link>http://ankitahuja.com/blog/development/im-in-gsoc/</link>
		<comments>http://ankitahuja.com/blog/development/im-in-gsoc/#comments</comments>
		<pubDate>Mon, 27 Apr 2009 13:40:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[gsoc]]></category>
		<category><![CDATA[joomla]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[webapp]]></category>
		<guid isPermaLink="false">http://ankitahuja.com/?p=101</guid>
		<description><![CDATA[Yes, I&#8217;m in (yay!) and I will be participating in Google Summer of Code this year with Joomla! For those of you who don&#8217;t know what Joomla! is, it is a Content Management System ( CMS ) used widely to create and manage websites. I will be working on an Enhanced front-end editor for Joomla! Ashwin [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a title="Joomla!" href="http://joomla.org"><img class="aligncenter" src="http://img.skitch.com/20090427-xyg7mbts5aannc9g3c5wk5cysa.jpg" alt="" width="275" height="64" /></a></p>
<p style="text-align: left;">Yes, I&#8217;m in (<em>yay!</em>) and I will be participating in <a href="http://socghop.appspot.com/" target="_blank">Google Summer of Code</a> this year with <a title="Joomla!" href="http://www.joomla.org" target="_blank">Joomla!</a> For those of you who don&#8217;t know what Joomla! is, it is a Content Management System ( CMS ) used widely to create and manage websites. I will be working on an <a title="Enhanced front-end editor" href="http://forum.joomla.org/viewtopic.php?f=231&amp;t=396033" target="_blank">Enhanced front-end editor</a> for Joomla! <a title="Ashwin Date" href="http://coolbung.blogspot.com/" target="_blank">Ashwin</a> will be mentoring me for the summer.</p>
<p>I am thankful to <a title="Sameer Ahuja" href="http://sameerahuja.com" target="_blank">Sameer</a> for inspiring me to take part in GSoC. I also thank <a title="Elin Waring" href="http://twitter.com/ElinWaring" target="_blank">Elin</a>, <a title="Sam Moffat" href="http://pasamio.id.au/" target="_blank">Sam</a>, <a title="Toni Marie" href="http://community.joomla.org/magazine/author/57-toni-marie.html" target="_blank">Toni</a> and all the other mentors and <a title="Joomla community" href="http://community.joomla.org" target="_blank">community </a>of Joomla! for helping me better my application into something practical and at the same time useful. It has been a great experience interacting with the Joomla! community for the past 1 &#8211; 2 months and that is something that has really inspired me to work on the project.</p>
<p>Things have been moving very quickly since I <a title="twitter update" href="http://twitter.com/ahujaankit/status/1567978777" target="_blank">got to know</a> that I got selected on 21st April at 12:30 am. But, the journey has just begun. I will be coding this coming summer to complete my project and to validate my selection. At present, I have been getting myself familier with the Joomla! framework, finalizing the implementation details of my project as well as sorting out a few issues in my mind. I plan to give my best effort to the project so that it becomes a useful feature for all Joomla! users.</p>
<p>I see this as a terrific opportunity to work in collaboration with talented people from all over the world. I see now why people love open source so much. It feels great to be a part of the Joomla! as well as the opensource community and to contribute to a project that is used by so many users.</p>
<p>My heartiest congratulations to everyone who got selected for Summer of Code. You can have a look at the list of students who got selected for Joomla! here: <a href="http://socghop.appspot.com/org/home/google/gsoc2009/joomla">http://socghop.appspot.com/org/home/google/gsoc2009/joomla</a></p>
<p>This post&#8217;s title makes my obsession with use of hash-tags in twitter updates pretty clear <img src='http://ankitahuja.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://ankitahuja.com/blog/development/im-in-gsoc/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ProxyCal, a webapp built out of personal needs</title>
		<link>http://ankitahuja.com/blog/development/proxycal/</link>
		<comments>http://ankitahuja.com/blog/development/proxycal/#comments</comments>
		<pubDate>Sat, 07 Mar 2009 14:12:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Webapps]]></category>
		<category><![CDATA[college]]></category>
		<category><![CDATA[proxycal]]></category>
		<category><![CDATA[webapp]]></category>
		<guid isPermaLink="false">http://ankitahuja.com/?p=61</guid>
		<description><![CDATA[My college wanted us to do a project as part of a &#8220;Bridge Course&#8221; this semester. In a way, I liked the concept as it was at least trying to convince some people to do something besides curriculum. Personally, it&#8217;s always good when you are working towards some objective like completing a project you have [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Keeping track of attendance" href="http://ankitahuja.com/apps/proxycal"><img class="aligncenter" src="http://img.skitch.com/20090305-rr5sgy2jy7gbeie8hu7ssxfh9b.jpg" alt="proxycal" width="234" height="80" /></a></p>
<p>My college wanted us to do a project as part of a &#8220;<strong><em>Bridge Course</em></strong>&#8221; this semester. In a way, I liked the concept as it was at least trying to convince some people to do something besides curriculum. Personally, it&#8217;s always good when you are working towards some objective like completing a project you have to submit. An example is last summer, when I had to create a project for the summer and I ended up doing a lot of fun stuff.</p>
<p>So, I thought, why not build a solution for a problem I have been facing for quite some time now. Those of you who know me personally or follow me on twitter, know that I am particularly unhappy about my college&#8217;s attendance criteria. It&#8217;s always been a headache for me trying to keep track of when I went to college and when I didn&#8217;t. I tried using <a title="Google Calendar" href="http://calendar.google.com">Google Calendar</a> but I thought it was pretty cumbersome to use for this particular purpose.</p>
<p>So, I thought, why not create a simple, easy-to-use and nice-looking webapp for exactly this purpose. That&#8217;s when <a title="ProxyCal" href="http://ankitahuja.com/apps/proxycal" target="_blank">ProxyCal</a> was born. Even at the beginning, I had the idea in my mind of a calendar which used colors like green, red and yellow to denote the status for the day i.e. whether you went to college, took a leave or college was off. One more thing I wanted to do was to avoid anyone from creating a new account for using ProxyCal. So, I decided that I was going to store all the data regarding the attendance in a separate calendar &#8216;ProxyCal&#8217; in the user&#8217;s Google Calendars.</p>
<p><span id="more-61"></span>So, all you need to use ProxyCal is to have a Google Account. This simplified things to quite an extent form the development point of view as it avoided me from maintaining a separate database for tracking a user&#8217;s attendance. I wanted my app to be <em>ajaxy</em> so I used the <a title="Google Calendar JS API" href="http://code.google.com/apis/calendar/docs/1.0/developers_guide_js.html" target="_blank">Google Calendar JavaScript API</a> which meant I didn&#8217;t have to go through the tedious process of making XMLHTTPRequests to a proxy on my server which in turn used the Google Calendar Data API.</p>
<p>The entire app is almost completely developed using JavaScript. There is a bit of PHP to store some settings related data.</p>
<p>Some of the fun and useful features of ProxyCal are:</p>
<p>1. By default, it assumes you went to college on weekdays and college was off on weekends i.e Sat and Sun. This means, when you visit the app after some time, it automatically assigns the default statuses to the previous days in the month.</p>
<p>2. It uses the following color scheme:<br />
Green &#8211; You went to college<br />
Red &#8211; You took a leave<br />
Yellow &#8211; College was Off</p>
<p>3. It allows you to set the cutoff percentage i.e. what percentage of attendance you are supposed to meet on a monthly basis.</p>
<p>4.  It also gives you an estimate of the no. of days you can take a leave in the current month.</p>
<p>5. You can edit the status for any day by simply clicking on it. It display&#8217;s a popup where you can simply set the new status.</p>
<p>For those of you wondering where the name came from, it does have some logic behind it. This app, in essence, assumes that once you went to college you either attended all the lectures or atleast had someone call a proxy for you <img src='http://ankitahuja.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
You cannot set attendance for all lectures separately. That would have made the app a little too complicated which was exactly the opposite of what I was striving to achieve.</p>
<p><a title="ProxyCal" href="http://ankitahuja.com/apps/proxycal" target="_blank">ProxyCal</a> is currently in <a href="http://en.wikipedia.org/wiki/Beta_version#Beta" target="_blank">beta</a>. That means I am still working on it. Here are some features I would be adding soon:</p>
<p>1. Ability to store your weekly timetable so that <a title="ProxyCal" href="http://ankitahuja.com/apps/proxycal" target="_blank">ProxyCal</a> can give you an estimation of your attendance in each subject.<br />
2. A screencast demonstrating use of ProxyCal. Even though it is very simple to use.<br />
3. Ability to download a PDF of the attendance log for any selected time period.<br />
4. ProxyCal does not work on Internet Explorer.</p>
<p>I have developed ProxyCal in an agile manner. I wanted to get it done quickly for two reasons. One, I couldn&#8217;t wait to start using it <img src='http://ankitahuja.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Also, I have to look up things for the coming summer so I don&#8217;t want to be stuck up on what I already know how to do.</p>
<p>And so, <a title="ProxyCal" href="http://ankitahuja.com/apps/proxycal" target="_blank">ProxyCal</a> is yet another example of an app I have built as a result of my personal needs. Maybe in future, I may think about creating something ( similar to ProxyCal ) which will be useful for a wider audience, like highlighting deadline for events.</p>
<p>You can start using ProxyCal by going here : <a title="ProxyCal" href="http://ankitahuja.com/apps/proxycal" target="_blank">http://ankitahuja.com/apps/proxycal</a></p>
<p>And as the footer of this app so prominently says,</p>
<p><strong><em>&#8220;Thou shall not run short on attendance ever again!&#8221;</em></strong></p>
<p>Here is a screenshot:</p>
<p><a title="Calendar view " rel="squeezebox" href="http://img.skitch.com/20090305-c38u4w7qwgnpgau8r45ukig84f.jpg"><img src="http://img.skitch.com/20090305-c38u4w7qwgnpgau8r45ukig84f.jpg" alt="SS1" width="299.5" height="259" /></a></p>
<p>Be free to suggest me any features or report back any bugs or just comment. You can use the feedback tab on the left on the app page for this purpose.</p>
]]></content:encoded>
			<wfw:commentRss>http://ankitahuja.com/blog/development/proxycal/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Twitkut Usage Stats</title>
		<link>http://ankitahuja.com/blog/projects/twitkut-usage-stats/</link>
		<comments>http://ankitahuja.com/blog/projects/twitkut-usage-stats/#comments</comments>
		<pubDate>Wed, 07 Jan 2009 06:14:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Webapps]]></category>
		<category><![CDATA[twitkut]]></category>
		<guid isPermaLink="false">http://ankitahuja.com/?p=48</guid>
		<description><![CDATA[Uptil now, the only way I had to keep track of Twitkut was the Google Gadget Directory, which still shows that it has &#60;100 users. At the time I developed the app, Google Analytics was broken. I have an Orkut filter setup on my Gmail, so that all the emails notifying me of scraps skip [...]]]></description>
			<content:encoded><![CDATA[<p>Uptil now, the only way I had to keep track of Twitkut was the Google Gadget Directory, which still shows that it has &lt;100 users. At the time I developed the app, Google Analytics was broken.</p>
<p>I have an Orkut filter setup on my Gmail, so that all the emails notifying me of scraps skip the Inbox. Today, however, I decided to check my Orkut emails. And guess what, the first mail I saw was from the Orkut guys giving me the weekly statistics of my Opensocial application!</p>
<p>Here it is:</p>
<blockquote><p>Here are the statistics for your OpenSocial app <a href="http://www.ankitahuja.com/apps/orkut/twitter.xml" target="_blank">twitter.xml</a> on orkut for the week of 2008/12/30: </p>
<p>App submitted to orkut on 2008/11/04<br />
Number of unique users who installed the app this week: <strong>77</strong><br />
Total number of unique users who currently have the app installed: <strong>532</strong><br />
Number of times profile pages of users who have installed this app were viewed: <strong>16395</strong><br />
Number of times this app was viewed in canvas view: <strong>446</strong></p></blockquote>
<p>Wow, and until now I thought that less than 100 users were using my application!</p>
<p>I think the Orkut team only recently started mailing developers weekly stats. I think it&#8217;s a great idea and hopefully they will continue to do so.</p>
]]></content:encoded>
			<wfw:commentRss>http://ankitahuja.com/blog/projects/twitkut-usage-stats/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Twitter + Orkut = Twitkut</title>
		<link>http://ankitahuja.com/blog/development/twitkut/</link>
		<comments>http://ankitahuja.com/blog/development/twitkut/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 20:33:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Webapps]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[twitkut]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[webapp]]></category>
		<guid isPermaLink="false">http://ankitahuja.com/?p=43</guid>
		<description><![CDATA[I use Twitter a lot. Unfortunately, almost all of my real life friends are only on Orkut. Most of them haven&#8217;t even heard of Twitter. That&#8217;s how I came up with the idea of creating something like Twitkut. I update frequently on Twitter. So, I thought how cool will it be if somehow all my [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a title="Twitkut" href="http://bit.ly/twitkut" target="_blank"><img class="aligncenter" src="http://ankitahuja.com/apps/orkut/artwork/twitkut.png" alt="Twitkut" /></a></p>
<p>I use <a title="Twitter" href="http://twitter.com" target="_blank">Twitter</a> a lot. Unfortunately, almost all of my real life friends are only on <a title="Orkut" href="http://www.orkut.com" target="_blank">Orkut</a>. Most of them haven&#8217;t even heard of Twitter. That&#8217;s how I came up with the idea of creating something like Twitkut.</p>
<p>I update frequently on Twitter. So, I thought how cool will it be if somehow all my Orkut friends can also read them from Orkut itself. That will mean they will not have to register on Twitter to follow me and get updates.</p>
<p><a title="Twitkut" href="http://bit.ly/twitkut" target="_blank">Twitkut</a> displays your recent tweets on your Orkut profile page. Besides, it also shows you which all of your friends are using Twitkut so that you can follow them. It also allows you to post updates to your twitter account from within Orkut using OAuth.<br />
<span id="more-43"></span></p>
<p><a title="Twitkut on Orkut profile" href="http://ankitahuja.com/wp-content/uploads/2008/11/twitkut_ss1.png"><img class="size-medium wp-image-45  alignnone" src="http://ankitahuja.com/wp-content/uploads/2008/11/twitkut_ss1-300x163.png" alt="" width="270" height="147" /></a><a title="Application page on Orkut" href="http://ankitahuja.com/wp-content/uploads/2008/11/twitkut_ss2.png"><img class="size-medium wp-image-44             alignright" src="http://ankitahuja.com/wp-content/uploads/2008/11/twitkut_ss2-300x224.png" alt="" width="270" height="202" /></a></p>
<p>It makes use of <a href="http://code.google.com/apis/opensocial/" target="_blank">Google&#8217;s OpenSocial JavaScript API</a> as well as <a href="http://apiwiki.twitter.com/Search+API+Documentation" target="_blank">Twitter&#8217;s Search API</a> to access the tweets.</p>
<p>OpenSocial is still pretty nescient, especially if you have seen the Facebook API. I was pretty dissappointed at times with the lack of features in the API. For eg., a chief functionality of my app would have been to update the status of the Orkut user with his/her latest tweet. But, the API didn&#8217;t allow it.</p>
<p>Also, to post an update to a user&#8217;s activity stream, the owner of the app must visit their profile page or the Twitkut application. This makes it impossible to automatically poll for new tweets and post them to a user&#8217;s activity stream. Maximum 2 updates are allowed to a user&#8217;s activity stream in a day.</p>
<p>Another feature OpenSocial currently lacks is that there is no way for the developer to keep track of who or how many users are using his application. I feel this should have been one of the first features that should have been implemented in the API, to allow developers to see analysis of their app usage from within Orkut.</p>
<p>There was one more thing that made me cringe. The Orkut sandbox allows using Opensocial 0.8 api whereas prod.sandbox.orkut.com as well as orkut.com only allow Opensocial 0.7 at this point of time. Nowhere did they mention this loud and clear. So, I ended up making the app using Opensocial 0.8. Then I got to know that I had to use Opensocial 0.7 if I wanted to submit my app to Orkut ( of course that&#8217;s the reason I am developing the app ) and so I had to make some redundant changes all over again.</p>
<p>On the brighter side, I was very happy with the response at the <a href="http://groups.google.com/group/opensocial-orkut" target="_blank">Orkut Developer Forum</a>. Jason and others helped me along the way and were kind enough to answer all my queries. Without their help, I would certainly have been unable to develop this app. It also cleared some of my concepts regarding caching, etc.</p>
<p>All in all, I am pretty happy with the final result. I have received nice feedback from people who have already started using Twitkut.</p>
<p>So, if you use Orkut and you are a Twitter crazy person and want to share your tweets with a wider world, you can add the application by going <a title="Twitkut" href="http://bit.ly/twitkut" target="_blank">here</a>.</p>
<p><strong><span style="font-weight: normal;">Follow updates on development: </span><a href="http://twitter.com/twitkut" target="_blank">@twitkut</a></strong></p>
<p><strong><span style="font-weight: normal;">Follow me: <a href="http://twitter.com/ahujaankit" target="_blank"><strong>@ahujaankit</strong></a></span></strong></p>
<p><strong>Update</strong>: Twitkut is now visible in Orkut profiles. The profile view will improve gradually. This is after Twitkut was temporarily not visible on Orkut profiles as the <a href="http://orkutdeveloper.blogspot.com/2009/05/posted-by-rahul-kulkarni-product.html" target="_blank">profile view had to re-built using OPML</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ankitahuja.com/blog/development/twitkut/feed/</wfw:commentRss>
		<slash:comments>45</slash:comments>
		</item>
		<item>
		<title>PollBol, a Polling Web App</title>
		<link>http://ankitahuja.com/blog/development/pollbol/</link>
		<comments>http://ankitahuja.com/blog/development/pollbol/#comments</comments>
		<pubDate>Wed, 22 Oct 2008 15:53:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Webapps]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[Ruby On Rails]]></category>
		<category><![CDATA[web app]]></category>
		<guid isPermaLink="false">http://ankitahuja.com/?p=17</guid>
		<description><![CDATA[Update: PollBol is currently down due to server deployment issues. Take a look at the screenshots instead. PollBol is an exciting web app that adds a twist to conventional polling by adding an additional social aspect to it. After making FriendComparé, which was a mashup making use of the Last.fm API, I wanted to make [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a title="Create, share and vote on polls with friends" href="http://pollbol.icedlabs.com"><img class="size-full wp-image-18 aligncenter" src="http://ankitahuja.com/wp-content/uploads/2008/10/pollbol.png" alt="PollBol" /></a></p>
<p style="text-align: left;"><strong>Update</strong>: PollBol is currently down due to server deployment issues. Take a look at the <a href="#pollbol_screenshots">screenshots</a> instead.</p>
<p style="text-align: left;"><a title="Create, share and vote on polls with friends" href="http://pollbol.icedlabs.com">PollBol</a> is an exciting web app that adds a twist to conventional polling by adding an additional social aspect to it. After making <a title="FriendCompare" href="http://ankitahuja.com/apps/lastfm">FriendComparé</a>, which was a mashup making use of the <a title="Last.fm" href="http://last.fm">Last.fm</a> API, I wanted to make a more independent app that maintained its own data.</p>
<p>Even so, I fully support the idea of making use other apps&#8217; APIs. It makes it easier for the users to adopt since it builds on the functionality of the more popular app. And so, FriendComparé has had comparatively far more visitors as compared to PollBol due to the popularity of Last.fm.</p>
<p>With PollBol, I had to think of a development platform that would allow me to complete the project within my summer vacations. And what better for agile development than <a title="Ruby on Rails" href="http://www.rubyonrails.org/" target="_blank">Ruby On Rails</a>. It was exciting to use Rails as it divides the entire project into three parts: <a title="MVC" href="http://en.wikipedia.org/wiki/Model-view-controller" target="_blank">Models, Views and Controllers</a>. And this makes it easier to plan on the various modules of the project.</p>
<p><span id="more-17"></span>I started out with the basic models of <em>Questions, Answers and Users</em> and then added modules as I started getting more comfortable with Rails. It makes it very easy to create models through migrations. You don&#8217;t need to know much of Sql in order to be able to manage data in a database.</p>
<p>Rails also makes it dead simple to create views for your app, though eventually to make your app look better, you need to have decent CSS skills. Usually, for each Controller, there is a corresponding View. The controller acts as a glue between the model and the view. The Controller performs all the programming part whereas all the formatting information is contained in the View. Rails also provides Helpers, which help to make Views even more simple and less complicated.</p>
<p><a title="Google Charts API" href="http://code.google.com/apis/chart/" target="_blank">Google Charts API</a> came in handy to display the results of polls.</p>
<p>Though <a title="PollBol" href="http://pollbol.icedlabs.com" target="_blank">PollBol</a> hasn&#8217;t had as many users as <a title="FriendCompare" href="http://ankitahuja.com/apps/lastfm" target="_blank">FriendComparé</a>, only a handful of people who I really had to convince to help me test the app :p ( thanks <a title="Sameer" href="http://www.sameerahuja.com" target="_blank">Sameer</a>, Neha, etc.), it was a fascinatingly learning and fun experience developing it.</p>
<p>Some of the unique features in PollBol are:</p>
<p>1. You can add additional answers/choices to a poll if you don&#8217;t like the available ones</p>
<p>2. You can be friends with other users so you can follow their activity</p>
<p>3. RSS Feeds for public activity, latest polls, popular polls, etc.</p>
<p>4. Commenting on Polls</p>
<p>PollBol hasn&#8217;t been tried by too many people yet. Maybe its because I haven&#8217;t tweeted or blogged about it. Also, unless its an app as popular as <a title="Twitter" href="http://www.twitter.com" target="_blank">twitter</a> or <a title="Last.fm" href="http://last.fm" target="_blank">last.fm</a>, with the social webapps overload, people normally cringe at the thought of registering at a new website ( including me ). Maybe in future, I will allow non-registered users to participate in polling as well as integrating it with OpenID.</p>
<p>Meanwhile, here are a few screenshots for you to chew on:</p>
<div id="pollbol_screenshots">
<a href="http://ankitahuja.com/wp-content/uploads/2008/10/PollBol.jpg"><img class="alignleft size-thumbnail wp-image-565" title="PollBol" src="http://ankitahuja.com/wp-content/uploads/2008/10/PollBol-150x150.jpg" alt="" width="150" height="150" /></a> <a href="http://ankitahuja.com/wp-content/uploads/2008/10/PollBol-Home.jpg"><img class="alignleft size-thumbnail wp-image-563" title="PollBol | Home" src="http://ankitahuja.com/wp-content/uploads/2008/10/PollBol-Home-150x150.jpg" alt="" width="150" height="150" /></a><a href="http://ankitahuja.com/wp-content/uploads/2008/10/PollBol-Polls.jpg"><img class="alignleft size-thumbnail wp-image-564" title="PollBol | Polls" src="http://ankitahuja.com/wp-content/uploads/2008/10/PollBol-Polls-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p><a href="http://ankitahuja.com/wp-content/uploads/2008/10/PollBol-Which-is-your-favorite-movie-among-the-following-Results.jpg"><img class="alignleft size-thumbnail wp-image-567" title="PollBol | Which is your favorite movie among the following | Results" src="http://ankitahuja.com/wp-content/uploads/2008/10/PollBol-Which-is-your-favorite-movie-among-the-following-Results-150x150.jpg" alt="" width="150" height="150" /></a><a href="http://ankitahuja.com/wp-content/uploads/2008/10/PollBol-Which-is-your-favorite-movie-among-the-following-Results-2.jpg"><img class="alignleft size-thumbnail wp-image-566" title="PollBol | Which is your favorite movie among the following | Results-2" src="http://ankitahuja.com/wp-content/uploads/2008/10/PollBol-Which-is-your-favorite-movie-among-the-following-Results-2-150x150.jpg" alt="" width="150" height="150" /></a><a href="http://ankitahuja.com/wp-content/uploads/2008/10/PollBol-Create-a-New-Poll1.jpg"><img class="alignleft size-thumbnail wp-image-568" title="PollBol | Create a New Poll" src="http://ankitahuja.com/wp-content/uploads/2008/10/PollBol-Create-a-New-Poll1-150x150.jpg" alt="" width="150" height="150" /></a>
</div>
]]></content:encoded>
			<wfw:commentRss>http://ankitahuja.com/blog/development/pollbol/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>FriendComparé, my first web app</title>
		<link>http://ankitahuja.com/blog/development/friendcompare/</link>
		<comments>http://ankitahuja.com/blog/development/friendcompare/#comments</comments>
		<pubDate>Sun, 13 Jul 2008 07:28:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Webapps]]></category>
		<category><![CDATA[last.fm]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[webapp]]></category>
		<guid isPermaLink="false">http://ankitahuja.com/?p=13</guid>
		<description><![CDATA[Yes, it is called Friendcomparé. To describe it simply, it basically lets you compare your musical tastes with your last.fm friends and neighbors.  You just enter your last.fm username and it brings up a list of your friends and neighbors with whom you can compare. Once you choose to compare, it shows you the top [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a title="FriendComparé" href="http://ankitahuja.com/apps/lastfm"><img class="size-full wp-image-14 aligncenter" src="http://ankitahuja.com/wp-content/uploads/2008/07/fchead.jpg" alt="FriendComparé" /></a></p>
<p>Yes, it is called <a title="FriendCompare" href="http://ankitahuja.com/apps/lastfm" target="_blank">Friendcomparé</a>. To describe it simply, it basically lets you compare your musical tastes with your last.fm friends and neighbors.  You just enter your <a href="http://www.last.fm">last.fm</a> username and it brings up a list of your friends and neighbors with whom you can compare. Once you choose to compare, it shows you the top tracks, artists, albums, tags, friends as well as recently played tracks that are common between both the users.</p>
<p>Though it isn&#8217;t anything huge, I am happy with it. It took some effort, probably more in the design part than in the development part, to get it somewhat pleasing to the eyes and yes, functional. But it was a fun and learning experience. Along the way, <a title="Sameer" href="http://www.sameerahuja.com">Sameer</a> gave me some brilliant ideas and criticism, for which I am grateful to him. Also, a couple of people at my favorite IRC channal, #think-digit, who gave me criticism and a third-person point of view, and also appreciation <img src='http://ankitahuja.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>As I went on coding and adding new little features, I learnt a lot on creating CSS layouts and programming with PHP. I learnt a lot more CSS tricks which are definitely going to help me out in my next webdesign project <img src='http://ankitahuja.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> . And while coding with PHP, I eventually got hints about its object oriented nature and that how it could make expanding the application a very simple task. In future, I would probably like to make use of AJAX to make it a little more web 2.0 <img src='http://ankitahuja.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I have this idea of probably building a facebook or orkut application for it, will it be useful? You can let me know in the comments.</p>
<p>Here are a few screenshots:</p>
<p><a title="Login screen" rel="squeezebox" href="http://img.skitch.com/20090405-ptc4jigqewcy3rh9h1cu8m856e.jpg"><img class="alignnone" src="http://img.skitch.com/20090405-ptc4jigqewcy3rh9h1cu8m856e.jpg" alt="" width="265" height="166" /></a><a title="Choose friend/neighbor for comparison" rel="squeezebox" href="http://img.skitch.com/20090405-jfkp6itukqi49bypdc356wpy9u.jpg"><img class="alignnone" src="http://img.skitch.com/20090405-jfkp6itukqi49bypdc356wpy9u.jpg" alt="" width="290.5" height="166" /></a><a title="Comparison between two users" rel="squeezebox" href="http://img.skitch.com/20090405-bhqidubhwwbr7n6hn4d76k5gt1.jpg"><img class="alignnone" src="http://img.skitch.com/20090405-bhqidubhwwbr7n6hn4d76k5gt1.jpg" alt="" width="243.5" height="166" /></a></p>
<p>Build.last.fm: <a href="http://build.last.fm/item/433">http://build.last.fm/item/433</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ankitahuja.com/blog/development/friendcompare/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
	</channel>
</rss>

