Impending Evaluation of Doloto

For the past year I’ve talked about a tool coming from Microsoft called DolotoDoloto is an optimization tool for AJAX applications. Doloto makes AJAX applications run faster by stubbing out unnecessary code so that the application can start fast, and then downloading the necessary code on-demand if it is actually needed. This way application execution and code download is interleaved. It also means that with Doloto, rarely used code is rarely downloaded. I’m not sure if this could really apply to our code base, but it’s worth taking a look and evaluating.

It’s hard to say what Doloto is. If you take a look at this recent briefing, you get the sense that it could be a browser performance solution, but really it’s a server side optimization framework. It looks like Doloto takes large JavaScript functions and decomposes them into smaller pseudo code blocks which can be downloaded on demand. As you dig deeper, it looks like Doloto is simply some form of optimization proxy between the browser and the application server.

According to this blog Doloto does the following:

  1. Doloto profiles your application. Doloto performs profiling by running a local proxy on your machine that intercepts JavaScript files and instruments them to capture timestamps at runtime for every JavaScript function in a browser-independent manner.
  2. Profiling information is used to calculate code coverage and a clustering strategy. This determines which functions are stubbed out and which are not and groups functions into batches which are downloaded together, called clusters.
  3. Doloto rewrites JavaScript code. It then saves it to disk so that you can upload it to the server. The entire process happens on your machine, without needing access to the server. This way, you can profile and optimize the JavaScript of a any third-party site without special access to their servers. When you are satisfied with Doloto’s results, you can deploy the rewritten files to the server.

What am I Looking to Do?

First, I want someone to get a better understanding about what exactly Doloto is. Second, I would love for someone to play around with it, set it up and design a few experiments that make use of it. It could be that we find out very quickly that our application will struggle to work inside of a Doloto proxy and subsequently fail to leverage the advice coming from the profile.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s