Key Web App Standard Approaches Consensus 143
suraj.sun tips a report up at CNet which begins:
"Browser makers, grappling with outmoded technology and a vision to rebuild the Web as a foundation for applications, have begun converging on a seemingly basic but very important element of cloud computing. That ability is called local storage, and the new mechanism is called Indexed DB. Indexed DB, proposed by Oracle and initially called WebSimpleDB, is largely just a prototype at this stage, not something Web programmers can use yet. But already it's won endorsements from Microsoft, Mozilla, and Google, and together, Internet Explorer, Firefox, and Chrome account for more than 90 percent of the usage on the Net today. 'Indexed DB is interesting to both Firefox and Microsoft, so if we get to the point where we prototype it and want to ship it, it will have very wide availability,' said Chris Blizzard, director of evangelism for Mozilla. ... Microsoft publicly endorsed Indexed DB on its IE blog: 'Together with Mozilla, we're excited about a new design for local storage called Indexed DB. We think this is a great solution for the Web,' said program manager Adrian Bateman."
Golden age of the web set to continue (Score:3, Informative)
Personally the new web technology that I'm most keen to get my hands on is the pushState/replaceState [mozilla.org] stuff that is going to be in the next release of Firefox after 3.6. It makes it much easier to deal with forward/back in AJAX web apps
More on topic, it is good to see Microsoft looking to implement new web technologies again.... if they implement much of HTML5 and they seem to be doing that now and this new Indexed DB stuff it looks like the Golden Age of the web will continue for some time.
The Web is not the Net. (Score:5, Informative)
> ...Internet Explorer, Firefox, and Chrome account for more than 90 percent
> of the usage on the Net...
The Web is not the Net.
Re:That sounds great. (Score:3, Informative)
Re:I must have missed something (Score:5, Informative)
Yes, and I've already written apps using it. Safari supports the html5 local storage pretty well, including in the iPhone.
I, too, am unsure how this differs from other new local db storage techniques.
What's missing, by the way, in my opinion, to make these REALLY useful, is a simple javascript call to determin if you are currently web connected, something like isNetConnected() found in some applications. This would let you customize the option you present to the user (ie, you can only sync your data when you're web connected).
Re:I must have missed something (Score:3, Informative)
Why? Just make a request to your webserver. Even if you are connected to the "Internet", if you can't access your server you won't be able to sync.
Re:Need to decouple Javascript before it's too lat (Score:3, Informative)
Want to innovate by using a functional language to bring your solution to market faster? No can do.
That's not entirely true - you could write in Haskell and compile to JavaScript [haskell.org].
Re:I must have missed something (Score:3, Informative)
But the browser doesn't know how your app works! What about if your domain is accessible, but the URLs that provide the webservice your app needs isn't?
You'd have to provide an URL anyway, so the abstracted code would be something like:
function isNetConnected(url) {
request.open("GET", url, false);
request.send(null);
return (request.status == 200):
}
I don't find this to be "REALLY useful".
Re:I must have missed something (Score:2, Informative)
What's missing, by the way, in my opinion, to make these REALLY useful, is a simple javascript call to determine if you are currently web connected.
You mean something like
var online = navigator.onLine
as defined in http://www.w3.org/TR/offline-webapps/#related [w3.org] ?
Dynamic Scoping? (Score:3, Informative)
It has some real weaknesses for sure (dynamic scoping!).
Of all the things to pick on... dynamic scoping? Javascript'd be a harder language to work in without it... you'd essentially be getting rid of closures.
Re:I must have missed something (Score:1, Informative)
I'm drunk, but you're stupid. What if you lose connection after checking whether you have one?
The only real solution (which you'll have to implement regardless of whatever user-friendly shit you do) is to handle connection errors every step of the way. Some isNetConnected() function might do what you want, but if the user leaves the area of his 802.11 connection, you still have to deal with it.