March 9, 2006

ETech 06 - Thursday Notes

Filed under: Conference Notes | Lindsay @ 9:57 pm

Notes from the last day of the ETech conference:

Carsten Bormann - PANIC mode
Persistence of Data with AJAX in Networks with Intermediate Connectivity.
This was an interesting presentation in offering considerations that need to be addressed when building AJAX websites that are used in situations where there is not continual connectivity. And the reality is that all network dependant applications should be built along these guidelines because they should be tolerant when connectivity is unexpectedly cut off, or even just extremely slow.

  • Make the “backup” path the normal path
  • To handle asynchronous updates and concurrency conflicts:
    • Use generation numbers to track/figure out what data is the most recent
    • Use both server based and local based generation numbers to compare against
    • Conflict resolution is up to the application (according to business rules? allow the user to decide? merge or automerge changes?)
  • There will be more limitations on storage for keeping multiple versions of data, or adding the conflict resolution metadata

Storing data in cookies means all changes are saved with every request. This is good because no special code needed to send updates to server, but bad because you’re potentially wasting bandwidth sending the same data over requests.

Steve Yan - Web Apps without the Web
Steve’s presentation was an introduction to the open source libraries offered by his company TrimPath that aid in AJAX development and in particular TrimPath Junction which offers a way to handle data storage locally using pure Javascript.

Traditionally you have only 3 storage options for data locally on the client:

  1. The Dom:The Dom tree stays intact during File->Save As so it can be used to persist your data.
  2. Flash storage: You can save data up to several megabytes using a Flash VM but it requires Flash 8 and pops up a warning at a certian capacity.
  3. IE persistence: There are some facilities built into IE now, but have been vastly ignored because they’re not available in Firefox and other popular browser alternatives (in much the same way that XMLHTTP has been ignored)

You must approach storing data in disconnected apps differently than constantly connected apps:

  • Track deltas in data
  • Do change requests, not changes
  • Changes are inserts only (versions of data)
  • Unique id generation

Trimpath Junction is an MVC Framework for Javascript designed as WORA (write once run anywhere) and able to run with more than one storage provider.

Trimpath uses TQL which is a Javascript, function based substitution for SQL to manage data. It also uses Javascript templates which are enabled using the With statement, which allows you to change the scope of a call during runtime, and so switch whether you are going against the network or a local store.

Steve was just getting into showing us how Trimpath could be used when he ran out of time. I will be looking into it more though because I found TQL and the Javascript Templates intriguing.

Bradley Horowitz - Social Media at Yahoo!
Bradley spoke about some of the history of how Yahoo! got to where it is today and how their focus has morphed since Google appeared and they’ve aquired social sites like Flickr and Del.icio.us.

Yahoo!’s motto now is to “Enable people to find, use, share and expand (FUSE) all human knowledge”.

The most interesting part of the presentation was their perspective on Flickr. Directly from the slides:

User Generated content
Content not licensed from providers such as Corbis or Getty, but rather contributed by by users
User Organized content
Content is tagged, described, organized, discovered, etc., not by editors but by the users themselves
User Distributed content
Flickr acheieved disturibution across the internet, not through “business deals” per se, but rather throught the Flickr community which distributed Flickr content on 3rd party blogs.
User Developed Functionality
Flickr exposed apis (php, pear, etc) that allowed the community of developers to build against the Flickr platform

Flickr is an…
“Entire ecosystem created by less that ten employees aided by millions in the Flickr community.”

I think mainly this is the lesson learned: If you want to have a successful social site you need to encorporate this level of user participation. Or, at least you should use Flickr as a model if you want to get bought by Yahoo! :)

» » » » » »
, , , , ,