The Digg Oracle: Using the WorkerPool as well as full text search to empower the client




Brian Shaler has written an interesting application that uses Google Gears to do client side work regardless of if you are online or offline.

The Digg Oracle, Brian's application, pushes a data set down to the browser (in this case the history of a Digg user), and then the UI works on that local dataset. The application uses the WorkerPool to do all of the work outside of the main browser thread, and full text search to query the content in the database very quickly.

The benefit to this pattern is that by taking the hit of syncing data down to the client, you gain the ability to do a lot of fast client-side processing on the data. You can slice it. You can dice it. And you see fantastic performance.

Brian has a proposal on this pattern to speak at SXSW 2008, and he says:

Leveraging client-side services, web application developers will be able to push some functionality, especially repetitive tasks on small, rarely-changing datasets, onto the client. When functionality is pushed to the client, the client will generally see a substantial performance increase and unbeatable application responsiveness. This is because there will be a 1 server to 1 client ratio, as the client would be running its own server. Meanwhile, the usage of server resources for these repetitive tasks is reduced, potentially saving companies money on hardware or minimizing the effects of rapid success, known as "Growing Pains".
Give the Digg Oracle a whirl or see it in action:



We have seen a lot of interest in the WorkerPool and in Database full-text search, and we really enjoy watching the community using them creatively. Please let us know how you are using Gears components.