it-swarm.com.de

Wie man es beim Filtern nach Zeit deutlich macht

Ich habe eine einfache App, die für meine Arbeit sehr spezifisch ist, aber im Allgemeinen können Benutzer Daten für ein bestimmtes 'Ticket' abfragen, indem sie einige Parameter mithilfe von Kombinationsfeldern/Textfeldern festlegen und dann auf die Schaltfläche "Senden" klicken, um die Ergebnisse abzurufen eine Datenbank und zeigt sie in einem Raster.

Die Daten sind zeitkritisch und in Datumsreihenfolge angeordnet, wobei die neuesten Daten oben angezeigt werden. Eine Funktion der App ist das Vergrößern einer bestimmten Zeitscheibe innerhalb der Daten. Daher habe ich zwei benutzerdefinierte Zeitauswahl-Steuerelemente für Startzeit/Endzeit erstellt, die beim Bearbeiten die Zeilen in der Daten dynamisch filtern Gitter, so dass nur die Daten innerhalb der Zeitscheibe angezeigt werden.

Ich dachte dann, es wäre gut, die Start-/Endzeiten der Zeitscheibe in die eigentliche Datenbankabfrage einzubeziehen, damit die Abfrage nur die Daten innerhalb der Zeitscheibe zurückgibt, da dies die Abfragezeiten und das Laden drastisch verbessern würde, aber dies verursacht Probleme mit der Benutzerfreundlichkeit, da die Zeitscheibe jedes Mal aktualisiert oder zurückgesetzt werden muss, wenn der Benutzer die Daten aktualisieren oder nach einem anderen Ticket fragen möchte, da sonst der Filter weiterhin angewendet wird.

Die einfache Option besteht darin, die Zeitscheibe vollständig aus der Abfrage zu entfernen und die großen Ladezeiten bei jeder Aktualisierung der Daten für ein bestimmtes Ticket zu verursachen.

Aber ich habe mich gefragt, ob jemand auf ein ähnliches Problem gestoßen ist oder ob jemand Ideen hat, den Zeitscheibenfilter in der Abfrage beizubehalten, aber deutlich zu machen, wann er aktualisiert/zurückgesetzt werden muss usw.

PDATE : Etwas mehr Hintergrund - Die Daten auf diesen 'Tickets' werden in Echtzeit gesammelt. Sobald der Benutzer zum Zeitpunkt T eine erste Abfrage durchführt, ist es sehr wahrscheinlich, dass er diese abfragen möchte Ticket erneut bei T + 1 und so weiter bei T + N, um sicherzustellen, dass sie die aktuellsten Daten erhalten. Hier ist ein Szenario, um mein Usability-Problem zu erklären:

  • Zum Zeitpunkt T fragt der Benutzer die Ticket-ID: 1 ab und erhält ALLE Daten.
  • Sie verwenden die Zeitmesser, um eine Zeitscheibe festzulegen, die andere Daten herausfiltert.
  • Einige Minuten später tritt ein Ereignis auf, das sich auf den Status von Ticket 1 auswirken kann. Daher möchte der Benutzer seine Daten aktualisieren.
  • Problem Die Zeitscheibe wurde festgelegt und ist Teil der Abfrage, sodass der Benutzer nur die Daten sieht, die er zuvor hatte.
  • Ich muss dem Benutzer erklären, ob er die Zeitscheibe entweder manuell zurücksetzen oder die Endzeit in Zukunft beliebig festlegen soll, damit die Abfrage alle neuen Zeilen erfasst.

Dieser letzte Punkt ist das Problem. Für den Benutzer ist es nicht offensichtlich, dass er die Zeitscheibe bei jeder neuen Anforderung zurücksetzen muss. Außerdem ist es schwierig, dies tun zu müssen. Daher benötige ich eine Art visuelle Anzeige, um ihn zu alarmieren. OR eine clevere Methode, um zu erkennen, dass es sich lediglich um eine Aktualisierungsabfrage handelt und nicht um eine Abfrage zum Laden aller Daten, und die Abfrage automatisch zu ändern.

Wenn ein Benutzer ein Ticket mit einer anderen ID abfragen möchte, kann ich die Zeitscheibe automatisch zurücksetzen, wenn der Benutzer das Textfeld bearbeitet, in dem die ID festgelegt ist.

1
cjroebuck

Eine Möglichkeit wäre Google Analytics (das Kalender-Widget filtert die Ergebnisse) und die visuellen Filter für die Daten von den "Zeitfiltern". Dies würde für statische Seiten in Ordnung funktionieren.

Sie können auch einige Live-Updates bereitstellen:

  1. benutzer legt Filter fest
  2. zeitintervall ändern
  3. anfrage senden
  4. ergebnisse erhalten
  5. zeigen Sie ein Feld mit der Meldung "Neue Daten/Tickets sind verfügbar; neu laden" an, wenn zwischen dem ausgewählten Enddatum und dem aktuellen Datum neue Daten liegen

Live-Updates sind sinnvoll, wenn Sie in relativ kurzer Zeit viele wichtige Updates erhalten.

Hoffe das hilft

0
Liviu A

Die "Zeit", nach der Sie filtern, ist die Zeit, zu der die Daten generiert werden?

(d. h. im folgenden Fall würden diese Lösungen nicht funktionieren: Ich habe einen Filter auf "alle Ereignisse von gestern" gesetzt, und während ich abfrage, werden neue Ereignisse mit einem Zeitstempel von gestern generiert.)

Ideen:

  1. Standardfilter = "Alle Ereignisse nach Datum/Uhrzeit ".

  2. 12 neue Ereignisse seit Ihrer letzten Abfrage. Klicken Sie hier, um einzuschließen

2
peterchen

Es hört sich so an, als hätten Sie eine allgemeine Vorstellung davon, wie Ihr Zeitscheibenverhalten verwaltet werden sollte. Wenn Sie dies in einer Reihe von Regeln kodifizieren, können Sie den gleichen Effekt erhalten, als würden Sie die Zeitscheibe nicht auf die Abfrage anwenden. Aus Sicht der Softwareentwicklung ist es immer eine gute Idee, sogenannte "Fensterabfragen" bereitzustellen. Im Wesentlichen bedeutet dies, dass Sie die Datenbank nicht nach mehr fragen, als Sie jederzeit anzeigen können.

Was das Markieren der Benutzeroberfläche anbelangt, dass bestimmte Filterregeln gelten, gibt es eine Kombination von Techniken, die ich in früheren Projekten verwendet habe. Sie sind unten aufgeführt.

Breadcrumb-Filter : Es ist sehr effektiv, einen Breadcrumb-Trail zu haben, in dem die jeweils gültigen Filterregeln angezeigt werden. Für diese Art von Ansatz ist es auch wichtig, eine Abbrechen Schaltfläche (wie ein 'x'-Symbol) bereitzustellen, um diese Filterkriterien zu entfernen, aber den Rest beizubehalten. Beispiel: Newegg.com (Der Link führt zu einer Abfrage für einen bestimmten Laufwerkstyp. Spielen Sie mit dem Breadcrumb-Trail.).

Scope Panel : Ähnlich wie der Breadcrumb-Filter, jedoch unterschiedlich in der Darstellung. Manchmal haben Sie bestimmte Regeln oder eine Hierarchie für einige Elemente in Ihrem Bereich, und Sie möchten, dass Benutzer verschiedene Teile der Abfrage separat steuern. Ich kenne keine Live-Beispiele im Internet, daher muss ich sie beschreiben. Mit meiner App konnten Benutzer Nachrichten nach Zeit, Ort und Thema filtern. Wir brauchten die Benutzer, um die drei Aspekte des Filters getrennt steuern zu können, und sowohl Standort als auch Thema hatten eine Hierarchie. Der Breadcrumb-Filter funktionierte dafür nicht, da dem Benutzer nicht klar war, was passieren würde, wenn wir auf einen Link in der Hierarchie für den Ort/das Thema klicken würden. Durch die Darstellung als drei unabhängige Filterkriterien wurde dem Benutzer klar, was er sah und wie er es ändern konnte. Für die hierarchischen Informationen haben wir die Breadcrumb-Idee für diese Zeile beibehalten. Die Zeit war eine separate Linie, und wir hatten vier Optionen: letzte Woche, letzter Monat, letztes Jahr, zwischen x und y.

Hervorhebungsbereich : Wenn es einen bestimmten Teil der Abfrage gibt, auf den Sie aufmerksam machen möchten, ist es hilfreich, ihn visuell vom Rest zu unterscheiden. Sie möchten eine Kombination aus Farbe und grafischem Element verwenden, z. B. um den angezeigten Kriterien ein farbiges Leuchten hinzuzufügen. Rot ist bei weitem die auffälligste Farbe, aber es ist auch mit Fehlern, Stopps und allgemeinen Problemen verbunden. Möglicherweise möchten Sie eine andere Farbe als diese auswählen (z. B. Blau oder eine zusätzliche Farbe für den Hintergrund).

0
Berin Loritsch

Möglicherweise möchten Sie ein "Benachrichtigungs" -Symbol in Betracht ziehen, das angibt, dass die aktuelle Zeitscheibe nicht die neuesten Daten enthält. Ähnlich wie beim Anmelden im Facebook und beim Anzeigen eines kleinen roten, abgerundeten Quadrats mit einer Zahl, die angibt, wie viele neue Benachrichtigungen Sie seit dem letzten Besuch erhalten haben. Sie können auch die Idee von "rollenden Zeitscheiben" in Betracht ziehen, etwa "letzte 24 Stunden, letzte 48 Stunden usw.".

0
ThatSteveGuy