Laden...

Busy/Wait-Feedback für fensterlose Hintergrund-Anwendung

Erstellt von MrSparkle vor 6 Jahren Letzter Beitrag vor 6 Jahren 1.557 Views
MrSparkle Themenstarter:in
5.657 Beiträge seit 2006
vor 6 Jahren
Busy/Wait-Feedback für fensterlose Hintergrund-Anwendung

Hallo allerseits,

ich habe hier eine fensterlose Desktop-Anwendung, die im Hintergrund läuft und über Hotkeys gesteuert wird. Jetzt gibt es eine Funktion, bei der zwischen dem Drücken des Hotkeys und der Anzeige des Resultats ein paar Sekunden vergehen können. An der Stelle würde ich gerne dem User ein Feedback geben, bspw. in Form eines Wait-Cursors oder eines Spinners.

Da die Anwendung aber in diesem Moment keine Fenster geöffnet hat, habe ich keine Möglichkeit, irgendwo den Spinner einzublenden, oder unabhängig von der Anwendung einen Wait-Cursor anzuzeigen. Ich kenne auch leider kein Programm, das so eine Funktion hat, und von dem ich mich inspirieren lassen könnte. Meine Idee wäre es, ein transparentes Fenster mit einem Spinner an der Position des Mauscursors anzuzeigen. Kennt ihr evtl. eine eleganter Möglichkeit, das umzusetzen?

Weeks of programming can save you hours of planning

D
985 Beiträge seit 2014
vor 6 Jahren

Der Anwender hat ja eine bestimmte Erwartungshaltung. Wenn er etwas auslöst, dann sollte instant eine Reaktion erfolgen.

Wie zeigst du denn das Resultat an? In einem Fenster?

Dann wäre es doch möglich, dieses Fenster schon zu öffnen und dort den Kreisel anzuzeigen.

MrSparkle Themenstarter:in
5.657 Beiträge seit 2006
vor 6 Jahren

Wie zeigst du denn das Resultat an? In einem Fenster?

Nein, leider nicht. Wenn die Aktion erfolgreich war, dann wird bspw. ein Anruf gestartet, entweder mit einer externen Anwendung (Skype for Business) oder einer Telefonanlage. Wenn die Aktion nicht erfolgreich war, dann geht in der Taskbar eine Balloon-Meldung auf.

Eine Variante wäre, beim Starten der Aktion schon einen Balloon anzuzeigen. Aber im Idealfall geht es halt viel zu schnell, um die angezeigte Nachricht zu lesen, bevor die nächste Meldung angezeigt wird.

Weeks of programming can save you hours of planning

D
985 Beiträge seit 2014
vor 6 Jahren

Ok, man kann ein Fenster auch als „Overlay“ anzeigen (semi-transparent und durchklickbar).

Nach einer Zeit von ca. 200ms so ein Fenster anzeigen lassen bis die Aktion abgeschlossen wurde. Dadurch wird bei schnell durchlaufenden Aktionen nichts angezeigt und bei den langsamen kommt eben der Hinweis, der aber die Arbeit nicht stört (je nachdem wie transparent du das machst)

MrSparkle Themenstarter:in
5.657 Beiträge seit 2006
vor 6 Jahren

Ja, das ist die Variante, die ich damit meinte:

ein transparentes Fenster mit einem Spinner an der Position des Mauscursors anzuzeigen.

Das mit der 200ms-Verzögerung ist allerdings eine gute Idee.

Weeks of programming can save you hours of planning

H
523 Beiträge seit 2008
vor 6 Jahren

Ich hatte gerade in Visual Studio noch dieses Fenster "Bitte warten, Aktion wird ausgeführt" (Text kann abweichen), welches nur erscheint wenn eine Aktion länger dauert. Ich habe eine Klasse (im ganzen Projekt) umbenannt, was aufgrund einer gleichzeitig laufenden Datensicherung (selbe Festplatte) länger gedauert hat. Sowas in der Art würde ich als Benutzer erwarten.

6.911 Beiträge seit 2009
vor 6 Jahren

Hallo MrSparkle,

viel zu schnell, um die angezeigte Nachricht zu lesen, bevor die nächste Meldung angezeigt wird.

Du könntest auch die Meldungen als Liste anzeigen, so ist die alte und die nächste sichtbar -- quasi ein Log.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

P
1.090 Beiträge seit 2011
vor 6 Jahren

Ich hab eine VPN Anwendung, die hat in der Taskbar einfach ein Icon, was Grün ist wenn ich eine Verbindung habe, Gelb während des Aufbaus und Rot wenn er nicht gelungen ist. Für mich reicht das als grundlegender Feedback. Und wenn ich mehr Informationen brauche, kann ich über Rechtsklick ein Fenster öffnen, in dem ich in einer RichTextBox dann die letzten Meldungen sehe.

Das reicht vielleicht auch bei dir in der Anwendung um den Nutzer ein Feedback zu geben.

Mit dem Transparenten Fenster unter der Maus, halte ich persönlich vielleicht nicht für sinnvoll. Da der Benutzer gegebenen falls weiter Arbeiten will und es dann irritiert.

Sollte man mal gelesen haben:

Clean Code Developer
Entwurfsmuster
Anti-Pattern

D
985 Beiträge seit 2014
vor 6 Jahren

Unter der Maus hat der IMHO auch nichts zu suchen.

Ich denke da eher an so etwas, was macOS einblendet, wenn man die Lautstärke anpasst oder die Auswurftaste für die CD/DVD betätigt. Angezeigt wird das im unteren Drittel horizontal zentriert.

Wenn ich es mir recht überlege würde ich dieses immer für mindestens für die Zeitdauer x anzeigen, damit auch keiner überrascht wird, warum auf einmal jemand am Telefon ist.