I think the desire for this kind of project is very reasonably based, and it looks like you have done great work on most of the implementation. I have one gripe with it, though.
It would be nice if the documentation mentioned that garlic.js requires an HTML5 browser with localStorage implemented. Remember, there are people who are still using Internet Explorer 6 and 7, and these browsers are incompatible [1]. This is a minor details considering browser marketshare, but a fallback using cookies would be a nice-to-have feature.
I get the sentiment here but considering this is an enhancement to the user experience that IE6/7 users will never know they missed out on either way...
You don't need to backport everything, only the critical stuff.
I disagree to a certain extent. I don't believe in catering to the possible 5% [1] market share that will not upgrade their browsers. Anything that strongly suggests people to upgrade is better, imo. I don't care for the entire notion of including everybody when it calls for more code bloat and makes the code more difficult to maintain or upgrade.
This library solves a problem and solves it well. The local storage issue should be left up to other libraries who are designed to solve that gripe. :-)
I figure those folks using IE 6 or 7 are used to a lackluster internet experience. Little perks like this are not critical features and can be foregone for this small userbase.
Oh, I was totally unaware of this one. Never mind, it clearly shows that there's a lack here on this browser behavior. My project is juste a few hours pet project. I'll try to maintain it and make it as advanced & usefull as sisyphus, for fun :)
Is there a way to differentiate between data that's only saved using Garlic (local) vs data that's also been saved to the server? This could be a huge confusion for users if there isn't.
I agree with this. Outside of explicitly signaling to users that they have a saved 'draft' of the form, and having them click a button on the page to restore their filled out fields from the draft, there aren't really very many sane implementations.
Some other issues:
- doesn't work in IE
- saved data doesn't expire
- Storage keys aren't unique to the URL, so if two pages have the same exact layout, but different content, identical forms on the page will be filled out with stored information.
So it's a good concept, but I think that there are definitely some questions about user privacy, and that it needs to be paired with some extra UI cues that make it clear to the user that they're looking at draft information, and not something that's saved.
Should add an option for users to disable this (like remember me on login forms)... not good for public computers if you don't know the form you just filled in but didn't submit will retain the data. Other than that, cool!
Persisting localStorage seems to be controlled by the setting to delete cookies after exiting the browser. If i have it set to delete cookies, it deletes localStorage. if i allow it to keep cookies after quitting the browser, then it persists localStorage.
(Noticed this because the demo failed for me the first time.)
I had this same thought, but I think it would just be best to use these sort of plugins wisely, and not on every form element possible. Or to maybe have some sort of form "note/tip" that mentions it's being auto saved. Sites like Quora do this via drafts of your comments/responses that you write. That way people know to erase the content if they truly don't want it saved.
Like many UX features similar to this, I would say it mainly comes down to who your audience is, and where it's being used on how "weirded out" users would feel by this feature.
Pretty cool - another very similar option that comes in the form of a jQuery plugin that I just noticed in the [new] section of HN.... https://github.com/simsalabim/sisyphus - It looks pretty slick.
As a side note do not use the Bootstrap class .well together with .row cause it overflow because of padding. Create this structure: div.row > div.well > the content.
It's not standard because people frequently do things like type a credit card number into a form on a public computer. Lots of potential for privacy breaches.
[+] [-] fruchtose|13 years ago|reply
It would be nice if the documentation mentioned that garlic.js requires an HTML5 browser with localStorage implemented. Remember, there are people who are still using Internet Explorer 6 and 7, and these browsers are incompatible [1]. This is a minor details considering browser marketshare, but a fallback using cookies would be a nice-to-have feature.
Besides that, awesome work!
[1] http://www.quirksmode.org/dom/html5.html#t00
[+] [-] paulirish|13 years ago|reply
[1] http://gs.statcounter.com/#browser_version_partially_combine...
[+] [-] dmethvin|13 years ago|reply
[+] [-] recuter|13 years ago|reply
You don't need to backport everything, only the critical stuff.
[+] [-] gildas|13 years ago|reply
[+] [-] guillaumepotier|13 years ago|reply
I'll definitely re-work on both the code and the doc. I've read that there is a kind of localStorage portage for IE8- that I'll look into.
Currently, if the browser does not support localStorage, the plugin auto-disable.
Best
[+] [-] twmb|13 years ago|reply
[1] http://theie7countdown.com/
[+] [-] ErrantX|13 years ago|reply
[+] [-] ErikD|13 years ago|reply
[1] http://msdn.microsoft.com/en-us/library/ms533007%28v=vs.85%2...
[+] [-] Hawkee|13 years ago|reply
[+] [-] daymun|13 years ago|reply
[+] [-] flyingyeti|13 years ago|reply
[+] [-] qohen|13 years ago|reply
https://github.com/guillaumepotier/Garlic.js
Another link worth knowing about -- perhaps even more so, since there are demos there:
http://garlicjs.org
[+] [-] LearnYouALisp|13 years ago|reply
This is a huge problem, and is the reason I've had Lazarus installed for a few years now.
https://addons.mozilla.org/en-us/firefox/addon/lazarus-form-...
Apparently it exists for Chrome now, too.
[+] [-] mikeash|13 years ago|reply
[+] [-] anothermachine|13 years ago|reply
[+] [-] 5vforest|13 years ago|reply
[+] [-] guillaumepotier|13 years ago|reply
[+] [-] pyrotechnick|13 years ago|reply
[+] [-] stevoyoung|13 years ago|reply
[+] [-] condiment|13 years ago|reply
Some other issues: - doesn't work in IE - saved data doesn't expire - Storage keys aren't unique to the URL, so if two pages have the same exact layout, but different content, identical forms on the page will be filled out with stored information.
So it's a good concept, but I think that there are definitely some questions about user privacy, and that it needs to be paired with some extra UI cues that make it clear to the user that they're looking at draft information, and not something that's saved.
[+] [-] guillaumepotier|13 years ago|reply
[+] [-] ryankirkman|13 years ago|reply
[+] [-] mmanfrin|13 years ago|reply
[+] [-] bookcasey|13 years ago|reply
[+] [-] pyrotechnick|13 years ago|reply
You passed.
[+] [-] RBerenguel|13 years ago|reply
[+] [-] pratyushmittal|13 years ago|reply
[+] [-] salman89|13 years ago|reply
[+] [-] wildgift|13 years ago|reply
(Noticed this because the demo failed for me the first time.)
[+] [-] baseh|13 years ago|reply
[+] [-] astro1138|13 years ago|reply
[+] [-] bluetidepro|13 years ago|reply
Like many UX features similar to this, I would say it mainly comes down to who your audience is, and where it's being used on how "weirded out" users would feel by this feature.
[+] [-] mkelley|13 years ago|reply
[+] [-] guillaumepotier|13 years ago|reply
Please, could you update the link of this post to http://garlicjs.org?
Thx!
[+] [-] program|13 years ago|reply
[+] [-] minervauk|13 years ago|reply
http://www.bonsoni.com/post_ad.php
[+] [-] guillaumepotier|13 years ago|reply
[+] [-] anothermachine|13 years ago|reply
[+] [-] skndr|13 years ago|reply
[+] [-] kornnflake|13 years ago|reply
[+] [-] copypasteweb|13 years ago|reply
[+] [-] csmatt|13 years ago|reply
Good job!
[+] [-] ceejayoz|13 years ago|reply