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


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
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 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: ,

One thought on “[etech06] Steve Yen (TrimPath) – Web Apps Without the Web”

  1. 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 Reply

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

WordPress.com Logo

You are commenting using your WordPress.com 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