« Playing with the Yahoo! Mail beta | Main | Bookmarklets for meebo »

Comments

barry.b

...which (from a CF and ASP.NET coders point of view) sounds like the death of HTML "web applications" and all the more reason for Flash-based apps.

I've been thinking along similar lines recently as well, especially after reviewing some prototype flash and .NET Avalon apps that do this and sync back to the server when next on-line.

two points:
1) storage - and security - of the local data. How and where, etc. E.G: encrypt the stored data ready for uploading, perhaps?

2)** app security. This might sound a bit contradictory but should the app even work at all if disconnected from the server? what happens if unauthorised ppl get hold of it? can they de-compile the app and then mess with the innards? data collision management?

lots of new questions. new frontier stuff.

Christian, any thoughts on how Flash is positioned in all of this?

cheers
barry.b

** perhaps a download-able .EXE might be better than a SWF. I'm starting to see where the .NET "no touch depolyment" can kick in. Pity I'm jumping on the Apple/Mac band wagon...

Brad Neuberg

I've been experimenting with using a hidden Flash applet scripted using JavaScript to give persistent data storage and offline abilities to AJAX/DHTML applications; internally I use the Flash SharedObject infrastructure. I use the standard Flash plugin methods, such as GetVariable and SetVariable, and fscommands to do communicaton. This gives me access to all platforms that have Flash 6+ installed, except for Safari, where I have to use Flash 8 and ExternalInterface (which has some significant reliability and performance bugs that I have to work around, by the way - see http://codinginparadise.org/weblog/2005/12/serious-bug-in-flash-8.html for details).

I got all of this to an alpha/prototype level with AMASS, the AJAX Massive Storage System, an open source project under a BSD license - see http://codinginparadise.org/projects/storage/README.html for details. I've been able to save and load megabytes of persisted data with excellent performance, way beyond the 4K limit of cookies.

This month and in January I am bringing this work into dojo.storage, an open source AJAX/DHTML toolkit at http://dojotoolkit.org, to bring it to a beta level and make it more reliable; see http://codinginparadise.org/weblog/2005/12/dojostorage-api.html for details.

The end result is once you have a reliable, persistent store for AJAX/DHTML applications you can go to the next level and begin to do interesting kinds of offline access; for an early prototype see http://codinginparadise.org/weblog/2005/10/javascript-sql-database-with-permanent.html for an. For example, if your AJAX/DHTML application models all of its actions using the Command pattern, if the application detects it is offline, using a simple timer that does a heartbeat against the server, then it simply begins to serialize these Commands into the permanent store. Then, when it detects the network has come back up, again from the heartbeat, it can just relay the Commands from the store. If the browser freezes up or locks up before then, you can safely know that your Commands have been persisted and will replay when the application comes back up.

More and more I find that Flash and AJAX/DHTML are a good pair; Flash is really doing alot of the leading edge innovation in terms of browser capability, such as video and audio conferencing and streaming, while AJAX/DHTML seems to be more politically and technologicaly palatable to the alpha geeks and business managers that make technology decisions. They are a good pair.

Brad Neuberg

One of the URLs got mangled above:

http://codinginparadise.org/weblog/2005/10/javascript-sql-database-with-permanent.html

Brad Neuberg

By the way, I don't think it's bad that people are using Flash as a hidden runtime for AJAX/DHTML aps. What is actually happening is its much easier for me to tell a corporate client that we will be using hidden Flash to provide a unique feature for a DHTML application, such as AMASS, then to recommend building the entire UI in Flash, which to many clients is too radical. However, you can think of it as the thin end of the wedge; once Flash is in there, even hidden, it's there, and AJAX/DHTML apps might begin to depend on more and more features, such as faster streaming of data on the Flash side using Sockets. Then, when you want to expose some visible Flash, since it's already there, it gets much easier; for example, I could tell a client that doing advanced video and audio with DHTML really isn't possible, so why don't we just expose a portion of the screen and use Flash Video, surround by the rest of our AJAX/DHTML application, since it's already there and being used for persistent storage? Then, I could show them the webcam and audio boom support in Flash, and pull that in (well, if Flash Communication Server weren't so unbelievably damn expensive, but thats another story.... I'll just have to wait for Red5 to finish).

david

Hi, I'm looking to build a cross platform hybrid online/offline app with the ability to save files. i looked at central but it seems pretty dead. any idea how of where to go for info on best-practices etc?

Christian Cantrell

Keep an eye on Adobe Apollo (search www.macromedia.com for Apollo for the latest news). I think that will be your best bet. Otherwise, I think you'll have to go with a Java solution.

Christian

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been saved. Comments are moderated and will not appear until approved by the author. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

Post a comment

Comments are moderated, and will not appear until the author has approved them.

My Fiction