<?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>Google Data &#187; Dion Almaer</title>
	<atom:link href="/author/dion-almaer/feed/" rel="self" type="application/rss+xml" />
	<link>https://googledata.org</link>
	<description>Everything Google: News, Products, Services, Content, Culture</description>
	<lastBuildDate>Thu, 19 Mar 2015 18:59:20 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.7.5</generator>
	<item>
		<title>Zoho Mail goes offline with Gears</title>
		<link>https://googledata.org/google-code/zoho-mail-goes-offline-with-gears/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=zoho-mail-goes-offline-with-gears</link>
		<comments>https://googledata.org/google-code/zoho-mail-goes-offline-with-gears/#comments</comments>
		<pubDate>Thu, 09 Oct 2008 23:10:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Dion Almaer, Google Developer Programs  We have so much respect for the Zoho team here at Google. They produce great software, and they do it regularly! Their latest accomplishment has been getting their email product, Zoho Mail, working offline.Bra...]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Dion Almaer, Google Developer Programs</span><br /><br /><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/mDG4w96RePo"></param> <embed src="http://www.youtube.com/v/mDG4w96RePo" type="application/x-shockwave-flash" width="425" height="350"> </embed></object><br /><br />We have so much respect for the Zoho team here at Google. They produce great software, and they do it regularly! Their latest accomplishment has been getting their email product, <a href="http://zohomail.com">Zoho Mail</a>, working offline.<br /><br />Brad Neuberg sat down with the guys to chat about this new release. He delves into the offline flow of the product, and then into the architecture behind it. How do they handle syncing? What features do they turn off when you are offline? How explicit to you have to be? Listen in to hear their thoughts!<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-2279118910852608612?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-code/zoho-mail-goes-offline-with-gears/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Measuring Speed The Slow Way</title>
		<link>https://googledata.org/google-code/measuring-speed-the-slow-way/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=measuring-speed-the-slow-way</link>
		<comments>https://googledata.org/google-code/measuring-speed-the-slow-way/#comments</comments>
		<pubDate>Wed, 01 Oct 2008 12:19:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Steve Lamm, Member of Technical StaffLet's say you figured out a wicked-cool way to speed up how quickly your website loads. You know with great certainty that the most popular web page will load much, much faster. Then, you remember that the page a...]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Steve Lamm, Member of Technical Staff</span><br /><br />Let's say you figured out a wicked-cool way to speed up how quickly your website loads. You know with great certainty that the most popular web page will load much, much faster. Then, you remember that the page always loads much, much faster in your browser with the web server running on your development box. You need numbers that represent what your users will actually experience.<br /><br />Depending on your development process, you may have several measuring opportunities such as after a live release, on a staging server, on a continuous build, or on your own development box. <br /><br />Only a live release gives numbers that users experience--through different types of connections, different computers, different browsers. But, it comes with some challenges:<ul><li>You must instrument your site (one example tool is <a href="http://code.google.com/p/jiffy-web/">jiffy-web</a>).</li><li>You must isolate changes.<ul><li>The most straight-forward way to do that is to release only one change at a time. That avoids having multiple changes altering performance numbers--for better or for worse--at the same time.</li></ul></li><li>Consider releasing changes to a subset of users.<ul><li>That helps safe-guard against real-world events like holidays, big news days, exploding hard drives, and, perhaps the worst possible fate of all: a <a href="http://en.wikipedia.org/wiki/Slashdot_effect">slashdotting</a>.</li></ul></li></ul>Measuring real traffic is important, but performance should also be measured earlier in the development process. Millions of users will not hit your development web server--they won't, right?!  You need a way to measure your pages without that.<br /><br />Today, Steve Souders has released <a href="http://stevesouders.com/hammerhead/">Hammerhead</a>, a Firefox plug-in that is just the ticket for measuring web page load times. It has a sweet feature that repeatedly loads pages both with and without the browser cache so you can understand different use cases. One thing Hammerhead will not do for you is slow down your web connection. The page load times that you measure on your development machine will likely be faster than your users' wildest dreams.<br /><br />Measuring page load times with a real DSL or dial up connection would be ideal, but if you cannot do that, all hope is not lost. You can try the following tools that simulate slower connection speeds on a single box:<ul><li><a href="http://www.uselessapplications.com/en/Application/FirefoxThrottle.aspx">Firefox Throttle</a> (Firefox plug-in, windows-only, free)</li><li><a href="http://www.fiddlertool.com/fiddler/">Fiddler</a>: Web Debugging Proxy (free)</li><li><a href="http://www.charlesproxy.com/">Charles</a>: Web Debugging Proxy (shareware, $50)</li></ul>Please share your own favorite tools in the comments. Each of these tools is super easy to install and setup options to simulate slower connections. However, they each have some caveats that you need to keep in mind.<br /><br />Firefox Throttle hooks into the WinSock API to limit bandwidth and avoids using proxy settings. (If you use it, be sure to disable "burst-mode".) Right now, Firefox Throttle only limits bandwidth. That means it controls how much data arrives in a given time period after the first bits arrive. It does not limit latency. Latency controls how long it takes packets to travel to and from the server. See Wikipedia's <a href="http://en.wikipedia.org/wiki/Relationship_between_latency_and_throughput%20">Relationship between latency and throughput</a> for more details. For certain webpages, latency can make up a large part of the overall load time. The next Firefox Throttle release is expected to include latency delays and other webmaster friendly features to simulate slower, less-reliable connections. With these enhancements, Firefox Throttle will be an easy recommendation.<br /><br />Fiddler and Charles act as proxies, and, as a result they make browsers act rather differently. For instance, IE and Firefox drastically limit the maximum number of connections (IE8 from 60+ to 6 and FF3 from 30 to 8). If you happen to know that all your users go though a proxy anyway, then this will not matter to you. Otherwise, it can mean that web pages load substantially differently.<br /><br />If you have more time and hardware with which to tinker, you may want to check out tools like <a href="http://info.iet.unipi.it/%7Eluigi/ip_dummynet/">dummynet</a> (FreeBSD or Mac OS X), or <a href="http://www.linuxfoundation.org/en/Net:Netem">netem</a> (Linux). They have even more knobs and controls and can be put between the web browser hardware and the serving hardware.<br /><br />Measurements at each stage of web development can guide performance improvements. Hammerhead combined with a connection simulator like Firefox Throttle can be a great addition to your web development tool chest.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-835267887722871774?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-code/measuring-speed-the-slow-way/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Chrome, Chromium, and V8 launch today</title>
		<link>https://googledata.org/google-chrome/google-chrome-chromium-and-v8-launch-today/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=google-chrome-chromium-and-v8-launch-today</link>
		<comments>https://googledata.org/google-chrome/google-chrome-chromium-and-v8-launch-today/#comments</comments>
		<pubDate>Wed, 03 Sep 2008 03:26:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Chrome]]></category>
		<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Dion Almaer, Google Developer ProgramsIt has been an exciting couple of days. Google Chrome launched along with a new blog for Chromium the underlying open source project.  Whenever you see an internal project go live to the world, and see the sourc...]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Dion Almaer, Google Developer Programs</span><br /><br />It has been an exciting couple of days. Google Chrome launched along with a <a href="http://blog.chromium.org/">new blog for Chromium</a> the underlying open source project.  Whenever you see an internal <a href="http://www.google.com/chrome">project go live</a> to the world, and see the <a href="http://src.chromium.org/viewvc/chrome/trunk/">source become open</a> it feels great. We've reposted the blog's <a href="http://blog.chromium.org/2008/09/welcome-to-chromium_02.html">first post below</a>, by Ben Goodger:<br /><br />Today, Google launched a new web browser called <a href="http://www.google.com/chrome">Google Chrome</a>. At the same time, we are releasing all of the code as open source under a permissive BSD license. The open source project is called Chromium - after the metal used to make chrome.<br /><br />Why did Google release the source code?<br /><br />Primarily it's because one of the fundamental goals of the Chromium project is to help drive the web forward. Open source projects like <a href="http://www.mozilla.org/">Firefox</a> and <a href="http://www.webkit.org/">WebKit</a> have led the way in defining the next generation of web technologies and standards, and we felt the best way we could help was to follow suit, and be as open as we could. To be clear, improving the web in this way also has some clear benefits for us as a company. With a richer set of APIs we can build more interesting apps allowing people to do more online. The more people do online, the more they can use our services. At any rate, we have worked on this project by ourselves for long enough - it's time for us to engage with the wider web community so that we can move on to the next set of challenges.<br /><br />We believe that open source works not only because it allows people to join us and improve our products, but also (and more importantly) because it means other projects are able to use the code we've developed. Where we've developed innovative new technology, we hope that other projects can use it to make their products better, just as we've been able to adopt code from other open source projects to make our product better.<br /><br />How will we be working with the open source community?<br /><br />To begin with, we are engaging with the WebKit community to integrate our patches back into the main line of WebKit development. Because of Chromium's unique <a href="http://dev.chromium.org/developers/design-documents/multi-process-architecture">multi-process architecture</a>, the integration of the <a href="http://code.google.com/p/v8/">V8 JavaScript engine</a>, and other factors, we've built a fairly significant port of WebKit on Windows, and are developing the same for Mac OS X and Linux. We want to make sure that we can find a productive way to integrate and sync up with the WebKit community in this effort as we move forward.<br /><br />Today, you can visit our project website at <a href="http://www.chromium.org/">www.chromium.org</a>, where you can get the latest source code or the freshest development build. If you're interested in keeping track of what's going on, you can join one of our <a href="http://dev.chromium.org/developers/discussion-groups">discussion groups</a>, where you can participate in development discussions and keep track of bugs as they're filed and fixed. Maybe you'll want to fix a few, too! You'll also find information on reporting bugs and all the various other aspects of the project. We hope you'll check it out!<br /><br />This is the Chromium blog. The posts here will be of a mostly technical nature, discussing the design theory and implementation details of work we've done or are doing. Over the next few weeks there'll be a number of posts that give a high level tour of the most important aspects of the browser.<br /><br />Finally, if you've not yet done so, take Google Chrome for a spin. You can download it from <a href="http://www.google.com/chrome/">http://www.google.com/chrome/</a>.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-5910684458823031672?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-chrome/google-chrome-chromium-and-v8-launch-today/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Code Review: JavaScript, Gears, GeoLocation, Android, and more</title>
		<link>https://googledata.org/google-code/code-review-javascript-gears-geolocation-android-and-more/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=code-review-javascript-gears-geolocation-android-and-more</link>
		<comments>https://googledata.org/google-code/code-review-javascript-gears-geolocation-android-and-more/#comments</comments>
		<pubDate>Thu, 28 Aug 2008 15:37:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Dion Almaer, Google Developer ProgramsCode Review is produced in a variety of formats, from text to audio (iTunes) and video.The last several days have been exciting. We are seeing great new technology that can enable us to do new things, and have o...]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Dion Almaer, Google Developer Programs</span><br /><br /><em>Code Review is produced in a variety of formats, from text to <a href="http://google-developer-podcast.googlecode.com/files/googlecodereview-20080827.mp3">audio</a> (<a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=257272708">iTunes</a>) and <a href="http://www.youtube.com/watch?v=C4V6fOMSD_o">video</a>.</em><br /><br /><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/C4V6fOMSD_o&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/v/C4V6fOMSD_o&hl=en&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object><br /><br />The last several days have been exciting. We are seeing great new technology that can enable us to do new things, and have old things run a lot better.<br /><br />Mozilla <a href="http://almaer.com/blog/tracemonkey-dom-canvas-opensource-and-more">announced TraceMonkey</a>, which promises large JavaScript performance improvements based on their trace based JIT technique. This, which backs on to the earlier SquirrelFish announcement from Apple and the WebKit team, and IE8 beta 2 arriving today with performance improvements too.<br /><br />Running a new browser and seeing Gmail get a lot faster is just as good as buying a new computer to get a speed up!<br /><br />Gears 0.4 has <a href="http://gearsblog.blogspot.com/2008/08/gears-04-is-here.html">been released</a> and people have picked up on the main points.<br /><br />One side is Geolocation, and the <a href="http://google-code-updates.blogspot.com/2008/08/two-new-ways-to-location-enable-your.html">two new ways to access location data</a> through Gears and the Ajax APIs.<br /><br />As an experiment, I wrote a shim that would bridge the W3C Geolocation API that Andrei Popescu of the Gears team is editing, and the other APIs. This is shown via a simple <a href="http://almaer.com/blog/where-are-you-using-the-new-ajax-clientlocation-api">Where are you?</a> sample application.<br /><br />Giving you access to location information is fantastic, but this isn't all Gears 0.4 has to offer.<br /><br />The new <a href="http://www.youtube.com/my_videos_multiupload">YouTube multi-file upload</a> page gives you the ability to upload many files, with progress on the upload, and the ability to resume uploads after a connectivity problem. Brad Neuberg wrote a sample that ties together the new APIs (Blob, HTTPRequest improvements, Desktop API file system addition) and shows how <a href="http://ajaxian.com/archives/youtube-uploader-now-using-gears-and-what-people-missed-in-gears-04">you could create the experience too</a>.<br /><br />For more of this content, you can follow our <a href="http://google-code-updates.blogspot.com/2008/08/two-new-open-web-series-open-web.html">two new series</a>: Open Web Podcast, and the State of HTML 5.<br /><br /><b>Mobile News</b><br /><br />A much awaited <a href="http://android-developers.blogspot.com/2008/08/announcing-beta-release-of-android-sdk.html">SDK update from Android</a> that includes the new Home screen and many UI changes. New applications are also added (Alarm Clock, Calculator, Music player, etc) and new APIs and developer tools.<br /><br />We also continue to add iPhone-friendly views of the Google world. THe latest is the <a href="http://googleblog.blogspot.com/2008/08/translations-on-your-iphone.html">Google Translate</a> view.<br /><br />Been playing with Google App Engine? If so, you should be aware of <a href="http://googleappengine.blogspot.com/2008/08/couple-datastore-updates.html">datastore updates</a> that give you the ability to do batch updates, and discussions of indexing improvements. It is fascinating to watch cool new applications: from mini-services, to full applications, to platforms themselves, giving App Engine a go.<br /><br /><b>Open Source</b><br /><br />The Google Summer of Code is moving along, and since we are now in August we get to see the progress that the students that have been flipping bits and not burgers this summer. One example is the <a href="http://google-opensource.blogspot.com/2008/08/git-and-google-summer-of-code.html">work of 6 students working on the Git version control system</a>.<br /><br />Steve Weis has released <a href="http://googleonlinesecurity.blogspot.com/2008/08/keyczar-safe-and-simple-cryptography.html">Keyczar</a>, a "toolkit that makes cryptography safer and easier to use". We all commonly make mistakes including the wrong cipher modes, bad algorithms, or working with keys incorrectly. Keyczar has got your back, is there to help keep your code secure.<br /><br />Speaking of security, Thomas Duebendorfer of our Swiss office gave a talk titled <a href="http://video.google.com/videoplay?docid=-7264496269298788759&q=user%3A%22Google+engEDU%22&vt=lf">Are internet users at risk?</a> that delves into the practices of browsers and plugins, and how they update themselves. This just reaffirmed my desire to have silent updates getting pushed to me to keep me more secure!<br /><br />Another video that we published that caught my eye was <a href="http://video.google.com/url?docid=6149437318763683430&esrc=rss_searchfeed&ev=v&len=3512&q=user%3A%22Google+engEDU%22&srcurl=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DVVcwqQlwnmY&vidurl=http%3A%2F%2Fvideo.google.com%2Fvideoplay%3Fdocid%3D6149437318763683430%26q%3Duser%253A%2522Google%2BengEDU%2522%26vt%3Dlf&usg=AL29H22Ac5D0ZCrsnhsOHsYAnUxjPuxwBw">Where the hell is Matt?</a>. Matt Harding is the guy who you may have seen on YouTube dancing badly around the world. We got him to the office and he chatted on his adventures. If you find yourself waiting for a compile (or a Map Reduce) this Friday, give it a watch while you wait.<br /><br />Finally, <a href="http://google-code-updates.blogspot.com/2008/08/october-google-developer-days-open.html">registration opened up</a> for the Google Developer Day events in India, Italy, the Czech Republic, and Russia. These join the first wave of events in the UK, France, Germany, and Spain. I really hope that we get to see you at one of those locations!<br /><br />As always, thanks for reading, listening, or watching, and let us know if there is anything that you would like to see.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-3707225305825278422?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-code/code-review-javascript-gears-geolocation-android-and-more/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://google-developer-podcast.googlecode.com/files/googlecodereview-20080827.mp3" length="15332657" type="audio/mpeg" />
		</item>
		<item>
		<title>October Google Developer Days Open Registration</title>
		<link>https://googledata.org/google-code/october-google-developer-days-open-registration/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=october-google-developer-days-open-registration</link>
		<comments>https://googledata.org/google-code/october-google-developer-days-open-registration/#comments</comments>
		<pubDate>Wed, 27 Aug 2008 16:41:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Elizabeth Yin, Google Developer ProgramsWe are excited to open registration for four more Google Developer Days in October in India, Italy, the Czech Republic, and Russia.October 18th -- Bangalore, IndiaOctober 21st -- Milan, ItalyOctober 24th -- Pr...]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Elizabeth Yin, Google Developer Programs</span><br /><br />We are excited to open <a href="http://code.google.com/events/developerday/2008/">registration</a> for four more Google Developer Days in October in India, Italy, the Czech Republic, and Russia.<ul><li><a href="http://code.google.com/intl/en_in/events/developerday/2008/">October 18th -- Bangalore, India</a></li><li><a href="http://code.google.com/intl/it/events/developerday/2008/home.html">October 21st -- Milan, Italy</a></li><li><a href="http://code.google.com/intl/cs/events/developerday/2008/home.html">October 24th -- Prague, Czech Republic</a></li><li><a href="http://code.google.com/intl/ru/events/developerday/2008/home.html">October 28th -- Moscow, Russia</a></li></ul><em>(Please note we have moved Google Developer Day India to October 18th.)</em><br /><br />As with the other 2008 Google Developer Days, we'll discuss the latest with our <a href="http://code.google.com/">APIs and developer tools</a>, diving into topics such as App Engine, OpenSocial, and Maps.  We'll have some cool new topics in store, and there will be plenty of time to socialize with fellow developers and Google engineers.  <br />  <br />If you are in western Europe, registration for the September Google Developer Days (<a href="http://code.google.com/intl/en_uk/events/developerday/2008/home.html">UK</a>, <a href="http://code.google.com/intl/fr/events/developerday/2008/home.html">France</a>, <a href="http://code.google.com/intl/de/events/developerday/2008/home.html">Germany</a>, and <a href="http://code.google.com/intl/es/events/developerday/2008/home.html">Spain</a>) is still open, though we expect to run out of space very soon.  We hope you can <a href="http://code.google.com/events/developerday/2008/">join us</a> for one of these upcoming eight events.<br /><br /><em>Update: We've also just opened registration for Google Developer Day Italy.</em><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-1232894452298357734?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-code/october-google-developer-days-open-registration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2008 U.S. Election Site: How did we do that?</title>
		<link>https://googledata.org/google-code/2008-u-s-election-site-how-did-we-do-that/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=2008-u-s-election-site-how-did-we-do-that</link>
		<comments>https://googledata.org/google-code/2008-u-s-election-site-how-did-we-do-that/#comments</comments>
		<pubDate>Wed, 27 Aug 2008 07:08:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Dion Almaer, Google Developer ProgramsMark Lucovsky of the Google AJAX APIs team has written up a detailed article on how the 2008 U.S. Election site was created and implemented.A myriad of the AJAX APIs are used here. The election news comes from:A...]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Dion Almaer, Google Developer Programs</span><br /><br />Mark Lucovsky of the Google AJAX APIs team has <a href="http://googleajaxsearchapi.blogspot.com/2008/08/howd-they-do-that.html">written up a detailed article</a> on how the <a href="http://www.google.com/2008election/">2008 U.S. Election site</a> was created and implemented.<br /><br />A myriad of the AJAX APIs are used here. The election news comes from:<br /><ul><li>A News Search: <br/><code>http://ajax.googleapis.com/ajax/services/search/news?v=1.0&q=Barack%20Obama%20unitedstates_uselections</code></li><li>A channel search for the YouTube tab: <br/><code>http://ajax.googleapis.com/ajax/services/search/video?v=1.0&q=ytchannel:barackobamadotcom</code></li><li>And, a <a href="http://www.google.com/coop/cse?cx=010222979794876194725:pqldevwuapa">Custom Search Engine</a> was created for the blog search: <br/><code>http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=Barack%20Obama&cx=010222979794876194725:pqldevwuapa</code>.</li></ul>Take a look, and play with the control that he talks about here:<br /><br /><iframe title="In the News" style="border: 0px none ; margin-left: 1em; width: 540px; height: 530px;" src="http://www.google.com/uds/gadgets/inthenews/iframe.html" frameborder="0"></iframe><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-5402959281104956540?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-code/2008-u-s-election-site-how-did-we-do-that/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Two new Open Web series: Open Web Podcast and This Week In HTML 5</title>
		<link>https://googledata.org/google-code/two-new-open-web-series-open-web-podcast-and-this-week-in-html-5/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=two-new-open-web-series-open-web-podcast-and-this-week-in-html-5</link>
		<comments>https://googledata.org/google-code/two-new-open-web-series-open-web-podcast-and-this-week-in-html-5/#comments</comments>
		<pubDate>Fri, 08 Aug 2008 18:13:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Dion Almaer, Google Developer ProgramsThis week has seen two new series to cover Open Web technology. One of the messages from Google I/O was explaining how Google believes in, and is frankly betting on the Web as its platform. You should expect to ...]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Dion Almaer, Google Developer Programs</span><br /><br />This week has seen two new series to cover Open Web technology. One of the messages from Google I/O was explaining how Google believes in, and is frankly betting on the Web as its platform. You should expect to see increasing examples of how we are putting our money (and effort) where our mouth is on this.<br /><br />Since the Web is so decentralized, we have a deep need to communicate and discuss where we, as a collective are heading. <br /><br />I have the pleasure to be joined by Alex Russell, notably of the Dojo Foundation, and John Resig, both creator of jQuery and employee of Mozilla Corp, for a new <a href="http://ajaxian.com/archives/open-web-podcast-episode-1-html-5-news-web-workers-w3c-selectors-and-dojo-happenings">Open Web Podcast</a> that focuses on news, events, and opinion on the state of the Open Web.<br /><br />In the first episode, which you can either <a href="http://media.ajaxian.com/openwebpodcast/podcasts/openwebpodcast-20080807.mp3">download directly</a> or <a href="http://feeds.feedburner.com/OpenWebPodcast">subscribe to</a>, we delve into a lot of topics including new APIs and specifications, the new charge behind Firebug, the Open Web Foundation, and much more.<br /><br />The early part of the podcast actually discusses the other series that started this week. Mark Pilgrim, a team-mate of mine at Google, kicked off <a href="http://blog.whatwg.org/this-week-in-html5-episode-1">This Week in HTML 5</a>. Mark is taking the time to keep track of the myriad of changes to the specification, and will keep us abreast of the important features and decisions that are made by the group, head by our own Ian Hickson.<br /><br />Mark discusses the big additions of <a href="http://www.whatwg.org/specs/web-workers/current-work/">Web Workers</a> (Gears Workers standardized), and the clarification of <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/embedded0.html#alt">alt tag usage in the img tag</a> to have you using <code>alt="{diagram}"</code> and the like.<br /><br />If you are interested in keeping up to date on HTML 5, you can <a href="http://blog.whatwg.org/feed">subscribe to the WHATWG feed</a> which is where Mark is doing his work.<br /><br />If there is anything else that you would like to see from us, please drop us a comment below!<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-532612542482353414?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-code/two-new-open-web-series-open-web-podcast-and-this-week-in-html-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Code Review: OWF, Content Licenses, Secure Ajax APIs, CalDAV and more</title>
		<link>https://googledata.org/google-code/google-code-review-owf-content-licenses-secure-ajax-apis-caldav-and-more/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=google-code-review-owf-content-licenses-secure-ajax-apis-caldav-and-more</link>
		<comments>https://googledata.org/google-code/google-code-review-owf-content-licenses-secure-ajax-apis-caldav-and-more/#comments</comments>
		<pubDate>Sat, 02 Aug 2008 04:23:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Dion Almaer, Google Developer ProgramsHow do you like your Code Review? Choose from text to audio (iTunes) and video.We have had a varied couple of weeks, so I decided to turn on the camera, even though I am in Eldora, Colorado, up in the mountains....]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Dion Almaer, Google Developer Programs</span><br /><br /><em>How do you like your Code Review? Choose from text to <a href="http://google-developer-podcast.googlecode.com/files/googlecodereview-2008aug01.mp3">audio</a> (<a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=257272708">iTunes</a>) and <a href="http://www.youtube.com/watch?v=8pAxPQYZDng">video</a>.</em><br /><br /><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/8pAxPQYZDng&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/v/8pAxPQYZDng&hl=en&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object><br /><br />We have had a varied couple of weeks, so I decided to turn on the camera, even though I am in Eldora, Colorado, up in the mountains.<br /><br />First up, the <a href="http://openweb.org/">Open Web Foundation</a>. I discuss the new foundation and what it is trying to accomplish (not another standards org!).<br /><br />Then we stay on the topic of the Open Web and browsers, and how Vladimir Vukićević <a href="http://blog.vlad1.com/2008/07/30/no-browser-left-behind">has an promising implementation of Canvas in IE</a>. <a href="http://code.google.com/p/explorercanvas/">excanvas</a> has done this for awhile by first emulating VML, and more recently with a Silverlight bridge. Vladimir is a Mozilla hacker, and he managed to shoehorn the Firefox Canvas code in via an &lt;object&gt;.<br /><br />We have worked out how to license our code, but what about the other stuff that a project has? What about the documentation, the samples, the protocols? The Google Code team now <a href="http://google-code-updates.blogspot.com/2008/07/introducing-content-licenses-on-google.html">allows you to choose a content license</a> to cover those bases. Just a simple drop down away in your project hosting area.<br /><br />Elsewhere, in Google Code land, <a href="http://google-code-updates.blogspot.com/2008/07/looks-good-to-me-source-code-review.html">the code review tool</a> that we talked about early has now made its way to Google Code. Now you can say "Looks Good To Me" to your buddies source code as he puts in a new commit on your new opensource project.<br /><br />One of the most requested features on Google Code is more RSS feeds, and we have obliged <a href="http://google-code-updates.blogspot.com/2008/07/new-feeds-for-project-hosting-on-google.html">with support for issues, downloads, subversion changes, and wiki updates</a>.<br /><br />Now you have the new tools, how about searching over that large amount of code that we are putting out there? <a href="http://google-code-updates.blogspot.com/2008/07/code-search-improved-browsing-and-new.html">Code Search</a> just got a lot better with rich outlines showing you meta data on the file that you are in, and hyperlinking includes and such.<br /><br />Moving to Ajax and the Web for a second. One of the common requests that we have had since we launched the AJAX Libraries API, is to be able to access the Google hosted popular opensource libraries on https as well. And, <a href="http://googleajaxsearchapi.blogspot.com/2008/07/ajax-libraries-ssl-support-is-live.html">now we do</a>. If your application is on https and you don't want users to see any "mixed content" messages, go ahead and use https on us too!<blockquote><a href="http://google-opensource.blogspot.com/2008/07/google-xml-pages-functional-markup.html">Google XML Pages (GXP)</a> is a templating system we use at Google. Its main focus is markup: we mostly use it for generating HTML and XHTML, but it can work with other flavors of XML, like Atom, KML, and RSS. It also has some support for a few non-markup languages (JavaScript, CSS and plain text), though mostly for embedding them within markup.</blockquote>Check it out and see how some of the Google products do the view side of MVC on the Web.<br /><br />I didn't even know that Google Health was built using GWT, so it was interesting to read <a href="http://googlewebtoolkit.blogspot.com/2008/07/building-healthy-applications-with-gwt.html">a retrospective on the decision</a>.<br /><br />What else has been going on?<br /><br />Here are a few random things:<ul><li><a href="http://google-code-updates.blogspot.com/2008/07/google-calendar-now-caldav-enabled.html">Google Calendar supports CalDAV</a>: This is experimental, but means that you can kick up iCal and have bi-directional sync.</li><li><a href="http://google-code-updates.blogspot.com/2008/07/qr-codes-now-available-on-google-chart.html">QR Code in Charts API</a>: QR codes are 2D bar codes. You can store anything you want, but commonly people put URLs and contact information in there, that mobile phones can quickly scan.</li></ul>Finally, <a href="http://google-code-updates.blogspot.com/2008/07/google-developer-days-opening.html">Google Developer Day is coming to Europe</a>, so if you are in that neck of the woods in September and October, please stop by!<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-631209752426388766?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-code/google-code-review-owf-content-licenses-secure-ajax-apis-caldav-and-more/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://google-developer-podcast.googlecode.com/files/googlecodereview-2008aug01.mp3" length="11026688" type="audio/mpeg" />
		</item>
		<item>
		<title>Take your Rails application offline with the Gears on Rails project</title>
		<link>https://googledata.org/google-code/take-your-rails-application-offline-with-the-gears-on-rails-project/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=take-your-rails-application-offline-with-the-gears-on-rails-project</link>
		<comments>https://googledata.org/google-code/take-your-rails-application-offline-with-the-gears-on-rails-project/#comments</comments>
		<pubDate>Mon, 14 Jul 2008 21:17:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Dion Almaer, Google Developer ProgramsUsing iTunes? Michael Marcus and Rui Ma, two recent graduates from a masters program at NYU, join us to discuss Gears on Rails, their open source framework that makes it easier than ever to take a Rails code-bas...]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Dion Almaer, Google Developer Programs</span><br /><br /><div style="padding: 5px; float: right;"><a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=257272708">Using iTunes?</a> <a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=257272708"><img src="http://bp1.blogger.com/_fNklLQXNzR8/RmhpjbsSlZI/AAAAAAAAAHo/raNZJqMJz9g/s400/oneclickitunes.jpg" border="0"></a></div>Michael Marcus and Rui Ma, two recent graduates from a masters program at NYU, join us to discuss <a href="http://code.google.com/p/gearsonrails/">Gears on Rails</a>, their open source framework that makes it easier than ever to take a Rails code-base offline.<br /><br /><a href="http://google-developer-podcast.googlecode.com/files/gearsonrails-googledeveloperpodcast.mp3">We start out discussing the genesis of the project</a> and what it is trying to do. The sweet spot is building a Rails application that can handle local interactions without having to drop down to Gears JavaScript APIs themselves.<br /><br />First you install the Gears on Rails plugin via:<pre>ruby script /plugin install http://gearsonrails.googlecode.com/svn/trunk/acts_as_local</pre>Then you can create a Rails controller and tell it that it is local via <code>acts_as_local :except=>['hello']</code>.<br /><br />Now you can create an action in the controller by creating a method that uses an API that looks Rails-like:<pre>def create_local<br /> '<br />   post = Post.build(params("post"));<br />   Post.create_local(post);<br />   window.location.reload( false );<br /> '<br />end</pre>In that string, the framework is actually building on <a href="http://jesterjs.org/">Jester</a>, a "JavaScript client for REST APIs that uses Rails conventions". Rui explained how they built out the local versions of the calls.<br /><br />This means that your architecture revolves around REST calls, and when you are offline they all occur on local data that can sync up later. The synchronization is done for you automatically.<br /><br />Thanks to Michael and Rui for taking the time to discuss <a href="http://code.google.com/p/gearsonrails/">their project</a> with us, and thank you for reading.<br /><br />Listen to the <a href="http://google-developer-podcast.googlecode.com/files/gearsonrails-googledeveloperpodcast.mp3">audio interview directly</a> (or subscribe via <a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=257272708">iTunes</a>).<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-673910495030856912?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-code/take-your-rails-application-offline-with-the-gears-on-rails-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://google-developer-podcast.googlecode.com/files/gearsonrails-googledeveloperpodcast.mp3" length="11409076" type="audio/mpeg" />
		</item>
		<item>
		<title>QR Codes now available on the Google Chart API</title>
		<link>https://googledata.org/google-code/qr-codes-now-available-on-the-google-chart-api/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=qr-codes-now-available-on-the-google-chart-api</link>
		<comments>https://googledata.org/google-code/qr-codes-now-available-on-the-google-chart-api/#comments</comments>
		<pubDate>Thu, 10 Jul 2008 17:12:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Hiroyuki Komatsu, Google Chart API teamYou can easily render 2D bar codes, known as QR Codes, with the Google Chart API, along with pie charts and bar graphs. If you haven't seen a QR Code before, you are looking at one on the right hand side (To se...]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Hiroyuki Komatsu, Google Chart API team</span><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_fNklLQXNzR8/SHZF1iF4-hI/AAAAAAAAAQQ/LcnZ7kMzlpQ/s1600-h/qrcode.png"><img style="float:right; margin:0 0 20px 20px;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_fNklLQXNzR8/SHZF1iF4-hI/AAAAAAAAAQQ/LcnZ7kMzlpQ/s400/qrcode.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5221437603969563154" /></a>You can easily render 2D bar codes, known as <a href="http://en.wikipedia.org/wiki/QR_Code">QR Codes</a>, with the <a href="http://code.google.com/apis/chart/">Google Chart API</a>, along with pie charts and bar graphs. If you haven't seen a QR Code before, you are looking at one on the right hand side (To see more, do an image search for "<a href="http://images.google.com/images?q=QR%20code">QR Code</a>".)<br /><br />QR Codes are a popular type of two-dimensional barcode.  You can encode URLs, contact information, etc. into a black-and-white image like the one on the right.  A QR-Code-enabled device can later scan the image and read back the original text. Learn more about QR Codes from <a href="http://www.google.com/adwords/printads/ads/barcode/">Google Print Ads</a>.  If you don't have a reader Google also offers a QR Code decoder library: <a href="http://code.google.com/p/zxing/">Zebra Crossing (ZXing)</a>.<br /><br />This is how you can creating these with the Google Chart API:<br /><br />Simply, there is a new chart type, <code style="color: rgb(0, 112, 0);">qr</code>, with attributes to tell the service what to produce:<pre style="color: rgb(0, 112, 0);">cht=qr<br />chl=&lt;text&gt;<br />choe=&lt;output&gt;</pre>&lt;text&gt; is text for the QR code. This must be url-encoded in UTF8. Note the space between <code style="color: rgb(0, 112, 0);">hello</code> and <code style="color: rgb(0, 112, 0);">world</code> is written as <code style="color: rgb(0, 112, 0);">%20</code> in the following example.<br />&lt;output&gt; optionally specifies how the text is encoded into bytes in the QR Code. If this is not specified the default of <code style="color: rgb(0, 112, 0);">UTF-8</code> is used. Available options are: <code style="color: rgb(0, 112, 0);">Shift_JIS</code>, <code style="color: rgb(0, 112, 0);">UTF-8</code>, or <code style="color: rgb(0, 112, 0);">ISO-8859-1</code>.<br /><br />For the details, please <a href="http://code.google.com/apis/chart/#qrcodes">read the full documentation</a>.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-5613455803235267471?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-code/qr-codes-now-available-on-the-google-chart-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Code Review: OAuth, Indexing Flash, Protocol Buffers, Selenium Ice, and more</title>
		<link>https://googledata.org/google-code/code-review-oauth-indexing-flash-protocol-buffers-selenium-ice-and-more/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=code-review-oauth-indexing-flash-protocol-buffers-selenium-ice-and-more</link>
		<comments>https://googledata.org/google-code/code-review-oauth-indexing-flash-protocol-buffers-selenium-ice-and-more/#comments</comments>
		<pubDate>Wed, 09 Jul 2008 20:23:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Dion Almaer, Google Developer ProgramsWe are trying an experiment, putting up Code Review in a variety of formats, from text to audio (iTunes) and video.After a great trip to Brazil and Mexico for the Google Developer Day events (Europe in September...]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Dion Almaer, Google Developer Programs</span><br /><br />We are trying an experiment, putting up Code Review in a variety of formats, from text to <a href="http://google-developer-podcast.googlecode.com/files/googlecodereview-2008july09.mp3">audio</a> (<a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=257272708">iTunes</a>) and <a href="http://www.youtube.com/watch?v=IdOnloHfVuw">video</a>.<br /><br /><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/IdOnloHfVuw&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/v/IdOnloHfVuw&hl=en&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object><br /><br />After a great trip to Brazil and Mexico for the Google Developer Day events (<a href="http://code.google.com/events/developerday/2008/">Europe in September and October</a>) I am back at it.<br /><br />There has been some great news in the last week or so, shall we take a peak?<br /><br />The GData team announced <a href="http://googledataapis.blogspot.com/2008/06/oauth-for-google-data-apis.html">OAuth support</a> around the horn. OAuth is:<blockquote>An open protocol to allow secure API authentication in a simple and standard method from desktop and web applications.</blockquote>And, now you can use the standard to access Google services. This is great, as you can write your applications to the one standard, and have it work across various back-ends.<br /><br />There was some great news that Google, Yahoo!, and Adobe participated in. We  have <a href="http://googlewebmastercentral.blogspot.com/2008/06/improved-flash-indexing.html">improved Flash indexing</a> working with Adobe's Searchable SWF library, and some smart algorithms. We can now add URLs that are part of the SWF to the pipeline, and can fire off events to grab more data. This is another improved step (we could grok text in the SWF before) and we hope to see many more as we get better at indexing richer and more varied content on the Web.<br /><br />There were some good open source releases too:<br /><br />Kenton Varda <a href="http://www.youtube.com/watch?v=K-e8DDRwVUg">discussed</a> the <a href="http://google-opensource.blogspot.com/2008/07/protocol-buffers-googles-data.html">release of Protocol Buffers</a>, a core piece of Google infrastructure as we optimize working with structured data.<br /><br />We also open sourced the <a href="http://google-opensource.blogspot.com/2008/07/open-sourcing-browser-sync.html">Browser Sync code</a> to see if a community wants to come together to continue to support it.<br /><br />Testing is tough, and we saw two interesting releases that sit in very different realms of the testing world.<br /><br />Firstly, the Selenium team <a href="http://google-opensource.blogspot.com/2008/07/selenium-ice-cool-new-browser-extension.html">produced Selenium Ice</a> a great new way to drive Internet Explorer as you test your Web applications.<br /><br />Secondly, if you are a C++ developer and you like testing, you may be interested to take a peak at the <a href="http://google-opensource.blogspot.com/2008/07/google-test-come-try-our-google-c.html">Google Testing library for C++</a> that we released.<br /><br />The GData teams have also come up with a couple more releases to go along with the big OAuth announcement.<br /><br />The first lies with Google Calendar. You can access your GCal data through GData, but what if you just want a nice visualization of the calendar on your website?<br /><br /><a href="http://googledataapis.blogspot.com/2008/06/make-your-own-customizable-ajax.html">CalVis</a> does just that. You get to customize the look and feel, and the library does the rest.<br /><br />If you are building rich mashups and happen to access multiple Google services, we have tried to make the UI cleaner for your users. You can <a href="http://googledataapis.blogspot.com/2008/06/google-data-apis-now-easier-to-use-for.html">now add multiple scopes for both AuthSub and OAuth</a>.<br /><br />Here is a sample AuthSub URL; Note the space delimited <code>scope</code>:<pre>https://www.google.com/accounts/AuthSubRequest?<br />       next=http://localhost/authsub<br />       &scope=http://www.google.com/calendar/feeds%20<br />              http://picasaweb.google.com/data<br />       &secure=1<br />       &session=1</pre>Mrinal Wadhwa <a href="http://gearsblog.blogspot.com/2008/07/flexi-ng-your-muscles-with-gears.html">flex-ed his muscles</a> to add Gears support to Flex applications via a nice simple library. If you are building Flex applications and want access to the growing Gears components, check it out.<br /><br />Yesterday was a very Web "3D" day. We released <a href="http://googleblog.blogspot.com/2008/07/be-who-you-want-on-web-pages-you-visit.html">Lively</a> a 3D virtual experience that is the newest addition to Google Labs. It lets you create an avatar and rooms to hang out in. I also saw that <a href="http://www.vivaty.com/">Vivaty</a> launched, and some are talking about how <a href="http://www.techcrunch.com/2008/07/08/virtual-worlds-are-so-hot-right-now-345-million-invested-so-far-this-year/">virtual worlds are hot in the Valley</a>.<br /><br />Lively has GTalk integration, and we just <a href="http://googlemobile.blogspot.com/2008/07/google-talk-for-iphone.html">released Google talk for iPhone</a> just in time for the new iPhone 3G launch at the end of the week. I will probably head down to one of the Apple Stores and upgrade myself!<br /><br />As always, thanks for <a href="http://google-code-updates.blogspot.com/atom.xml">reading</a>, <a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=257272708">listening</a>, or <a href="http://www.youtube.com/GoogleDevelopers">watching</a>, and let us know if there is anything that you would like to see.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-4360919250525839861?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-code/code-review-oauth-indexing-flash-protocol-buffers-selenium-ice-and-more/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://google-developer-podcast.googlecode.com/files/googlecodereview-2008july09.mp3" length="8674940" type="audio/mpeg" />
		</item>
		<item>
		<title>Protocol Buffers, our serialized structured data, released as Open Source</title>
		<link>https://googledata.org/google-code/protocol-buffers-our-serialized-structured-data-released-as-open-source/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=protocol-buffers-our-serialized-structured-data-released-as-open-source</link>
		<comments>https://googledata.org/google-code/protocol-buffers-our-serialized-structured-data-released-as-open-source/#comments</comments>
		<pubDate>Mon, 07 Jul 2008 20:41:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Dion Almaer, Google Developer ProgramsOne of the core pieces of infrastructure at Google is something called Protocol Buffers. We are really pleased to be open sourcing the system, but what are these buffers?Protocol buffers are a flexible, efficien...]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Dion Almaer, Google Developer Programs</span><br /><br />One of the core pieces of infrastructure at Google is something called <a href="http://code.google.com/apis/protocolbuffers">Protocol Buffers</a>. We are really pleased to be <a href="http://google-opensource.blogspot.com/2008/07/protocol-buffers-googles-data.html">open sourcing the system</a>, but what are these buffers?<blockquote>Protocol buffers are a flexible, efficient, automated mechanism for serializing structured data – think XML, but smaller, faster, and simpler. You define how you want your data to be structured once, then you can use special generated source code to easily write and read your structured data to and from a variety of data streams and using a variety of languages. You can even update your data structure without breaking deployed programs that are compiled against the "old" format</blockquote>It is probably best to take a peak at some code behind this. The first thing you need to do is define a message type, which can look like the following .proto file:<pre>message Person {<br />  required string name = 1;<br />  required int32 id = 2;<br />  optional string email = 3;<br /><br />  enum PhoneType {<br />    MOBILE = 0;<br />    HOME = 1;<br />    WORK = 2;<br />  }<br /><br />  message PhoneNumber {<br />    required string number = 1;<br />    optional PhoneType type = 2 [default = HOME];<br />  }<br /><br />  repeated PhoneNumber phone = 4;<br />}</pre>There is <a href="http://code.google.com/apis/protocolbuffers/docs/proto.html">detailed documentation on this language</a> for you to learn more.<br /><br />Once you have defined a message type, you run a protocol buffer compiler on the file to create data access classes for your platform of choice (Java, C++, Python in this release).<br /><br />Then you can easily work with the data, for example in C++:<br /><pre>Person person;<br />person.set_name("John Doe");<br />person.set_id(1234);<br />person.set_email("jdoe@example.com");<br />fstream output("myfile", ios::out | ios::binary);<br />person.SerializeToOstream(&output);</pre>We sat down with Kenton Varda, a software engineer who worked on the open source effort, to get his take on Protocol Buffers, how we ended up with them, how they compare to other solutions, and more:<br /><br /><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/K-e8DDRwVUg&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/v/K-e8DDRwVUg&hl=en&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-4082363520953445161?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-code/protocol-buffers-our-serialized-structured-data-released-as-open-source/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flexi-ng your muscles with Gears</title>
		<link>https://googledata.org/google-gears/flexi-ng-your-muscles-with-gears-2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=flexi-ng-your-muscles-with-gears-2</link>
		<comments>https://googledata.org/google-gears/flexi-ng-your-muscles-with-gears-2/#comments</comments>
		<pubDate>Tue, 01 Jul 2008 18:14:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Gears]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=d0da0aec57444534a87f82a1aa51feca</guid>
		<description><![CDATA[<span>Posted by Dion Almaer, Gears Team</span><br /><br />When a lot of developers think about Flex, they often tie it to Flash and AIR, but you can of course integrate Flex applications with many other front-end services.<br /><br />Mrinal Wadhwa has seen value in building Flex applications, and also likes functionality available in Gears.<br /><br />He wrote up an article on <a href="http://weblog.mrinalwadhwa.com/2008/06/27/flex-and-gears/">enhancing Flex applications with Gears</a> which had him create a <a href="http://experiments.mrinalwadhwa.com/Gears/FlexDesktopShortcut/FlexGears.html">sample application</a> the uses the <a href="http://code.google.com/apis/gears/api_desktop.html">Desktop API</a> in Gears.<br /><br />It is interesting to <a href="http://experiments.mrinalwadhwa.com/Gears/FlexDesktopShortcut/srcview/index.html">take a look at the source</a> to see how Flex applications tie back to plain old JavaScript.<br /><br />For example, the following shows you how you put JavaScript into your Flex application, and then call back to the Flex code via <code>thisMovie(APP_NAME).methodToCall</code>:<br /><pre>&#60;JavaScript&#62;<br />  // tells the swf if gears is installed<br />  function isGearsInstalled() {<br />    if (window.google &#38;&#38; google.gears) { //gears is installed<br />      thisMovie("FlexGears").testForGears(true);    <br />      return;<br />    }<br />    //gears is not installed<br />    thisMovie("FlexGears").testForGears(false);    <br />  }<br /><br /><br />  function thisMovie(movieName) {<br />    if (navigator.appName.indexOf("Microsoft") != -1) {<br />      return window[movieName];<br />    } else {<br />      return document[movieName];<br />    }<br />  }<br />  // ....<br />&#60;/JavaScript&#62;</pre>Thanks to Mrinal Wadhwa for taking the time to try this all out. We enjoy seeing how people take Gears into many corners of the Web!<br /><br />Also, you may not have seen <a href="http://www.jamesward.com/wordpress/2008/06/12/quickfix-google-app-engine-adobe-air-flex/">QuickFix</a>, an example application that shows how you can use Flex to talk to Google App Engine. The example is created by Dick Wall from App Engine, and James Ward from Adobe.]]></description>
				<content:encoded><![CDATA[<span class="byline-author">Posted by Dion Almaer, Gears Team</span><br /><br />When a lot of developers think about Flex, they often tie it to Flash and AIR, but you can of course integrate Flex applications with many other front-end services.<br /><br />Mrinal Wadhwa has seen value in building Flex applications, and also likes functionality available in Gears.<br /><br />He wrote up an article on <a href="http://weblog.mrinalwadhwa.com/2008/06/27/flex-and-gears/">enhancing Flex applications with Gears</a> which had him create a <a href="http://experiments.mrinalwadhwa.com/Gears/FlexDesktopShortcut/FlexGears.html">sample application</a> the uses the <a href="http://code.google.com/apis/gears/api_desktop.html">Desktop API</a> in Gears.<br /><br />It is interesting to <a href="http://experiments.mrinalwadhwa.com/Gears/FlexDesktopShortcut/srcview/index.html">take a look at the source</a> to see how Flex applications tie back to plain old JavaScript.<br /><br />For example, the following shows you how you put JavaScript into your Flex application, and then call back to the Flex code via <code>thisMovie(APP_NAME).methodToCall</code>:<br /><pre>&lt;JavaScript&gt;<br />  // tells the swf if gears is installed<br />  function isGearsInstalled() {<br />    if (window.google && google.gears) { //gears is installed<br />      thisMovie("FlexGears").testForGears(true);    <br />      return;<br />    }<br />    //gears is not installed<br />    thisMovie("FlexGears").testForGears(false);    <br />  }<br /><br />            <br />  function thisMovie(movieName) {<br />    if (navigator.appName.indexOf("Microsoft") != -1) {<br />      return window[movieName];<br />    } else {<br />      return document[movieName];<br />    }<br />  }<br />  // ....<br />&lt;/JavaScript&gt;</pre>Thanks to Mrinal Wadhwa for taking the time to try this all out. We enjoy seeing how people take Gears into many corners of the Web!<br /><br />Also, you may not have seen <a href="http://www.jamesward.com/wordpress/2008/06/12/quickfix-google-app-engine-adobe-air-flex/">QuickFix</a>, an example application that shows how you can use Flex to talk to Google App Engine. The example is created by Dick Wall from App Engine, and James Ward from Adobe.]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-gears/flexi-ng-your-muscles-with-gears-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Flexi-ng your muscles with Gears</title>
		<link>https://googledata.org/google-gears/flexi-ng-your-muscles-with-gears/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=flexi-ng-your-muscles-with-gears</link>
		<comments>https://googledata.org/google-gears/flexi-ng-your-muscles-with-gears/#comments</comments>
		<pubDate>Tue, 01 Jul 2008 18:14:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Gears]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Posted by Dion Almaer, Gears TeamWhen a lot of developers think about Flex, they often tie it to Flash and AIR, but you can of course integrate Flex applications with many other front-end services.Mrinal Wadhwa has seen value in building Flex applicati...]]></description>
				<content:encoded><![CDATA[<span class="byline-author">Posted by Dion Almaer, Gears Team</span><br /><br />When a lot of developers think about Flex, they often tie it to Flash and AIR, but you can of course integrate Flex applications with many other front-end services.<br /><br />Mrinal Wadhwa has seen value in building Flex applications, and also likes functionality available in Gears.<br /><br />He wrote up an article on <a href="http://weblog.mrinalwadhwa.com/2008/06/27/flex-and-gears/">enhancing Flex applications with Gears</a> which had him create a <a href="http://experiments.mrinalwadhwa.com/Gears/FlexDesktopShortcut/FlexGears.html">sample application</a> the uses the <a href="http://code.google.com/apis/gears/api_desktop.html">Desktop API</a> in Gears.<br /><br />It is interesting to <a href="http://experiments.mrinalwadhwa.com/Gears/FlexDesktopShortcut/srcview/index.html">take a look at the source</a> to see how Flex applications tie back to plain old JavaScript.<br /><br />For example, the following shows you how you put JavaScript into your Flex application, and then call back to the Flex code via <code>thisMovie(APP_NAME).methodToCall</code>:<br /><pre>&lt;JavaScript&gt;<br />  // tells the swf if gears is installed<br />  function isGearsInstalled() {<br />    if (window.google && google.gears) { //gears is installed<br />      thisMovie("FlexGears").testForGears(true);    <br />      return;<br />    }<br />    //gears is not installed<br />    thisMovie("FlexGears").testForGears(false);    <br />  }<br /><br />            <br />  function thisMovie(movieName) {<br />    if (navigator.appName.indexOf("Microsoft") != -1) {<br />      return window[movieName];<br />    } else {<br />      return document[movieName];<br />    }<br />  }<br />  // ....<br />&lt;/JavaScript&gt;</pre>Thanks to Mrinal Wadhwa for taking the time to try this all out. We enjoy seeing how people take Gears into many corners of the Web!<br /><br />Also, you may not have seen <a href="http://www.jamesward.com/wordpress/2008/06/12/quickfix-google-app-engine-adobe-air-flex/">QuickFix</a>, an example application that shows how you can use Flex to talk to Google App Engine. The example is created by Dick Wall from App Engine, and James Ward from Adobe.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8349418849086791337-1773721144359837958?l=gearsblog.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-gears/flexi-ng-your-muscles-with-gears/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Code Review: I/O Videos, Gears release, App Engine examples, and more</title>
		<link>https://googledata.org/google-code/code-review-io-videos-gears-release-app-engine-examples-and-more/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=code-review-io-videos-gears-release-app-engine-examples-and-more</link>
		<comments>https://googledata.org/google-code/code-review-io-videos-gears-release-app-engine-examples-and-more/#comments</comments>
		<pubDate>Sat, 21 Jun 2008 00:02:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Dion Almaer, Google Developer ProgramsWe are trying an experiment, putting up Code Review in a variety of formats, from text to audio (iTunes) and video.You have probably heard by now, but all of the slides and video of the presentations at Google I...]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Dion Almaer, Google Developer Programs</span><br /><br /><em>We are trying an experiment, putting up Code Review in a variety of formats, from text to <a href="http://google-developer-podcast.googlecode.com/files/googlecodereview-2008june20.mp3">audio</a> (<a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=257272708">iTunes</a>) and video.</em><br /><br /><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/h9Qe0OnjeXg&hl=en"></param><embed src="http://www.youtube.com/v/h9Qe0OnjeXg&hl=en" type="application/x-shockwave-flash" width="425" height="344"></embed></object><br /><br />You have probably heard by now, but all of the slides and video of the presentations at <a href="http://code.google.com/events/io/">Google I/O</a> are <a href="http://sites.google.com/site/io">now available to watch and read</a>. There are some real gems in there, such as Steve Yegge talking about <a href="http://sites.google.com/site/io/server-side-javascript-on-the-java-virtual-machine">dynamic languages and server side JavaScript</a>.<br /><br />Just as we come down from I/O, we head off to Google Developer Day events around the world. I am personally off to Brazil and Mexico City, and I am looking forward to meeting the local developers.<br /><br />I gave a tech talk at Yahoo! where I discussed <em>Google Back to Front</em>, covering Gears and App Engine. I shared a simple App Engine example that takes a Gears-enabled Addressbook application that shows how you can store history in a visual way, and ports it to save the data on App Engine. You can <a href="http://www.youtube.com/watch?v=nwn3YY6cyEQ">watch a code walk through to see it in action</a>.<br /><br />Dick Wall (Google) and James Ward (Adobe) also got together to create an AIR application that talks to App Engine on the back end. The application, called <a href="http://www.jamesward.com/wordpress/2008/06/12/quickfix-google-app-engine-adobe-air-flex/">QuickFix</a>, takes a photo and has App Engine run the Picasa "I'm Feeling Lucky" transformation.<br /><br />It is really fun to watch the great applications being built on App Engine already, such as <a href="http://wordle.net/">Wordle</a>, which builds "word clouds" from a series of text.<br /><br />One final piece of news on App Engine. Nick Johnson (Google) created a little application in his spare time (read: not official) that is quite useful. <a href="http://almaer.com/blog/smtp2webcom-bridge-smtp-to-http-let-app-engine-accept-email">smtp2web.com</a> bridges SMTP to HTTP. This means that you can have your App Engine applications accepting email as input via the proxy. smtp2web will send an HTTP request when it gets an email on its doorstep.<br /><br />There has been a lot of focus on the browser this week. Mozilla released Firefox 3, and look like they have set a download record in the process. There was a lot of browser news though, <a href="http://ajaxian.com/archives/browser-news-ie-ff-safari-and-opera">including all of the major vendors</a>.<br /><br />The <a href="http://ajaxian.com/archives/new-in-standards-acid4-and-html-5-update">standards are moving too</a>. HTML 5 has a new working draft, and we are seeing the germination of an Acid4 series of tests.<br /><br />When it comes to Gears, we saw the full release of <a href="http://gearsblog.blogspot.com/2008/06/fly-gears-03.html">version 0.3</a> which included support for the new Firefox 3 browser. It also includes the ability to create <a href="http://code.google.com/apis/gears/api_desktop.html">desktop shortcuts</a>, new install flow support, progress events, and much more.<br /><br />We also saw more frameworks baking Gears in. <a href="http://gearsblog.blogspot.com/2008/06/appcelerator-gives-you-gears.html">Appcelerator</a> uses Gears under the hood to make your existing Appcelerator based application a better user experience. Also, <a href="http://code.google.com/p/frizione/">Frizione</a> is a JavaScript development, testing, and deployment environment that also has Gears under the hood.<br /><br />Speaking of testing, Markus Clermont and John Thomas wrote up an <a href="http://googletesting.blogspot.com/2008/06/taming-beast-aka-how-to-test-ajax.html">introduction to testing Ajax applications</a>, something that is notoriously hard to do.<br /><br />The Geo world is cooking as usual, and you can check out <a href="http://maps.google.com/elections">the numerous election mashups as the season continues to blossom</a>.<br /><br />If you fancy some fun on Google Maps, Katsuomi Kobayashi has created a <a href="http://geoquake.jp/en/webgame/DrivingSimulatorGM/">2D Driving Simulator</a> using the new Flash API.<br /><br />The folks at 360cities also have a great new interface that uses the Flash API, and they also seem to use every other Geo related product. We were fortunate enough to have them come in and <a href="http://googlegeodevelopers.blogspot.com/2008/06/360citiesnet-interview-with-founders.html">sit down with them, and get a bunch of demos</a>.<br /><br />What else?<br /><br />If you care about the social Web, check out Kevin Marks post on <a href="http://epeus.blogspot.com/2008/06/how-not-to-be-viral.html">how not to be viral</a>. It makes you think long term about your strategy.<br /><br />Kevin Lim posted on the <a href="http://google-code-updates.blogspot.com/2008/06/check-out-custom-search-api.html">Custom Search API</a> and the new <a href="http://code.google.com/apis/customsearch/docs/start.html">developer guide</a>. This API always surprises me with its richness, and how you can create a fantastic, custom, search experience on your own Web site.<br /><br />Related to that API, we have another new AJAX Search API, <a href="http://googleajaxsearchapi.blogspot.com/2008/06/introducing-ajax-patent-search-api.html">Patent Search</a>. I have to admit, I feel sorry for you if you have to use it (due to the content)!<br /><br />And to finish up, Michael Ogawa has created some great visualizations of open source projects over time, such as the <a href="http://www.vimeo.com/1093745">history of the Python code base</a>. Check it out below.<br /><br /><object width="600" height="452"> <param name="allowfullscreen" value="true" /> <param name="allowscriptaccess" value="always" /> <param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=1093745&amp;server=www.vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /> <embed src="http://www.vimeo.com/moogaloop.swf?clip_id=1093745&amp;server=www.vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="600" height="452"></embed></object><br /><br />As always, thanks for reading, listening, or watching, and let us know if there is anything that you would like to see.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-7259567573719496403?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-code/code-review-io-videos-gears-release-app-engine-examples-and-more/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://google-developer-podcast.googlecode.com/files/googlecodereview-2008june20.mp3" length="12001575" type="audio/mpeg" />
		</item>
		<item>
		<title>Gears Sessions from Google I/O are now available to watch</title>
		<link>https://googledata.org/google-gears/gears-sessions-from-google-io-are-now-available-to-watch-2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=gears-sessions-from-google-io-are-now-available-to-watch-2</link>
		<comments>https://googledata.org/google-gears/gears-sessions-from-google-io-are-now-available-to-watch-2/#comments</comments>
		<pubDate>Fri, 13 Jun 2008 15:21:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Gears]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=76117fe45c1c64732d86735b95d3463c</guid>
		<description><![CDATA[<span>Posted by Dion Almaer, Gears Team</span><br /><br /><br /><br />We had a great time at Google I/O at the end of May, and there were plenty of Gears-related content. Fortunately, video cameras were at the ready, and <a href="http://google-code-updates.blogspot.com/2008/06/google-io-recorded-sessions-now-posted.html">all of the sessions</a> have been published on YouTube.<br /><br />I put together a <a href="http://www.youtube.com/view_play_list?p=F65AEC1E2BF7F49B">playlist</a> (embedded player above) of the Gears content which includes:<ul><li><a href="http://www.youtube.com/watch?v=hapkRYxCU_8">Improving Browsers in New Ways: Gears++</a></li><li><a href="http://www.youtube.com/watch?v=nEgynWIKzSY">Google Gears for Mobile</a></li><li><a href="http://www.youtube.com/watch?v=piq3vmhQ-LU">HTML 5, Brought to You by Gears</a></li><li><a href="http://www.youtube.com/watch?v=x3tOhaSk-wQ">Gears and MySpace - Search on the Client</a></li><li><a href="http://www.youtube.com/watch?v=cePFlJ8sGj4">Taking Large-Scale Applications Offline</a></li><li><a href="http://www.youtube.com/watch?v=7fsBDQ2ng8s">Gears Case Studies</a></li></ul>Also, you may be interested in other Ajax related content such as:<br /><br /><b>GWT</b><br /><ul><li><a href="http://www.youtube.com/watch?v=xh5Vo_drhDE">Using GWT to Build a Diagramming Tool</a></li><li><a href="http://www.youtube.com/watch?v=tRJEZgIX8BI">GWT and Client-Server Communication</a></li><li><a href="http://www.youtube.com/watch?v=2ScPbu8ga1Q">GWT Extreme by Ray Cromwell</a></li><li><a href="http://www.youtube.com/watch?v=vv2MnqP8Bmk">JavaScript and DOM Programming in GWT</a></li><li><a href="http://www.youtube.com/watch?v=cyfVHNAM80E">Resource Bundles and Linkers in GWT</a></li><li><a href="http://www.youtube.com/watch?v=nvti32k4xyU">Deferred Binding with GWT</a></li></ul><br /><b>General Ajax</b><br /><ul><li><a href="http://www.youtube.com/watch?v=nG66hIhUdEU">Alex Russell on &#8220;Can We Get There from Here?&#8221;</a></li><li><a href="http://www.youtube.com/watch?v=qU_1_DrP04I">Spice up Your Apps with Google AJAX APIs</a></li><li><a href="http://www.youtube.com/watch?v=t_AUNp7zyUY">Yours truly, Dion and Ben, State of Ajax: The Universe Is Expanding</a></li><li><a href="http://www.youtube.com/watch?v=BttI-y9VzXQ">Steve Yegge on Server Side JavaScript</a></li></ul>]]></description>
				<content:encoded><![CDATA[<span class="byline-author">Posted by Dion Almaer, Gears Team</span><br /><br /><object width="600" height="332"><param name="movie" value="http://www.youtube.com/cp/vjVQa1PpcFMpZf3y-3x_SLoEjRC8ksMF8GkCDW2BGIs="></param><embed src="http://www.youtube.com/cp/vjVQa1PpcFMpZf3y-3x_SLoEjRC8ksMF8GkCDW2BGIs=" type="application/x-shockwave-flash" width="600" height="332"></embed></object><br /><br />We had a great time at Google I/O at the end of May, and there were plenty of Gears-related content. Fortunately, video cameras were at the ready, and <a href="http://google-code-updates.blogspot.com/2008/06/google-io-recorded-sessions-now-posted.html">all of the sessions</a> have been published on YouTube.<br /><br />I put together a <a href="http://www.youtube.com/view_play_list?p=F65AEC1E2BF7F49B">playlist</a> (embedded player above) of the Gears content which includes:<ul><li><a href="http://www.youtube.com/watch?v=hapkRYxCU_8">Improving Browsers in New Ways: Gears++</a></li><li><a href="http://www.youtube.com/watch?v=nEgynWIKzSY">Google Gears for Mobile</a></li><li><a href="http://www.youtube.com/watch?v=piq3vmhQ-LU">HTML 5, Brought to You by Gears</a></li><li><a href="http://www.youtube.com/watch?v=x3tOhaSk-wQ">Gears and MySpace - Search on the Client</a></li><li><a href="http://www.youtube.com/watch?v=cePFlJ8sGj4">Taking Large-Scale Applications Offline</a></li><li><a href="http://www.youtube.com/watch?v=7fsBDQ2ng8s">Gears Case Studies</a></li></ul>Also, you may be interested in other Ajax related content such as:<br /><br /><b>GWT</b><br /><ul><li><a href="http://www.youtube.com/watch?v=xh5Vo_drhDE">Using GWT to Build a Diagramming Tool</a></li><li><a href="http://www.youtube.com/watch?v=tRJEZgIX8BI">GWT and Client-Server Communication</a></li><li><a href="http://www.youtube.com/watch?v=2ScPbu8ga1Q">GWT Extreme by Ray Cromwell</a></li><li><a href="http://www.youtube.com/watch?v=vv2MnqP8Bmk">JavaScript and DOM Programming in GWT</a></li><li><a href="http://www.youtube.com/watch?v=cyfVHNAM80E">Resource Bundles and Linkers in GWT</a></li><li><a href="http://www.youtube.com/watch?v=nvti32k4xyU">Deferred Binding with GWT</a></li></ul><br /><b>General Ajax</b><br /><ul><li><a href="http://www.youtube.com/watch?v=nG66hIhUdEU">Alex Russell on “Can We Get There from Here?”</a></li><li><a href="http://www.youtube.com/watch?v=qU_1_DrP04I">Spice up Your Apps with Google AJAX APIs</a></li><li><a href="http://www.youtube.com/watch?v=t_AUNp7zyUY">Yours truly, Dion and Ben, State of Ajax: The Universe Is Expanding</a></li><li><a href="http://www.youtube.com/watch?v=BttI-y9VzXQ">Steve Yegge on Server Side JavaScript</a></li></ul>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-gears/gears-sessions-from-google-io-are-now-available-to-watch-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Gears Sessions from Google I/O are now available to watch</title>
		<link>https://googledata.org/google-gears/gears-sessions-from-google-io-are-now-available-to-watch/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=gears-sessions-from-google-io-are-now-available-to-watch</link>
		<comments>https://googledata.org/google-gears/gears-sessions-from-google-io-are-now-available-to-watch/#comments</comments>
		<pubDate>Fri, 13 Jun 2008 15:21:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Gears]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Posted by Dion Almaer, Gears TeamWe had a great time at Google I/O at the end of May, and there were plenty of Gears-related content. Fortunately, video cameras were at the ready, and all of the sessions have been published on YouTube.I put together a ...]]></description>
				<content:encoded><![CDATA[<span class="byline-author">Posted by Dion Almaer, Gears Team</span><br /><br /><object width="600" height="332"><param name="movie" value="http://www.youtube.com/cp/vjVQa1PpcFMpZf3y-3x_SLoEjRC8ksMF8GkCDW2BGIs="></param><embed src="http://www.youtube.com/cp/vjVQa1PpcFMpZf3y-3x_SLoEjRC8ksMF8GkCDW2BGIs=" type="application/x-shockwave-flash" width="600" height="332"></embed></object><br /><br />We had a great time at Google I/O at the end of May, and there were plenty of Gears-related content. Fortunately, video cameras were at the ready, and <a href="http://google-code-updates.blogspot.com/2008/06/google-io-recorded-sessions-now-posted.html">all of the sessions</a> have been published on YouTube.<br /><br />I put together a <a href="http://www.youtube.com/view_play_list?p=F65AEC1E2BF7F49B">playlist</a> (embedded player above) of the Gears content which includes:<ul><li><a href="http://www.youtube.com/watch?v=hapkRYxCU_8">Improving Browsers in New Ways: Gears++</a></li><li><a href="http://www.youtube.com/watch?v=nEgynWIKzSY">Google Gears for Mobile</a></li><li><a href="http://www.youtube.com/watch?v=piq3vmhQ-LU">HTML 5, Brought to You by Gears</a></li><li><a href="http://www.youtube.com/watch?v=x3tOhaSk-wQ">Gears and MySpace - Search on the Client</a></li><li><a href="http://www.youtube.com/watch?v=cePFlJ8sGj4">Taking Large-Scale Applications Offline</a></li><li><a href="http://www.youtube.com/watch?v=7fsBDQ2ng8s">Gears Case Studies</a></li></ul>Also, you may be interested in other Ajax related content such as:<br /><br /><b>GWT</b><br /><ul><li><a href="http://www.youtube.com/watch?v=xh5Vo_drhDE">Using GWT to Build a Diagramming Tool</a></li><li><a href="http://www.youtube.com/watch?v=tRJEZgIX8BI">GWT and Client-Server Communication</a></li><li><a href="http://www.youtube.com/watch?v=2ScPbu8ga1Q">GWT Extreme by Ray Cromwell</a></li><li><a href="http://www.youtube.com/watch?v=vv2MnqP8Bmk">JavaScript and DOM Programming in GWT</a></li><li><a href="http://www.youtube.com/watch?v=cyfVHNAM80E">Resource Bundles and Linkers in GWT</a></li><li><a href="http://www.youtube.com/watch?v=nvti32k4xyU">Deferred Binding with GWT</a></li></ul><br /><b>General Ajax</b><br /><ul><li><a href="http://www.youtube.com/watch?v=nG66hIhUdEU">Alex Russell on “Can We Get There from Here?”</a></li><li><a href="http://www.youtube.com/watch?v=qU_1_DrP04I">Spice up Your Apps with Google AJAX APIs</a></li><li><a href="http://www.youtube.com/watch?v=t_AUNp7zyUY">Yours truly, Dion and Ben, State of Ajax: The Universe Is Expanding</a></li><li><a href="http://www.youtube.com/watch?v=BttI-y9VzXQ">Steve Yegge on Server Side JavaScript</a></li></ul><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8349418849086791337-8524212337142458431?l=gearsblog.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-gears/gears-sessions-from-google-io-are-now-available-to-watch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Appcelerator gives you Gears functionality out of the box</title>
		<link>https://googledata.org/google-gears/appcelerator-gives-you-gears-functionality-out-of-the-box-2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=appcelerator-gives-you-gears-functionality-out-of-the-box-2</link>
		<comments>https://googledata.org/google-gears/appcelerator-gives-you-gears-functionality-out-of-the-box-2/#comments</comments>
		<pubDate>Fri, 06 Jun 2008 23:52:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Gears]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=03c90b5555a2ffddf990e834aaa5360d</guid>
		<description><![CDATA[Posted by Dion Almaer, Gears TeamJeff Haynie announced that the latest Appcelerator SDK supports Gears.First, for those that haven't heard of Appcelerator, it is an open source "RIA" development toolkit that focuses on rich clients talking to services ...]]></description>
				<content:encoded><![CDATA[<span class="byline-author">Posted by Dion Almaer, Gears Team</span><br /><br />Jeff Haynie <a href="http://www.appcelerant.com/google-gears-powered-appcelerator.html">announced that the latest Appcelerator SDK supports Gears</a>.<br /><br />First, for those that haven't heard of <a href="http://www.appcelerator.com/index.html">Appcelerator</a>, it is an open source "RIA" development toolkit that focuses on rich clients talking to services on the backend. You can think of it somewhat as a Flex-like framework built with Open Web technology.<br /><br />We are seeing an interesting trend. At first, frameworks would wrap Gears semantics in something that makes sense for their audience of developers, which is great.<br /><br />Appcelerator though does something a little different. It uses Gears under the hood to make your existing Appcelerator based application a better user experience.<br /><br />This is what they say:<br /><blockquote>With the next release of the SDK, Appcelerator's javascript servicebroker will now automagically (and transparently) switch to using a Gears-enabled servicebroker when talking to your service-backend. That means your application will perform faster because the AJAX communication between client and server (especially for apps using fast polling) will be out-of-process using Gears' worker pool.<br /><br />You have to do nothing to enable this in your application. When you Appcelerator application loads, a small piece of code will check to see if Gears is enabled and will dynamically load the gears-enabled servicebroker code.</blockquote>I am looking forward to seeing applications that use this in the wild.<br /><br />In other news, they also wrote up a nice post on how you can <a href="http://www.appcelerant.com/running-appcelerator-on-the-google-app-engine.html">use Appcelerator and App Engine</a> in a very simple way.]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-gears/appcelerator-gives-you-gears-functionality-out-of-the-box-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Appcelerator gives you Gears functionality out of the box</title>
		<link>https://googledata.org/google-gears/appcelerator-gives-you-gears-functionality-out-of-the-box/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=appcelerator-gives-you-gears-functionality-out-of-the-box</link>
		<comments>https://googledata.org/google-gears/appcelerator-gives-you-gears-functionality-out-of-the-box/#comments</comments>
		<pubDate>Fri, 06 Jun 2008 23:52:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Gears]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Posted by Dion Almaer, Gears TeamJeff Haynie announced that the latest Appcelerator SDK supports Gears.First, for those that haven't heard of Appcelerator, it is an open source "RIA" development toolkit that focuses on rich clients talking to services ...]]></description>
				<content:encoded><![CDATA[<span class="byline-author">Posted by Dion Almaer, Gears Team</span><br /><br />Jeff Haynie <a href="http://www.appcelerant.com/google-gears-powered-appcelerator.html">announced that the latest Appcelerator SDK supports Gears</a>.<br /><br />First, for those that haven't heard of <a href="http://www.appcelerator.com/index.html">Appcelerator</a>, it is an open source "RIA" development toolkit that focuses on rich clients talking to services on the backend. You can think of it somewhat as a Flex-like framework built with Open Web technology.<br /><br />We are seeing an interesting trend. At first, frameworks would wrap Gears semantics in something that makes sense for their audience of developers, which is great.<br /><br />Appcelerator though does something a little different. It uses Gears under the hood to make your existing Appcelerator based application a better user experience.<br /><br />This is what they say:<br /><blockquote>With the next release of the SDK, Appcelerator's javascript servicebroker will now automagically (and transparently) switch to using a Gears-enabled servicebroker when talking to your service-backend. That means your application will perform faster because the AJAX communication between client and server (especially for apps using fast polling) will be out-of-process using Gears' worker pool.<br /><br />You have to do nothing to enable this in your application. When you Appcelerator application loads, a small piece of code will check to see if Gears is enabled and will dynamically load the gears-enabled servicebroker code.</blockquote>I am looking forward to seeing applications that use this in the wild.<br /><br />In other news, they also wrote up a nice post on how you can <a href="http://www.appcelerant.com/running-appcelerator-on-the-google-app-engine.html">use Appcelerator and App Engine</a> in a very simple way.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8349418849086791337-3648900339412538176?l=gearsblog.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-gears/appcelerator-gives-you-gears-functionality-out-of-the-box/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Announcing Data Intensive Scalable Computing in Education Workshop</title>
		<link>https://googledata.org/google-code/announcing-data-intensive-scalable-computing-in-education-workshop/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=announcing-data-intensive-scalable-computing-in-education-workshop</link>
		<comments>https://googledata.org/google-code/announcing-data-intensive-scalable-computing-in-education-workshop/#comments</comments>
		<pubDate>Wed, 04 Jun 2008 03:55:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Christophe Bisciglia, Senior Software EngineerFor the last year or so, we've been telling you about educational and research partnerships resulting form our Academic Cloud Computing Initiative. We've shared educational material resulting from our ex...]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Christophe Bisciglia, Senior Software Engineer</span><br /><br />For the last year or so, we've been telling you about educational and research partnerships resulting form our Academic Cloud Computing Initiative. We've shared <a href="http://google-code-updates.blogspot.com/2007/09/uw-and-google-teaching-in-parallel.html">educational material</a> resulting from our extensive partnership with the University of Washington and <a href="http://googleresearch.blogspot.com/2008/04/research-in-cloud-providing-cutting.html">partnered</a> with the National Science Foundation to directly engage the research community and provide access to a large scale, data intensive computing cluster.<br /><br /><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/UBrDPRlplyo&hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/UBrDPRlplyo&hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="344"></embed></object><br /><br />Why? Because big data is cool; it drives nearly everything we do here at Google and provides unprecedented opportunities for understanding science in new ways. It's been an exciting year learning how to work with the academic community in this space, and we'd like to start sharing that with other passionate educators.<br /><br />To that end, we've worked with our academic partners to offer a two and a half day NSF-sponsored workshop, hosted at UW, which will focus on providing material and curricular support to undergraduate computer science educators seeking to address big data in the classroom. This will largely focus on material that can be found on <a href="http://code.google.com/edu">Google Code University</a>, but will include practical lab components so educators can get their hands dirty with the open source platforms and the tools necessary to offer a class.<br /><br />Interested faculty should feel free to <a href="http://www.cs.washington.edu/homes/ak/clusterworkshop/">apply for attendance here</a>. The NSF has provided support to cover expenses for those selected to attend.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-507886877156163321?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-code/announcing-data-intensive-scalable-computing-in-education-workshop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Code Review: &quot;I/O, I/O it&#8217;s over now you know&quot;</title>
		<link>https://googledata.org/google-code/code-review-io-io-its-over-now-you-know/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=code-review-io-io-its-over-now-you-know</link>
		<comments>https://googledata.org/google-code/code-review-io-io-its-over-now-you-know/#comments</comments>
		<pubDate>Mon, 02 Jun 2008 15:28:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Dion Almaer, Google Developer ProgramsPhew, I am still getting over Google I/O. It is interesting to be on the inside and see the build up to the event itself. We were getting excited to hold our largest event with the developer community to date. I...]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Dion Almaer, Google Developer Programs</span><br /><br />Phew, I am still getting over <a href="http://code.google.com/events/io/">Google I/O</a>. It is interesting to be on the inside and see the build up to the event itself. We were getting excited to hold our largest event with the developer community to date. It didn't dissapoint, and I was very happy to see developers from all walk of lives and companies. I met programmers from Apple, Microsoft, Adobe, Yahoo!, MySpace, and I could keep on going.<br /><br />You can check out the <a href="http://googleblog.blogspot.com/2008/05/sessions-and-snacks-at-google-io.html">keynote below</a>, and videos of the sessions are coming very soon, so check out the <a href="http://youtube.com/googledevelopers">Google Developers YouTube channel.</a><br /><br /><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/vk1HvP7NO5w&hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/vk1HvP7NO5w&hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object><br /><br />The show started well for me as I got to see a project that I have been passionate about launch, the <a href="http://googleajaxsearchapi.blogspot.com/2008/05/speed-up-access-to-your-favorite.html">AJAX Libraries API</a> which has us hosting popular open source Ajax libraries on the Google infrastructure. This release is the first step and we look forward to pushing forward with the goal of aggressively getting libraries that many developers use in browsers as fast as possible. If we are successful then we can start to think of these libraries as a standard library of sorts. The community has already started to build interesting tools around this new service. For example, you can now install a <a href="http://blog.clearskys.net/2008/05/28/google-ajax-libraries-api-plugin/">Wordpress plugin</a> that rewrites your page to use your library of choice on Google's servers.<br /><br />Gears was launched at last years Google Developer Day, and the coming out party for <a href="http://googleblog.blogspot.com/2008/05/happy-birthday-google-gears.html">this years birthday</a> was a debranding of "Google Gears" to "Gears" to reflect the community effort. Talks by the Gears engineers showed new APIs in the works, how we are working with HTML5 and standards, Gears for Mobile demonstrations, and the <a href="http://gearsblog.blogspot.com/2008/05/myspace-message-center-is-now-searching.html">MySpace Messaging launch</a> that uses Gears to enable a new search feature that offloads processing from their data centers and gives lightning fast results.<br /><br /><a href="http://googleappengine.blogspot.com/2008/05/announcing-open-signups-expected.html">App Engine came out in the keynote</a> sharing the fact that anyone can signup now, the expected pricing model (important to note that the starting point will ALWAYS be free), and new APIs that work with Email and Memcached.<br /><br />The Geo world had another set of news. <a href="http://google-latlong.blogspot.com/2008/05/google-earth-meet-browser.html">Google Earth can now be used in the browser</a> thanks to a new plugin that allows you to add a quick line of JavaScript to your Maps API code to see it in action.<br /><br />Ben Lisbakken wrote a piece on his <a href="http://googlemapsapi.blogspot.com/2008/05/app-engine-local-search-maps-making.html">application that uses App Engine, Local Search, and Maps to make static maps interactive</a>.<br /><br />Finally, in housekeeping news, the Maps API blog has been transformed to the new <a href="http://feeds.feedburner.com/~r/OfficialGoogleMapsApiBlog/~3/300248851/neo-geo-blog.html">Geo Developer Blog</a>, so update your feed readers.<br /><br />What else?<br /><ul><li><a href="http://googlewebtoolkit.blogspot.com/2008/05/google-web-toolkit-15-release-candidate.html">Google Web Toolkit 1.5 Release Candidate</a>: The new release candidate is a big one, with big new features. The GWT sessions at I/O were all packed, and I heard a lot of people walking out talking about how the difficult nature of Ajax development means they will be giving GWT a try.</li><li><a href="http://google-code-updates.blogspot.com/2008/05/google-visualization-api-expanding.html">Google Visualization API update</a>: The "GViz" API was launched within Google Spreadsheets, but now it has been expanded to live elsewhere. This includes a new JavaScript API to create add-hoc data tables on the client.</li><li><a href="http://googledataapis.blogspot.com/2008/05/google-contacts-api-update.html">Google Contacts API update</a>: The Contacts API now supports contact groups, photos, extended properties, and batch processing</li></ul><br />Finally, to end with a bit of fun. Aaron Spangler created something very cool with his 20% time. Along with a colleague, he created <a href="http://googledataapis.blogspot.com/2008/05/hot-off-stove-radish.html">Radish</a> an indoor solar-powered calendar display that hooked into Google Calendar and once ever hour updates via epaper.<br /><br />Check it out:<br /><br /><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/VyHaImmmkGs&hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/VyHaImmmkGs&hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-6501039208170874342?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-code/code-review-io-io-its-over-now-you-know/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySpace Message Center is now searching with Gears</title>
		<link>https://googledata.org/google-gears/myspace-message-center-is-now-searching-with-gears-2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=myspace-message-center-is-now-searching-with-gears-2</link>
		<comments>https://googledata.org/google-gears/myspace-message-center-is-now-searching-with-gears-2/#comments</comments>
		<pubDate>Wed, 28 May 2008 22:01:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Gears]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=fa38638ae4380427e0f2815ccf38deba</guid>
		<description><![CDATA[Posted by Dion Almaer, Gears TeamMySpace announced new functionality into their MySpace Message Center today at Google I/O.One feature that they were lacking was the ability for MySpace users to actually search their MySpace messages. To go through mai...]]></description>
				<content:encoded><![CDATA[<span class="byline-author">Posted by Dion Almaer, Gears Team</span><br /><br />MySpace announced new functionality into their MySpace Message Center today at <a href="http://code.google.com/events/io/">Google I/O</a>.<br /><br />One feature that they were lacking was the ability for MySpace users to actually search their MySpace messages. To go through mail, users have to page through all of their messages until their find the right one. Not optimal to say the least! <br /><br />They could have tried to do search on the server side, but it can be a very expensive operation, and when you are at MySpace scale, you have to choose your battles.<br /><br />With server side search out, they looked at doing the work on the client. They ended up with a Gears powered solution that not only searches, but gives back results in real-time as you are typing it in. This means that you can stop typing earlier, as you find what you are looking for.<br /><br />The MySpace team has been a pleasure to work with, and were very fast to put the pieces together of an <a href="http://code.google.com/apis/gears/api_database.html#sqlite_fts">Full Text Search datastore</a>, and the WorkerPool to offload the search without hanging the browser. As I type this Owyn Richen is going over the details of the implementation at his Google I/O session.<br /><br />We are excited to see them launch, and look forward to seeing what else they come up with!<br /><br /><img style="cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_fNklLQXNzR8/SD3W0lTdc0I/AAAAAAAAAQI/HezANczyNuo/s400/myspacegears.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5205552943165436738" />]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-gears/myspace-message-center-is-now-searching-with-gears-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>MySpace Message Center is now searching with Gears</title>
		<link>https://googledata.org/google-gears/myspace-message-center-is-now-searching-with-gears/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=myspace-message-center-is-now-searching-with-gears</link>
		<comments>https://googledata.org/google-gears/myspace-message-center-is-now-searching-with-gears/#comments</comments>
		<pubDate>Wed, 28 May 2008 22:01:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Gears]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Posted by Dion Almaer, Gears TeamMySpace announced new functionality into their MySpace Message Center today at Google I/O.One feature that they were lacking was the ability for MySpace users to actually search their MySpace messages. To go through mai...]]></description>
				<content:encoded><![CDATA[<span class="byline-author">Posted by Dion Almaer, Gears Team</span><br /><br />MySpace announced new functionality into their MySpace Message Center today at <a href="http://code.google.com/events/io/">Google I/O</a>.<br /><br />One feature that they were lacking was the ability for MySpace users to actually search their MySpace messages. To go through mail, users have to page through all of their messages until their find the right one. Not optimal to say the least! <br /><br />They could have tried to do search on the server side, but it can be a very expensive operation, and when you are at MySpace scale, you have to choose your battles.<br /><br />With server side search out, they looked at doing the work on the client. They ended up with a Gears powered solution that not only searches, but gives back results in real-time as you are typing it in. This means that you can stop typing earlier, as you find what you are looking for.<br /><br />The MySpace team has been a pleasure to work with, and were very fast to put the pieces together of an <a href="http://code.google.com/apis/gears/api_database.html#sqlite_fts">Full Text Search datastore</a>, and the WorkerPool to offload the search without hanging the browser. As I type this Owyn Richen is going over the details of the implementation at his Google I/O session.<br /><br />We are excited to see them launch, and look forward to seeing what else they come up with!<br /><br /><img style="cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_fNklLQXNzR8/SD3W0lTdc0I/AAAAAAAAAQI/HezANczyNuo/s400/myspacegears.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5205552943165436738" /><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8349418849086791337-3400024005837364627?l=gearsblog.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-gears/myspace-message-center-is-now-searching-with-gears/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Speed up access to your favorite frameworks via the AJAX Libraries API</title>
		<link>https://googledata.org/google-ajax-api/speed-up-access-to-your-favorite-frameworks-via-the-ajax-libraries-api/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=speed-up-access-to-your-favorite-frameworks-via-the-ajax-libraries-api</link>
		<comments>https://googledata.org/google-ajax-api/speed-up-access-to-your-favorite-frameworks-via-the-ajax-libraries-api/#comments</comments>
		<pubDate>Tue, 27 May 2008 15:40:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Ajax API]]></category>
		<category><![CDATA[google ajax]]></category>
		<category><![CDATA[google api]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Google engineers spend a lot of time working on speeding up their Web applications. Performance is a key factor for our teams, and we recognize how important it is for the entire Web.When you take a look at the effort that it takes to setup work that s...]]></description>
				<content:encoded><![CDATA[Google engineers spend a lot of time working on speeding up their Web applications. Performance is a key factor for our teams, and we recognize how important it is for the entire Web.<br /><br />When you take a look at the effort that it takes to setup work that should be simple, such as caching shared JavaScript libraries, you quickly realize that the Web could be faster than it currently is.<br /><br />The <a href="http://code.google.com/apis/ajaxlibs/">AJAX Libraries API</a> is an attempt to make Web applications faster for developers in simple ways:<br /><ul><li>Developers won't have to worry about getting caching setup correctly, as we will do that for you</li><li>If another application uses the same library (much more likely), they there is a much better chance that it will be already caching on the users machine</li><li>The network and bandwidth of the users systems will not be taxed.</li></ul><br /><b>What exactly is the AJAX Libraries API?</b><br /><br />We have worked with a subset of the most popular JavaScript frameworks to host their work on the Google infrastructure. The AJAX Libraries API then becomes a content distribution network and loading architecture for these libraries.<br /><br />We realize that there are a huge number of useful libraries out there, but we wanted to start small with the program, which has us starting with:<br /><ul><li><a href="http://code.google.com/apis/ajaxlibs/documentation/index.html#jquery" alt="jQuery.com">jQuery</a></li><li><a href="http://code.google.com/apis/ajaxlibs/documentation/index.html#prototype" alt="prototype">prototype</a></li><li><a href="http://code.google.com/apis/ajaxlibs/documentation/index.html#script_aculo_us" alt="script.aculo.us">script.aculo.us</a></li><li><a href="http://code.google.com/apis/ajaxlibs/documentation/index.html#mootools" alt="MooTools">MooTools</a></li><li><a href="http://code.google.com/apis/ajaxlibs/documentation/index.html#dojo" alt="dojo">dojo</a></li></ul><br />We work with the key stake holders for these libraries to make sure that the latest stable versions of their work get into our system as they are released. Once we host a release of a given library, we are committed to hosting that release indefinitely.<br /><br />You can access the libraries in two ways, and either way we take the pain out of hosting the libraries, correctly setting cache headers, staying up to date with the most recent bug fixes, etc.<br /><br />The first way to access the scripts is simply be using a standard &lt;script src=".."&gt; tag that points to the correct place.<br /><br />For example, to load Prototype version 1.6.0.2 you would place the following in your HTML:<br /><br /><code>&lt;script src="http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.2/prototype.js"&gt;&lt;/script&gt;</code><br /><br />The second way to access the scripts is via the <a href="http://code.google.com/apis/ajax/documentation/">Google AJAX API Loader's google.load() method</a>.<br /><br />Here is an example using that technique to load and use jQuery for a simple search mashup:<br /><br /><code><br />&lt;script src="http://www.google.com/jsapi"&gt;&lt;/script&gt;<br />&lt;script&gt;<br />  // Load jQuery<br />  google.load("jquery", "1");<br /><br />  // on page load complete, fire off a jQuery json-p query<br />  // against Google web search<br />  google.setOnLoadCallback(function() {<br />    $.getJSON("http://ajax.googleapis.com/ajax/services/search/web?q=google&;v=1.0&;callback=?",<br /><br />      // on search completion, process the results<br />      function (data) {<br />        if (data.responseDate.results &&<br />            data.responseDate.results.length>0) {<br />          renderResults(data.responseDate.results);<br />        }<br />      });<br />    });<br />&lt;/script&gt;<br /></code><br /><br />You will notice that the version used was just "1". This is a smart versioning feature that allows your application to specify a desired version with as much precision as it needs. By dropping version fields, you end up wild carding a field. For instance, consider a set of versions: 1.9.1, 1.8.4, 1.8.2.<br /><br />Specifying a version of "1.8.2" will select the obvious version. This is because a fully specified version was used. Specifying a version of "1.8" would select version 1.8.4 since this is the highest versioned release in the 1.8 branch. For much the same reason, a request for "1" will end up loading version 1.9.1. <br /><br />Note, these versioning semantics work the same way when using google.load and when using direct script urls.<br /><br />By default, the JavaScript that gets sent back by the loader will be minified, if there is a version supported. Thus, for the example above we would return the minified version of jQuery. If you specifically want the raw JavaScript itself, you can add the "uncompressed" parameter like so:<br /><br /><code>google.load("jquery", "1.2", {uncompressed:true});</code><br /><br />Today we are starting with the current versions of the library, but moving forward we will be archiving all versions from now onwards so you can be sure they are available.<br /><br />For a full listing of the currently supported libraries, <a href="http://code.google.com/apis/ajaxlibs/documentation/#AjaxLibraries">see the documentation</a>.<br /><br />We are really excited to offer something that we feel can truly help you out, and please give us feedback in our Google Group to let us know how the feature is working for you, and if you have a craving for a particular library to be included.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29072373-7471054542576167661?l=googleajaxsearchapi.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-ajax-api/speed-up-access-to-your-favorite-frameworks-via-the-ajax-libraries-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Git with Google Code Project Hosting</title>
		<link>https://googledata.org/google-code/using-git-with-google-code-project-hosting/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=using-git-with-google-code-project-hosting</link>
		<comments>https://googledata.org/google-code/using-git-with-google-code-project-hosting/#comments</comments>
		<pubDate>Tue, 20 May 2008 15:58:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Benjamin Lynn, Google Developer ProgramsGit is a popular member of the latest generation of version control systems. Learn why at our Open Source Blog, where we show how to use Git with Google Code Project Hosting.]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Benjamin Lynn, Google Developer Programs</span><br /><br /><a href="http://git.or.cz/">Git</a> is a popular member of the latest generation of version control systems. Learn why at our <a href="http://google-opensource.blogspot.com/">Open Source Blog</a>, where we show <a href="http://google-opensource.blogspot.com/2008/05/develop-with-git-on-google-code-project.html">how to use Git with Google Code Project Hosting</a>.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-3425968243453352416?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-code/using-git-with-google-code-project-hosting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Code Review: Friend Connect, App Engines kick in, Flash-y maps, and documenting the Open Web</title>
		<link>https://googledata.org/google-code/code-review-friend-connect-app-engines-kick-in-flash-y-maps-and-documenting-the-open-web/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=code-review-friend-connect-app-engines-kick-in-flash-y-maps-and-documenting-the-open-web</link>
		<comments>https://googledata.org/google-code/code-review-friend-connect-app-engines-kick-in-flash-y-maps-and-documenting-the-open-web/#comments</comments>
		<pubDate>Sat, 17 May 2008 06:34:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Dion Almaer, Google Developer ProgramsWith Google I/O around the corner on May 28-29th in San Francisco, you can feel excitement bubbling within the Google Developer Programs team and beyond.We had another Campfire One this week, and this time the t...]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Dion Almaer, Google Developer Programs</span><br /><br />With <a href="http://code.google.com/events/io/">Google I/O</a> around the corner on May 28-29th in San Francisco, you can feel excitement bubbling within the Google Developer Programs team and beyond.<br /><br />We had another Campfire One this week, and this time the team introduced <a href="http://googleblog.blogspot.com/2008/05/friend-connected-web.html">Friend Connect</a>, a way to easily add social features to your website using open protocols such as OpenID, OAuth, and OpenSocial APIs. Below is a short walk through:<br /><br /><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/BIEwUxMrJ4Y&hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/BIEwUxMrJ4Y&hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object><br /><br />The previous Campfire One was held to announce Google App Engine, and the engines continue to roar. If you are a Mac user, you may be interested to view the native <a href="http://googlemac.blogspot.com/2008/05/app-engine-launcher-for-mac-os-x.html">App Engine Launcher</a>, which allows you to manage your work form a UI that you know and love.<br /><br />You will want to be able to write a scalable application, and Ken Ashcraft has written up some <a href="http://googleappengine.blogspot.com/2008/04/posted-by-ken-ashcraft-software.html">tips to do just that</a>.<br /><br />Finally, <a href="http://googleappengine.blogspot.com/2008/05/open-source-app-rietveld-code-review.html">Guido van Rossum wrote a version of Mondrian</a>, the code review system that he wrote for Googlers, that works with Subversion.<br /><br />The Geo teams also had some interesting releases. First we had the long awaited <a href-"http://googlemapsapi.blogspot.com/2008/05/introducing-google-maps-api-for-flash.html">official Flash API</a>, and then we saw the new ability to find photos and Wikipedia content right in the Maps UI.<br /><br />If you really liked the My Map editing tools that were made available on the Google Maps destination site, you will be happy to know that a quick <code>polyline.enableDrawing();</code> will turn it on for your own mashup, <a href="http://googlemapsapi.blogspot.com/2008/05/love-my-maps-use-its-line-and-shape.html">hanks to new API support</a>.<br /><br />Google Doctype is a <a href="http://google-code-updates.blogspot.com/2008/05/introducing-google-doctype.html">bold new undertaking</a> spearheaded by the prolific Mark Pilgrim. Doctype aims to build a test-driven reference to the Open Web. Mark "humbly offers this fledgling encyclopedia under a Creative Commons Attribution license, and we invite the web developers of the world to contribute to it."<br /><br />When you think of developers around the world, you think of translation. The <a href="http://googleblog.blogspot.com/2008/05/google-translate-adds-10-new-languages.html">AJAX Language API</a> can now piggy back on Google Translate adding 10 new languages.<br /><br />I have been having a great deal of fun with the translation API; <a href="http://almaer.com/blog/twitter-translate-automatically-convert-tweets-to-your-language">translating Twitter on the fly</a>, and more importantly having bookmarklet that can <a href="http://almaer.com/blog/translate-select-any-text-in-the-browser-and-have-it-convert-to-english-or-your-language">translate any selected text on a page</a>.<br /><br />I will finish up with some interesting thoughts on <a href="http://googleblog.blogspot.com/2008/05/looking-towards-ipv6.html">ipv6</a> and the new <a href="http://googlereader.blogspot.com/2008/05/brand-new-google-reader-for-iphone.html">Google Reader version for iPhone</a>.<br /><br />As always, listen in to <a href="http://youtube.com/googledevelopers">the Google Developers channel</a>, and I hope to see a bunch of you at Google I/O. If you can't make it, be sure to <a href="http://twitter.com/googleio">follow us on Twitter</a> as we discuss the event in real-time.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-5881194092151840980?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-code/code-review-friend-connect-app-engines-kick-in-flash-y-maps-and-documenting-the-open-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Guido van Rossum releases Mondrian-clone: Rietveld</title>
		<link>https://googledata.org/google-code/guido-van-rossum-releases-mondrian-clone-rietveld/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=guido-van-rossum-releases-mondrian-clone-rietveld</link>
		<comments>https://googledata.org/google-code/guido-van-rossum-releases-mondrian-clone-rietveld/#comments</comments>
		<pubDate>Thu, 08 May 2008 07:50:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Dion Almaer, Google Developer ProgramsGuido van Rossum, Python creator and member of the App Engine team, gave a talk on Mondrian which is the tool he created to work with the code review process at Google.The Mondrian tool itself was tied to intern...]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Dion Almaer, Google Developer Programs</span><br /><br />Guido van Rossum, <a href="http://python.org/">Python</a> creator and member of the <a href="http://code.google.com/appengine/">App Engine</a> team, gave a talk on <a href="http://www.youtube.com/watch?v=sMql3Di4Kgc">Mondrian</a> which is the tool he created to work with the code review process at Google.<br /><br /><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/sMql3Di4Kgc&rel=0"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/sMql3Di4Kgc&rel=0" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object><br /><br />The Mondrian tool itself was tied to internal technology, but he took the time to built an inspired version on App Engine. Part of the work was having it work with Subversion as the SCM. The name of the tool is <a href="http://codereview.appspot.com/">Rietveld</a>, and here is what Guido said on the Python mailing list to announce it:<br /><br /><blockquote><br />I've always hoped that I could release Mondrian as open source, but it was not to be: due to its popularity inside Google, it became more and more tied to proprietary Google infrastructure like Bigtable, and it remained limited to Perforce, the commercial revision control system most used at Google.<br /><br />What I'm announcing now is the next best thing: an code review tool for use with Subversion, inspired by Mondrian and (soon to be) released as open source. Some of the code is even directly derived from Mondrian. Most of the code is new though, written using Django and running on Google App Engine.<br /><br />I'm inviting the Python developer community to try out the tool on the web for code reviews. I've added a few code reviews already, but I'm hoping that more developers will upload at least one patch for review and invite a reviewer to try it out.<br /></blockquote><br /><br />Brady Forrest has a nice <a href="http://radar.oreilly.com/archives/2008/05/mondrian-guido-google-app-engine.html">write-up of the announcement</a> and Joe Heck pointed out that this is not the same as another open source solution called <a href="http://review-board.org/">Review Board</a>.<br /><br />For more details on the tool <a href="http://code.google.com/appengine/articles/rietveld.html">check out Guido's article</a>.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-7231988730517742210?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-code/guido-van-rossum-releases-mondrian-clone-rietveld/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Developer Podcast Episode 15: Google App Engine</title>
		<link>https://googledata.org/google-code/google-developer-podcast-episode-15-google-app-engine/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=google-developer-podcast-episode-15-google-app-engine</link>
		<comments>https://googledata.org/google-code/google-developer-podcast-episode-15-google-app-engine/#comments</comments>
		<pubDate>Wed, 30 Apr 2008 18:19:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Dion Almaer, Google Developer ProgramsUsing iTunes? We had the pleasure to talk to some of the Google App Engine team to discuss the recent launch that Dick uses the tagline as "Your apps, our servers". We get to chat with tech lead on the project K...]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Dion Almaer, Google Developer Programs</span><br /><br /><div style="padding: 5px; float: right;"><a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=257272708">Using iTunes?</a> <a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=257272708"><img src="http://2.bp.blogspot.com/_fNklLQXNzR8/RmhpjbsSlZI/AAAAAAAAAHo/raNZJqMJz9g/s400/oneclickitunes.jpg" border="0"></a></div><br /><br />We had the pleasure to talk to some of the Google App Engine team to discuss the recent launch that Dick uses the tagline as "Your apps, our servers". We get to chat with tech lead on the project Kevin Gibbs, product manager Pete Koomen, and Guido van Rossum. I don't think we need to introduce Guido!<br /><br />The podcast starts out answering why Google App Engine was created, and why Python was chosen as the first language. We then hear about the work that goes into making a language hardened for the platform itself.<br /><br />Of all of the APIs that we expose in the App Engine back-end, we feel that the Database API is probably the most foreign for the majority of developers. Many are used to the relational model for datastores, and our datastore is different. Kevin talks about these differences, and the ramifications that come with a schema-less store. We then delve into the practicalities of having libraries such as SQL Alchemy support GQL which is a functional subset of SQL.<br /><br />What about lock-in? This was one of the big questions that came out of the community when we launched App Engine. You can see how open the team is to other solutions, and how they like seeing work such as AppDrop that shows how you can do this. The choice to make the SDK itself fully open source says a lot.<br /><br />Guido discussed how the Python runtime is indeed the full language, but how some libraries are not there. He talks about the reasons behind the choices, which are mainly related to security. As time goes on more libraries that developers really need will make it into the system, often with equivalent implementations. Although a traditional file system doesn't make sense in the cloud, we could very well see a virtual file system implemented.<br /><br />We go on to discuss a lot more, including:<ul><li>What restrictions are there for serving your applications?</li><li>What Web frameworks are available?</li><li>Can you develop Web services as well as Web applications? How about gadget and widget?</li><li>What kind of traffic can be expect with the free accounts?</li><li>Can I run these applications on my domain, and integrate with Google Apps?</li></ul>If you want to see more of the team and play with App Engine, come by a <a href="http://google-code-updates.blogspot.com/2008/04/google-app-engine-hack-thon-coming-to.html">hackathon</a> when it get to your neck of the woods, or hear more at <a href="http://code.google.com/events/io/">Google I/O</a>.<br /><br />You can <a href="http://google-developer-podcast.googlecode.com/files/googledev015.mp3" rel="enclosure">download the episode directly</a>, or <a href="http://feeds.feedburner.com/GoogleDeveloperPodcast">subscribe to the show</a> (<a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=257272708">click here for iTunes one-click subscribe</a>).<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-1808901315316713586?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-code/google-developer-podcast-episode-15-google-app-engine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://google-developer-podcast.googlecode.com/files/googledev015.mp3" length="23738874" type="audio/mpeg" />
		</item>
		<item>
		<title>Cuzillion: Check your zillion web pages</title>
		<link>https://googledata.org/google-code/cuzillion-check-your-zillion-web-pages/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=cuzillion-check-your-zillion-web-pages</link>
		<comments>https://googledata.org/google-code/cuzillion-check-your-zillion-web-pages/#comments</comments>
		<pubDate>Tue, 29 Apr 2008 15:21:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Dion Almaer, Google Developer ProgramsSteve Souders, member of the performance group at Google, has released a new open source tool called Cuzillion. Steve was constantly creating sample test web pages that he used to test out theories on Web site p...]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Dion Almaer, Google Developer Programs</span><br /><br />Steve Souders, member of the performance group at Google, has released a new open source tool called <a href="http://www.stevesouders.com/blog/2008/04/25/cuzillion/">Cuzillion</a>. Steve was constantly creating sample test web pages that he used to test out theories on Web site performance. He realized that he was repeating a lot of the same steps, so why not create a tool that would enable him to build the samples quickly. Thus, Cuzillion was born.<br /><br /><a href="http://www.stevesouders.com/blog/2008/04/25/cuzillion/"><img src="http://stevesouders.com/images/screenshot-360x260.gif" /></a><br /><br />If you take a look at the UI above, you will see that it is mimicking a Web page, with a &lt;HEAD&gt; and &lt;BODY&gt;. On the left hand side you select types of elements; such as images, scripts, CSS, and other resources. You add these elements to the mini page on the right, and then you can select that element to set more properties on it. For example, you can quickly set the domain that it is running on, which allows you to test splitting our content on domains.<br /><br />We sat down with Steve and produced the video below in two parts. It starts off with him discussing the project, and then delves into a screencast of the product itself. He gives us an introduction, and then shows how he used it to solve an issue with Orkut.<br /><br /><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/oaxZtKAlLRk&hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/oaxZtKAlLRk&hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-4307530524629965556?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-code/cuzillion-check-your-zillion-web-pages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google AJAX APIs available from outside of the browser</title>
		<link>https://googledata.org/google-code/google-ajax-apis-available-from-outside-of-the-browser/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=google-ajax-apis-available-from-outside-of-the-browser</link>
		<comments>https://googledata.org/google-code/google-ajax-apis-available-from-outside-of-the-browser/#comments</comments>
		<pubDate>Thu, 24 Apr 2008 19:42:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Dion Almaer, Google Developer ProgramsThe AJAX API team just posted about using Flash and the server side to access the AJAX APIs.This is very exciting, as it now allows you the developer to access not only Google Web Search results, but also query ...]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Dion Almaer, Google Developer Programs</span><br /><br />The AJAX API team just posted about using <a href="http://googleajaxsearchapi.blogspot.com/2008/04/flash-and-server-side-access.html">Flash and the server side</a> to access the AJAX APIs.<br /><br />This is very exciting, as it now allows you the developer to access not only Google Web Search results, but also query video, images, news, local, and other search functions. Also, this covers the AJAX Feed API which means you can get access to feeds in a normalized manner, and the new AJAX Language API to do translations and language detection.<br /><br />If you step back, you can see this as a Google REST API, and some of you have wondered how it compares to the SOAP API.<br /><br />I got to go to the horses mouth, Mark Lucovsky (team lead for the AJAX APIs), to discuss what this new access point is all about, and you may be a little surprised with the content.<br /><br />We discuss the fact that this has actually been running for quite some time, but we now have clarified it as an official end point for your usage. This also means that it has thorough documentation, which was important as Mark talks about how some people have been using the API incorrectly.<br /><br />Mark clarifies the terms of use, and you come out of this in the knowledge that his team has been attacking very different problems to the original SOAP API team. He has been ruthlessly practical, as you will understand as he talks about the problems his team are solving, and the breadth of sites that are using these APIs, including some very big names.<br /><br />Enough of me talking, let's listen to Mark:<br /><br /><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/NOAa05s0tck"></param><embed src="http://www.youtube.com/v/NOAa05s0tck" type="application/x-shockwave-flash" width="425" height="350"></embed></object><br /><br />Hear more from Mark on the AJAX APIs, Vadim on accessing the APIs outside of AJAX, and Derek on advanced development using AJAX Apis at <a href="http://code.google.com/events/io/">Google I/O</a>.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-7747122964818219810?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-code/google-ajax-apis-available-from-outside-of-the-browser/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Code Review: Start your App Engine and run the cloud offline with your docs</title>
		<link>https://googledata.org/google-code/code-review-start-your-app-engine-and-run-the-cloud-offline-with-your-docs/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=code-review-start-your-app-engine-and-run-the-cloud-offline-with-your-docs</link>
		<comments>https://googledata.org/google-code/code-review-start-your-app-engine-and-run-the-cloud-offline-with-your-docs/#comments</comments>
		<pubDate>Fri, 18 Apr 2008 19:36:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Dion Almaer, Google Developer ProgramsThe big buzz continues to revolve around our Google App Engine launch. We are seeing a host of applications being developed, and were even pleasantly surprised to see people port the APIs allowing you to run App...]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Dion Almaer, Google Developer Programs</span><br /><br /><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/bfgO-LXGpTM"></param><embed src="http://www.youtube.com/v/bfgO-LXGpTM" type="application/x-shockwave-flash" width="425" height="350"></embed></object><br /><br />The big buzz continues to revolve around our <a href="http://googleblog.blogspot.com/2008/04/developers-start-your-engines.html">Google App Engine launch</a>. We are seeing a host of applications being developed, and were even pleasantly surprised to see people port the APIs allowing you to run App Engine code elsewhere, such as <a href="http://appdrop.com/">appdrop.com</a>.<br /><br />One interesting feature to the App Engine which you may not have noticed, is the <a href="http://googleenterprise.blogspot.com/2008/04/google-app-engine-for-google-apps.html">integration with Google Apps</a>. Not only can you tie an application to your domain (allowing you to have myapp.mydomain.com instead of myapp.appspot.com) but you can restrict access to the given application to <em>only</em> members of your domain. If I ran a company on Google Apps, this would be a nice addition. I could see the small business apps that I need running there.<br /><br />Jeff Scudder then <a href="http://googledataapis.blogspot.com/2008/04/release-hounds-support-for-app-engine.html">released a new version of the Google data Python client library</a> which has support for Google App Engine and the Contacts API. If you want to use this in your Google App Engine application you simply need to set <code>gdata.service.http_request_handler = gdata.urlfetch</code> to make sure your requests have a path out!<br /><br /><b>Google Docs offline, and Gears</b><br /><br />I was on the road, speaking about Gears and the Open Web in Europe last week, and it was perfect timing to be mixing with the community as Google App Engine came out and I could talk to that too. We also had a few things to talk about with Gears. <br /><br />We have been getting lots of questions surrounding our stance with the various standards out there, so Aaron Boodman put down our thoughts on the matter in a piece called <a href="http://gearsblog.blogspot.com/2008/04/gears-and-standards.html">Gears and Standards</a>. It talks about how we are working with HTML5, and the direction that you will see Gears going. I think it is incredibly exciting to see people realise how Gears is a lot more than "offline", and is actually an open source way to teach browsers new tricks.<br /><br />Brad Neuberg <a href="http://gearsblog.blogspot.com/2008/04/whats-new-with-google-gears-tech-talk.html">talked about just that</a> as well as new features in Gears, and tools to help you get your work done, such as <a href="http://code.google.com/p/gears-pubtools/">PubTools</a>. He also discussed our first Google Gears for Mobile application, <a href="http://google-code-updates.blogspot.com/2008/04/google-developer-podcast-picasa-web-and.html">done by the Picasa Team</a>. Now the blokes in London can show off pictures of their kids as they slow poke through the city down in the tube.<br /><br />The biggest news of all though was the <a href="http://googledocs.blogspot.com/2008/03/bringing-cloud-with-you.html">launch of Google Docs offline</a>. If you have ever been in the situation where the internet goes flaky right when you just need that bit of info in document, no more. Now you have the option to save docs locally on your computer, so you can access them no matter where you are.<br /><br />If you would like a refresher course on how to get started with Gears <a href="http://feeds.feedburner.com/~r/GoogleGearsApiBlog/~3/261473742/gears-screencast-introductory-tutorial.html">check out Ben Lisbakken's new screencast</a>.<br /><br /><b>Fun with Maps</b><br /><br />The Geo side of the house continued to output great content, including a series of Geo Developer content:<br /><ul><li><b><a href="http://youtube.com/watch?v=WeHnQESDr-8&amp;feature=PlayList&amp;p=28624CDB052424DD&amp;index=1">Quick &amp; Dirty KML Creation</a>: With Mano Marks, Pamela Fox, and Christiaan Adams</b><br><i>A demonstration of creating KML visually in Google Earth &amp; Google Maps, and using Spreadsheet Mapper 2.0</i></li><li><b><a href="http://youtube.com/watch?v=IYqfT9i1las&amp;feature=PlayList&amp;p=28624CDB052424DD&amp;index=0">Creating Custom Maps</a>: With John Coryat</b><br><i>A comparison of various ways of overlaying data in the Maps API and an in-depth explanation of creating tile layers and custom map types</i></li><li><b><a href="http://youtube.com/watch?v=kNXdfjUYGAo&amp;feature=PlayList&amp;p=28624CDB052424DD&amp;index=2">GigaPan In-Depth</a>: With Randy Sargent &amp; Ted Morse</b><br><i>A demo of the GigaPan panorama-browsing website and KML files, plus a technical explanation of PhotoOverlay</i></li><li><b><a href="http://youtube.com/watch?v=QzS_shIzfcM&amp;feature=PlayList&amp;p=28624CDB052424DD&amp;index=3">Dynamic KML</a>: With Mano Marks &amp; Brian Hamlin</b><br><i>An exploration of using dynamic queries from KML, using the NetworkLink, httpQuery, and viewFormat elements, plus a demo of a PostGIS-generated NetworkLink</i></li><li><b><a href="http://youtube.com/watch?v=8zJa3eU82Zo&amp;feature=PlayList&amp;p=28624CDB052424DD&amp;index=4">Mars, Moon, and Sky Map Types</a>: With Noel Gorelick</b><br><i>A talk introducing the non-Earth Maps API map types, plus cool demos of other types of projections used with planetary imagery</i></li><li><b><a href="http://youtube.com/watch?v=QIPKmkeMuz4&amp;feature=PlayList&amp;p=28624CDB052424DD&amp;index=6">Mapping the Votes</a>: With Michael Geary</b><br><i>A whirlwind tour of what it took to create the Elections 2008 Map/Mapplet/Gadget, including SHPfile conversion, Javascript optimization, centroid calculations, Twitter updates collection, Mapplet API tricks, and more.</i></li><li><b><a href="http://youtube.com/watch?v=YKY6fh85SnQ&amp;feature=PlayList&amp;p=28624CDB052424DD&amp;index=5"> Google API Talks - Android, KML, Google Maps, Gadgets</a></b><br><i>A series of 5-minute talks by various developers and Googlers given before Geary's presentation, including an intro to Gadgets/Mapplets.</i><br /></li></ul><br />They were also happy to announce that <a href="http://google-latlong.blogspot.com/2008/04/kml-new-standard-for-sharing-maps.html">KML is now a standard</a>, and owned by the Open Geospatial Consortium. We have seen a lot of other sites consume and produce KML, so this is a great step.<br /><br />Finally, a great new feature was added to Google Maps. You can now check out <a href="http://google-latlong.blogspot.com/2008/04/new-ways-to-beat-traffic-with-google.html">traffic patterns in the future</a>. If you have a commute the following morning, you can check out an estimate of how stuck you will be based on past experience. Obviously, it can't determine if there will be any crashes or anything like that :)<br /><br /><b>And there's more...</b><br /><br />To finish up, a few other interesting items of the week:<br /><ul><li>Amit Singh on the Google Mac team talked about how you can <a href="http://googlemac.blogspot.com/2008/04/manipulating-keyboard-leds-through.html">manipulate keyboard LEDs through software</a> and <a href="http://googlemac.blogspot.com/2008/04/receiving-apple-infrared-remote-control.html">receive Apple infrared remote control events</a></li><li>I got to <a href="http://google-code-updates.blogspot.com/2008/04/bob-lee-is-lot-of-twubble.html">interview Bob Lee about his Twubble app</a>, built using GWT</li><li>Dave Astels <a href="http://googletesting.blogspot.com/2008/04/tott-avoiding-flakey-tests.html">talked about flakey tests on the toilet</a></li><li>Google Code now <a href="http://feeds.feedburner.com/~r/blogspot/Dcni/~3/271809539/novo-nuevo.html">speaks a lot of languages</a> which apparently caused some students to fix their RSS feed parsers as they didn't grok Unicode</li></ul><br />I hope you had a great week. Remember that our big developer event <a href="http://code.google.com/events/io/">Google I/O</a> is now just a few weeks away! We have a few posts <a href="http://google-code-updates.blogspot.com/search/label/Google%20I%2FO">from presenters who will be at the event</a> to give you a little look at the content, but the best part will be having the community together to talk in the open.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-9197169988431246393?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-code/code-review-start-your-app-engine-and-run-the-cloud-offline-with-your-docs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bob Lee is a lot of Twubble</title>
		<link>https://googledata.org/google-code/bob-lee-is-a-lot-of-twubble/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=bob-lee-is-a-lot-of-twubble</link>
		<comments>https://googledata.org/google-code/bob-lee-is-a-lot-of-twubble/#comments</comments>
		<pubDate>Thu, 17 Apr 2008 22:26:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Dion Almaer, Google Developer ProgramsBob Lee is a Software Engineer at Google, currently leading up the charge on the core Android APIs. He is also one of the founders of the Google Guice project, and was the interviewee on the very first Google De...]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Dion Almaer, Google Developer Programs</span><br /><br />Bob Lee is a Software Engineer at Google, currently leading up the charge on the core Android APIs. He is also one of the founders of the <a href="http://code.google.com/p/google-guice/">Google Guice</a> project, and was the interviewee on the <a href="http://google-code-updates.blogspot.com/2007/05/introducing-google-developer-podcast.html">very first Google Developer Podcast on the topic</a>.<br /><br />He also just created a little fun application called <a href="http://www.crazybob.org/twubble/">Twubble</a> that helps you find potential friends and followers on <a href="http://twitter.com/">Twitter</a>. The Twitterati are all over this application, and Biz Stone of Twitter even <a href="http://www.alleyinsider.com/2008/4/biz_stone_why_more_followers_on_twitter_pick_a_reason">attributed it</a> as one of a handful of reasons that have driven the rise in followers recently.<br /><br />This is Bob's first GWT application, so I wanted to sit down and talk to him about why he built the application, his experience with GWT, how he integrated with Twitter, and any other nuggets of information that I could get out of him.<br /><br />Please, listen in to our conversation, and let us know if you have any questions in the comments:<br /><br /><object width="425" height="350"> <param name="movie" value="http://www.youtube.com/v/lnxaV8jt_28"></param><embed src="http://www.youtube.com/v/lnxaV8jt_28" type="application/x-shockwave-flash" width="425" height="350"></embed></object><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-3131252880691072675?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-code/bob-lee-is-a-lot-of-twubble/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Visualizing Your Data at Google I/O</title>
		<link>https://googledata.org/google-code/visualizing-your-data-at-google-io/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=visualizing-your-data-at-google-io</link>
		<comments>https://googledata.org/google-code/visualizing-your-data-at-google-io/#comments</comments>
		<pubDate>Tue, 15 Apr 2008 17:27:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By  Nir Bar-Lev, Product ManagerThis post is one in a series that previews Google I/O, our biggest developer event in San Francisco, May 28-29. Over the next two months, we'll be highlighting sessions and speakers  to give Google Code blog readers a be...]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By  Nir Bar-Lev, Product Manager</span><br /><br /><p id="f-zi"   style="margin: 0px;  font-variant: normal;  line-height: normal; font-size-adjust: none; font-stretch: normal;font-family:Verdana;font-size:12px;"><span id="u7e9"  style="font-size:85%;"><i id="e0o4">This post is one in a series that previews Google I/O, our biggest developer event in San Francisco, May 28-29. Over the next two months, we'll be highlighting sessions and speakers  to give Google Code blog readers a better sense of what's in store for you at the event. - Ed.<br /></i></span></p><br />We recently <a title="launched" href="http://google-code-updates.blogspot.com/2008/03/introducing-google-visualization-api.html" id="kgv9">launched</a> the <a title="Google Visualization API" href="http://code.google.com/apis/visualization/" id="qg.y">Google Visualization API</a>, which lets you access multiple sources of structured data  that you can display with a large number of different visualizations.  The API also provides a platform that can be used to create, share, and reuse visualizations.<br /><br />For structured data, a big part in making information useful is enabling the visualization and analysis of the data in various ways and manners so we can gather insights from it.  From the novice user to the highly trained professional, a <a title="chart" href="http://spreadsheets.google.com/pub?key=pCQbetd-CptHq_AmlwWr2Tg" id="ss82">chart</a> often provides more insight, faster than any table of data does. Yet the process for matching data to a visualization is still laden with barriers. Integration with specific visualizations is very often an arduous process and finding the right provider of the visual package you need is hard.<br /><br />The Google Visualization API aims to solve many of these problems. The API is simple to use, making integration quick and painless.  Its openness makes it appealing because once a visual component is written it can be used on any supported data source.  That means both the visual developer and the data source owner benefit.<br /><br />By involving the wider developer community we can create a huge inventory of visual applications that fit every need.  Just a few weeks after launch, developers have already created interesting visualizations like the <a title="piles of money" href="http://spreadsheets.google.com/pub?key=poAg-4S6PGg_gHPK2gCgqMg" id="kzok">piles of money</a> gadget, <a title="organizational chart" href="http://spreadsheets.google.com/pub?key=pCQbetd-CptGB9X8jWDRiMQ" id="sp75">organizational chart</a> and <a title="motion chart" href="http://spreadsheets.google.com/pub?key=pCQbetd-CptE1ZQeQk8LoNw" id="ytn7">motion chart</a>.<br /><br />At <a title="Google I/O" href="http://code.google.com/events/io" id="hr.2">Google I/O</a>, our senior engineers will teach you how to quickly and easily write an application using the Google Visualization API.  We will work together to build a simple gadget and we will go over the the fine issues and potential pitfalls so you can save yourself even more time when you start writing your own applications over the API. <br /><br />We also highly recommend you attend the "Advanced Gadget and UI Development Using <span id="yx6l" class="nfakPe">Google</span> AJAX APIs" <a title="session" href="http://code.google.com/events/io/sessions.html#AJAX" id="xqik">session</a>.  With the combination of the two, you will have the toolset to making world-class visual applications and gadgets. <br /><br />We look forward to seeing you at <a title="Google I/O" href="http://code.google.com/events/io/" id="loi1">Google I/O</a> in May. In the meantime, come <a title="visit us" href="http://code.google.com/apis/visualization/" id="hi72">visit us</a> and join the budding, yet growing <a title="community" href="http://groups.google.com/group/google-visualization-api" id="s.w9">community</a> using the API.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-5109756178723419139?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-code/visualizing-your-data-at-google-io/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>State of Ajax at Google I/O: Performance, Performance, Performance</title>
		<link>https://googledata.org/google-code/state-of-ajax-at-google-io-performance-performance-performance/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=state-of-ajax-at-google-io-performance-performance-performance</link>
		<comments>https://googledata.org/google-code/state-of-ajax-at-google-io-performance-performance-performance/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 22:03:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Dion Almaer, Google Developer ProgramsThis post is one in a series that previews Google I/O, our biggest developer event in San Francisco, May 28-29. Over the next two months, we'll be highlighting sessions and speakers  to give Google Code blog rea...]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Dion Almaer, Google Developer Programs</span><br /><br /><em>This post is one in a series that previews <a href="http://code.google.com/events/io/">Google I/O</a>, our biggest developer event in San Francisco, May 28-29. Over the next two months, we'll be highlighting sessions and speakers  to give Google Code blog readers a better sense of what's in store for you at the event. - Ed.</em><br /><br />Ever since Ajax reemerged to create new exciting Web applications, we have seen a lot of growth in the ecosystem. Who would have thought that the universe would have expanded from richer browser applications to mobile, embedded, widgets, and desktop platforms. You can program it all with the same HTML, CSS, and JavaScript that you know and .... maybe love.<br /><br />We are excited about what 2008 brings for Ajax applications, and look forward to <a href="http://code.google.com/events/io/sessions.html">diving into the action with our session</a> at <a href="http://code.google.com/events/io/">Google I/O</a>.<br /><br />At its core we seem to have <em>performance</em> in various very different forms.<br /><br /><b>Application Speed</b><br /><br />We are seeing a lot of focus on making your applications perform well. With leaders like Steve Souders, we have seen how small tweaks to our front end engineering can leave to an improved perceived performance of our applications, which leads to a better user experience. At Google, I have seen first hand, how important latency is to applications, and I am excited to see this trend expanding to the community as a whole.<br /><br />One part of the puzzle is the browser itself. With new browsers such as IE 8, Firefox 3, and Safari 3.1 come improved performance across the board. We can learn how to make the browsers optimize their downloads in parallel, JavaScript and DOM execution speed.<br /><br />With some of the features in Gears, such as the Worker Pool, we have also seen significant improvements in performance as you allow the execution to happen outside of the usual browser pipeline.<br /><br />Even tests like Acid3 have <a href="http://ln.hixie.ch/?start=1207096078&count=1">performance benchmarks</a> built-in.<br /><br /><b>Productivity</b><br /><br />Shortly after Ajax was coined, we saw a proliferation of Ajax libraries. Most started out as simple wrappers on top of XMLHttpRequest, but they have grown over time to handle cross browser issues (e.g. hide and abstract differences), with lots of work making DOM manipulation easier. The recent trend has been to move to a CSS based model, lead by jQuery, where you attach behaviour all through CSS selectors.<br /><br />We have a scientific methodology to determine which library is for you, after extensive research, and just because this is Google I/O do not presume that it always returns GWT!<br /><br /><b>User Experience</b><br /><br />The reason that Ajax took off in our minds isn't due to any magic in XHR, but because it brought a revolution to the user experience of Web sites. Suddenly you could build highly interactive applications, instead of the archaic redraw Web. Imagine a desktop application that redrew the entire application every time you caused an event (such as a mouseclick).<br /><br />This is where the state of the art continues to thrive. How can we improve the user experience of Web applications? There are many popular applications that showcase new methods, and plenty of bad ones to learn from too.<br /><br /><b>Standards</b><br /><br />HTML 5 is moving along nicely. Understanding the parts and pieces to this world is a glimpse at the future. There are many features that have you saying "at last!", and we will delve into all of these.  Gears also fits into the HTML 5 picture, so we can talk to various initiatives in the standards space.<br /><br />We hope to get a chance to chat with you at the conference!<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-3107044381954525194?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-code/state-of-ajax-at-google-io-performance-performance-performance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Behind the scenes of the little green syncing icon at Google I/O</title>
		<link>https://googledata.org/google-docs/behind-the-scenes-of-the-little-green-syncing-icon-at-google-io/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=behind-the-scenes-of-the-little-green-syncing-icon-at-google-io</link>
		<comments>https://googledata.org/google-docs/behind-the-scenes-of-the-little-green-syncing-icon-at-google-io/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 17:46:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>
		<category><![CDATA[Google Docs]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Steven Saviano, Software EngineerThis post is one in a series that previews Google I/O, our biggest developer event in San Francisco, May 28-29. Over the next two months, we'll be highlighting sessions and speakers  to give Google Code blog readers ...]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Steven Saviano, Software Engineer</span><br /><br /><em>This post is one in a series that previews <a href="http://code.google.com/events/io/">Google I/O</a>, our biggest developer event in San Francisco, May 28-29. Over the next two months, we'll be highlighting sessions and speakers  to give Google Code blog readers a better sense of what's in store for you at the event.  - Ed.</em><br /><br />Being a UI engineer, I usually expect the features I implement to have a little bit more visual interaction than a little green icon. However, while my team and I were implementing Google Docs Offline, the challenge was just that: how make the offline experience work seamlessly while just adding one icon.<br /><br /><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/7cyHYEfpRVA"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/7cyHYEfpRVA" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object><br /><br />Building Docs Offline was quite a challenge, and we pushed Gears to its limits to accomplish it. To give an idea of some of the complexities, Google Docs is one application that is comprised of 3 editors (documents, spreadsheets, and presentations) and 1 file management UI running across two domains (docs.google.com and spreadsheets.google.com). The domain challenges alone were significant challenges in our design - we are fully utilizing multiple cross-domain workers to synchronize documents, capture resources, and authenticate users.<br /><br />Oh yeah, and did I mention that any of the servers can be running any version of the code and fall over at anytime? <br /><br />Getting all of this to "just work" for users was tough, but necessary for a great user experience.<br /><br />Wondering how you can take your applications offline? I'll be discussing all these issues in-depth at this year's Google developer conference, Google I/O. Come by and learn how to get your app its very own little green syncing icon.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-1002539206631832642?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-docs/behind-the-scenes-of-the-little-green-syncing-icon-at-google-io/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>This Sunday (6th April): OpenSocial Hackathon in London</title>
		<link>https://googledata.org/google-code/this-sunday-6th-april-opensocial-hackathon-in-london/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=this-sunday-6th-april-opensocial-hackathon-in-london</link>
		<comments>https://googledata.org/google-code/this-sunday-6th-april-opensocial-hackathon-in-london/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 15:20:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Dan Peterson, Product ManagerOn the heels of hi5's OpenSocial launch, this Sunday, the 6th of April, BT is hosting an OpenSocial Hackathon at BT Centre in London. This is an ideal opportunity to get started building apps with OpenSocial, or come and...]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Dan Peterson, Product Manager</span><br /><br />On the heels of <a href="http://www.hi5networks.com/blog/2008/03/hi5.html">hi5's OpenSocial launch</a>, this Sunday, the 6th of April, <a href="http://bt.com">BT</a> is hosting an OpenSocial Hackathon at <a href="http://maps.google.co.uk/maps?q=Bt+Centre,+81+Newgate+St,+London,+EC1A+7AJ,+UK&sa=X&oi=map&ct=title">BT Centre in London</a>. This is an ideal opportunity to <a href="http://code.google.com/apis/opensocial/gettingstarted.html">get started building apps</a> with OpenSocial, or come and get a hand with an app you've already built. In addition, you'll be able to talk with engineers from Hyves, MySpace, Netlog, studiVZ, XING, and Google.<br /><br />The event will kick off at 11:00am, though doors will open at 10:00am with a light breakfast. Full details are <a href="http://opensocialapis.blogspot.com/2008/04/sundays-opensocial-hackathon-in-london.html">available here</a>, or you can directly <a href="http://spreadsheets.google.com/viewform?key=pcWev5qKc2OAGVt4L8UZCXQ">RSVP here</a>.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-801568522636331821?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-code/this-sunday-6th-april-opensocial-hackathon-in-london/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What&#8217;s new with Google Gears? A Tech Talk</title>
		<link>https://googledata.org/google-gears/whats-new-with-google-gears-a-tech-talk-2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=whats-new-with-google-gears-a-tech-talk-2</link>
		<comments>https://googledata.org/google-gears/whats-new-with-google-gears-a-tech-talk-2/#comments</comments>
		<pubDate>Thu, 03 Apr 2008 22:31:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Gears]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=944bf084d2d9880528047d2a69cfa337</guid>
		<description><![CDATA[Posted by Dion Almaer, Gears TeamBrad Neuberg and Ben Lisbakken of the Gears team gave a brown bag talk on some of the new and interesting features in Gears.They show a lot of examples and tools such as:PubTools: Brad developed this set of tools to ena...]]></description>
				<content:encoded><![CDATA[<span class="byline-author">Posted by Dion Almaer, Gears Team</span><br /><br />Brad Neuberg and Ben Lisbakken of the Gears team <a href="http://youtube.com/watch?v=xV_22e-Y5OE">gave a brown bag talk</a> on some of the new and interesting features in Gears.<br /><br />They show a lot of examples and tools such as:<br /><ul><li><a href="http://code.google.com/p/gears-pubtools/">PubTools</a>: Brad developed this set of tools to enable offline caching of content in minutes. This is perfect if you have a set of content that you want to make available offline.</li><br /><li>Google Gears for Mobile: Just yesterday we <a href="http://googlephotos.blogspot.com/2008/03/more-good-news-for-mobile.html">launched our first Google mobile application using Gears</a>, with Picasa</li><br /><li>Cross Domain Web Services: A good example using Flickr search</li><br /><li>Dojo Storage has just had a new release so it plays in the new Dojo 1.x land, and has a Gears storage engine</li><br /><li><a href="http://gearsblog.blogspot.com/2007/10/bloggears-offline-blogger-client.html">blog.gears</a>: Pamela Fox did a great job with this GData/Gears blogging application</li><br /><li><a href="http://code.google.com/support/bin/answer.py?answer=81101&topic=11982">Gears + Greasemonkey = GearsMonkey</a></li></ul><br />It is fun to hear some of the fellow Googlers probe with their own questions!<br /><br /><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/xV_22e-Y5OE&hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/xV_22e-Y5OE&hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object><br /><br />Brad and Ben will both be at <a href="http://gearsblog.blogspot.com/2008/04/code.google.com/events/io">Google I/O</a>, May 28-29, 2008, in San Francisco. We are keen to hear your thoughts on Gears and the Open Web.]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-gears/whats-new-with-google-gears-a-tech-talk-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>What&#8217;s new with Google Gears? A Tech Talk</title>
		<link>https://googledata.org/google-gears/whats-new-with-google-gears-a-tech-talk/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=whats-new-with-google-gears-a-tech-talk</link>
		<comments>https://googledata.org/google-gears/whats-new-with-google-gears-a-tech-talk/#comments</comments>
		<pubDate>Thu, 03 Apr 2008 22:31:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Gears]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Posted by Dion Almaer, Gears TeamBrad Neuberg and Ben Lisbakken of the Gears team gave a brown bag talk on some of the new and interesting features in Gears.They show a lot of examples and tools such as:PubTools: Brad developed this set of tools to ena...]]></description>
				<content:encoded><![CDATA[<span class="byline-author">Posted by Dion Almaer, Gears Team</span><br /><br />Brad Neuberg and Ben Lisbakken of the Gears team <a href="http://youtube.com/watch?v=xV_22e-Y5OE">gave a brown bag talk</a> on some of the new and interesting features in Gears.<br /><br />They show a lot of examples and tools such as:<br /><ul><li><a href="http://code.google.com/p/gears-pubtools/">PubTools</a>: Brad developed this set of tools to enable offline caching of content in minutes. This is perfect if you have a set of content that you want to make available offline.</li><br /><li>Google Gears for Mobile: Just yesterday we <a href="http://googlephotos.blogspot.com/2008/03/more-good-news-for-mobile.html">launched our first Google mobile application using Gears</a>, with Picasa</li><br /><li>Cross Domain Web Services: A good example using Flickr search</li><br /><li>Dojo Storage has just had a new release so it plays in the new Dojo 1.x land, and has a Gears storage engine</li><br /><li><a href="http://gearsblog.blogspot.com/2007/10/bloggears-offline-blogger-client.html">blog.gears</a>: Pamela Fox did a great job with this GData/Gears blogging application</li><br /><li><a href="http://code.google.com/support/bin/answer.py?answer=81101&topic=11982">Gears + Greasemonkey = GearsMonkey</a></li></ul><br />It is fun to hear some of the fellow Googlers probe with their own questions!<br /><br /><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/xV_22e-Y5OE&hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/xV_22e-Y5OE&hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object><br /><br />Brad and Ben will both be at <a href="http://gearsblog.blogspot.com/2008/04/code.google.com/events/io">Google I/O</a>, May 28-29, 2008, in San Francisco. We are keen to hear your thoughts on Gears and the Open Web.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8349418849086791337-9128063021619953140?l=gearsblog.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-gears/whats-new-with-google-gears-a-tech-talk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Developer Podcast: Picasa Web and Google Gears for Mobile</title>
		<link>https://googledata.org/google-code/google-developer-podcast-picasa-web-and-google-gears-for-mobile/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=google-developer-podcast-picasa-web-and-google-gears-for-mobile</link>
		<comments>https://googledata.org/google-code/google-developer-podcast-picasa-web-and-google-gears-for-mobile/#comments</comments>
		<pubDate>Wed, 02 Apr 2008 18:27:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Dion Almaer, Google Developer ProgramsUsing iTunes? I had the pleasure of taking a trip back to my home land of England to meet up with the team behind the Google Gears for Mobile product.As someone who loves Web development, it is an exciting propo...]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Dion Almaer, Google Developer Programs</span><br /><br /><div style="padding: 5px; float: right;"><a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=257272708">Using iTunes?</a> <a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=257272708"><img src="http://2.bp.blogspot.com/_fNklLQXNzR8/RmhpjbsSlZI/AAAAAAAAAHo/raNZJqMJz9g/s400/oneclickitunes.jpg" border="0"></a></div><br /><br />I had the pleasure of taking a trip back to my home land of England to meet up with the team behind the Google Gears for Mobile product.<br /><br />As someone who loves Web development, it is an exciting proposition to be able to use the Web platform to be able to develop applications on the mobile.<br /><br />This release enables you to use the Gears 0.3 APIs on Windows Mobile devices. With this new version, not only do you have access to the Database, LocalServer, and WorkerPool APIs, but you can also create desktop shortcuts. Considering the disconnected nature and latency issues inherent to the mobile networks, these APIs allow you to deliver more responsive applications that can hide some of the problems.<br /><br />Today, we saw the <a href="http://googlephotos.blogspot.com/2008/03/more-good-news-for-mobile.html">release of a new mobile version of Picasa Web Albums</a> that uses these features. I got to sit down with Joe Walnes, tech lead of the mobile Picasa team. Joe and his team built both the Gears-enabled version of Picasa for the phone as well as the iPhone version that allows you to sit on the Tube and still flip through your family photos.<br /><br />Joe tells us about his experience building the Gears application.<br /><br /><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/QBguV2B16nU"></param><embed src="http://www.youtube.com/v/QBguV2B16nU" type="application/x-shockwave-flash" width="425" height="350"></embed></object><br /><br />I have also put together an  <a href="http://google-developer-podcast.googlecode.com/files/gearsmobile.mp3">audio podcast</a> consisting of interviews with not only Joe, but other members of the Gears team.<br /><br />First, I talk to Charles Wiles, the Product Manager of the Google Gears for Mobile team. He gives us a high level view of the project in general, and this launch in particular. We also discuss the native abilities of Gears on the mobile, widget platforms, and future Gears developments.<br /><br />Second, we hear from two engineers on the project, Dave Burke and Andrei Popescu. They go into detail on the platform, how you architect mobile Web applications, how you develop and debug applications, new APIs such as the Location API, and how Android fits in to the picture.<br /><br />Finally, we hear again from Joe Walnes.<br /><br />I am really excited about the prospect of building rich mobile applications using Web based technology.<br /><br />You can <a href="http://google-developer-podcast.googlecode.com/files/gearsmobile.mp3" rel="enclosure">download the episode directly</a>, or <a href="http://feeds.feedburner.com/GoogleDeveloperPodcast">subscribe to the show</a> (<a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=257272708">click here for iTunes one-click subscribe</a>).<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-3709159742302613732?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-code/google-developer-podcast-picasa-web-and-google-gears-for-mobile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://google-developer-podcast.googlecode.com/files/gearsmobile.mp3" length="19201043" type="audio/mpeg" />
		</item>
		<item>
		<title>Joose.Gears: Adding support for workers in a self-hosting meta object system</title>
		<link>https://googledata.org/google-gears/joose-gears-adding-support-for-workers-in-a-self-hosting-meta-object-system-2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=joose-gears-adding-support-for-workers-in-a-self-hosting-meta-object-system-2</link>
		<comments>https://googledata.org/google-gears/joose-gears-adding-support-for-workers-in-a-self-hosting-meta-object-system-2/#comments</comments>
		<pubDate>Thu, 27 Mar 2008 16:52:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Gears]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=20903d0f34047df615c21474239238d4</guid>
		<description><![CDATA[<span>Posted by Dion Almaer, Gears Team</span><br /><br />Malte Ubl, <a href="http://gearsblog.blogspot.com/2008/03/cross-domain-messaging-with-gears.html">who brought us xssinterface</a>, has a new project that has Gears support.<br /><br /><a href="http://code.google.com/p/xssinterface/source/browse/trunk/projects/Joose/">Joose</a> is a self-hosting meta object system for JavaScript inspired by the Perl <a href="http://search.cpan.org/~stevan/Moose-0.40/lib/Moose.pm">Moose</a>. Joose supports inheritance, traits, mixins, method wrappers and more.<br /><br />Where Gears comes into the mix is through the Joose.Gears meta class which enables automatic delegation of methods to be executed as a Gears worker. If Gears is not present, the worker is executed in the main thread. The workers result will be sent to a method called "on".ucfirst($worker_name) if available:<pre><br />Class("HardWork", {<br />    meta: Joose.Gears,<br />    has: {<br />        data: {is: rw, init: {}}<br />    },<br />    methods: {<br />        onDoWork: function (result) {<br />            ok(result == 1001, "Gear Worker returns correct result")<br />        }<br />    },<br />    workers: {<br />        doWork: function (start) {<br />            var counter = start;<br />            for(var i = 0; i                 counter++<br />            }<br />            return counter<br />        }<br />    }<br />})<br /><br />var hw = new HardWork();<br /><br />hw.doWork(1)<br /></pre>You can take a <a href="http://code.google.com/p/xssinterface/source/browse/trunk/projects/Joose/lib/Joose/Gears.js">peak at the innards</a> to see another interesting use of Gears.]]></description>
				<content:encoded><![CDATA[<span class="byline-author">Posted by Dion Almaer, Gears Team</span><br /><br />Malte Ubl, <a href="http://gearsblog.blogspot.com/2008/03/cross-domain-messaging-with-gears.html">who brought us xssinterface</a>, has a new project that has Gears support.<br /><br /><a href="http://code.google.com/p/xssinterface/source/browse/trunk/projects/Joose/">Joose</a> is a self-hosting meta object system for JavaScript inspired by the Perl <a href="http://search.cpan.org/~stevan/Moose-0.40/lib/Moose.pm">Moose</a>. Joose supports inheritance, traits, mixins, method wrappers and more.<br /><br />Where Gears comes into the mix is through the Joose.Gears meta class which enables automatic delegation of methods to be executed as a Gears worker. If Gears is not present, the worker is executed in the main thread. The workers result will be sent to a method called "on".ucfirst($worker_name) if available:<pre><br />Class("HardWork", {<br />    meta: Joose.Gears,<br />    has: {<br />        data: {is: rw, init: {}}<br />    },<br />    methods: {<br />        onDoWork: function (result) {<br />            ok(result == 1001, "Gear Worker returns correct result")<br />        }<br />    },<br />    workers: {<br />        doWork: function (start) {<br />            var counter = start;<br />            for(var i = 0; i < 1000; i++) {<br />                counter++<br />            }<br />            return counter<br />        }<br />    }<br />})<br /><br />var hw = new HardWork();<br /><br />hw.doWork(1)<br /></pre>You can take a <a href="http://code.google.com/p/xssinterface/source/browse/trunk/projects/Joose/lib/Joose/Gears.js">peak at the innards</a> to see another interesting use of Gears.]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-gears/joose-gears-adding-support-for-workers-in-a-self-hosting-meta-object-system-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Joose.Gears: Adding support for workers in a self-hosting meta object system</title>
		<link>https://googledata.org/google-gears/joose-gears-adding-support-for-workers-in-a-self-hosting-meta-object-system/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=joose-gears-adding-support-for-workers-in-a-self-hosting-meta-object-system</link>
		<comments>https://googledata.org/google-gears/joose-gears-adding-support-for-workers-in-a-self-hosting-meta-object-system/#comments</comments>
		<pubDate>Thu, 27 Mar 2008 16:52:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Gears]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Posted by Dion Almaer, Gears TeamMalte Ubl, who brought us xssinterface, has a new project that has Gears support.Joose is a self-hosting meta object system for JavaScript inspired by the Perl Moose. Joose supports inheritance, traits, mixins, method w...]]></description>
				<content:encoded><![CDATA[<span class="byline-author">Posted by Dion Almaer, Gears Team</span><br /><br />Malte Ubl, <a href="http://gearsblog.blogspot.com/2008/03/cross-domain-messaging-with-gears.html">who brought us xssinterface</a>, has a new project that has Gears support.<br /><br /><a href="http://code.google.com/p/xssinterface/source/browse/trunk/projects/Joose/">Joose</a> is a self-hosting meta object system for JavaScript inspired by the Perl <a href="http://search.cpan.org/~stevan/Moose-0.40/lib/Moose.pm">Moose</a>. Joose supports inheritance, traits, mixins, method wrappers and more.<br /><br />Where Gears comes into the mix is through the Joose.Gears meta class which enables automatic delegation of methods to be executed as a Gears worker. If Gears is not present, the worker is executed in the main thread. The workers result will be sent to a method called "on".ucfirst($worker_name) if available:<pre><br />Class("HardWork", {<br />    meta: Joose.Gears,<br />    has: {<br />        data: {is: rw, init: {}}<br />    },<br />    methods: {<br />        onDoWork: function (result) {<br />            ok(result == 1001, "Gear Worker returns correct result")<br />        }<br />    },<br />    workers: {<br />        doWork: function (start) {<br />            var counter = start;<br />            for(var i = 0; i < 1000; i++) {<br />                counter++<br />            }<br />            return counter<br />        }<br />    }<br />})<br /><br />var hw = new HardWork();<br /><br />hw.doWork(1)<br /></pre>You can take a <a href="http://code.google.com/p/xssinterface/source/browse/trunk/projects/Joose/lib/Joose/Gears.js">peak at the innards</a> to see another interesting use of Gears.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8349418849086791337-3679405024889076467?l=gearsblog.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-gears/joose-gears-adding-support-for-workers-in-a-self-hosting-meta-object-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Code Review: Ajax APIs galore, YouTube, and some I/O</title>
		<link>https://googledata.org/google-code/the-code-review-ajax-apis-galore-youtube-and-some-io/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-code-review-ajax-apis-galore-youtube-and-some-io</link>
		<comments>https://googledata.org/google-code/the-code-review-ajax-apis-galore-youtube-and-some-io/#comments</comments>
		<pubDate>Fri, 21 Mar 2008 22:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Dion Almaer, Google Developer ProgramsI got to meet developers in Colorado this week. Working from the Google Boulder office with its fun climbing wall (*so* Boulder) was a treat, and there were several API announcements that were really exciting.Fi...]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Dion Almaer, Google Developer Programs</span><br /><br />I got to meet developers in Colorado this week. Working from the Google Boulder office with its fun climbing wall (*so* Boulder) was a treat, and there were several API announcements that were really exciting.<br /><br />First of all we had the <a href="http://apiblog.youtube.com/2008/03/something-to-write-home-about.html">YouTube API update</a>. The new APIs for YouTube are very broad. Not only do you have new access via AtomPub (e.g. to upload), but you can now have fantastic control of the player with a very simple JavaScript API.<br /><br />In a matter of minutes I was <a href="http://almaer.com/ytranscript/">able to create a simple HTML little language</a> that allows me to annotate my YouTube videos with a table of contents that jump to the correct place.<br /><br />To listen to the great new features, listen in below:<br /><br /><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/u1zgFlCw8Aw"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/u1zgFlCw8Aw" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object><br /><br />Then we had the rash of new AJAX APIs.<br /><br /><a href="http://googleajaxsearchapi.blogspot.com/2008/03/introducing-ajax-language-api-tools-for.html">Google AJAX Language API</a>:<br /><blockquote><br />The AJAX Search and Feeds team is happy to announce a new member to their API family -- the Language API.  This new API boasts two functions, language translation and language detection - which cover <a href="http://code.google.com/apis/ajaxlanguage/documentation/#SupportedLanguages">13 languages</a> and <a href="http://code.google.com/apis/ajaxlanguage/documentation/#SupportedPairs">29 translation pairs</a>.<br /></blockquote><br />All this with a couple of simple JavaScript calls such as this:<br /><pre><br />google.language.translate('Gato', 'es', 'en', function(result) {<br />  alert(result.translation);<br />});<br /></pre><br /><a href="http://googleajaxsearchapi.blogspot.com/2008/03/introducing-latest-ajax-api-google.html">Google Visualization API</a>:<br /><blockquote><br />We are excited to launch the Google Visualization API, a new API designed for visualizing structured data. The API adds the ability to send queries to data sources and process the response. The first data source that already supports this API is Google Spreadsheets. We are also launching a set of visualization gadgets that use this API.<br /><br />With this API, you can read data from a data source that supports the API. You can read an entire table, or you can run a query on the data source using the API's query language. The query response is an easy to process data table designed to simplify data visualization. It includes both the underlying values and the formatted values, column types, headers and more.<br /></blockquote><br />Staying with visualization and charting... we had a great response to the initial Google Chart API launch, and the team came back with <a href="http://google-code-updates.blogspot.com/2008/03/new-features-for-google-chart-api.html">new features</a> allowing very cool new graph types, and <a href="http://google-code-updates.blogspot.com/2008/03/lifting-limit-on-calls-to-google-chart.html">lifting the limits on chart calls</a>.<br /><br />All of these APIs share the same property of doing their thing very well, and providing a simple API to the developer. I hope you will agree, and if not, let us know what you need!<br /><br />In the land of Google Gears, a couple of external libraries were features. Malte Ubl provided a nice little <a href="http://gearsblog.blogspot.com/2008/03/cross-domain-messaging-with-gears.html">abstraction for cross domain messaging</a> which uses HTML 5 postMessage(), else Gears, else a browser hack to make the beast work on all browsers.<br /><br />That is for Worker pools, and with the Database API we saw Aptana releasing an update to their server-side JavaScript database API allowing you to use the <a href="http://gearsblog.blogspot.com/2008/03/gears-database-api-and-aptana-jaxer.html">Gears API on the server</a>.<br /><br />Google Code itself got some love. We have improved performance on the site and <a href="http://google-code-updates.blogspot.com/2008/03/how-we-improved-performance-on-google.html">Jacob Moon shared how we did so</a>.<br /><br />Then we added an <a href="http://googledataapis.blogspot.com/2008/03/what-you-code-is-what-you-get-new.html">interactive developer guide</a> that allows you to try code on the fly as you go through the GData JavaScript API. It feels good to be able to massage and play as you go.<br /><br />Finally, we <a href="http://google-code-updates.blogspot.com/2008/03/announcing-google-io.html">announced Google I/O</a> which is "a two day developer gathering on May 28th & 29th in San Francisco. The purpose of the event is to bring developers together to learn about products, tools, and techniques which are moving the web forward as a platform." If you would like to mingle and join Google engineers, and other Web luminaries as we discuss how to move the Web forward, <a href="https://www.weboom.com/sparks/google_io/forms/">join us</a>!<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-4549134235024258?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-code/the-code-review-ajax-apis-galore-youtube-and-some-io/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cross-domain messaging with Gears</title>
		<link>https://googledata.org/google-gears/cross-domain-messaging-with-gears/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=cross-domain-messaging-with-gears</link>
		<comments>https://googledata.org/google-gears/cross-domain-messaging-with-gears/#comments</comments>
		<pubDate>Tue, 18 Mar 2008 17:56:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Gears]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Posted by Dion Almaer, Gears TeamMalte Ubl has written a small abstraction library called xssinterface that enables cross domain callbacks. The site specifies which methods may be called as well as which domains are allowed to call the methods.The libr...]]></description>
				<content:encoded><![CDATA[<span class="byline-author">Posted by Dion Almaer, Gears Team</span><br /><br />Malte Ubl has written a small abstraction library called <a href="http://code.google.com/p/xssinterface">xssinterface</a> that enables cross domain callbacks. The site specifies which methods may be called as well as which domains are allowed to call the methods.<br /><br />The library wraps the <a href="http://developer.mozilla.org/en/docs/DOM:window.postMessage">postMessage</a> interface and our own <a href="http://code.google.com/apis/gears/api_workerpool.html">cross domain workers</a>. If those options aren't enough, there is a way to use a cookie trick to still get access.<br /><br />There is a generic Gears worker that Malte uses to wrap his API. If you haven't played with workers yet, you may find it <a href="http://code.google.com/p/xssinterface/source/browse/trunk/js/gears_listener.js">interesting to see a full example</a>.<br /><br />In it you will see usage of the database and even a timer:<br /><pre>var timer = google.gears.factory.create('beta.timer');<br />timer.setInterval(function() {<br />  // get a new db handle on each iteration<br />  var db = google.gears.factory.create('beta.database');<br />  db.open('database-xssinterface');<br /> <br />  db.execute("BEGIN TRANSACTION");<br /> <br />  // find new messages for meps<br />  var rs = db.execute('select id, message from XSSMessageQueue where recipient_domain = ? and channel_id = ?', [recipient, channelId]);<br /><br />  // there are new messages for the recipient<br />  while(rs.isValidRow()) {<br />          var id   = rs.field(0);<br />          var text = rs.field(1);<br />          wp.sendMessage(text, message.sender);<br />          db.execute("DELETE from XSSMessageQueue where id = ?", [id]); // unqueue message<br />          rs.next()<br />  }<br /> <br />  rs.close();<br /> <br />  db.execute("COMMIT")<br /> <br />  db.close();<br />}, 300);</pre><br />xssinterface is a fairly alarming name, so I asked Malte why he would put "XSS" in the name of his product. It turns out he is trying to be lighthearted. Each to their own!<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8349418849086791337-3511843506993449888?l=gearsblog.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-gears/cross-domain-messaging-with-gears/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How we improved performance on Google Code</title>
		<link>https://googledata.org/google-code/how-we-improved-performance-on-google-code/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=how-we-improved-performance-on-google-code</link>
		<comments>https://googledata.org/google-code/how-we-improved-performance-on-google-code/#comments</comments>
		<pubDate>Fri, 14 Mar 2008 20:38:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Jacob Moon, Google Developer ProgramsIf you're a frequent visitor to code.google.com for product updates and reference materials for Google APIs  you're working with, you might have noticed that the page loading time (or page rendering time dependin...]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Jacob Moon, Google Developer Programs</span><br /><br />If you're a frequent visitor to <a title="code.google.com" href="http://code.google.com/" id="we80">code.google.com</a> for product updates and reference materials for <a title="Google APIs" href="http://code.google.com/more/" id="e6th">Google APIs</a>  you're working with, you might have noticed that the page loading time (or page rendering time depending on how you see it) has reduced in varying degrees in the past several weeks.<br /><br />As you'll see below, we've made several changes to help reduce user-perceived latency. This is not an exhaustive list of all improvements we've made recently, but these are the major ones we've made.<br /><br />As Steve Souders emphasizes as the "Performance Golden Rule" in his book <a title="High Performance Web Sites" href="http://stevesouders.com/hpws/" id="mhew">High Performance Web Sites</a>, <i>"only 10-20% of the end user response time is spent downloading the HTML document. The other 80-90% is spent downloading all the components in the page</i> (p.5)".<br /><br />We agree. That's why we focused our effort on reducing the number and size of downloads (HTTP requests) for the "components" throughout Google Code.<br /><ul><li><b>Combined and minimized JavaScript and CSS files used throughout the site</b></li></ul><div style="margin-left: 40px;">Downloading JavaScript and CSS files blocks rendering of the rest of the page. Thus, to reduce the number of HTTP requests made on the initial page load, we combined frequently-used JavaScript and CSS files into one file each. This technique has brought down 20 HTTP requests down to just 2. We also minimized the files by stripping out unnecessary whitespace and shortening function/variable names whenever possible.<br /></div><ul><li><b>Implemented CSS sprites for frequently-used images</b></li></ul><div style="margin-left: 40px;">There are 7 images prominently used throughout Google Code, including the Google Code logo, the googley balls at the bottom of every page, the plus and minus signs as well as the subscribe icon inside each blog gadget.<br /><br />Although browsers usually download several images in parallel, we concatenated these images into one image so only one HTTP request would be made. Of course, concatenating several images into one required us to make several changes in HTML/CSS. For example, instead of having:<br /><br /></div><div style="margin-left: 80px;"><span style="font-family: Courier New;">&lt;img src="/images/plus.gif" /&gt;</span><br /></div><br /><br />We had to change it to:<br /><br /><div style="margin-left: 80px;"><span style="font-family: Courier New;">&lt;div style="background-image:url(/images/sprites.gif); background-position:-28px -246px; width:9px; height:9px"&gt;&amp;amp;&lt;/div&gt;&lt;/span&gt;</div></span><br /><br /><div style="margin-left: 40px;">where sprites.gif is the concatenated image and background-position and width/height carefully calculated.<br /></div><ul><li><b>Implemented lazy loading of Google AJAX APIs loader module (google.load)</b><br /></li></ul><div style="margin-left: 40px;">We like to eat our own <a title="dogfood" href="http://en.wikipedia.org/wiki/Eat_one%27s_own_dog_food" id="g6jg">dogfood</a>. Among other APIs, we use our very own AJAX Feed API on product homepages inside the blog gadgets and the AJAX Search API on the <a title="search page" href="http://code.google.com/search/#q=AJAX%20Search%20API" id="fbdt">search page</a>. These Google AJAX APIs require the Google loader module (google.load) to be loaded first before any of the specific AJAX APIs (i.e. AJAX Feed API, AJAX Search API, Maps API) can be initialized and used. Traditionally, the Google AJAX APIs loader module would be loaded by including the following &lt;script&gt; tag in the &lt;head&gt; section:<br /></div><pre style="margin-left: 40px;" class="prettyprint"><span class="pun">    &lt;</span><span class="tag">script</span> <span class="atn">type</span><span class="pun">=</span><span class="atv">"text/javascript"</span> <span class="atn">src</span><span class="pun">=</span><span class="atv">"http://www.google.com/jsapi</span><span class="atv">"</span><span class="pun">&gt;&lt;/</span><span class="tag">script</span><span class="pun">&gt;</span></pre><div style="margin-left: 40px;">This works well in most cases, but when optimizing for the display of static content, this blocks the browser from rendering the rest of the page until it's finished loading that script, thus impacting the user-perceived latency. So instead of loading the Google AJAX APIs loader module upfront, we are now loading it lazily only on the pages where it's required. This is made possible as follows (please note that this is a stripped-down version of what we have on Google Code):<br /><br />First, in the &lt;head&gt; section, we load the Google AJAX APIs loader module via DOM scripting only on the pages where it's required:</div><pre style="margin-left: 80px;"><br />if (needToLoadGoogleAjaxApisLoaderModule) {<br />    // Load Google AJAX APIs loader module (google.load)<br />    var script = document.createElement('script');<br />    script.src = 'http://www.google.com/jsapi?callback=googleLoadCallback';<br />    script.type = 'text/javascript';<br />    document.getElementsByTagName('head')[0].appendChild(script);<br />}<br /></pre><div style="margin-left: 40px;">It's important to add the '<span style="font-family: Courier New;">callback</span>' parameter in the src attribute, '<span style="font-family: Courier New;">callback=googleLoadCallback</span>'. This callback handler will then be called whenever the Google loader module is finished loading.<br /><br />Then, in the Google loader callback handler (<span style="font-family: Courier New;">googleLoadCallback()</span>), we initialize the AJAX Feed API and provide the function name that utilizes the AJAX Feed API (<span style="font-family: Courier New;">startUsingAjaxFeedAPI)</span>:<br /></div> <div style="margin-left: 80px;"><pre>function googleLoadCallback() {<br />  // Initialize AJAX Feed API<br />  google.load('feeds', '1', {callback: startUsingAjaxFeedAPI});<br />}<br /><br />function startUsingAjaxFeedAPI() {<br />  // Start using AJAX Feed API<br />  var feed = new google.feeds.Feed(someFeedUrl);<br />  ...<br />}</pre></div><div style="margin-left: 40px;"><br />In effect, we're loading the AJAX Feed API on-demand through the use of two consecutive callback handlers, first to load the Google AJAX APIs loader module (google.load) and then to initialize the AJAX Feed API before it's used. Similar technique can be used for the Maps API and the AJAX Search API.<br /></div><br />By now you're probably wondering just how much of an impact did these changes have on Google Code anyways? According to our latency measurement stats, the user-perceived latency on Google Code dropped quite a bit, anywhere between 30% and 70% depending on the page. This is a huge return for relatively small investments we've made along the way, and we hope you'll find these techniques useful for your own web development as well.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-902783387581021406?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-code/how-we-improved-performance-on-google-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gears Database API and Aptana Jaxer</title>
		<link>https://googledata.org/google-gears/gears-database-api-and-aptana-jaxer/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=gears-database-api-and-aptana-jaxer</link>
		<comments>https://googledata.org/google-gears/gears-database-api-and-aptana-jaxer/#comments</comments>
		<pubDate>Thu, 13 Mar 2008 20:34:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Gears]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Posted by Dion Almaer, Gears TeamAptana Jaxer is a new product that allows you to write server side Ajax applications, and one of the features is a server side database API.As soon as I saw this, I started to play with an unofficial wrapper that would ...]]></description>
				<content:encoded><![CDATA[<span class="byline-author">Posted by Dion Almaer, Gears Team</span><br /><br /><a href="http://aptana.com/jaxer">Aptana Jaxer</a> is a new product that allows you to write server side Ajax applications, and one of the features is a server side database API.<br /><br />As soon as I saw this, I started to <a href="http://almaer.com/blog/google-gears-database-api-on-the-server">play with an unofficial wrapper</a> that would enable me to use the Gears Database API and have it work on the server.<br /><br />The Aptana team liked this idea, so they decided to implement the same result API as Gears uses, which enabled me to <a href="http://almaer.com/blog/google-gears-api-supported-by-aptana-jaxer">chop up my shim</a>.<br /><br />I find this interesting as it can allow:<br /><ul><li>A way to run your Gears code on server, for example, if the user doesn't have Gears installed. In certain use cases, you could decide to run the code back on the server, and offer the user to "speed this all up by installing Gears"</li><li>One API means that you can take tools and code that you have written on top, and have it automatically work on the server too. For example, we have already seen a <a href="http://forums.aptana.com/viewtopic.php?t=4785">GearsORM</a> that works behind the scenes</li></ul><br />Converging on APIs makes me feel good in the same way that deleting code does. I hope to see more of this in the future. The fewer the APIs that a developer has to learn, the better.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8349418849086791337-869024542366479112?l=gearsblog.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-gears/gears-database-api-and-aptana-jaxer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Code Review: No more contact scraping, sync your calendar, and Gears in your pocket</title>
		<link>https://googledata.org/google-code/the-code-review-no-more-contact-scraping-sync-your-calendar-and-gears-in-your-pocket/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-code-review-no-more-contact-scraping-sync-your-calendar-and-gears-in-your-pocket</link>
		<comments>https://googledata.org/google-code/the-code-review-no-more-contact-scraping-sync-your-calendar-and-gears-in-your-pocket/#comments</comments>
		<pubDate>Fri, 07 Mar 2008 22:13:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Dion Almaer, Google Developer ProgramsWhat a week for technology news. I feel like the industry is in overdrive this week as we have large announcements in mobile (e.g. iPhone SDK, Gears for Mobile), and we get to see a beta of IE 8 for the first ti...]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Dion Almaer, Google Developer Programs</span><br /><br />What a week for technology news. I feel like the industry is in overdrive this week as we have large announcements in mobile (e.g. iPhone SDK, Gears for Mobile), and we get to see a beta of IE 8 for the first time.<br /><br />I was very happy to see the <a href="http://gearsblog.blogspot.com/2008/03/google-gears-in-your-pocket.html">actual release of Google Gears for Mobile</a>. I had just been visiting the London office where I got to chat with the team behind the mobile launch. I enjoyed hearing the story behind the birth of Gears for mobile, and their thoughts on where mobile development is heading. It seems like we hear people claiming the breakthrough of the mobile Web every year, but 2008 may finally be the right time. We are getting the combination of devices that are good enough, and better networks. The tools that Gears provides seem to almost make more sense in the mobile world, and I look forward to seeing the community build new Gears to unlock the power of the mobile devices and put that functionality into the hands of Web hackers.<br /><br />Listen in to the conversation below:<br /><br /><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/R8P0PbgS52c&rel=1&border=0"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/R8P0PbgS52c&rel=1&border=0" type="application/x-shockwave-flash" wmode="transparent"width="425" height="355"></embed></object><br /><br />The mobile release happened right as Brad Neuberg and myself were doing a mini mid-west tour of the University of Illinois Urbana/Champaign, and the University of Michigan. It was <a href="http://almaer.com/blog/crying-over-becoming-jane-college-gears-and-pizza">great to meet the students</a> and see their views on the Web. Speaking on Gears at the birth of the Web browser was also a real honour.<br /><br /><b>Death to scrap-y</b><br /><br />Whenever I see an application that asks for my Google username and password to scrape contacts I would cry. This isn't what we want users doing, but I really understand the users are asking for the functionality of mashing up their contact data, and no-one wants to re-enter it. You can't blame third party applications for offering the functionality, and now they don't have to do it insecurely. The release of the <a href="http://googledataapis.blogspot.com/2008/03/3-2-1-contact-api-has-landed.html">Google Contacts API</a> offers an AtomPub based way of consuming your contacts.<br /><br />Another feature that our users keep asking for is Google Calendar sync, and we just got the <a href="http://googleenterprise.blogspot.com/2008/03/introducing-google-calendar-sync.html">Outlook sync product out to you too</a>.<br /><br />There were a couple of interesting pieces of news in the Maps space. You now have access to a new <a href="http://google-latlong.blogspot.com/2008/02/sometimes-simpler-is-better.html">static map API</a> that gives you a snapshot image of the map instead of an embed-able interactive widget.<br /><br />Pamela Fox also put together a rich <a href="http://googlemapsapi.blogspot.com/2008/02/introducing-maps-api-demo-gallery.html">Google Maps API Gallery</a> that answers questions such as: "How do I draw a circle on the map?" or "How do I create groups of toggle-able markers?"<br /><br />The open source side of Google has been busy too. The <a href="http://googleblog.blogspot.com/2008/03/summer-of-code-is-back.html">Summer of Code 2008</a> has launched, so start thinking of cool projects for the students to get hacking on!<br /><br />We also have a group heading to <a href="http://googledataapis.blogspot.com/2008/03/pycon-2008.html">PyCon 2008</a>, so join us there as we give a talk titled: <a href="http://us.pycon.org/2008/conference/talks/?filter=google%20spreadsheets">Use Google Spreadsheets API to create a database in the cloud</a>.<br /><br />Lindsey Simon created a very cool little tool, <a href="http://google-opensource.blogspot.com/2008/03/cssjanus-helping-i18n-and-ltr-to-rtl.html">CSSJanus</a>, that lets you take your CSS styled Web site and create a right-to-left version for locales that need it. He <a href="http://google-opensource.blogspot.com/2008/03/cssjanus-helping-i18n-and-ltr-to-rtl.html">talked about the work behind it, gave a screencast showing it in action</a> for you.<br /><br />Finally, there are some other cool videos to check out too (it's Friday!)<br /><ul><li><a href="http://www.youtube.com/watch?v=LwXMa8MAgFA">Mission: Possible - Building a Google Gadget</a> is a fun one, showing you how to build Gadgets in a creative way</li><li><a href="http://video.google.com/url?docid=-7378520217361044033&esrc=rss_searchfeed&ev=v&len=3284&q=user%3A%22Google%2BengEDU%22&srcurl=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DmZo69JQoLb8&vidurl=http%3A%2F%2Fvideo.google.com%2Fvideoplay%3Fdocid%3D-7378520217361044033&usg=AL29H22CaeZF-vKwXQg23IaTdrxj0t4pew">Google IPv6 Conference 2008: What will the IPv6 Internet look like?</a> gives you a look at the future of the internet thanks to a panel discussion</li><li><a href="http://video.google.com/url?docid=4465829185777771946&esrc=rss_searchfeed&ev=v&len=4276&q=user%3A%22Google%2BengEDU%22&srcurl=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DPfnP-8XbJao&vidurl=http%3A%2F%2Fvideo.google.com%2Fvideoplay%3Fdocid%3D4465829185777771946&usg=AL29H209FKff9An3dnxdHbvrAr2sqn3icQ">JRuby: The power of Java and Ruby</a> is a talk given by Ola Bini on the JRuby run time, which follows on from <a href="http://www.youtube.com/watch?v=oEkJvvGEtB4">Yukihiro Matsumoto (Matz)</a> talking to us about Ruby 1.9.</li></ul><br />As always, <a href="http://video.google.com/videosearch?q=user%3A%22Google+engEDU%22&amp;num=10&amp;so=1&amp;start=0">check out the latest tech talks</a>, <a href="http://feeds.feedburner.com/GoogleDeveloperPodcast">subscribe to the Google Developer Podcast</a> and visit <a href="http://youtube.com/googledevelopers">the Google Code YouTube channel</a>.<br /><br />After we take a breather from this week, see you next time!<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-6023851737377342035?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-code/the-code-review-no-more-contact-scraping-sync-your-calendar-and-gears-in-your-pocket/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gears 0.2 Released!</title>
		<link>https://googledata.org/google-gears/gears-0-2-released/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=gears-0-2-released</link>
		<comments>https://googledata.org/google-gears/gears-0-2-released/#comments</comments>
		<pubDate>Tue, 19 Feb 2008 23:29:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Gears]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Posted by Aaron Boodman, Gears TeamWe're happy to announce that we've updated Gears to version 0.2. All users have been updated, so you can begin developing applications for the new version right now.Gears 0.2 includes:New modules: HttpRequest and Time...]]></description>
				<content:encoded><![CDATA[<span class="byline-author">Posted by Aaron Boodman, Gears Team</span><br /><br />We're happy to announce that we've updated Gears to version 0.2. All users have been updated, so you can begin developing applications for the new version right now.<br /><br />Gears 0.2 includes:<br /><ul><li><b>New modules: <a href="http://code.google.com/apis/gears/api_httprequest.html">HttpRequest</a> and <a href="http://code.google.com/apis/gears/api_timer.html">Timer</a></b>. The main reason for these modules was that developers told us they wanted to make HTTP requests and create timers inside Gears workers. But these modules can also be used outside of workers. For example, one advantage to using the Gears HttpRequest module instead of normal XMLHttpRequest is that Gears HttpRequest module addresses a <a href="http://ajaxian.com/archives/iframe-script-tags-portable-comet">common problem</a> making comet-style applications work on IE.</li><br /><li><b>Improved support for handling errors in workers</b>. This is an area where we received a lot of good feedback. Now, errors from workers are automatically bubbled up to the main page by default so that you can see them in the error console or in <a href="http://www.getfirebug.com/">Firebug</a>. Or, you can handle them explicitly with the new <a href="http://code.google.com/apis/gears/api_workerpool.html#onerror">onerror</a> event.</li><br /><li><b>Ability to load workers from a URL, even cross-domain URLs</b>. We've long wanted the ability to load workers from a URL. We've also wanted to provide a way for different domains to communicate safely. This is useful in the case of <a href="http://video.google.com/videoplay?docid=452089494323007214">mashups</a>, or when an application spans multiple domains. The new <a href="http://code.google.com/apis/gears/api_workerpool.html#createworkerfromurl">createWorkerFromUrl</a> API solves both these problems.</li></ul><br />For more details about the additions and improvements in 0.2, see our <a href="http://code.google.com/apis/gears/upcoming/history.html">API history</a> page.<br /><br />Questions? Flames? We're excited to see what you can do with these new features. <a href="http://groups.google.com/group/google-gears">Join the mailing list</a> and let us know.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8349418849086791337-5689411911615336984?l=gearsblog.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-gears/gears-0-2-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Code Review: OpenSocial maturing, Rhino on Rails, and more</title>
		<link>https://googledata.org/google-code/the-code-review-opensocial-maturing-rhino-on-rails-and-more/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-code-review-opensocial-maturing-rhino-on-rails-and-more</link>
		<comments>https://googledata.org/google-code/the-code-review-opensocial-maturing-rhino-on-rails-and-more/#comments</comments>
		<pubDate>Thu, 14 Feb 2008 20:40:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Dion Almaer, Google Developer ProgramsFebruary already? Spring is here, and you can tell in Mountain View as the rain has stopped. Spring brings out your social side, and we have seen a lot of growth with OpenSocial and other social APIs.There was p...]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Dion Almaer, Google Developer Programs</span><br /><br />February already? Spring is here, and you can tell in Mountain View as the rain has stopped. Spring brings out your social side, and we have seen a lot of growth with OpenSocial and other social APIs.<br /><br />There was plenty of talk across the Web about the new <a href="http://google-code-updates.blogspot.com/2008/02/urls-are-people-too.html">Social Graph API</a> that Brad Fitzpatrick announced. The API uses the Google crawler to gather up the XFN, FOAF, and other public social data that is spread out already on the Web. You can ask for a social graph that puts this together and gives you back a nice set of JSON.<br /><br />OpenSocial is moving forward also. <a href="http://opensocialapis.blogspot.com/2008/02/opensocial-07-now-available-in-orkut.html">OpenSocial 0.7 is now available in the Orkut sandbox</a>, <a href="http://opensocialapis.blogspot.com/2008/02/myspace-delivers-for-developers.html">MySpace announced their new platform</a>, and a great group of people <a href="http://opensocialapis.blogspot.com/2008/01/six-apart-hackathon-wrap-up-and-caja.html">got together at Six Apart for a Hackathon</a>.<br /><br />On another note, I had the pleasure to sit down with Steve Yegge at the Google Kirkland office to discuss <a href="http://google-code-updates.blogspot.com/2008/01/interview-with-steve-yegge-on-rhino-on.html">his Rhino on Rails project</a>. He gave frank feedback on the history, present, and future of the project and I look forward to hearing, and sharing, more.<br /><br />There was more Web development news too. Two companies came out talking about GWT. First, <a href="http://googlewebtoolkit.blogspot.com/2008/02/yesmail-talks-about-gwt.html">YesMail</a> talked about the work behind their 17 GWT modules and 33,000 lines of GWT code. They discuss the design, scalability, and testing practices that they employ.<br /><br />Compiere, creator of an opensource ERP, <a href="http://google-code-updates.blogspot.com/2008/01/compiere-building-gwt-interface-for.html">talked to us about their recent GWT port</a> from a Swing application.<br /><br />Developers from Autodesk Labs also <a href="http://gearsblog.blogspot.com/2008/02/autodesk-labs-project-draw-offline.html">came to talk to us</a> about their work implementing offline support to their Project Draw project using Gears.<br /><br /><b>Fun times at Google</b><br /><br />Christian Schalk has spearheaded the new <a href="http://google-code-updates.blogspot.com/2008/02/google-technology-user-groups.html">Google Technology User Groups</a>, and there are <a href="http://code.google.com/events/">events going on hopefully near you</a>.<br /><br />One such Mountain View event is a <a href="http://gearsblog.blogspot.com/2008/02/calling-all-javascript-developers-hack.html">hackathon for JavaScript developers</a>. Come to the Googleplex and enjoy code, beer, and prizes!<br /><br /><b>Open Source</b><br /><br />We have created a <a href="http://google-opensource.blogspot.com/">new blog dedicated to Open Source</a>, and there are already good posts covering: <a href="http://google-opensource.blogspot.com/2008/02/project-hosting-just-keeps-on-growing.html">the growth of Project Hosting</a>, sponsorships of the <a href="http://google-opensource.blogspot.com/2008/02/google-sponsors-freedom-training-task.html">Freedom Training Task Force</a> and <a href="http://google-opensource.blogspot.com/2008/02/google-sponsors-wine-improvements.html">Wine improvements</a>, and <a href="http://google-opensource.blogspot.com/2008/02/announcing-grand-prize-winners-for.html">the grand prize winners for the Google Highly Open Participation Contest</a>.<br /><br />And, to finish up, check out the new <a href="http://google-code-updates.blogspot.com/2008/01/igoogle-themes-api.html">iGoogle Themes API</a>.<br /><br />As always, <a href="http://video.google.com/videosearch?q=user%3A%22Google+engEDU%22&amp;num=10&amp;so=1&amp;start=0">check out the latest tech talks</a>, <a href="http://feeds.feedburner.com/GoogleDeveloperPodcast">subscribe to the Google Developer Podcast</a> and visit <a href="http://youtube.com/googledevelopers">the Google Code YouTube channel</a>.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-3262870097904896815?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-code/the-code-review-opensocial-maturing-rhino-on-rails-and-more/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Autodesk Labs: Project Draw Offline</title>
		<link>https://googledata.org/google-gears/autodesk-labs-project-draw-offline/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=autodesk-labs-project-draw-offline</link>
		<comments>https://googledata.org/google-gears/autodesk-labs-project-draw-offline/#comments</comments>
		<pubDate>Fri, 01 Feb 2008 18:51:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Gears]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Posted by Dion Almaer, Gears TeamDavid Falck and Shelly Mujtaba, members of Autodesk Labs, recently announced a  new release of Project Draw that allows you to take your diagrams offline using Google Gears.Project Draw is a browser based diagraming uti...]]></description>
				<content:encoded><![CDATA[<span class="byline-author">Posted by Dion Almaer, Gears Team</span><br /><br />David Falck and Shelly Mujtaba, members of Autodesk Labs, recently announced a  <a href="http://labs.blogs.com/its_alive_in_the_lab/2008/01/project-draw-wi.html">new release</a> of <a href="http://draw.labs.autodesk.com/">Project Draw</a> that allows you to take your diagrams offline using Google Gears.<br /><br />Project Draw is a browser based diagraming utility that lets you draw to your hearts content, without the need for plugins of any kind.<br /><br />I got to meet David and Shelly, and we discussed their work, and experience with Google Gears.<br /><br />They talked about how they are able to get a drawing experience that performs across browser, where it turns out they abstracted SVG and VML. They thought it would be a good idea to see a SVG Gear that made sure that SVG support was in the browsers that didn't support it natively, which is a good idea.<br /><br />They also talked about how they did offline, and the difference between being offline, and being connected.<br /><br />They actually used their own tool to create a <a href="http://draw.labs.autodesk.com/ADDraw/draw.html?_a=0verHdw6FiXB21uS%2BLn5og%3D%3D&_o=VajBfVrVqYA%3D">state diagram</a> of how Project Draw handles synchronization issues.<br /><br /><img src="http://bp2.blogger.com/_fNklLQXNzR8/R6Nqhm-_OUI/AAAAAAAAAPA/NDGF-immwCo/s400/projectdrawstatediagram.png" border="0" /><br /><br />For example, they check the network in the application using code like this:<br /><br /><pre><br />var netCheck = new NetworkDetection("ping.html");<br /><br />netCheck.addEventListener("online", function(eAja){<br /> $("display").innerHTML = "";<br /> $("display").removeClassName("offline");<br /> this.connected = true;<br />});<br />netCheck.addEventListener("offline", function(eAja){<br /> $("display").innerHTML = "d\ni\ns\nc\no\nn\nn\ne\nc\nt\ne\nd";<br /> $("display").addClassName("offline");<br /> setHelp("You are disconnected from the Project Draw server.");<br /> this.connected = false;<br />});<br /></pre><br /><br />Listen in to the chat below:<br /><br /><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/OXz3hK6FDWI&rel=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/OXz3hK6FDWI&rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object><br /><br /><em>If you are working on an interesting Gears project, or know of one that we haven't covered, let us know in the comments!</em><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8349418849086791337-8485876640598998930?l=gearsblog.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-gears/autodesk-labs-project-draw-offline/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Interview with Steve Yegge on Rhino on Rails and more</title>
		<link>https://googledata.org/google-code/interview-with-steve-yegge-on-rhino-on-rails-and-more/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=interview-with-steve-yegge-on-rhino-on-rails-and-more</link>
		<comments>https://googledata.org/google-code/interview-with-steve-yegge-on-rhino-on-rails-and-more/#comments</comments>
		<pubDate>Tue, 29 Jan 2008 23:32:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Dion Almaer, Google Developer ProgramsLast year, Steve Yegge posted about Rhino on Rails, his port of Ruby on Rails to the JavaScript language on the Rhino runtime. It garnered a slew of interest, and I have been wanting to talk to him in more detai...]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Dion Almaer, Google Developer Programs</span><br /><br />Last year, Steve Yegge posted about <a href="http://steve-yegge.blogspot.com/2007/06/rhino-on-rails.html">Rhino on Rails</a>, his port of Ruby on Rails to the JavaScript language on the <a href="http://mozilla.org/rhino">Rhino</a> runtime. It garnered a slew of interest, and I have been wanting to talk to him in more detail about the project.<br /><br />Fortunately, I happened to be at the Google Kirkland office and Steve graciously had time to spend talking about the framework. Steve is an entertaining chap, and manages to keep you interested with <a href="http://steve-yegge.blogspot.com/2008/01/blogging-theory-201-size-does-matter.html">long blog entries</a>, and did the same as I chatted with him.<br /><br />In the conversation we cover the germination of the project, why Steve went ahead with the port, the side effects of JavaScript on the server, how Rhino will be implementing JavaScript 2 / ECMAScript 4 (with Google committing engineers to the project), the intent to open source RnR, and random thoughts from a language geek.<br /><br />Give it a watch, and let us know if there are any other questions you would have liked to ask<br /><br /><object width="425" height="350"> <param name="movie" value="http://www.youtube.com/v/1QD9XQm_Jd4"></param><embed src="http://www.youtube.com/v/1QD9XQm_Jd4" type="application/x-shockwave-flash" width="425" height="350"></embed></object><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-607946092903152146?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-code/interview-with-steve-yegge-on-rhino-on-rails-and-more/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Compiere: Building a GWT interface for opensource ERP</title>
		<link>https://googledata.org/google-code/compiere-building-a-gwt-interface-for-opensource-erp/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=compiere-building-a-gwt-interface-for-opensource-erp</link>
		<comments>https://googledata.org/google-code/compiere-building-a-gwt-interface-for-opensource-erp/#comments</comments>
		<pubDate>Fri, 25 Jan 2008 23:19:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Dion Almaer, Google Developer ProgramsThe Compiere team is trying to make ERP easier. I had a chance to catch up with Gary Wu, Di Zhao and Chris Sprague of the Compiere engineering team. We talked about their recently shipped open source ERP solutio...]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Dion Almaer, Google Developer Programs</span><br /><br />The <a href="http://www.compiere.com/">Compiere</a> team is trying to make ERP easier. I had a chance to catch up with Gary Wu, Di Zhao and Chris Sprague of the Compiere engineering team. We talked about their <a href="http://www.compiere.com/products/new-compiere-erp-3.php">recently shipped open source ERP solution</a> that now includes a GWT-based rich internet interface.<br /><br />Using GWT was natural for the developers and allowed them to create a highly productive web experience for Compiere users in just a few months of effort. Listen to the Compiere developers discuss their experiences with GWT and see a demo of the new Compiere Web user interface.<br /><br /><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/m3znA_4xptA&rel=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/m3znA_4xptA&rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-5255431654426121800?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-code/compiere-building-a-gwt-interface-for-opensource-erp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An OpenSocial HappyHour party with Gears</title>
		<link>https://googledata.org/google-code/an-opensocial-happyhour-party-with-gears/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=an-opensocial-happyhour-party-with-gears</link>
		<comments>https://googledata.org/google-code/an-opensocial-happyhour-party-with-gears/#comments</comments>
		<pubDate>Fri, 11 Jan 2008 00:32:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Dion Almaer, Google Developer ProgramsChandra Patni is an engineer at IGN who saw a good way to develop using OpenSocial. Some hacking later, and he ended up with happyhour, an open source OpenSocial container powered by Google Gears.Brad Neuberg an...]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Dion Almaer, Google Developer Programs</span><br /><br />Chandra Patni is an engineer at IGN who saw a good way to develop using OpenSocial. Some hacking later, and he ended up with <a href="http://code.google.com/p/happyhour/">happyhour</a>, an open source OpenSocial container powered by Google Gears.<br /><br />Brad Neuberg and myself got together with Chandra to discuss the project.<br /><br />In the conversation below you will hear about:<br /><ul><li>How happyhour increases developer productivity when building OpenSocial components</li><li>How designers have been able to work with his OpenSocial applications with happyhour</li><li>How happyhour differs from another open source container, <a href="http://incubator.apache.org/shindig/">Apache Shindig</a></li><li>His experience, and lessons learned using Gears</li><li>How he added support for ISO dates for Gears using SQLite</li></ul><br />There is room for potential collaboration with Apache Shindig too. The projects can share the same data format, or happyhour could even hook into Apache Shindig in some way.<br /><br />If you would like to make changes on the fly as you develop your OpenSocial applications, then give happyhour a look. Want to see a few more details about the code? Read more <a href="http://gearsblog.blogspot.com/2008/01/taking-happyhour-opensocial-party.html">over at the Gears blog</a>.<br /><br /><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/6NhdXm9197s"></param><embed src="http://www.youtube.com/v/6NhdXm9197s" type="application/x-shockwave-flash" width="425" height="350"></embed></object><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-3193105311358383760?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-code/an-opensocial-happyhour-party-with-gears/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Taking the happyhour OpenSocial party offline with Gears</title>
		<link>https://googledata.org/google-gears/taking-the-happyhour-opensocial-party-offline-with-gears/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=taking-the-happyhour-opensocial-party-offline-with-gears</link>
		<comments>https://googledata.org/google-gears/taking-the-happyhour-opensocial-party-offline-with-gears/#comments</comments>
		<pubDate>Thu, 10 Jan 2008 22:48:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Gears]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Dion Almaer, Google Gears TeamWe ran across happyhour, an OpenSocial container that implemented the JavaScript API in JavaScript itself. The happyhour project uses Gears to keep the social content around across sessions, which is an issue with a pur...]]></description>
				<content:encoded><![CDATA[<span class="byline-author">By Dion Almaer, Google Gears Team</span><br /><br />We ran across <a href="http://code.google.com/p/happyhour/">happyhour</a>, an OpenSocial container that implemented the JavaScript API in JavaScript itself. The happyhour project uses Gears to keep the social content around across sessions, which is an issue with a pure in-memory solution. This allows you to more easily login as multiple users in different browser windows to see "friend" interaction.<br /><br />The motivation for the project was speeding up the development cycle of OpenSocial components by allowing developers to bypass talking to a production server, or even a local one. Load up an HTML file and you are good to go. This also helped when getting designers into the mix as they could just style the HTML and they were done.<br /><br />The <a href="http://happyhour.googlecode.com/svn/trunk/HappyHourContainer.js">container</a> supports Caja, and adds useful minor features such as munging between a JavaScript date, and an ISO 8601 date that SQLite uses:<br /><pre>opensocial.HappyHourContainer.prototype.toISO8601String = function (date) {<br />    var zeropad = function (num) { return ((num < 10) ? '0' : '') + num; }<br /><br />    var str = "";<br />    str += date.getUTCFullYear();<br />    str += "-" + zeropad(date.getUTCMonth() + 1);<br />    str += "-" + zeropad(date.getUTCDate());<br />    str += "T" + zeropad(date.getUTCHours()) +<br />               ":" + zeropad(date.getUTCMinutes())+<br />               ":" + zeropad(date.getUTCSeconds());<br />    var ms =  date.getUTCMilliseconds();<br />    str += "."+(ms < 10 ? "00"+ms : (ms < 100 ? "0"+ms : ms));<br />    return str;<br />};</pre><br />In your application, you will probably want to pass in a bootstrap callback where you can insert dummy data to get going.<br /><br />Brad Neuberg and I got to chat with Chandra Patni, the developer behind the project, and you can watch and listen to his thoughts below:<br /><br /><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/6NhdXm9197s"></param><embed src=" http://www.youtube.com/v/6NhdXm9197s" type="application/x-shockwave-flash" width="425" height="350"></embed></object><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8349418849086791337-8222639521688534792?l=gearsblog.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-gears/taking-the-happyhour-opensocial-party-offline-with-gears/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Developer Courses on YouTube</title>
		<link>https://googledata.org/google-code/google-developer-courses-on-youtube/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=google-developer-courses-on-youtube</link>
		<comments>https://googledata.org/google-code/google-developer-courses-on-youtube/#comments</comments>
		<pubDate>Thu, 03 Jan 2008 19:16:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Stephanie Liu, Google Developer ProgramsWow, it's been nearly 4 months since we started the Google Developers channel on YouTube! We wanted a place to post talks, announcements, interviews, and anything else that might interest outside developers (a...]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Stephanie Liu, Google Developer Programs</span><br /><br />Wow, it's been nearly 4 months since we started the <a href="http://www.youtube.com/GoogleDevelopers">Google Developers</a> channel on YouTube! We wanted a place to post talks, announcements, interviews, and anything else that might interest outside developers (and other fans). Now, we're building out more tutorial / lecture content -- something that hobbyists and seasoned programmers can watch to get their feet wet with our products.<br /><br />We know that one of your New Year's resolutions must be to learn a new API, so check out our first videos on Gadgets and Google Data:<br /><br />Three videos about <span style="font-weight:bold;">Getting Started with Gadgets</span> by "the Dans" (Daniel Lee and Daniel Holevoet):<br /><object width='425' height='366'><param name='movie' value='http://www.youtube.com/cp/vjVQa1PpcFMpZf3y-3x_SPcrIW1VaKbbQXsEar_MEJY=&border=0'></param><param name='wmode' value='transparent'></params><embed src='http://www.youtube.com/cp/vjVQa1PpcFMpZf3y-3x_SPcrIW1VaKbbQXsEar_MEJY=&border=0' type='application/x-shockwave-flash' wmode='transparent' width='425' height='366'></embed></object><br /><br /><span style="font-weight:bold;">An Introduction to Google Data</span> by Jeff Fisher:<br /><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/ADos_xW4_J0&rel=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/ADos_xW4_J0&rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object><br /><br />We're just getting started, so subscribe to the Google Developer Courses playlist for updates. There are many ways for you to keep up to date:<br /><br />You can subscribe through YouTube by clicking the "Subscribe" link here:<br /><a href="http://www.youtube.com/profile_play_list?user=GoogleDevelopers">http://www.youtube.com/profile_play_list?user=GoogleDevelopers</a>.<br /><br />Or, add the playlist directly into Google Reader or iGoogle:<br /><a href="http://fusion.google.com/add?feedurl=http%3A//gdata.youtube.com/feeds/playlists/A930398A6117E70C%20"><img src="http://buttons.googlesyndication.com/fusion/add.gif" width="104" height="17" border="0" alt="Add to Google"></a><br /><br />Finally, you can also put the Google Data feed into your reader of choice: <a href="http://gdata.youtube.com/feeds/playlists/A930398A6117E70C">http://gdata.youtube.com/feeds/playlists/A930398A6117E70C</a><br /><br />Let us know what you think! If there are any particular tutorials you'd like to see, post a comment below.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-6726663267156319483?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-code/google-developer-courses-on-youtube/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Brian McCallister on Ning, OpenSocial, and Apache Shindig</title>
		<link>https://googledata.org/google-code/brian-mccallister-on-ning-opensocial-and-apache-shindig/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=brian-mccallister-on-ning-opensocial-and-apache-shindig</link>
		<comments>https://googledata.org/google-code/brian-mccallister-on-ning-opensocial-and-apache-shindig/#comments</comments>
		<pubDate>Sat, 22 Dec 2007 02:29:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Dion Almaer, Google Developer ProgramsWhen I read an email sent to an Apache Software Foundation mailing list suggesting an open source project for OpenSocial, I wasn't surprised to see it come from Brian McCallister, a prolific open source develope...]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Dion Almaer, Google Developer Programs</span><br /><br />When I read an email sent to an Apache Software Foundation mailing list suggesting an open source project for OpenSocial, I wasn't surprised to see it come from Brian McCallister, a prolific open source developer that I met years ago in a former life.<br /><br />Brian McCallister now works at Ning, the social network outsourcer, and sat down to talk to me about topics revolving around Ning, OpenSocial, and Apache Shindig.<br /><br />What will you learn from this chat?<br /><ul><li>What Ning is all about</li><li>Why Ning and Brian think about OpenSocial, and why developers should be interested</li><li>The parts and pieces of OpenSocial from the standpoint of a developer, and a third party container</li><li>How Brian thinks that we will get more than just "Write one, learn everywhere"</li><li>What Apache Shindig is all about</li><li>How Shindig allows you to do simple local development, which changes the game with respect to your development lifecycle</li></ul><br /><br /><object width="425" height="350"> <param name="movie" value="http://www.youtube.com/v/vV0ebXclRd8"> </param> <embed src="http://www.youtube.com/v/vV0ebXclRd8" type="application/x-shockwave-flash" width="425" height="350"> </embed> </object><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-1441948423382582517?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-code/brian-mccallister-on-ning-opensocial-and-apache-shindig/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Roundup: An offline Shindig that is off the Charts!</title>
		<link>https://googledata.org/google-code/the-roundup-an-offline-shindig-that-is-off-the-charts/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-roundup-an-offline-shindig-that-is-off-the-charts</link>
		<comments>https://googledata.org/google-code/the-roundup-an-offline-shindig-that-is-off-the-charts/#comments</comments>
		<pubDate>Mon, 17 Dec 2007 18:54:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Dion Almaer, Google Developer ProgramsI just got back from a trip to Belgium that had me speaking at JavaPolis, a conference full of Java and Web folk from Europe and beyond. Google engineers were all over, and we gave talks on Gears, GWT, Google da...]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Dion Almaer, Google Developer Programs</span><br /><br />I just got back from a trip to Belgium that had me speaking at JavaPolis, a conference full of Java and Web folk from Europe and beyond. Google engineers were all over, and we gave talks on Gears, GWT, Google data APIs, Guice, Google Java Collections, and Java language issues. It was capped off with an informal pub meetup where Google and Atlassian took the bill. Remember, they take pride in that Belgian beer.<br /><br />GWT was in full force at the event. Many people came up to me to discuss their <a href="http://almaer.com/blog/gwt-and-flex-at-javapolis">GWT implementations</a>, and a lot of cool APIs and applications have been <a href="http://ajaxian.com/by/topic/gwt">announced recently</a>. For example, <a href="http://ajaxian.com/archives/jstm-java-shared-transacted-memory-for-gwt">JSTM, the Java Shared Transacted Memory for GWT</a> is a promising new library that gives you a transactional cache that can keep clients in sync. Map this onto Google Gears, and you can get offline caching. The author of the library is taking a lot at that feature right now. We also saw <a href="http://ajaxian.com/archives/gwt-voices-cross-browser-sound-api">GWT Voices</a>, which gives GWT developers with a cross browser sound API. Finally, <a href="http://google-code-updates.blogspot.com/2007/11/chronoscope-2-2-5-with-gwt-and-android.html">Chronoscope</a> showed us that you could take a GWT application, and with a small amount of work get it running on Android. A huge benefit of using the Java programming language across the board.<br /><br />Speaking of Android, we got to have a nice long chat with <a href="http://google-code-updates.blogspot.com/2007/12/google-developer-podcast-episode-twelve.html">Dianne Hackborn and Jason Parks</a> of the Android team about many facets of the platform.<br /><br />We also got to speak to developers from Zoho, on the release of <a href="http://gearsblog.blogspot.com/2007/12/zoho-writer-offline-full-read-write.html">Zoho Writer that uses Google Gears for full read/write access</a>.<br /><br />OpenSocial has been chugging away too, and it was exciting to see <a href="http://opensocialapis.blogspot.com/2007/12/lets-get-this-shindig-started.html">Apache Shindig</a>, the open source set of components around OpenSocial, get <a href="http://svn.apache.org/repos/asf/incubator/shindig/trunk/">released</a>. This release includes a core gadget container foundation and an open source version of the gmodules.com renderer.<br /><br />A fun new API was released recently too, which got a lot of buzz in the community. Out of the Zurich office, we saw the <a href="http://google-code-updates.blogspot.com/2007/12/embed-charts-in-webpages-with-one-of.html">Google Charts API</a>, which allows you to create dynamic charts in very short order. You can even integrate the new API with <a href="http://googlemapsapi.blogspot.com/2007/12/using-chart-api-in-kml-for-quick-data.html">KML for quick data visualization</a>.<br /><br />The open source side of Google Code has had a busy time too. We released the <a href="http://code.google.com/mac/">Google Mac Developer Playground</a>, which is a home for useful open source code produced by the Google Mac team, and any engineers at Google. With this release, Dave MacLachlan announced <a href="http://code.google.com/p/statz/">Statz</a> which has already seen a major upgrade, allowing you to talk to a large swath of services.<br /><br />On the back of the Google Summer of Code project, the team wanted to keep spreading open source goodness, and announced the <a href="http://google-code-updates.blogspot.com/2007/11/its-here-google-highly-open.html">Google Highly Open Participation Contest</a>, and have already <a href="http://google-code-updates.blogspot.com/2007/12/in-just-seven-days.html">updated us of its performance</a>. It is outstanding to see so many people coming together to help the myriad of open source communities out there.<br /><br />To finish up, how about <a href="http://googleblog.blogspot.com/2007/12/encouraging-people-to-contribute.html">taking a peak at the new Knol effort</a>, or looking at the new <a href="http://google-code-updates.blogspot.com/2007/12/our-new-developer-community-calendar.html">developer community calendar</a>, or firing off a video download in the background to watch:<br /><ul><li><a href="http://video.google.com/videoplay?docid=5665932725404100938">Google Gadgets: Experiences of a Top Developer</a></li><li><a href="http://youtube.com/watch?v=VGazSZUYyf4">Making the most of maps</a></li><li><a href="http://youtube.com/watch?v=SIFr4Gx2pMU">Zoho Writer: Read Write</a></li><li><a href="http://video.google.com/videoplay?docid=-351048954879690396&q=user%3A%22Google+engEDU%22&total=618&start=20&num=10&so=1&type=search&plindex=3">Upcoming Changes to the JavaScript Language</a></li><li><a href="http://youtube.com/watch?v=icGaDA0hLMk">Poker Teaches</a> (for something a little different)</li></ul><br />As always, <a href="http://video.google.com/videosearch?q=user%3A%22Google+engEDU%22&amp;num=10&amp;so=1&amp;start=0">check out the latest tech talks</a>, <a href="http://feeds.feedburner.com/GoogleDeveloperPodcast">subscribe to the Google Developer Podcast</a> and visit <a href="http://youtube.com/googledevelopers">the Google Code YouTube channel</a>.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-392065719104725977?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-code/the-roundup-an-offline-shindig-that-is-off-the-charts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Developer Podcast Episode Twelve: Android with Dianne Hackborn and Jason Parks</title>
		<link>https://googledata.org/google-code/google-developer-podcast-episode-twelve-android-with-dianne-hackborn-and-jason-parks/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=google-developer-podcast-episode-twelve-android-with-dianne-hackborn-and-jason-parks</link>
		<comments>https://googledata.org/google-code/google-developer-podcast-episode-twelve-android-with-dianne-hackborn-and-jason-parks/#comments</comments>
		<pubDate>Wed, 05 Dec 2007 17:30:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Dion Almaer, Google Developer ProgramsAs soon as Android and the Open Handset Alliance was out in the wild, we were chomping at the bit to talk with some of the people behind the platform to discuss the developer-related information.Using iTunes? We...]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Dion Almaer, Google Developer Programs</span><br /><br />As soon as Android and the Open Handset Alliance was out in the wild, we were chomping at the bit to talk with some of the people behind the platform to discuss the developer-related information.<br /><br /><div style="padding: 5px; float: right;"><a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=257272708">Using iTunes?</a> <a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=257272708"><img src="http://2.bp.blogspot.com/_fNklLQXNzR8/RmhpjbsSlZI/AAAAAAAAAHo/raNZJqMJz9g/s400/oneclickitunes.jpg" border="0"></a></div><br /><br />We were lucky enough to get some time from Dianne Hackborn and Jason Parks, who have been doing this work for a long time. They used to be at Be, and PalmSource, and you will hear how that experience has come through to Android. In fact, you will see how the Android team has engineers from many other platforms (Linux, Danger, and Windows Mobile).<br /><br />Dick Wall himself is an advocate on Android, and you can hear how excited he is to talk about this!<br /><br />What will you learn on this podcast?<br /><ul><li>Some history behind the project</li><li>The high level architecture of Android. For example, how Linux processes handle the VM and manage security (the VM doesn't handle it)</li><li>Details on the Dalvik VM and how it is optimized for small devices</li><li>The architecture: From Intents to Views to Permissions and more</li><li>How XML is slow, but the tools convert the XML to a nicer format for you</li><li>The tooling and steps for building an application on Android</li><li>How so many objects have a URL, and how the environment is like a mini-SOA (Services across processes instead of across the network)</li><li>Thoughts on how you program for small devices, and things to watch out for if you move from the desktop</li><li>The control, or lack of control that you have over the application lifecycle</li><li>"Everything you do drains the battery"</li><li>The thread story: they exist, you don't have to deal with them if you don't want too, and the UI</li><li>Using XMPP for messaging</li></ul><br />You can <a href="http://google-developer-podcast.googlecode.com/files/googledev012.mp3" rel="enclosure">download the episode directly</a>, or <a href="http://feeds.feedburner.com/GoogleDeveloperPodcast">subscribe to the show</a> (<a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=257272708">click here for iTunes one-click subscribe</a>).<br /><br />Want to learn more about Android? Read the <a href="http://code.google.com/android/">book</a> or <a href="http://youtube.com/androiddevelopers">watch the movie</a> depending on how you are feeling!<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-7911516375687885042?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-code/google-developer-podcast-episode-twelve-android-with-dianne-hackborn-and-jason-parks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://google-developer-podcast.googlecode.com/files/googledev012.mp3" length="30280399" type="audio/mpeg" />
		</item>
		<item>
		<title>Zoho Writer Offline: Full read-write implementation released</title>
		<link>https://googledata.org/google-gears/zoho-writer-offline-full-read-write-implementation-released/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=zoho-writer-offline-full-read-write-implementation-released</link>
		<comments>https://googledata.org/google-gears/zoho-writer-offline-full-read-write-implementation-released/#comments</comments>
		<pubDate>Tue, 04 Dec 2007 18:26:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Gears]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Dion Almaer, Google Gears TeamBack in August we discussed the first release of Zoho Writer that allowed you to work offline with Gears.At that time we talked to Raju Vegesna and Sridhar Vembu of the Zoho team to discuss what they had released, and t...]]></description>
				<content:encoded><![CDATA[<span class="byline-author">By Dion Almaer, Google Gears Team</span><br /><br />Back in August we <a href="http://gearsblog.blogspot.com/2007/08/gearing-up-with-zoho-offline.html">discussed the first release of Zoho Writer</a> that allowed you to work offline with Gears.<br /><br />At that time we talked to Raju Vegesna and Sridhar Vembu of the Zoho team to discuss what they had released, and the architecture behind it. Zoho has taken a very pragmatic approach, in that they add a small piece, release it, and then continue to add more. This meant that the first offline release allowed you to read your documents, but not edit them.<br /><br />This brings you to today, where Zoho has announced a new version of Zoho Writer which does give you the ability to edit files on a plane.<br /><br />If you know that you are leaving the land of the 'net, go ahead and click on the <em>Go Offline</em> button, and your most recent documents will be loaded into a local database in the browser. You can then edit those files at will, and when you find a connection again you can sync up. Zoho has a merge system in the backend which detects changes made, perhaps by multiple people on the same file, and allows you to get all of the changes in.<br /><br />We sat down with Raju and Sridhar again and discussed the merging and sync system, as well as the other architecture decisions that the team made with this latest release. We chat about what you can expect now, and also the next steps for offline in Writer and their other products.<br /><br />Thanks once again to the Zoho team. It is great to see you moving through your applications, taking them offline with Gears!<br /><br /><object width="425" height="350"><param name="movie" value=" http://www.youtube.com/v/SIFr4Gx2pMU"></param><embed src="http://www.youtube.com/v/SIFr4Gx2pMU" type="application/x-shockwave-flash" width="425" height="350"></embed></object><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8349418849086791337-6093438032024506234?l=gearsblog.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-gears/zoho-writer-offline-full-read-write-implementation-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Data Ideathon</title>
		<link>https://googledata.org/google-code/google-data-ideathon/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=google-data-ideathon</link>
		<comments>https://googledata.org/google-code/google-data-ideathon/#comments</comments>
		<pubDate>Fri, 30 Nov 2007 22:47:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Stephanie Liu, Google Data APIs TeamThe Google Data team is holding a local event for developers Thursday, December 13th, 5:00pm-10:30pm at the Googleplex (Mountain View, CA). It'll be part hackathon, part unconference, part user group, part food, a...]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Stephanie Liu, Google Data APIs Team</span><br /><br />The Google Data team is holding a local event for developers Thursday, December 13th, 5:00pm-10:30pm at the Googleplex (Mountain View, CA). It'll be part hackathon, part unconference, part user group, part food, and part fabulous prizes.<br /><br />Besides a short kick-off session, everything else will be up to you. We'll provide the wi-fi, power and food, and you can utilize the time however you want -- whether it's to pick the brain of someone on the GData team, meet other local developers, hack away on your current project, sit in on impromptu sessions about things like GData + Gears and GME, or hold your own lightning talk about the project you're working on.<br /><br />Head over to the <a href="http://googledataapis.blogspot.com/">GData blog for the full announcement</a> and the <a href="http://code.google.com/events/ideathon/">event page</a> to RSVP and for more info.<br /><br />Hope to see you there!<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-3391885926565428344?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-code/google-data-ideathon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Gadgets going cross-platform</title>
		<link>https://googledata.org/google-code/google-gadgets-going-cross-platform/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=google-gadgets-going-cross-platform</link>
		<comments>https://googledata.org/google-code/google-gadgets-going-cross-platform/#comments</comments>
		<pubDate>Thu, 29 Nov 2007 17:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Dion Almaer]]></dc:creator>
				<category><![CDATA[Google Code]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Mike Pinkerton, Software EngineerFor about two years now, people have been writing gadgets for Google Desktop onWindows and for iGoogle on the web. Today, with the announcement of GoogleGadgets for Mac OS X, Google Desktop users on the Mac can now r...]]></description>
				<content:encoded><![CDATA[<span style="font-style: italic;" class="byline-author">By Mike Pinkerton, Software Engineer</span><br /><br />For about two years now, people have been writing gadgets for Google Desktop on<br />Windows and for iGoogle on the web. Today, with the announcement of Google<br />Gadgets for Mac OS X, Google Desktop users on the Mac can now run the same<br />Windows and web-based gadgets in Apple's Dashboard with zero (or very few)<br />changes. <a href="http://desktop.google.com/mac" title="Check it out for yourself">Check it out for yourself</a>.<br /><br />Google Gadgets for the Mac uses WebKit's JavaScript engine inside Dashboard, so<br />the majority of gadgets just work if they're written properly. The rest can be<br />fixed by following a few guidelines:<br /><ul><li>Use JavaScript, not JScript</li><ul><li>WebKit is case-sensitive, JScript is not, which can lead to problems if you assume can you do things like interchange SetTimeOut() and setTimeout().</li><li>Avoid JScript-only features like collections and ActiveX.</li></ul><ul><li>Avoid IE-specific DOM extensions, just as if you were writing a multi-browser web application.</li></ul><li>Avoid Windows-specific APIs</li><ul><li>You shouldn't assume ActiveX or certain DLLs are available. Neither WebKit nor Mac OS X supports ActiveX, so these gadgets must be rewritten.</li><li>Avoid Windows-only APIs such as Google Talk. These APIs are not (yet) available on Mac OS X.</li></ul><li>Understand how Dashboard is different</li><ul><li>The Dashboard environment is very different from a web page or the Desktop sidebar on Windows in that it comes and goes as the user activates it. Don't rely on your gadget always being visible. Your gadget won't run or update when Dashboard isn't in the foreground.</li><li>Don't rely on access to the file system. The security model for Dashboard doesn't allow arbitrary file access to the hard disk, although your gadget does have access to files in its own archive. Things like file pickers won't work. Note that while restricted file system access is a departure   from how gadgets work on Windows, it's consistent with Dashboard's security model and the behavior of other widgets developed for Mac OS X.</li></ul></ul><br />For more details, see <a href="http://desktop.google.com/dev/crossplatform.html" title="Writing a Cross-Platform Gadget">Writing a Cross-Platform Gadget</a>, part of the Desktop Gadget API documentation.<br /><br />If you're interested in developing your own gadget, visit the <a href="http://www.google.com/apis/homepage/" title="Gadgets API homepage">Gadgets API homepage</a>. If you're already a gadget developer, <a href="http://desktop.google.com/mac" id="p:xl" title="download the beta">download the beta</a> today to test your gadget and ensure that it works correctly.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11300808-2779392892868629871?l=googlecode.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-code/google-gadgets-going-cross-platform/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
