{"id":25,"date":"2007-05-31T12:50:30","date_gmt":"2007-05-31T07:20:30","guid":{"rendered":"http:\/\/www.bin-co.com\/blog\/2007\/05\/google-gears-offline-functionality-for-web-apps\/"},"modified":"2007-05-31T12:50:30","modified_gmt":"2007-05-31T07:20:30","slug":"google-gears-offline-functionality-for-web-apps","status":"publish","type":"post","link":"https:\/\/www.bin-co.com\/blog\/2007\/05\/google-gears-offline-functionality-for-web-apps\/","title":{"rendered":"Google Gears &#8211; Offline Functionality for Web Apps"},"content":{"rendered":"<p><a href='http:\/\/www.bin-co.com\/blog\/2007\/05\/google-gears-offline-functionality-for-web-apps\/google-gears-logo\/' rel='attachment wp-att-28' title='Google Gears Logo'><img class=\"intro\" align=\"right\" src='http:\/\/www.bin-co.com\/blog\/wp-content\/uploads\/2007\/05\/google_gears_logo.png' alt='Google Gears Logo' \/><\/a><\/p>\n<p class=\"intro\">There has been many ideas about a offline storage mechanism for web applications. <a href=\"http:\/\/www.sitepen.com\/blog\/2007\/01\/23\/the-dojo-offline-api\/\">Dojo implemented this<\/a> in its Library. <a href=\"http:\/\/www.readwriteweb.com\/archives\/firefox_3_offline_apps.php\">Firefox 3 promises this<\/a>. Now we have a new arrival in this area &#8211; <a href=\"http:\/\/gears.google.com\/\">Google Gears<\/a>. Unlike Dojo&#8217;s implementation, Gears require an extension for it to work.<\/p>\n<blockquote cite=\"http:\/\/code.google.com\/apis\/gears\/\">\n<p>Google Gears is an open source browser extension that lets developers create web applications that can run offline.<\/p>\n<\/blockquote>\n<h2>See Gears In Action<\/h2>\n<p>To see Gears in action, first install the extension&#8230;<\/p>\n<p><a href=\"http:\/\/gears.google.com\/\">Google Gears<\/a><\/p>\n<p>Then go to Google Reader &#8211; you will see a &#8216;Offline&#8217; mode button in the top right corner. If you click on that the script will download 2000 entries into your local database(<a href=\"http:\/\/binnyva.blogspot.com\/2006\/10\/sqlite.html\">SQLite<\/a>).<\/p>\n<p><img src='http:\/\/www.bin-co.com\/blog\/wp-content\/uploads\/2007\/05\/downloading.png' alt='Downloading Online Entries using Google Gears' \/><\/p>\n<p>To see this database, open up the <a href=\"http:\/\/kb.mozillazine.org\/Profile_folder\">Firefox Profile folder<\/a> and enter the &#8216;Google Gears for Firefox&#8217; folder. You will find many Database files there. Just open any of these in a SQLite V3 supporting viewer.<\/p>\n<p>After the download is complete, you can use the Reader without a net connection.<\/p>\n<p>When you get the connection back, just click on the same button &#8211; all the changes will be send to the online server.<\/p>\n<p><img src='http:\/\/www.bin-co.com\/blog\/wp-content\/uploads\/2007\/05\/syncing.png' alt='Syncing Local DB changes with online server in Google Gears' \/><\/p>\n<h2>Advantages of the Google Gears<\/h2>\n<ul>\n<li>Once the extension is installed, the script will work across all the supported browser. No JavaScript hacks required.<\/li>\n<li>Full featured Database support &#8211; this makes it much easier to work with.<\/li>\n<li>Supported by Google<\/li>\n<li><a href=\"http:\/\/code.google.com\/p\/google-gears\/source\">Open Source<\/a><\/li>\n<\/ul>\n<h2>Disadvantages of Google Gears<\/h2>\n<ul>\n<li>The user must install an extension for this to work.<\/li>\n<li>Requires user action before going offline. If your connection breaks suddenly(as it often happens here in India), you are left with nothing.<\/li>\n<li>All browsers are not supported(yet)<\/li>\n<li>Beta software &#8211; some bugs are to be expected. But, this will be solved in time.<\/li>\n<\/ul>\n<p>I am still exploring the code &#8211; expect a new post with working <a href=\"http:\/\/www.openjs.com\/\">javascript<\/a> examples soon.<\/p>\n<h2>Google Gear Links<\/h2>\n<ul>\n<li><a href=\"http:\/\/gears.google.com\/\">Google Gears<\/a><\/li>\n<li><a href=\"http:\/\/code.google.com\/apis\/gears\/design.html\">Getting Started<\/a><\/li>\n<li><a href=\"http:\/\/code.google.com\/apis\/gears\/tutorial.html\">Tutorial<\/a><\/li>\n<li><a href=\"http:\/\/code.google.com\/apis\/gears\/\">Developer site<\/a><\/li>\n<li><a href=\"http:\/\/code.google.com\/support\/bin\/topic.py?topic=11628\">Frequently asked questions<\/a><\/li>\n<li><a href=\"http:\/\/groups.google.com\/group\/google-gears\">Developer Forum<\/a><\/li>\n<li><a href=\"http:\/\/gearsblog.blogspot.com\/\">Gears API Blog<\/a><\/li>\n<li><a href=\"http:\/\/erik.eae.net\/archives\/2007\/05\/30\/19.06.10\/\">erik&#8217;s weblog<\/a><\/li>\n<li><a href=\"http:\/\/ifacethoughts.net\/2007\/05\/31\/gear-for-offline\/\">Gears for Offline<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<div class=\"mh-excerpt\"><p>There has been many ideas about a offline storage mechanism for web applications. Dojo implemented this in its Library. Firefox 3 promises this. Now we <a class=\"mh-excerpt-more\" href=\"https:\/\/www.bin-co.com\/blog\/2007\/05\/google-gears-offline-functionality-for-web-apps\/\" title=\"Google Gears &#8211; Offline Functionality for Web Apps\">[&#8230;]<\/a><\/p>\n<\/div>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14,15,22,30],"tags":[46,123,127,144,196,297],"class_list":["post-25","post","type-post","status-publish","format-standard","hentry","category-google","category-javascript","category-review","category-web-development","tag-apps","tag-gears","tag-google","tag-iis","tag-offline","tag-web"],"_links":{"self":[{"href":"https:\/\/www.bin-co.com\/blog\/wp-json\/wp\/v2\/posts\/25","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bin-co.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bin-co.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bin-co.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bin-co.com\/blog\/wp-json\/wp\/v2\/comments?post=25"}],"version-history":[{"count":0,"href":"https:\/\/www.bin-co.com\/blog\/wp-json\/wp\/v2\/posts\/25\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.bin-co.com\/blog\/wp-json\/wp\/v2\/media?parent=25"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bin-co.com\/blog\/wp-json\/wp\/v2\/categories?post=25"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bin-co.com\/blog\/wp-json\/wp\/v2\/tags?post=25"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}