Showing posts with label experiments. Show all posts
Showing posts with label experiments. Show all posts

Speeding Up WordPress With Gears




WordPress.com just recently went live with Gears support for accelerating the user-interface, and the upcoming WordPress 2.6 release will also bundle Gears.

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:

I thoroughly enjoyed working with Gears. After checking the excellent API documentation and examples, the test implementation of a ManagedResourceStore in WordPress was ready to go in about an hour.

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.

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.

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.

The Gears support is already live on WordPress.com, and is included in the next version of the self-hosted WordPress, that is due in a few days.


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.

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.