The following phrase jumped out at me from a post Rafe Needleman made earlier today about Google Docs & Spreadsheets:
Google is going to “take a shot” at a disconnected version, for users who want to access files when they are offline.
While I was digging around trying to figure out where he got this, Garett Rogers posted his own discovery:
As you probably know, I really like to dig through source code — and sometimes I find things. […] I will start with the most interesting piece of code I found. Google is working on a solution that will allow you to install Writely on your local machine:
if (location.host.indexOf("localhost") > -1) { if (location.host.indexOf("Prefactor") > -1) return "http://localhost:8180/Prefactor/" + page + paramString; else return "http://localhost:8180/Docster/" + page + paramString; } else return "http://" + location.host + "/" + page + paramString;
This is absolutely huge news. Regular readers of my blog know that I view Google’s lack of an offline story (in all but a few areas anyway) as its biggest hole, particularly when stacked against Microsoft, where that’s arguably its greatest strength. So, the fact that Google is working on this is big news is itself.
I’m also intrigued by the method they’re apparently using, namely a localhost web server, rather than a thick client or persistent storage via a browser extension. I’ve been thinking for a long time about the offline problem, and I’ve come to the conclusion that localhost web servers (which I first saw used to great effect in Radio Userland—credit where credit is due) are the ideal solution.
Thick clients play to Microsoft’s strength (not to mention the OS issue), so that’s not the best approach. And the notion of adding persistent storage to the browser opens up a host of cross browser compatibility problems. And while it may be possible to come up with a standard API that works across Firefox, IE, and other browsers, such a standard is likely years away, particularly given that we haven’t even begun the “competing implementations battle it out” phase yet.
This could be some left over dev code. They certainly have a local copy of gmail running on their machine to test their code.
I wish they were working on offline support but I don’t really believe it will be available anytime soon.
Concerning gmail, adding the tags in the email header (X-gamil-tag: …,…) when fetched from their pop server would be really great. It is easy to have an offline copy of your emails but without these tags, you need to sort them again. It’s a nogo for me as I don’t want to do it twice and I want an organized copy of my emails locally.
Speaking of tags, it would be great to have a thunderbird with the tags features (including propagation to the threads).
Good point, but Garett has posted a fair number of code snippets that have indeed ended up foreshadowing coming features. So, I’m hopeful! And you’re right, in the absence of a localhost Gmail, there’s a lot Google could do (IMAP, for one thing). I’ve thought about using libgmail to write a Gmail synchronizer, but like so many things, I haven’t found the time to actually do it. -ian
Whoa! That is neat…even if it’s just left over dev code. I think you’re spot on about using localhost for desktop “services.” It’s so pragmatic! I hadn’t thought of that, and now it’s got my mind all excited before my first cup of coffee.
Do the permission settings in IE and Firefox allow that without going bonkers? You’d hope so, right?
Yeah, you could imagine running a (presumably trimmed down) version of the same code base that’s running in the cloud on the local machine. Then the problem of offline support reduces to synchronizing the underlying data store (which is a difficult but at least familiar problem, as opposed to the browser based solutions, which are new territory). Maybe S3 just needs to support disconnected operation a la Coda, and everything just works? As regards the permission settings, I’ve never seen a warning, at least in Firefox (never been a big IE user :-). -ian
I’ve heard the argument about “left over dev code” before — but Google has been known to use the “local web server” method for some of their other products too, namely Google Desktop.
If you click on “desktop” while at Google’s homepage, you will see it takes you to http://127.0.0.1:4664 or http://localhost:4664
Not only is the code in there, it’s the next logical step for the product — that combination gets my attention 100% of the time.
Good point about Google Desktop—that example hadn’t occurred to me. Thinking more about it, the controversial Search Across Computers feature is synchronization to a certain extent, though it’s obviously not two-way and not fully integrated with the rest of the platform (search results don’t come up when you search from a computer that isn’t running Google Desktop when logged in to your Google account). Still, it’s interesting that there’s some precedent here. -ian