[etech06] Steve Yen (TrimPath) - Web Apps Without the Web

| | Comments (1)

TrimPage Junction Framework

NumSum - a web-based spreadsheet. A single page app. Allows saving offline, through Save Page As in the browser.

Next Action - GTD to do list app. Nice code viewer in the app.

Persistence Technique 1
Modern browsers keep dhtml DOM tree intact during a File Save Page As

Keep you data in the DOM tree
myHiddenDataDiv.innerHTML=bigString
Whenever user saves the HTML page, you're ok

Might not work in Safari

Persistence Technique 2

Flash 8 Storage
Flash to JavaScript bridge
Seamless!Except, when you hit squantum level storage usage (Brad Neuberg)

Persistence Technique 3

IE'isms
IE persistence
IE offline data
(but nobody uses it)

Persistence Examples

DOM Page Saving Tehcnique
- IddlyWiki & Friends
Num Sum
Next Action

Flash storage technique
AMASS demos, Tiwywiki.

You need Synchronization in addition persistence
- can use data/record level semantics, track deltas, change requests, not changes; INSERTs only; unique ID gen. OR just punt

You also need a client side API - VB style? No - Rails Style? You can get tw write once run anywhere. Do do that you'll need SQL on both sides - we know it on the server, but what about the client? Will Firefox have something?

TrimPath Junction

A MVC Framework for JavaScript
raiels-like API with client-side SQL
Designed for write once run anywhere - server runs Rhino
Designed for pluggable client-side storage.

eval and with in JavaScript - changes dynamic scoping.

Why care about with?

Domain specific mini languages are easy - JSP, ASP, SQL are examples of mini-languages.

HST Templage engine
JST==JavaScript Templates 297 lines of code.

TrimQuery SQL Engine - RexExps to transform SQL to TQL

Technorati Tags: ,

1 Comments

I'm the author of TiwyWiki and saw it mentioned in your post. The client-side storage is not the most important part of TiwyWiki.
The harder part is actually the synchronization with the server. I'd love to get some ideas on how to make this more generic, because my two implementations so far (TiwyWiki and TiwyFeeds) were a lot of work.
Also, TiwyFeeds adds some cross-domain HTTP request capabilities (although still somewhat limited).

Leave a comment

About this Entry

This page contains a single entry by Oren Sreebny published on March 9, 2006 9:32 AM.

[etech06] Disconnection Tolerant Ajax was the previous entry in this blog.

[etech06] Julian RushBleecker (USC) - Pervasive Games is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

About Me
Powered by Movable Type 4.01