<?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>Dare to Dream? &#187; OpenSocial</title>
	<atom:link href="http://www.makuchaku.in/blog/category/opensocial/feed" rel="self" type="application/rss+xml" />
	<link>http://www.makuchaku.in/blog</link>
	<description>Good judgment comes from experience; Experience comes from bad judgment.</description>
	<lastBuildDate>Sun, 02 Oct 2011 19:29:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Getting back to the drawing board&#8230;</title>
		<link>http://www.makuchaku.in/blog/getting-back-to-the-drawing-board</link>
		<comments>http://www.makuchaku.in/blog/getting-back-to-the-drawing-board#comments</comments>
		<pubDate>Sun, 03 Aug 2008 16:31:22 +0000</pubDate>
		<dc:creator>Mayank Jain (makuchaku)</dc:creator>
				<category><![CDATA[ApnaBill]]></category>
		<category><![CDATA[OpenSocial]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Startups]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://www.makuchaku.in/blog/getting-back-to-the-drawing-board</guid>
		<description><![CDATA[Drawing boards are so much more fun than paper&#8217;n pencil No related posts. Related posts brought to you by Yet Another Related Posts Plugin.


No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[ 
<span class = "" style = "height: 40px;  "><iframe src="http://www.facebook.com/plugins/like.php?href=http://www.makuchaku.in/blog/getting-back-to-the-drawing-board&layout=button_count&send=false&show_faces=false&width=100&action=like&colorscheme=light&font=" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:100px; height:40px"></iframe></span><p><img src="http://www.zoto.com/makuchaku/img/45/b58bbd086a0046cc4dd101a93177af35-b31fa.jpg" height="500" border="0" width="375" /><br />
Drawing boards are so much more fun than paper&#8217;n pencil <img src='http://www.makuchaku.in/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
 
<span class = "" style = "height: 40px;  "><iframe src="http://www.facebook.com/plugins/like.php?href=http://www.makuchaku.in/blog/getting-back-to-the-drawing-board&layout=button_count&send=false&show_faces=false&width=100&action=like&colorscheme=light&font=" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:100px; height:40px"></iframe></span>

<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.makuchaku.in/blog/getting-back-to-the-drawing-board/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Head on with OpenSocial &#8211; Orkut Apps!</title>
		<link>http://www.makuchaku.in/blog/head-on-with-opensocial-orkut-apps</link>
		<comments>http://www.makuchaku.in/blog/head-on-with-opensocial-orkut-apps#comments</comments>
		<pubDate>Thu, 31 Jul 2008 23:51:06 +0000</pubDate>
		<dc:creator>Mayank Jain (makuchaku)</dc:creator>
				<category><![CDATA[ApnaBill]]></category>
		<category><![CDATA[OpenSocial]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://www.makuchaku.in/blog/head-on-with-opensocial-orkut-apps</guid>
		<description><![CDATA[Pushing ApnaBill.com into a Zarro Boogs state suddenly gave me the much needed time to start tinkering with other things in the roadmap. Hence the next obvious destination for me was OpenSocial &#8211; about which I&#8217;ve been hearing for quite some time now, almost everyone I know is writing some sort of social apps (FaceBook [...]


No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[ 
<span class = "" style = "height: 40px;  "><iframe src="http://www.facebook.com/plugins/like.php?href=http://www.makuchaku.in/blog/head-on-with-opensocial-orkut-apps&layout=button_count&send=false&show_faces=false&width=100&action=like&colorscheme=light&font=" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:100px; height:40px"></iframe></span><p>Pushing ApnaBill.com into a <a href="http://www.makuchaku.in/blog/zarro-boogs-found">Zarro Boogs state</a> suddenly gave me the much needed time to start tinkering with other things in the roadmap. Hence the next obvious destination for me was <a href="http://www.opensocial.org/">OpenSocial</a> &#8211; about which I&#8217;ve been hearing for quite some time now, almost everyone I know is writing some sort of social apps (FaceBook or Orkut)&#8230; moreover, these apps can bring a whole new sense of visibility to <a href="http://apnabill.com/">ApnaBill.com</a>.</p>
<p>Thanks to <a href="http://insidesocialweb.com/">Rohan</a>, I started off with an inclination towards Orkut apps.</p>
<p>I must say, Google has done nice job of documenting the OpenSocial API&#8217;s. The starting point was ofcourse <a href="http://code.google.com/intl/en-US/apis/orkut/">Orkut developer docs</a></p>
<ul>
<li><a href="http://code.google.com/apis/orkut/articles/tutorial/">OpenSocial tutorial for Orkut</a></li>
<li><a href="http://code.google.com/apis/orkut/articles/anatomy.html">Anatomy of an Orkut app</a></li>
<li><a href="http://code.google.com/intl/en-US/apis/orkut/docs/orkutdevguide.html">Orkut Developer Guide</a></li>
<li>API&#8217;s : <a href="http://code.google.com/apis/opensocial/docs/0.7/spec.html">OpenSocial</a>, <a href="http://code.google.com/apis/opensocial/docs/0.7/reference/">JavaScript</a> and <a href="http://code.google.com/apis/gadgets/docs/spec.html">Gadgets</a></li>
</ul>
<p>Ofcourse, to use any of these &#8211; you need the <a href="http://code.google.com/support/opensocialsignup">Developer Sandbox access</a> to Orkut</p>
<p>The docs and the presented examples seem all good &#8211; but if you are a first time OpenSocial developer, the disconnect would be very obvious to you &#8211; specially how the OpenSocial API&#8217;s and Gadget API&#8217;s and JS API&#8217;s are all connected.</p>
<p>What I understood from all the reading was that OpenSocial is a set of API&#8217;s which all conforming web services expose. Each of these web service (Orkut/Hi5/etc) is a Container and each container exposes some proprietary API&#8217;s as well. So if you are developing an app which is to be deployed across multiple websites, make sure you do not use any proprietary code.</p>
<p>And what was the best way of understanding the codebase? <a href="http://opensocial-resources.googlecode.com/svn/samples/">Read the Examples!</a> All of them! The more you read them, the more you would be able to the connect between all ingredients of OpenSocial API&#8217;s.<br />
OpenSocial apps are primarily HTML and JavaScript &#8211; styled using CSS.  The HTML forms the display of your app while the JS (bulk of your app) helps you fetch and render the data to &amp; fro from your web service (Orkut/Hi5/etc).</p>
<p>There&#8217;s something interesting to note here&#8230;<br />
Orkut&#8217;s sandbox environment requires your app to be stored on a publicly accessible location. That mean, if you have a website where you can host your JS/XML/CSS &#8211; you are good to go instantly. If not, try the <a href="http://code.google.com/apis/gadgets/docs/legacy/gs.html#GGE">Google Gadget Editor</a> and save your files on google&#8217;s server.</p>
<p>I was lucky when it came to app hosting. Tata Indicom in Pune, gives static public IP&#8217;s for postpaid broadband connections. That means if I run apache on my server and dump my app files on /var/www/orkut folder (Ubuntu) then I can edit the files on my local machine while Orkut sandbox environment can fetch them straight from my machine &#8211; awesome! Now I get to use my favorite editor&#8230; yay!</p>
<p><a href="http://www.makuchaku.in/blog/wp-content/uploads/2008/08/sandbox-1.png" title="OpenSocialApp - 1"><img src="http://www.makuchaku.in/blog/wp-content/uploads/2008/08/sandbox-1.thumbnail.png" alt="OpenSocialApp - 1" border="0" /></a><br />
App&#8217;s main view &#8211; Canvas</p>
<p><a href="http://www.makuchaku.in/blog/wp-content/uploads/2008/08/sandbox-2.png" title="OpenSocialApp - 2"><img src="http://www.makuchaku.in/blog/wp-content/uploads/2008/08/sandbox-2.thumbnail.png" alt="OpenSocialApp - 2" border="0" /></a><br />
Profile view of the app</p>
<p>As you can see, my app does nothing intelligent &#8211; just lists my friends and their details. But what&#8217;s interesting is, I can detect at runtime that which view is being rendered &#8211; is it app&#8217;s main view or is the app being shown in my profile.</p>
<p>Think of this in more  productive sense. If I am building an app for ApnaBill.com (lets say), I can display summary or something on the profile view and a more detailed analysis of the same thing in the app view &#8211; isn&#8217;t that interesting <img src='http://www.makuchaku.in/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>What&#8217;s next? &#8211; <u>Giving purpose to my app!</u> <img src='http://www.makuchaku.in/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>My example codebase &#8211; <a href="http://makuchaku.pastebin.ca/raw/1089050">app.xml</a>, <a href="http://makuchaku.pastebin.ca/raw/1089047">canvas_view.js</a>, <a href="http://makuchaku.pastebin.ca/raw/1089048">profile_view.js</a><br />
Please replace REPLACE_ME_1 with path to canvas_view.js and REPLACE_ME_2 with path to profile_view.js<br />
<u><strong>Note</strong></u> &#8211; I am learning JS as I am proceeding with OpenSocial apps. Please use the above code at your own risk.</p>
<p>[update]<br />
I am a big fan on &#8220;Emote&#8221; application on Orkut &#8211; so decided to examine how it works&#8230; loaded up Emote and inspected the &#8220;net&#8221; tab in Firebug and found this &#8211; <a href="http://www.rockyou.com/google_apps/emote_example/view/Emote_XML.php">http://www.rockyou.com/google_apps/emote_example/view/Emote_XML.php</a> -if you can see, Emote is using completely different set of HTML for canvas and profile views. It also has included &#8220;dynamic-height&#8221; feature to hide the nasty scrollbars &#8211; interesting! You might also be interested in checking out the localization technique and the app headers &#8211; lots interesting information is there on how they should be used.</p>
 
<span class = "" style = "height: 40px;  "><iframe src="http://www.facebook.com/plugins/like.php?href=http://www.makuchaku.in/blog/head-on-with-opensocial-orkut-apps&layout=button_count&send=false&show_faces=false&width=100&action=like&colorscheme=light&font=" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:100px; height:40px"></iframe></span>

<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.makuchaku.in/blog/head-on-with-opensocial-orkut-apps/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

