

Ask HN:  How would you handle this design dilemma? - edw519

I'm having a dilemma where 2 of my cardinal design philosphies are at odds with each other.<p>Guideline #1.  Anytime data is entered into a textbox, it should be acted upon immediately.  If it's invalid, it should be rejected NOW.  If it affects other data on the screen, that data should be changed NOW.  If it causes navigation, that navigation should happen NOW.  Note that this is not your standard "fill out a form hit Submit" logic.<p>Guideline #2.  If the user wants to navigate somewhere, that should also happen NOW.  If he clicks on a link, he should be taken there NOW.  If he wants to change his view, that should happen NOW.  If he wants to enter another field, he should just click there and his focus should move NOW.<p>What should I do if my user enters data that requires some action AND wants to navigate <i>at the same time</i>?  Which is more urgent, dealing with the data entered or going where he wants to go?<p>For example, he enters invalid data in a textbox, but before hitting "Tab" or "Enter" he clicks on a link.  Or he clicks on another field on the page.  Should I make him deal with the invalid data now, then navigate?  Or should I navigate and hold that data in suspense?   Or should I navigate and discard the text box entry altogether?<p>I know this sounds trivial, but lately it's driving me nuts.<p>Any thoughts?
======
qhoxie
I agree that navigation is generally paramount, but some considerations:

I don't think that silently discarding the data is the best option. Depeding
on the flow of the site, it is possible that notifying them that data will be
lost is an option, but also a hinderance to their navigation. Based on that,
something to explore would be saving the data to be repopulated when/if they
return to the form. Obviously that can be a lot more complex than it sounds,
so it would take some planning to make it fluid.

~~~
edw519
_saving the data to be repopulated when/if they return to the form_

I think this is my best option. I hate dialog boxes.

My only concern would be the user wondering where that data came from. But,
then again, _he's_ the one who entered it in the first place, so now he has to
deal with it. Maybe a tooltip explanation at this point would help.

Thanks all for the great feedback!

------
aston
In general, I think navigation trumps everything. Assuming the user knows
they're navigating, they're expressing intent to leave whatever they're
currently in. Any roadblocks will be an annoyance.

------
blogimus
Is the data in the text box to be validated only when leaving the box, or
during typing (I'm not assuming browser or native application here)?

As qhoxie mentioned, not simply discarding but warning the user or saving a
cache if the text box contains more than a simple few characters.

When/if the user returns to the page/panel/dialog, scope is immediately
brought back to the "unfinished" box and validation can continue.

------
solost
If you are using some sort of enter button to have the user submit their data
and they fail to do so before navigating away from the page, then navigation
should happen and the data in the text box should be lost.

Otherwise the text box data should be acted upon as soon as the user hits the
submit button.

------
jds527
Suggestion:

Alert box/modal window/whatever: "This will discard the information you
entered in [xxx]. Continue?" a la Safari's "Are you sure you want to reload
this page? You have entered text on ... If you reload the page, your changes
will be lost ... reload anyway?".

------
gstar
How does the design of your site work? Can you persist the data into the pages
that they navigate to?

~~~
edw519
yes

