Skip to Navigation | Skip to Content



Archive for the ‘robotreplay’ Category

Comparing JavaScript Compression Techniques | January 26th, 2008

I was doing some research on compression techniques to know what to recommend to customers and found this interesting resource:

CompressorRater

http://compressorrater.thruhere.net/

It runs your JavaScript resource through a variety of different compressors including YUI, JSMin, ShrinkSafe, and of course gZIP and shows a chart with the results. Here is a sample chart for the compression of our new (unreleased) RobotReplay script:

(Note to dave,dre: this includes non-production debug code)

Posted in robotreplay, web development | 3 Comments » | Add to Delicious | Digg It

Compression IN JavaScript (not OF JavaScript) | January 10th, 2008

So I was looking into in-browser compression for my RobotReplay work..

This is actually a really hard thing to Google because of the confusion with gZipping JavaScript resources for lower file sizes on the web. That particular problem is easy to solve and commonplace. What’s really unique and interesting to me are the applications of gZipping content in JavaScript for offline storage or delayed transmission, or for compressing Ajax requests over an uncompressed connection. It could also be a little useful for the purposes of encoding your data from prying eyes.

Why we might want to perform gZip compression in a JavaScript program:

  • Reduce data footprint before storing in offline storage (IE UserData, Flash SharedObject storage, sessionStorage, globalStorage, Google Gears, etc etc) since all of these have limits to how much you can store.
  • Reducing bandwidth requirements for transmitting large amounts of data via an Ajax or cross-domain XHR request.

I can’t think of any others right now but I found this showing a working proof of concept of LZ77 (gZip) compression in JavaScript. There are some ‘catches’, however.

This was only really useful if you are compressing large-ish amounts of data (10K+) or the benefits derived from compression don’t outweigh the costs, which are: larger footprint for your JavaScript program, the inherent hassle of dealing with compressed data, and also performance.

Also, this proof of concept really illustrates how SLOW JavaScript is in general. Even compressing small amounts of data can take several seconds. So I wanted to find a better way to do this. So I worked on finding another (better) way to compress the data.

Then I had an idea.. what about using Flash to do the same thing and then use ExternalInterface to marshal between your JavaScript program and the Flash movie? It was worth an experiment.

So here is a demo showing compression of text data using the same algorithm in JavaScript and AS2 (Flash 9) via external Interface.

Note: in the chart below, smaller is better.

Again the demo is here: http://blogs.nitobi.com/alexei/demos/compression/index.htm

Download the source here: http://blogs.nitobi.com/alexei/demos/compression/nitobi_js_compression.zip

Posted in flash, flex, resources, robotreplay | 9 Comments » | Add to Delicious | Digg It

RobotReplay on Ajaxian | July 13th, 2007

It was great to get some exposure today on Ajaxian for RobotReplay.

We’ve had tonnes of feedback and a laundry-list of things to fix in RobotReplay, so we’ll be doing a re-launch in about 6 weeks.

Posted in robotreplay | No Comments » | Add to Delicious | Digg It

RobotReplay Plugin for Drupal! | June 1st, 2007

Joe has posted a great little plugin for Drupal to easily add RobotReplay functionality to your site! Go check it out:

http://drupal.org/project/robotreplay

Posted in components, robotreplay | 1 Comment » | Add to Delicious | Digg It

RobotReplay Video Interview | May 11th, 2007

When Andre was at the Web2.0 Expo in San Fran, he got the chance to chat with Mike Macdonald from WebProNews about Nitobi and RobotReplay. Interesting 7 minute interview!

Posted in business, robotreplay, web development, web2.0 | No Comments » | Add to Delicious | Digg It


Search Posts

You are currently browsing the archives for the Uncategorized category.

Archives

Categories

LinkedIn Profile

  • My Profile


My ideal work culture:
[See my summary] [What's yours?]