Monday, April 24, 2006

Maintaining client-side state but NOT on the client.

So you are writing distributed browser-based application in JavaScript. So you need or want to store some things client-side. Up to now, the best thing to do was to embed a Flash object and use Local Shared Obects to store that information. There are a couple things that aren't optimal about that:

  • Some version of Flash 6+ must be on the client box
  • You're subverting Flash via APIs that will change
  • You're limited to the 100K store-size of Flash (which still beats a 4K cookie)
  • The state is on the client machine

Along comes Les Orchard with a JavaScript wrapper around Amazon's newish S3 information store. Check out S3Ajax.

Think about these cool things:

  • You can store anything in S3, including your images and JavaScript
  • The client pays for the bandwidth and storage for their data
  • Someone else is responsible for backup and uptime
  • The client's data is available everywhere, not just on their machine

No comments: