
<?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; webapp</title>
	<atom:link href="http://ankitahuja.com/blog/tag/webapp/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>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>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>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>

