Paul Sowden of meebo talked about client-side storage options at the JS Meetup last night.
Great info! Here are my notes:
Client-side storage… more options than cookies
- halfnote [Update: thanks Paul!]
- sticky notes
… not too exciting, but we could do more exciting stuff if we can tackle the x-browser issues. Technology is different per browser, standard has variants.
- Gears: sync’d db, SQL interface, search over the DB, unlimited storage (at least in the beta)
- WHATWG, fr HTML5: Safari 3.1+, WebKit, at least two MB, bit more code,
- FF2+ IE8, WHATWG Global Storage, when values change events are fired, in FF you get up to 5MB, in IE its XML, in FF its an SQLLite DB (allows potentially browser-desktop app) — pretty clean simple code
- userData HTML Behaviors in IE 5.5+, up to 1MB per domain — simplest code
On meebo, they checked out how many people had which available
- 87% Flash (they checked for v8, but this has been available since Flash Player 6, so ymmv)
- 74% have native storage
- gears in the single digits
Note: 97% have one of those, 96% had cookies enabled!
- Persist.js – normalize API, just key-value gears
Note: global storage has widest adoption, but global storage actually has been taken out of the specification!
[Update: slides from this talk have been posted on slideshare]
Jon Boutelle of slideshare.net spoke at the JS Meetup last night. He reported a refreshing perspective about the choice between Flash and Ajax on websites today: you quite possibly need both. He made the analogy to having a hammer and a saw — you need both to build a house. (By the way if you haven’t checked out slideshare is is way cool. See a collection of Jon’s presentations or mine). Notes below:
Keep Flash on a leash, only use it for what its really good at
- you have to work extra to get SEO — slideshare puts the transcript of slides at the bottom of the page
- advocates Flash nuggets — I love this term!
- Full screen is nice — use it for good, not for evil
- – graphics goodies: fonts, vectors, multimedia, recording audio/video, multimedia editing, widgets (don’t worry about layout, but SEO sucks)
- – upload progress bars
- – sockets! comet is cool, but server-side push — libraries w/ Ruby (443)
- – local dataObjects “super cookies” — you can ask the user to save 1GB
- – Flex: 125KB download for the framework
- tabs (conserve real-estate)
- Accordians (aks Tab sliders) — like tabs only sideways
- Microlinks – expando-tabs
- One second mutation — animated transition: control the user’s attention, they see that the small thing becomes the big thing
- Popups — use with discretion, since you occlude part of the screen
- Malleable content (e.g. edit in place)
- progress indicators
- One second spotlight, famous yellow fade popularized from 37signals, tests well, makes people happy
- Temp message: show message, fade away: don’t leave a permanent mark on the page (sometime doesn’t test well since people miss it)
What the world needs is Ajax/Flash cross-over artists. Flash doesn’t kill people, people kill people. Can’t we all get along?
Answer from the audience: zooming would be hard in javascirpt