Quelle est la manière la plus intuitive, utilisable d'entrer dans un moment de la journée ou une durée?

StackOverflow https://stackoverflow.com/questions/670634

Question

Je construis une application ligne de business dans Silverlight et besoin d'obtenir l'utilisateur de modifier deux valeurs .NET TimeSpan. L'un est un moment de la journée (par rapport à minuit) et l'autre est une durée. Actuellement, je suis en utilisant deux zones de texte, au format hh: mm. Ceci est assez simple, mais il pourrait certainement être amélioré. J'ai observé les gens qui utilisent l'application et alors que certains ont pas de problème rapidement entrer dans les temps, d'autres personnes se débattre.

Étant donné que je travaille dans Silverlight2, que verriez-vous que le contrôle personnalisé parfait qui laisse facilement vous visualiser et d'éditer ces deux plages temporelles?

Pour rendre les choses plus difficiles, l'interface utilisateur doit permettre à tout moment de la journée à sélectionner avec précision à la minute, mais mettre l'accent sur les temps dans la journée normale de travail (par exemple: 08h00-17h00). Certains utilisateurs ont tendance à entrer 02h00 (heures) quand ils veulent vraiment dire 14h00.

Dans mon application, je tend à aligner les temps et les durées de 5 minutes d'intervalle. Comme un peu de fond, cette application est similaire à une application de réservation de chambre où les gens précisent quand et combien de temps ils veulent une chambre pour.

Était-ce utile?

La solution

Dans l'une de mes applications web je un curseur avec 2 poignées.

Exemple:

|.........Y-----------------Y...|
         5AM               8PM

Bien sûr, je ne l'ai pas besoin de haute précision comme vous le faites, mais je crois que, avec un peu plus des intervalles de curseur seraient 5min possible.

Pour souligner la journée de travail normale, vous pouvez la couleur de fond du curseur dans une couleur différente pour la journée de travail normale. Ou faire des gestionnaires « snap » pour commencer et à la fin de la journée de travail normale.

Autres conseils

Cela dépend probablement de la façon dont vous avez besoin précis de vos données et comment il peut être différents. Si elle n'a pas besoin d'être parfaitement précis et il ne varie pas beaucoup, vous pouvez faire quelque chose comme

Task was performed at [select start time...] o'clock for [select duration...]

où [sélectionnez l'heure de début ...] est un menu déroulant avec toutes les heures et [sélectionner la durée ...] est un menu déroulant avec des scénarios communs pour ce que vous effectuez le suivi comme « 30 minutes », « 1 heure », " 2 heures "

S'il doit faire preuve de souplesse peut-être juste aller avec la structure de la phrase et de remplacer les pulldowns avec textboxes ferait clairement pour tous les utilisateurs de première fois.

Obtenir la dernière Sliverlight Toolkit et utiliser l'un des nouveaux contrôles orientés temps

Regardez d'Outlook peut-être, il utilise des listes déroulantes que par défaut heures sain d'esprit et demi (pour moi en tout cas;) et les sélections peuvent alors être modifiés manuellement par la suite si une plus grande précision est voulu. La durée suit également lorsque le temps de démarrage est changé, et par défaut à une heure ou quelque chose.

je zones de texte dans une ancienne application web avant tout comme vous, avec l'option supplémentaire de double-cliquant dessus pour faire apparaître un widget de sélection rapide comme l'échantillon Outlook ci-dessus. Peut-être un bouton ou d'une autre magie Silverlight peut améliorer cela.

Une fois en ligne verticale comme un jour de calendrier dans Outlook où vous pouvez faire glisser le haut et le bas d'une réunion « boîte » est pour moi le plus instuitive ou du moins moyen le plus rapide de placer et d'ajuster une réservation. Peut-être que si elle est prérempli avec qui enjambe une heure, facilement draggable pour changer l'heure de début -. Avec le haut et le bas redimensionnable pour modifier la durée

L'expansion de ce que Anthony a dit, Silverlight Toolkit Mars 2009 Communiqué incluent des contrôles et TimePicker TimeUpDown. Vous pouvez voir une démonstration en direct de TimeUpDown et TimePicker avec 2 popups à: http: //silverlight.codeplex. com / Wiki / View.aspx? title = Silverlight% 20Toolkit% 20Overview% 20Part% 201 # TimeUpDown

En fait, je possédais la fonctionnalité et l'API pour définir ce contrôle, donc je suis très bien aujourd'hui familier avec ce qui est la meilleure forme de temps d'entrée. Il y a toute une liste des meilleures pratiques que nous pouvons parler pour l'entrée de temps. Tous sont actuellement faciles à trouver dans les commandes.

Sur certains concepts que nous avons dû innover (comme la fonction « Time IntelliSense »), mais la plupart du temps que nous utilisions de véritables concepts éprouvés de temps. (Sans jeu de mots)

Cependant, dans le cadre des non-objectifs pour ces contrôles pour v1, nous avons décidé de ne pas soutenir des plages de temps. Si vous pensez que le temps varie est quelque chose que nous devrions supporter nativement, ne hésitez pas à suggérer ceci sur CodePlex: http://silverlight.codeplex.com/WorkItem/Create.aspx Nous privilégions activement les éléments en fonction du montant des votes et des scénarios utilisateur appelé dans les questions.

Pour l'instant, je vous suggère d'utiliser seulement 2 TimePickers. (comme visualisations avancées d'une règle de sélection multiple ou un curseur à plusieurs) sont une façon de faire entrée de plage de temps, mais vous devez avoir un système d'entrée de texte mondialisé solide pour une option de repli.

Ceci est un moment idéal pour demander à quelle tâche vos utilisateurs tentent d'accomplir. Vous pouvez concevoir la performance de votre système sur cette base. Dans Outlook, par exemple, les gens entrent habituellement dans le temps parce qu'ils essaient de planifier une réunion - afin que vous puissiez facilement désambiguïser « 2 » ou « 02h00 » à dire 14 heures, parce que très peu d'utilisateurs tentent de planifier des réunions à 2 un m. Cela semble similaire à votre application.

Si vous regardez vos utilisateurs, ils seront probablement programment aussi des temps typiques - ceux-ci devraient être faciles à spécifier dans votre interface. Par exemple, si la plupart des réunions sont 50 minutes, cela devrait être très saillant, peut-être un bouton ou une autre option d'un clic.

Je ne recommanderais pas d'inventer un nouveau widget d'entrée. Le plus standard outil d'entrée, moins vos utilisateurs doivent penser lors de l'utilisation de votre produit. Concentrez-vous sur l'intelligence dans votre logique, déterminer (et montrant à l'utilisateur) ce que vous pensez qu'ils demandent.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top