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
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).
LikeLike