tag:blogger.com,1999:blog-83494188490867913372024-02-19T01:25:58.703-08:00Gears API BlogKeep up to date on Gears.Unknownnoreply@blogger.comBlogger42125tag:blogger.com,1999:blog-8349418849086791337.post-63778911829042087742011-03-11T15:51:00.000-08:002011-03-11T17:19:54.833-08:00Stopping the Gears<p>Last February, <a href="http://gearsblog.blogspot.com/2010/02/hello-html5.html">we let you know</a> we were shifting our focus from Gears to HTML5. Over the last year or so, we’ve been working closely with other browser vendors and standards bodies to help define and standardize HTML5 features across browsers, and we’ve worked hard to improve these HTML5 capabilities in Chrome:</p><ul><br /><li>We implemented support for <a href="http://www.html5rocks.com/tutorials/appcache/beginner/">application caches</a>, which are a great replacement for Gears’ offline features. App caches are already being used by web apps like the <a href="https://chrome.google.com/webstore/detail/ecmphppfkcfflgglcokcbdkofpfegoel">NYTimes app</a> in the Chrome Web Store. There is also full-featured debugging support for application caches in Chrome’s developer tools.</li><br /><li>Together with our friends at Mozilla and Microsoft, we proposed, specified, and implemented the <a href="https://developer.mozilla.org/en/IndexedDB">IndexedDB API</a>. This can take the place of the Gears Database API.</li><br /><li>We implemented the HTML5 <a href="http://www.w3.org/TR/FileAPI/">File API</a>, which is very similar to the Gears Blob functionality.</li><br /><li>We implemented the <a href="http://www.html5rocks.com/tutorials/geolocation/trip_meter/">geolocation</a>, <a href="http://www.html5rocks.com/tutorials/notifications/quick/">notifications</a>, and <a href="http://www.html5rocks.com/tutorials/workers/basics/">web worker</a> APIs, which were pioneered by Gears, natively in Chrome.</li></ul><br /><p>With all this now available in HTML5, it’s finally time to say goodbye to Gears. There will be no new Gears releases, and newer browsers such as Firefox 4 and Internet Explorer 9 will not be supported. We will also be removing Gears from Chrome in Chrome 12.</p><p>The code itself will of course remain <a href="http://code.google.com/p/gears/">open source</a>, and anyone is free to use it.</p><p>Our mission with Gears was to enable more powerful web applications. Over 5 releases, we added <a href="http://code.google.com/apis/gears/history.html">tons</a> of APIs, enabling everything from offline access to parallel computation. Now that these features have all been adopted by browsers and have official W3C specs, they are available to more developers than we could have reached with Gears alone.</p><p><em>Edit: Corrected timeframe for removing Gears from Chrome.</em></p><p><span class="byline-author">Posted by Aaron Boodman, Gears Team</span></p>Aaron Boodmanhttp://www.blogger.com/profile/00749437878675167933noreply@blogger.comtag:blogger.com,1999:blog-8349418849086791337.post-12819660623681226192010-02-19T16:13:00.000-08:002010-02-19T16:18:13.069-08:00Hello HTML5<span class="byline-author">Posted by Ian Fette, Gears Team</span><div></div><br /><div>If you've wondered why there haven't been many Gears releases or posts on the Gears blog lately, it's because we've shifted our effort towards bringing all of the Gears capabilities into web standards like HTML5. We're not there yet, but we are getting closer. In January we shipped a new version of Google Chrome that natively supports a Database API similar to the Gears database API, workers (both local and shared, equivalent to workers and cross-origin wokers in Gears), and also new APIs like Local Storage and Web Sockets. Other facets of Gears, such as the LocalServer API and Geolocation, are also represented by <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/offline.html#appcache">similar APIs</a> in new standards and will be included in Google Chrome shortly.</div><div><br /></div><div>We realize there is not yet a simple, comprehensive way to take your Gears-enabled application and move it (and your entire userbase) over to a standards-based approach. We will continue to support Gears until such a migration is more feasible, but this support will be necessarily constrained in scope. We will not be investing resources in active development of new features. Likewise, there are some platforms that would require a significant engineering effort to support due to large architectural changes. Specifically, we cannot support Gears in Safari on OS X Snow Leopard and later. Support for Gears in Firefox (including 3.6, which will be supported shortly) and Internet Explorer will continue.</div><div><br /></div><div>Looking back, Gears has helped us deliver much-desired functionality, such as the ability to offer offline access in GMail, to a large number of users. Long term, we expect that as browsers support an increasing amount of this functionality natively and as users upgrade to more capable browsers, applications will make a similar migration. If you haven't already, you will want to take a look at the <a href="http://www.whatwg.org/specs/web-apps/current-work/">latest developments in web browsers and the functionality many now provide</a>, <a href="https://groups.google.com/a/chromium.org/group/chromium-html5/">reach out</a> with questions, and consider how you can use these in your web applications. Gears has taken us the first part of the way; now we're excited to see browsers take us the rest of the way.</div>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-8349418849086791337.post-16402455016696224852009-05-28T09:30:00.000-07:002009-05-28T09:39:28.297-07:00Gears 0.5.21.0 Released<span class="byline-author">Posted by Ian Fette, Gears Team</span><br /><div></div><br /><div>In conjunction with <a href="http://code.google.com/events/io/">Google I/O</a> we're releasing a new version of Gears, 0.5.21.0. This version includes minor bugfixes and three new features:</div><div><ul><li>Drag & Drop support for dragging files into a web page and letting the web page act on those files</li><li>Image thumbnailing</li><li>Blob builder API, which allows script to build binary blobs, including valid multi-part-form-encoded blobs that contain binary file parts, which can then be uploaded using Gears.HttpRequest</li></ul></div><div>Documentation on <a href="http://code.google.com/apis/gears/">http://code.google.com/apis/gears/</a> will be updated soon with more details about the new features.</div>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-8349418849086791337.post-33145439254486988342008-10-21T11:59:00.000-07:002008-10-21T12:05:33.211-07:00WiFi-based geolocation, anyone?<span class="byline-author">Andrei Popescu, Gears Team</span><br /><br />Guess what? The Gears <a href="http://code.google.com/apis/gears/api_geolocation.html">Geolocation API</a> got even better! We have just released a new version of Gears, 0.4.24.0, which contains an enhanced implementation of the Geolocation API. This new version uses WiFi access point signals to return significantly more accurate results, making it a lot more useful on laptop computers. <br /><br />You can find more details about this release on the <a href="http://google-ukdev.blogspot.com/2008/10/increased-accuracy-for-location-in.html">UK Google Code Blog</a>.Aaron Boodmanhttp://www.blogger.com/profile/00749437878675167933noreply@blogger.comtag:blogger.com,1999:blog-8349418849086791337.post-90625360320810338782008-09-15T06:22:00.000-07:002008-09-15T10:07:27.119-07:00Gears For Safari<span class="byline-author">Posted by Jeremy Moskovich and Matt Perry, Gears Engineers</span><br /><br />We're really excited to announce the official release of Gears for Safari on OS X (minimum requirements are Leopard 10.5.3 or Tiger 10.4.11).<br /><br />You can download it today from <a href="http://gears.google.com/">http://gears.google.com</a>.<br /><br />This means that you can now access all the Gears-enabled sites (such as Zoho office, WordPress, the new YouTube uploader and Google Docs offline) in Safari.<br /><br />Since launch, we've increased the number of APIs available in Gears. The 0.3 release added the ability to create desktop shortcuts for websites, and the 0.4 release added Geolocation and Blobs (useful for resumable uploads of large files). All of these are now available in Safari and work exactly the same as on the other browsers Gears supports.<div><br />We thought it might be interesting to talk about some of the technical aspects of Gears peculiar to Safari and OS X. If you aren't a developer you can safely skip the following paragraphs and go straight to the <a href="http://gears.google.com/">download page</a>.<br /><br />When you install Gears, you'll notice that it's composed of 2 components: an NPAPI plugin which lives in "/Library/Internet Plugins" and an InputManager. Gears needs to load first thing upon browser startup, for cases in which the first page loaded into the browser is from the Gears offline cache. NPAPI provides no mechanism for loading that early (it only provides support for loading plugins the first time a page specifically includes them) so we needed a small InputManager to do the work for us.<br /><br />For browsers other than Safari that use the WebKit engine, we've provided a really simple mechanism to allow them to load Gears into their program without using the InputManager. <a href="http://fluidapp.com/">Fluid</a> is one example of a 3rd party browser that supports Gears this way.<br /><br />On the Mac, Gears desktop shortcuts are actually small applications that are designed to open the website in the same browser they were originally created from. This means that if you created them from a Fluid app they'll open in that same place and if you've got multiple versions of Firefox installed on your machine the shortcut will open in the right one.<br /><br />We hope you've found this post interesting. If you have any feedback we'd love to hear from you on our <a href="http://groups.google.com/group/gears-users/">mailing list</a>.</div>Jeremy Moskovich, Gears Teamhttp://www.blogger.com/profile/11267676490795631845noreply@blogger.comtag:blogger.com,1999:blog-8349418849086791337.post-54121538878522778782008-08-22T00:15:00.000-07:002008-08-22T00:38:37.001-07:00Gears 0.4 is here!<span class="byline-author">Posted by Andrei Popescu, Gears Engineer</span><br /><br />But where exactly is 'here'? Well, that's a question that takes on a whole new meaning with this new release of Gears: we have added a new <a href="http://code.google.com/apis/gears/api_geolocation.html">Geolocation API</a>, which allows you to build applications that can do new and exciting things based on your users' location. You can query Gears for the user's current location using the <code>getCurrentPosition()</code> method or you can ask Gears to notify you every time the location changes, using the <code>watchPosition()</code> method. Of course, we take privacy issues very seriously, which is why we have a special permission dialog that allows users to decide which Web sites should have access to their location information. If you want to learn more about how the Geolocation API works, please see the <a href="http://google-code-updates.blogspot.com/2008/08/two-new-ways-to-location-enable-your.html">Google Code blog post</a>.<br /><br />Another cool new feature is the <a href="http://code.google.com/apis/gears/api_blob.html">Blob API</a>. Unlike strings, blobs let you reference arbitrary binary data — a first for JavaScript! Therefore, blobs can more naturally represent things like files and images, and they can be passed around efficiently. We have updated several existing APIs to work with blobs, such as WorkerPool <code>sendMessage()</code> and HttpRequest <code>send()</code>. And that's not all! We have also extended the <a href="http://code.google.com/apis/gears/api_desktop.html">Desktop API</a> with a new method, <code>openFiles()</code>, which allows users to select multiple files of a particular content type, and then returns them as blobs for easy uploading or worker processing.<br /><br />Other major changes in Gears 0.4 include:<br /><ul><br /><li><a href="http://code.google.com/apis/gears/api_httprequest.html"><code>onprogress()</code> events</a> for HTTP downloads and uploads<br /><li>Gears dialogs localized to 40 languages<br /></ul><br />For the full list of changes, you can check out the Gears <a href="http://code.google.com/apis/gears/history.html">API history</a>.<br /><br />If you are a developer anxious to try these new APIs, first check <a href="http://gears.google.com">gears.google.com</a> to make sure you have Gears 0.4 installed (your browser should be updated automatically) and then browse the Gears <a href="http://code.google.com/apis/gears/api_summary.html">documentation pages</a>. If you are a mobile developer, please make sure you also read our <a href="http://googlemobile.blogspot.com/2008/08/new-gears-geolocation-api-powers-mobile.html">Google Mobile blog post</a> to learn more details about what devices support the Geolocation API.<br /><br />Finally, an update on how we are doing on Web standards: in line with our earlier <a href="http://gearsblog.blogspot.com/2008/04/gears-and-standards.html">promises</a>, the Geolocation API is a <a href="http://dev.w3.org/geo/api/spec-source.html">W3C Editor's draft</a> and its current design is a result of open collaboration with many other people and organizations. We plan to continue to drive this standardization effort, as well work with the community on new Web standards.Chris Prince, Gears Teamhttp://www.blogger.com/profile/09649567570867952133noreply@blogger.comtag:blogger.com,1999:blog-8349418849086791337.post-84418960888819147592008-08-06T14:46:00.001-07:002008-08-14T14:11:22.570-07:00Gears Best Practices<span class="byline-author">Posted by Brad Neuberg, Google Developer Programs<br /><br />We are constantly asked what are best practices when working with Gears. For example, what's the best way to work with the local database for performance and reliability? What are good architectures for syncing and offline applications? We've just updated the <a href="http://code.google.com/apis/gears/gears_faq.html">Gears Developer FAQ</a> with a whole slew of <a href="http://code.google.com/apis/gears/gears_faq.html#Best__PracticesTOC">Best Practices</a>, many with sample code that you can use in your own Gears-based applications. Here's a sampling of the new additions.<br /><br />Best Practices for:<br /></span><ul><li><a href="http://code.google.com/apis/gears/gears_faq.html#bestPracticeStartGears">Starting With Gears</a></li><li><a href="http://code.google.com/apis/gears/gears_faq.html#offlineArchitectures">Offline Architectures</a></li><li><a href="http://code.google.com/apis/gears/gears_faq.html#offlineDetection">Online/Offline Detection</a></li><li><a href="http://code.google.com/apis/gears/gears_faq.html#bestGearsPerms">Gears Permissioning</a></li><li><a href="http://code.google.com/apis/gears/gears_faq.html#detectingGears">Installation and Detection</a></li><li><a href="http://code.google.com/apis/gears/gears_faq.html#cachingDifferentDomain">Using LocalServer With Web Applications Spread Across Different Hosts</a></li><li><a href="http://code.google.com/apis/gears/gears_faq.html#bestPracticeDB">Database Performance and Reliability</a></li><li><a href="http://code.google.com/apis/gears/gears_faq.html#offlineUI">Offline User Interfaces</a></li><li><a href="http://code.google.com/apis/gears/gears_faq.html#maintainWorkers">Maintainable Workers</a></li><li><a href="http://code.google.com/apis/gears/gears_faq.html#choosingNames">Choosing Names for Databases and LocalServers</a></li><li><a href="http://code.google.com/apis/gears/gears_faq.html#storingData">Storing Data on Users' Machines</a></li><li><a href="http://code.google.com/apis/gears/gears_faq.html#desktopShortcuts">Desktop Shortcuts</a></li><li><a href="http://code.google.com/apis/gears/gears_faq.html#versionDBSchema">Versioning Database Schema</a></li><li><a href="http://code.google.com/apis/gears/gears_faq.html#useMRS">LocalServer</a></li><li><a href="http://code.google.com/apis/gears/gears_faq.html#syncing">Syncing</a></li><li><a href="http://code.google.com/apis/gears/gears_faq.html#webAppAsDesktop">Giving Web Applications Similar Features to Desktop Applications</a></li></ul>Have fun!Brad Neuberghttp://www.blogger.com/profile/03274020042497854648noreply@blogger.comtag:blogger.com,1999:blog-8349418849086791337.post-59666885189684096422008-07-14T09:35:00.000-07:002008-07-14T09:35:31.311-07:00Creating a Client-Side Search Engine With Gears<span class="byline-author">Posted by Brad Neuberg, Gears Team</span><br /><br />I've posted an <a href="http://gears-pubtools.googlecode.com/svn/trunk/docs/fast_search_article.html">in-depth article and tutorial</a> on creating a client-side search engine with Gears. Here's a short snippet from the article:<br /><br /><span style="font-style: italic;">Did you know that you can use </span><a style="font-style: italic;" title="Gears" target="_blank" href="http://gears.google.com/">Gears</a><span style="font-style: italic;"> to do fast, client-side searching of data, similar to a client-side search engine? Gears bundles </span><a style="font-style: italic;" title="Full-Text Search" target="_blank" href="http://code.google.com/apis/gears/api_database.html#sqlite_fts">Full-Text Search</a><span style="font-style: italic;"> (FTS) abilities right into its local, </span><a style="font-style: italic;" title="SQLite database" target="_blank" href="http://code.google.com/apis/gears/api_database.html">SQLite database</a><span style="font-style: italic;">. </span><a style="font-style: italic;" title="MySpace" target="_blank" href="http://www.myspace.com/">MySpace</a><span style="font-style: italic;">, for example, </span><a style="font-style: italic;" title="recently used this feature" target="_blank" href="http://gearsblog.blogspot.com/2008/05/myspace-message-center-is-now-searching.html">uses this feature</a><span style="font-style: italic;"> with their MySpace Mail application, downloading all of a user's messages for fast, client-side search. Because all of the data is local, you can do nifty things like search over the data in real-time as the user types, something that is much harder if you have to query over the network to a server to do the searching.</span> <p style="font-style: italic;"> Would you like to add the same kind of fast, local searching to your own web page and web applications? This article introduces you to PubTools Search and the Gears features that power it, namely Full-Text Search and Workers. <a title="PubTools Search" target="_blank" href="http://code.google.com/p/gears-pubtools">PubTools Search</a> is an open source JavaScript library that drops a client-side search engine right into your page. You configure it with basic HTML plus a list of URLs to index. Once loaded, a search form that uses the local Gears full-text search abilities will appear in your page to quickly and locally search over the documents in real time as a user types into the search field.<br /></p><span style="font-style: italic;">Please note that PubTools Search is not an official Google project or Gears API; it is a project I created on my own to teach and help developers. The Gears team does not support this project.<span style="font-style: italic;"></span> </span><p> The article covers the following: </p> <ul><li>An introduction to Gears' Full-Text Search and Worker features</li><li>How to drop PubTools Search into your page to quickly get going</li><li>Deep walkthrough and dissection of how PubTools Search works internally with source code and snippets so you can use these Gears features in your own applications</li><li>An introduction to parts of the <a href="http://dojotoolkit.org/">Dojo toolkit</a> used in PubTools Search, using actual source from PubTools Search including a discussion on some of the techniques used in modern JavaScript development</li><li>Tips and tricks when working with Gears</li></ul><span style="font-style: italic;"></span><p style="text-align: center;"><a href="http://gears-pubtools.googlecode.com/svn/trunk/docs/fast_search_article.html">Read the full article and try the demo yourself!</a></p>Brad Neuberghttp://www.blogger.com/profile/03274020042497854648noreply@blogger.comtag:blogger.com,1999:blog-8349418849086791337.post-53780150875235619162008-07-10T17:09:00.000-07:002008-07-11T13:51:23.212-07:00Speeding Up WordPress With Gears<span class="byline-author">Posted by Brad Neuberg, Gears Team</span><br /><br /><a href="http://wordpress.com/">WordPress.com</a> just recently went live with Gears support for accelerating the user-interface, and the upcoming WordPress 2.6 release will also bundle Gears.<br /><br />Andrew Ozz, a member of the WordPress team and the person responsible for the Gears integration wrote the following guest post on his experience working with Gears:<br /><br /><i id="g6ve">I thoroughly enjoyed working with Gears. After checking the excellent API documentation and examples, the test implementation of a <a href="http://code.google.com/apis/gears/api_localserver.html#ManagedResourceStore">ManagedResourceStore</a> in WordPress was ready to go in about an hour.<br /><br />After that I only had to refine the various status messages and user prompts and the first step of implementing Gears support in WordPress was ready for public testing. That was the fastest and easiest integration with another open source software I've had the opportunity to contribute to.<br /><br />Currently WordPress implements Gears support in a somewhat "non-traditional" way. It uses only the local storage to cache all static files from the admin interface on the user's computer, eliminating needless requests to the server and improving page load speed, quite significantly in some cases.<br /><br />Some of the limitations of this are that Gears prompts for permission on each sub-domain, so when a user has several blogs on WordPress.com, it will have to be enabled for each separately. Another is that although all files are served from the local storage in SSL mode, the browser reports that the web page is partially encrypted.<br /><br />The Gears support is <a href="http://en.blog.wordpress.com/2008/07/02/gears/">already live</a> on <a href="http://wordpress.com/">WordPress.com</a>, and is included in the next version of the <a href="http://wordpress.org/">self-hosted WordPress</a>, that is due in a few days. </i><br /><div><i><br />In my opinion Gears is more than an easy way to enable online applications to work offline. It extends the web browser into an OS independent application development platform. I won't be surprised to see some very different web enabled desktop applications built with it.</i><br /></div>Brad Neuberghttp://www.blogger.com/profile/03274020042497854648noreply@blogger.comtag:blogger.com,1999:blog-8349418849086791337.post-17737211443598379582008-07-01T11:14:00.000-07:002008-07-01T11:16:37.185-07:00Flexi-ng your muscles with Gears<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><JavaScript><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 /></JavaScript></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.Unknownnoreply@blogger.comtag:blogger.com,1999:blog-8349418849086791337.post-85242123371424584312008-06-13T08:21:00.001-07:002008-06-13T08:29:47.126-07:00Gears Sessions from Google I/O are now available to watch<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>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-8349418849086791337.post-66168716174178925012008-06-11T22:08:00.000-07:002008-06-12T13:13:08.766-07:00Fly, Gears 0.3!<span class="byline-author">Posted by Aaron Boodman, Gears Engineer</span><br /><br />Well, that's it, Gears 0.3 has officially left the nest. Most users have now been updated to 0.3.24.0. If you haven't, you can update at <a href="http://gears.google.com/">gears.google.com</a>.<br /><br />It seemed like just yesterday we were announcing 0.2. But here we are again, with great new features like:<br /><ul><li>Support for Firefox 3!</li><li>Ability to create <a href="http://code.google.com/apis/gears/api_desktop.html">desktop shortcuts</a></li><li>Improved support for customizing the <a href="http://code.google.com/apis/gears/design.html#detecting">installation flow</a> and <a href="http://code.google.com/apis/gears/api_factory.html#getpermission">permission dialog</a></li><li>Better support for <a href="http://code.google.com/apis/gears/api_workerpool.html#sendmessage">sending</a> complex objects to workers<a href="http://code.google.com/apis/gears/api_workerpool.html"></a></li><li>Detailed <a href="http://code.google.com/apis/gears/api_localserver.html#events">progress events</a> for managed resource store updates<br /></li><li><a href="http://code.google.com/apis/gears/upcoming/history.html">And more...<br /></a></li></ul><span style="font-weight: bold;">*Sniff*</span> ... They grow up so fast.<br /><br />As always, please <a href="http://groups.google.com/group/gears-users">let us know</a> what you think of the new APIs, and what you think still needs work. Or better yet, <a href="http://code.google.com/p/gears/wiki/ContributingToGears">join the project</a> and send us a patch.<br /><br />And don't worry about us, we'll be fine. We've got to focus on 0.4. Soon enough, it too will spread its wings.Aaron Boodmanhttp://www.blogger.com/profile/00749437878675167933noreply@blogger.comtag:blogger.com,1999:blog-8349418849086791337.post-36489003394125381762008-06-06T16:52:00.000-07:002008-06-06T16:54:29.335-07:00Appcelerator gives you Gears functionality out of the box<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.Unknownnoreply@blogger.comtag:blogger.com,1999:blog-8349418849086791337.post-34000240058373646272008-05-28T15:01:00.000-07:002008-05-29T06:52:10.576-07:00MySpace Message Center is now searching with Gears<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="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQTHhaCmtaITyvfzoxfBwfkPqhfYmSD1Y7b40P-zBUEi1rpWy_7WOdJk23mixAoSeReuy_Af85viyean4ByNlWcrlgCL9za92jUtwFy9GOC1l0yMTNdNPzKNRGZC2dc7RJ-ioajSwJBSE/s400/myspacegears.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5205552943165436738" />Unknownnoreply@blogger.comtag:blogger.com,1999:blog-8349418849086791337.post-87293125320923508622008-05-07T23:54:00.000-07:002008-05-08T14:58:03.525-07:00New Gears and AJAX sessions posted for Google I/O<span class="byline-author">Posted by Andrew Bowers, Google Developer Programs</span><br /><br /><br /><a href="http://code.google.com/events/io">Google I/O</a> is just a few weeks away (May 28 - 29). If you haven't already, don't forget to <a href="https://www.weboom.com/sparks/google_io/forms/">register</a> for the event. We now have over 80 sessions posted, including a number of new sessions on Gears and AJAX technologies, including:<br /><br /><b>Taking Large-Scale Applications Offline - Lessons Learned from Google Docs</b><br />With the release of <a href="http://googledocs.blogspot.com/2008/03/bringing-cloud-with-you.html">Google Docs offline</a>, we asked the team if they could provide developers with some lessons learned. Google engineer Steve Saviano will explain the challenges that his team faced taking Google Docs offline with Gears and how they overcame them.<br /><br /><b>Gears and MySpace - an Exploration of Powering Search on the Client</b><br />Owyn Richen of MySpace will discuss their thoughts on using Google Gears to provide data-intensive features like adding search to their mail system.<br /><br /><b>HTML5, Brought to You by Gears</b><br />Aaron Boodman, whom many of you know as part of the core Gears team and also from <a href="https://addons.mozilla.org/en-US/firefox/addon/748">Greasemonkey</a> fame, will be talking about how the Google Gears mission relates to future web standards like HTML5.<br /><br /><b>Can We Get There From Here?</b><br />Alex Russell, co-creator of <a href="http://sitepen.com/labs/dojo.php">The Dojo Toolkit</a>, looks at the state of the web development stack and the differing views and approaches to advancing development within a browser.<br /><br /><b>Improving Browsers in New Ways: Gears++</b><br />Chris Prince, also known in the UK as the Gears engineer with the <a href="http://youtube.com/watch?v=HsODVUvgvdk">best beard</a>, will give a sneak peek at what's coming in Gears. You may be surprised that *none* of the features are related to offline. Rather, they fall under the broader Gears vision of improving web browsers.<br /><br />Be sure to visit the <a href="http://code.google.com/events/io">website</a> to see the complete list of sessions and to <a href="https://www.weboom.com/sparks/google_io/forms/">register</a>. For those coming from out of town, we've arranged discounted room rates at nearby hotels. Read the <a href="http://code.google.com/events/io/location.html">details</a> on the website to take advantage of the discount.Unknownnoreply@blogger.comtag:blogger.com,1999:blog-8349418849086791337.post-80049496968534547802008-04-08T20:13:00.000-07:002008-04-09T09:26:02.533-07:00Gears and Standards<span class="byline-author">Posted by Aaron Boodman, Gears Engineer</span><br /><br />Gears is about more than just offline web applications. For example, we recently added <a href="http://code.google.com/apis/gears/upcoming/api_desktop.html">desktop shortcut</a> functionality, and we're working on <a href="http://code.google.com/p/google-gears/wiki/ContentRangePostProposal" id="pqwu" title="resumable uploads">resumable uploads</a>, a <a href="http://code.google.com/p/google-gears/wiki/LocationAPI">geolocation</a> API, and lots more <a href="http://code.google.com/p/google-gears/w/list">fun things</a> for the future.<br /><br />We've received some questions recently about how all this relates to web standards, such as HTML5 and those proposed by the W3C. It seems like some people are afraid Gears will try to compete with the web.<br /><br />Let us put those fears to rest right now: on the Gears team we loves us some web standards. Some of us were web developers stuck in the crossfire of the browser wars, and we deeply understand standards have played a key role in the productivity and creativity of the web over the past 10 years.<br /><br />We have no desire to create a parallel platform and compete with the web. Anyway, that would be crazy. The web is an unstoppable force of nature. Competing with it would be like entering a shouting match with the wind: you can't win, and you look pretty silly trying.<br /><br />Instead, Gears aims to bring emerging web standards to as many devices as possible, as quickly as possible.<br /><br /><br /><span style="font-size:130%;"><span style="font-weight: bold;">Some History</span></span><br /><br />The Gears project started because a group of developers at Google were frustrated by the slow march of web browsers. Competition and standards were producing fantastic results, but it took a long time to get implementations on every browser. In some cases, we still don't have compatible implementations, years after the standards were finalized. Our first project was to implement APIs that would make offline web applications possible.<br /><br />Currently, the Gears Database and LocalServer modules are not fully compatible with the HTML5 proposals for the same functionality. This is only because those specs were written after Gears was released, and not because of any desire to be different. In fact, we were involved in the design of both HTML5 specs, and we are currently implementing the proposal for database access.<br /><br /><br /><span style="font-size:130%;"><span style="font-weight: bold;">Going Forward</span></span><br /><br />In many ways, Gears is like a browser without any UI. And just like other browsers, Gears will implement existing standards and rally for changes and additions where they seem needed. For example, we recently <a href="http://www.mail-archive.com/public-webapi@w3.org/msg02884.html">proposed</a> our geolocation API work to the W3C WebAPI group.<br /><br />There are three important differences between Gears and other browsers, however:<br /><ol><li>Improvements to Gears can be used by developers immediately. Gears is available today on Firefox (for Windows, OS X, and Linux), IE, and IE Mobile. Implementations for more browsers and platforms are in progress. Developers no longer have to wait for every browser to implement new web standards before they can use them, they only have to wait for them to be available on Gears.<br /></li><br /><li>Most browser vendors have two groups of customers: users and developers. User-facing features typically get more attention than developer-facing APIs, for a variety of reasons. But with Gears, developers are the only customers. We can focus completely on creating the best possible platform for web development.<br /></li><br /><li>Gears is an implementation of web standards that lives inside another browser. For example, the <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/section-sql.html">HTML5 Database API</a> might be available to developers through both the <i>google.gears</i> object and the traditional <i>window</i> object. This is OK, and in some ways a good thing. Developers will be able to mix and match the pieces of Gears and native browser implementations that work best.</li><br /></ol><span style="font-size:130%;"><span style="font-weight: bold;">The Pitch</span></span><br /><br />By implementing emerging web standards, Gears is influencing what the web of tomorrow will look and act like. And since Gears is an <a href="http://code.google.com/p/google-gears/">open source project</a>, anyone can contribute.<br /><br /><a href="http://groups.google.com/group/google-gears">Get involved</a>. You don't have to be able to code in C++. All that's needed is some free time and the desire to push the web forward.Aaron Boodmanhttp://www.blogger.com/profile/00749437878675167933noreply@blogger.comtag:blogger.com,1999:blog-8349418849086791337.post-91280630216199531402008-04-03T15:31:00.000-07:002008-04-03T15:32:00.978-07:00What's new with Google Gears? A Tech Talk<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="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.Unknownnoreply@blogger.comtag:blogger.com,1999:blog-8349418849086791337.post-6551347779092266012008-04-01T12:38:00.000-07:002008-04-01T13:40:43.569-07:00This is not an April Fool's joke!<span class="byline-author">Posted by Aaron Boodman, Gears Engineer</span><br /><br />As of yesterday, it is possible to use Google Docs <a href="http://googledocs.blogspot.com/2008/03/bringing-cloud-with-you.html">offline</a>. We've all been working on this for a while now, and I think sometimes we take it for granted. A web-based word processor you can use without an internet connection?! Who'd'a thunk it?<br /><br />Gigantic congrats to the Docs team, from all of us working on Gears. We especially love how simple you have made the setup and synchronization process.<br /><br />Sometime soon, we'll have to get one of the Docs engineers to write a blog post about some of the challenges they faced bringing this together. There are some really interesting stories and lessons in there that would be useful to anyone aiming to offline-enable their web application.<br /><br />To see offline Docs in action, check out the video below.<br /><br /><object height="350" width="425"><param name="movie" value="http://www.youtube.com/v/7cyHYEfpRVA"><embed src="http://www.youtube.com/v/7cyHYEfpRVA" type="application/x-shockwave-flash" height="350" width="425"></embed></object>Aaron Boodmanhttp://www.blogger.com/profile/00749437878675167933noreply@blogger.comtag:blogger.com,1999:blog-8349418849086791337.post-75415420530482562652008-03-31T12:36:00.000-07:002008-03-31T12:37:53.308-07:00Gears Screencast: An Introductory Tutorial<span class="byline-author">Posted by Ben Lisbakken, Gears Team</span><br /><br />Using a JavaScript API to cache web pages offline, interact with a client side database and introduce threading into your application isn't immediately intuitive because it's such a foreign concept for a web API. I remember when I was doing my first work with Gears -- I was a bit disoriented and in need of a walk through of how things work and why.<br /><br />To help potential Gears users that feel like my 7-month-ago-self, I wrote a tutorial application that uses a minimal amount of non-Gears code. This application is a simple stock ticker that makes use of 5 of the Gears modules; LocalServer, Database, WorkerPool, Timer, and HTTPRequest.<br /><br />But a standalone application can't teach someone -- it needs some explaining. Long articles generally lose my attention, so my media of choice was video. I made a screen cast where I walk through the code in three steps, which you can find <a href="http://gears-examples.googlecode.com/svn/trunk/stock_tutorial/">here</a>. There's also a zip file that contains the three steps of code so you can take a look at the code on your own. Please note that there is a PHP file that is required for the application to work, so you will need a server that runs PHP in order to use this code on your own!<br/><br /><a href="http://gears-examples.googlecode.com/svn/trunk/stock_tutorial/screencast_full.mov"><img border=0 src="http://gears-examples.googlecode.com/svn/trunk/stock_tutorial/screenshot.png" /></a>Ben Lisbakkenhttp://www.blogger.com/profile/08854985995362386095noreply@blogger.comtag:blogger.com,1999:blog-8349418849086791337.post-36794050248890764672008-03-27T09:52:00.000-07:002008-03-27T09:54:15.799-07:00Joose.Gears: Adding support for workers in a self-hosting meta object system<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.Unknownnoreply@blogger.comtag:blogger.com,1999:blog-8349418849086791337.post-35118435069934498882008-03-18T10:56:00.000-07:002008-03-18T10:59:18.719-07:00Cross-domain messaging with Gears<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!Unknownnoreply@blogger.comtag:blogger.com,1999:blog-8349418849086791337.post-8690245423664791122008-03-13T13:34:00.000-07:002008-03-13T13:36:18.761-07:00Gears Database API and Aptana Jaxer<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.Unknownnoreply@blogger.comtag:blogger.com,1999:blog-8349418849086791337.post-13170017506220500942008-03-03T23:10:00.000-08:002008-03-03T23:16:40.662-08:00Google Gears in Your Pocket<span class="byline-author">Posted by Chris Prince, Software Engineer</span><br /><br />Today is an exciting day for mobile application development, as it marks the first release of <a href="http://code.google.com/apis/gears/mobile.html">Google Gears on mobile devices</a>. Gears is initially available for Internet Explorer on Windows Mobile 5 and 6.<br /><br />Consider the sad state of mobile app development today: you often need to write native code, and build against four different SDKs, using five different compilers. It's a daunting task, which explains why so few people write mobile applications.<br /><br />Web apps are an obvious way to deliver functionality across mobile devices. You can write your application just once. So why hasn't this approach been more widely adopted? Mobile browsers simply cannot do much of what you want applications to do.<br /><br />Enter Google Gears. The mission of Gears is to extend the capabilities of web browsers. It is clear to us that mobile browsers can benefit just as much as desktop ones. By adding features to mobile browsers, it becomes possible to deploy an increasing number of mobile applications as web apps.<br /><br />Furthermore, we plan to keep the Gears API consistent across all platforms. So as long as you account for browser differences (such as different screen sizes and DOM quirks), the rest of your application will "just work" across users' systems. You don't need to worry whether you are running on a mobile device or a desktop machine.<br /><br />We are very excited by the potential here. We expect mobile apps built using Google Gears to usher in a new trend in mobile application development.<br /><br />For more information, check out the interview Dion Almaer conducted with some of the engineering masterminds behind mobile Gears:<br /><br /><span style="font-style: italic;">Andrei Popescu and Dave Burke describe what it was liking bringing Gears to Windows Mobile, and the motivations for the project.</span><br /><br /><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/R8P0PbgS52c"></param><embed src="http://www.youtube.com/v/R8P0PbgS52c" type="application/x-shockwave-flash" height="350" width="425"></embed></object>Chris Prince, Gears Teamhttp://www.blogger.com/profile/09649567570867952133noreply@blogger.comtag:blogger.com,1999:blog-8349418849086791337.post-86635629271817203242008-02-21T14:38:00.000-08:002008-02-21T15:01:08.080-08:00Gears PubTools: Offline Enable Content in Minutes<span class="byline-author">Posted by Brad Neuberg, Developer Advocate<br /><br /></span><span id="1g6t">As a Developer Advocate who wants to help developers use Gears, </span>I've created some simple open source utilities to make it much easier to work with <a href="http://gears.google.com/">Google Gears</a> without having to delve into JavaScript. This new open source library, named <a href="http://code.google.com/p/gears-pubtools/">Gears PubTools</a>, is a simple collection of JavaScript files that make it easy for content authors to work with Google Gears using just a little bit of HTML. With PubTools, you can easily offline-enable your static content within minutes. <a href="http://codinginparadise.org/weblog/2008/02/pubtools-offline-enable-content-in.html">Read the full details here</a>. Please note that PubTools is not part of the official Gears distribution; it is simply a collection of open source utilities I have created to make using Gears much easier for static content.Brad Neuberghttp://www.blogger.com/profile/03274020042497854648noreply@blogger.comtag:blogger.com,1999:blog-8349418849086791337.post-56894119116153369842008-02-19T15:29:00.000-08:002008-02-19T16:09:48.827-08:00Gears 0.2 Released!<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.Unknownnoreply@blogger.com