10.11.2006
Przypadkowe wysłanie emaila
Zdarza się, że osoba pisząca e-mail wyśle go przypadkowo za wcześnie (gdy nie jest ukończony) lub do niewłaściwej osoby.
Za wcześnie - zazwyczaj wtedy, gdy przez przypadek wciśnie się skrót klawiaturowy wysyłający wiadomość.
Do niewłaściwej osoby - gdy podczas wyboru odbiorcy z listy używane są podpowiedzi z bazy adresowej (autouzupełnianie) lub wybiera się odbiorcę z listy i kliknie np. o pozycję za nisko.
W obu przypadkach nadawca jest zirytowany lub przestraszony reakcją drugiej strony; w przypadku działalności firmowej może to być kompromitacja przed klientem czy współpracownikiem. Ponieważ jedno lub drugie zdarza się wbrew pozorom dość często, zastanawiam się, co można na to poradzić.
Obecnie widzę jedną możliwość: gdy ktoś uruchomi wysyłanie, wiadomość nie jest wysyłana od razu - nie jest nawet nawiązywane połączenie z serwerem. Użytkownik może pracować dalej normalnie, natomiast np. na dole ekranu pojawiłoby się dodatkowe okienko (warstwa) z “odliczaniem”, np. 10 sekund. Jeśli program i tak ma własne okno wysyłania wiadomości, jest ono wzbogacone od taki licznik.
W ten sposób użytkownik ma więcej czasu, aby zorientować się w sytuacji i anulować wysyłanie (nie jest to zazwyczaj możliwe np. w Thunderbirdzie, bo wysłanie krótkiego listu trwa nawet ułamek sekundy). Jeśli w tym okienku-komunikacie pokaże się dodatkowo odbiorcę listu (bez tematu, bez treści - tylko odliczanie i odbiorca), to gdy jest on niewłaściwy, istnieje dodatkowa szansa, że zauważona zostanie pomyłka w postaci niewłaściwie dopasowanego odbiorcy.
Wydaje mi się, że sytuacji, w których konieczne jest natychmiastowe wysłanie listu, jest jeszcze mniej. Taki mechanizm przeszkadzałby jednak wówczas. W ostateczności można dodać odpowiedni przycisk “przyspieszający” odliczanie.
Czy widzicie jakieś wady takiego mechanizmu z kilku(nasto) sekundowym odliczaniem? Czy użytkownicy zrozumieliby, po co to jest? Czy rzeczywiście pomogłoby?
Może jest już stosowane w jakimś ze znanych Wam programów pocztowych? A może ktoś z Was zna C i kod Thunderbirda na tyle, aby móc dodać taki mechanizm na próbę?

Może po prostu klejkowanie maili d wysłania?
Kiedy korzystałem z wbudowanego w Operę M2, takie coś miało miejsce. Maile czekały grzecznie w kolejce i dopiero po jakimś czasie były wysyłane.
Jednak dokładnie nie pamiętam, ostatnio tylko GMail
Jeśli chodzi o przedwczesne wysłanie, to IMHO wystarcza okno potwierdzenia wysyłania przy naciśnięciu skrótu (jak w Thunderbirdzie przy Ctrl+Enter).
Zabawniej jest w Outlooku, bo w przypadku gdy w systemie nie ma polskiej klawiatury, to ‘ś’ (alt+s) wysyła wiadomość. Kiedyś u nas nowy pracownik wysłał maila powitalnego do wszystkich, którego treść zawierała jedno słowo - “Cze” i tak przez to że chciał ‘ś’ chłopak zyskał opinię luzaka i czatera ;-))
Może zwyczajnie nie pozwalać kientowi na samowolne łączenie się z serwerem. Wtedy napisałoby się wszystkie wiadomości które są potrzebne, te lądowałyby w folderze ‘Do wysłania’, a po naciśnięciu przycisku Wyślij/Odbierz wszystkie całość poszłaby w eter.
Mój KMail pyta się mnie przed wysłaniem, czy chcę skorzystać z domyślnego serwera SMTP, czy z jakiegoś innego. Chociaż praktycznie zawsze korzystam z domyślnego, to nie wyłączyłem tego okienka i parę razy uchroniło mnie przed wysłaniem niedokończonego listu. Poza tym mogę bez kłopotu przerwać wysyłanie listu lub usunąć z kolejki, choć, oczywiście, jak jest bez załączników (i serwer SMTP od razu przyjmie zlecenie), to nie ma szans, żeby zdążyć.
Twój pomysł wydaje mi się niezły. Taka funkcja nie musiałaby być domyślnie włączona, więc nie sprawiałaby kłopotu ciężkokapującym, a kto choć raz miał problem z przedwcześnie wysłanym lub źle zaadresowanym mailem, na pewno zrozumie, do czego to służy.
Rozwiązanie jest proste: najpierw napisać treść maila, a dopiero potem uzupełnić pole DO…
wzs: nie ma powodu, aby list był wysyłany za 10 minut. Przykładowo, w mojej codziennej pracy niektóre listy mogą spokojnie trafić do odbiorcy choćby i dzień później, ale inne (może 20%, może 50% - zależy od dnia) powinny tam trafić w ciągu minuty - bo np. mówię komuś z biura, że “właśnie wysyłam”. Kilka sekund mogę poczekać (stąd pomysł licznika), kilku minut nie.
Poza tym często NIE ma żadnej kolejki - to byłoby opóźnienie o kilka minut. Problemem nie jest kolejka sama w sobie, tylko jednoczesne:
- pokazanie, że właśnie “coś” zaczyna się wysyłać - i umożliwienie spokojnego anulowania tego wysyłania
- umożliwienie (w typowej sytuacji) dalszej pracy, bo przecież w większości przypadków będzie OK
wadim: używam Ctrl-Enter, i to okienko NIE wystarcza. Choćby dlatego, że Enter wysyła. Potwierdzenie nie jest żadnym zabezpieczeniem, bo wyrabiasz sobie odruchy, aby potwierdzenia pomijać. Mozliwość cofnięcia operacji jest właściwą regułą projektową.
zx: to rozwiązanie też nie wydaje mi się optymalne. Po pierwsze, wymagałoby to zawsze dwóch “potwierdzeń”, aby wysłać email. Po drugie, opóźniałoby go o pewien realny czas bez potrzeby.
Piotr: rzeczywiście, czasem tak robię — może powinienem częściej. Ale czy da się zmienić przyzwyczajenia użytkowników? Może na górze okna wiadomości powinna być treść, a na dole okno odbiorcy?
Trzeba uważać co się robi. ;P
Jak wprowadzisz odliczanie, to pojawi się problem czy aby nie jest za krótkie. Jak wprowadzisz kolejkę, to pojawi się problem niedokładnego przejżenia kolejki i nie ważne ile buforów wprowadzimy co jakiś czas wyślemy wiadomość niedokończoną albo źle zaadresowaną.
Oczywiście wprowadzenie buforów powoduje większy przesiew, ale zajmuje czas.
Natomist pomysł wrzucenia pola adresata na sam dół okienka wydaje mi się całkiem niezły, bo przyzwyczajenie jest takie, żeby uzypełniać pola od góry do dołu.
Jeśli będzie możliwość przyspieszenia, to ludzie nauczą się klikać na ten guzik na ślepo, żeby tylko cholerne okienko zniknęło ;)
Może ustawienie, by np. dla poczty firmowej pytać o potwierdzenie, że chcesz wysłać wiadomość do: lista osób.
Ew. w polu “do” - checkbox przy każdej pozycji - jeśli jesteś pewien to go zaznaczasz.
Jeśli choć przy jednym nie zostanie zaznaczony po kliknięciu wyślij alert.
A niedokończone wiadomości… np. na koniec maila napisać END. W programie funckja sprawdzająca - jeśli jest END o nic nie pytać - jeśli nie ma - alert.
Nieco trudniej niż normalnie, ale kompromitacji można uniknąć. A akurat w korespondencji z klientami byłoby to wskazane.
Oczywiście takie rozwiązanie można uzależnić od tego, czy użytkownik kliknął myszką czy też użył skrótu klawiszowego.
Pozostaje jeszcze kwestia zaimplementowania tego - ale zawsze można to zgłosić na forum Mozilli.
Zgadzam się z Patrysem (vide: pop-up certyfikatów w świecie przeglądarek WWW).
Dodatkowo dorzucę, że jeśli będzie opcja wyłączenia (np. w ustawieniach) tego okienka z odliczaniem, to po kilku e-mailach z oczekiwaniem i użytkownik i tak dojdzie do wniosku, że taka opcja nie jest mu potrzebna - i po prostu ją wyłączy, bo opóźnia jego pracę.
Prawdę mówiąc 10 sec to dużo. Ludzie ponoć po 4 rezygnują z odwiedzenia strony która się nie załadowała.
Wyśle się samo po tych 10 sekundach… możesz czytać inne listy, pisać nowy, cokolwiek. Komunikatolicznik jest sobie na dole ekranu i mruga: 10, 9, 8, … wysyłam. Znika przycisk anulowania, pojawia się pasek postępu wysyłania. Wysłane.
Obraz będzie na tyle widoczny, aby w przypadku nieumyślnego wciśnięcia “wyślij” użytkownik to zauważył, i na tyle nieprzeszkadzający, żeby można było pracować myśląc, że właściwie to już się wysłało. Nie widzę porównania do ładowania strony: gdy otwierasz stronę WWW, to aby pracować dalej z tą stroną (domyślna następna czynność), musisz poczekać na jej załadowanie. Gdy wysłałeś pocztę, domyślną następną czynnością jest zrobienie czegoś zupełnie innego. Odliczanie w tym nie przeszkadza, przynajmniej nie bezpośrednio. Jeśli pośrednio, to nie wiem, w jaki sposób. Nad tym się właśnie zastanawiam.
Może naszkicuję jakieś makiety tego, żeby zilustrować lepiej, o co mi chodzi…
Na to chyba nie bedzie dobrego rozwiązania. Czynnika ludzkiego nie da się wyeliminować.
Jeśli zależy nam na szybkim wysłaniu maila, to kazdy po prostu bedzie chciał to zrobić szybko i tyle. Jakiekolwiek mechanizmy spowalniające tą czynność będą niemile widziane, albo ignorowane.
Myślę, że rozwiązanie z licznikiem czasu jest dobre. czas 10s powinien wystarczyć na zorientowanie się, że mail idzie nie do tej osoby, albo wymaga uzupełnień.
Chyba nie potrzebny jest przyspieszacz.
troche pozno… moznaby wywalic okienko DO. dopiero jak klikniemy na wyslij po apisaniu wiadomsoci, to wyskakuje okienko: podaj mail
stasio: rzeczywiście, to mogłoby być rozwiązanie, jednak są tutaj dwa problemy: po pierwsze jest to BARDZO nietypowe (nagle znika pole “do”, więc skąd ktoś będzie wiedział, że po kliknięciu “wyślij” nagle to się pojawi?), co już chyba dyskwalifikuje ten pomysł :( po drugie ewidentnie wydłuża to ścieżkę wysłania wiadomości (bo po uznanu, że “OK, teraz wysyłam” i kliknięciu “Wyślij” nagle jest nowy monit - “wybierz do kogo chcesz to wysłać”. Odpada.
Thunderbird nie ma takiego ficzeru (o ile mi wiadomo) ale w Outlooku jest takie coś jak opóźnienie maili. Zdefiniować trzeba nowa regułkę w filtrach poczty, zaaplikowaną do poczty wychodzącej i wtedy jest wśród akcji opcja opóźnienia wysyłania maili. Ja używałem 2 minuty i było to dość długo żeby się zorientować a jednocześnie opóźnienie nie było zbyt duże.
Aha, piszę to z pamięci nie mam teraz Outlooka, więc mogłem coś z nazwami pomylić…