Google Developer Day 2007
Mountain View, US
Thursday, May 31, 2007
Google Gears Fireside Chat
The Google Gears team all got together for a nice panel.
Q. Do you have to rewrite an app
Chris Weatherall didn't rewrite the reader front-end. What made this possible was a nice separation of layers.
If you look at the ability to use web applications when you are intermittent connected (e.g. a hotel), there is a nice model too. You can
Q. Offline access and sync is big to solve. Are you looking at multiple applications on a PC. Can I have Apollo and a web browser looking at the same data
There isn't a way you do that, due to a strict security model. We maintain databases on a profile basis in Firefox. So, you can't run IE and Firefox to access the same data either.
Gears is adding three primitives to the Ajax space. You can use one or multiple depending on what you need.
Q. There is a lot of interesting brainstorming on the "right model" of building Gears applications. Will there be good developer support around the architecture questions.
We have some documentation on how it works with Reader, and it makes sense for us to add more. Groups will seed discussions which will be picked up and expanded too.
We don't have all of the answers, the we are hoping that the community is going to come up with a lot of solutions based on practice.
Q. I am glad to see the strong links between GWT and Gears. What about GData - Gears. Will there be Google supported libraries to handle GData primitives? E.g. storing GData?
I think people will build them as they need them.
Q. Your ManagedResourceStore, is it an object store?
ManagedResourceStore adds atomicity to resource storage. If you need to group versions that only make sense together, it is a great candidate for a ManagedResourceStore. You can put in anything that makes a web app (js, css, html, images, etc).
Q. Multiple Computers: How portable is the data?
It depends on what you need. This is where synchronization comes in. In theory, you could take the SQLite store and move it around. Think of yourself as providing a web app that can do a little more and you will probably not run into too many issues.
Q. Host Proof Hosting: I want users to be able to store data at their machine, but save it encrypted at the server. Can we do this?
This is a good use case for the WorkerPool, since encryption/decryption is slow, and you don't want to block the browser UI thread.
Q. If I am working on a mobile application, what is the minimum footprint to support Google Gears?
Obviously, the application is key, depending on the amount of work that you do on the client. SQLite is very stingy in general, so we think that it will scale down fairly well. The Opera team will have more to say on this.
Q. Full text search. How well does it do? Do you need to store a full corpus?
We have the author of the full text search in the room. Currently it is targeting at what you expect at the clients, so it handles multiple inserts really well. The indexing is on the local client. Compared to Lucene our insert performance is good, and query performance is a little worse.
Q. How married are you to SQLite, and are you looking for other options?
SQLite was tremendously appealing an suited all of our needs. Rather than abstract on top of the database, we thought it would be better to expose the full database.
Q. Is there anything else that you would like to add to SQLite
So far full text search and FTS3 is the area of active work. Also, segmentation and normalization in non-english words. We are hoping to use ICU for the localization piece.
Q. WorkerThread: How expensive is it to create and send messages to these threads?
We don't have detailed measurements. The goal is: When you have long running operations, then you have a candidate to fire of a WorkerThread, and isn't about creating millions of them.
Q. Is there a threat of a thread going crazy?
When you unload a page the thread dies, but there isn't a programatic way to kill it yet.
Q. What are the three next most important things to put into browsers?
We will be busy making what we have out there really good, and working with the standards bodies to make this happen.
Douglas Crockford popped up to say that he thinks the three next things are: Security, security, security.
One fruitful research area is synchronization. We are excited about the second wave.