Przeskocz do treści

Dramat zwany EduPortal

W dobie COVID-19 firmy produkujące oprogramowanie do zdalnego prowadzenia szkoły lub studiów odcinają kupony od sukcesu, jak oszalałe. Jedną z takich firm jest Asseco Data Systems S.A. i jego produkt -- EduPortal. Używam go od zaledwie tygodnia i nie nadążam z otwieraniem oczu coraz szerzej, na widok stada ordynarnych błędów, jakie spotyka się w tym systemie na każdym kroku.

By było zabawniej, to wersja, z której korzystam w połowie października 2020 r. miała datę wydania -- 10 czerwca. Od przeszło czterech miesięcy, mimo owych licznych błędów, Asseco nie wpadło na pomysł by wydać jakąkolwiek poprawkę.

Wygląda więc na to, że Asseco postanowiło swój zespół QA przebranżowić na dodatkowy zespół sprzedawców. I za absurdalnie grubą kasiurę sprzedawać swój dziurawy i badziewiasty produkt na potęgę, w ogóle owymi dziurami i błędami, ani tym bardziej ich poprawianiem, się nie przejmując.

Żeby nie było... Niniejszy artykuł nie jest zwykłym tylko sobie ględzeniem. Każdy z tych błędów został zgłoszony do Asseco (na ogólny adres kontaktowy). Zgłoszenie zostało olane sikiem prostym przez firmę i pozostawione bez odzewu!

Oto lista błędów, które znalazłem w ciągu zaledwie tygodnia.

Crème de la crème

Na początek wisienka na torcie. Na głównej stronie wirtualnych spotkań, na liście widzisz i masz dostęp do wszystkich wirtualnych spotkań swojej uczelni. Również tych, które są częścią przedmiotu, do którego nie masz dostępu.

Gdy wejdziesz w szczegóły takiego wydarzenia wirtualnego, to -- w zależności od tego, czy spotkanie jest przypisane do jakiegoś przedmiotu, czy nie -- strzałka "Powrót" wiedzie albo do listy wirtualnych spotkań:

...i wówczas jej kliknięcie nie jest "groźne".

Może też prowadzić do przedmiotu (do którego nie masz dostępu!):

Wówczas jej kliknięcie artystycznie wywala cały EduPortal:

Element ścieżki szkoleniowej może też prowadzić (pod klawiszem "Powrót") do nic nikomu niemówiącej listy jakichś wyników:

Wówczas kliknięcie go... nie powoduje żadnego efektu.

Fakt, że firma tej klasy wypuściła na rynek produkt z czymś takim świadczy tylko o jednym -- że firma ta ma głęboko w dupie swoich użytkowników, a testerów zatrudnia z Marsa. Bo nawet Chińczycy i Hindusi by coś takiego wychwycili.

Kontrola ważności sesji

Połowa funkcji -- np. usuwanie wiadomości -- nie ma w ogóle podpiętej kontroli ważności sesji. Nie ma też oczywiście żadnego nadrzędnego mechanizmu, który by to sprawdzał i ostrzegał o tym użytkownika (słynne: "Twoja sesja wygaśnie za... Kliknij tutaj, żeby ją przedłużyć"). Bo, po co?

Jeśli więc sesja logowania ulegnie przeterminowaniu -- w skutek zbyt długiego czasu bezczynności użytkownika -- to EduPortal w ogóle tego nie zauważy. Kliknięcie w większość klawiszy (tych, które wywołują requesty AJAX) pozostanie bez efektu. A użytkownik będzie zastanawiał się, o co kaman. Jedynie "duże" funkcje -- takie, które wymagają przeładowania strony lub przejścia pod inny adres -- są w stanie łaskawie zauważyć, że sesja "wyleciała" i wyświetlić użytkownikowi stronę logowania.

Wirtualne spotkania

Kiedy tworzysz spotkania wirtualne, to musisz ich daty wpisywać sobie do tytułu.

Czemu? Ano, dlatego, że dział UX Asseco czytał książki o UX po rusku mimo, że nie znają tego języka. I przez to wpadł na iście diabelski pomysł. Ich zdaniem, zamiast pokazywać fundamentalną wartość, jaką jest data rozpoczęcia danego spotkania, dużo sensownie jest wyświetlać na liście zupełnie bezwartościową informację, jaką jest data ostatniej modyfikacji danego elementu.

Dramat! Ale jak widać poniżej, produkt ten ma liczne problemy z UX.

Mało tego... Jeśli wybierze się inną platformę dla wirtualnego spotkania, inną niż domyślna, darmowa i kiepska BigBlueButton, np. Microsoft Teams, to za pierwszym razem konieczne będzie zalogowanie się do konta.

Jeśli to się z jakiegoś powodu nie uda (np. błędny login lub hasło) to EduPortal nie jest w stanie takiej sytuacji przechwycić i...

...raczy użytkownika "never-ending spinnerem". Konieczne jest przeładowanie strony przez F5. Oczywiście wszystkie ustawienia dodawanego właśnie spoktania wirtualnego idą w piach i dodawanie go trzeba zaczynać od początku.

Kończę zanim zacznę...

Przeciętnie inteligentny człowiek wie, że spotkanie wirtualne nie może skończyć się wcześniej niż się zaczęło. W Asseco tego nie wiedzą. Gdy zmieniasz datę rozpoczęcia spotkania, na jakąś w przyszłości, to data zakończenia owego spotkania pozostaje niezmieniona, ustawiona na datę bieżącą.

W efekcie widzisz bullshit tego rodzaju:

Jakby tego było mało, sam mechanizm sprawdzania daty mają napisany tak badziewiasto, że czasami:

  • wyświetla powyższy błąd przy obu polach,
  • "zakleszcza" się i nie znika mimo wprowadzenia poprawnych zakresów dat.

W efekcie klawisz "Zapisz" pozostaje nieaktywny czasem nawet wtedy, gdy daty i godziny są perfekcyjnie prawidłowe.

Pole opcjonalne... ale nie!

4. Kiedy dodajesz pliki do sekcji "Materiały" danego spotkania wirtualnego, to pole "Nazwa" jest opcjonalne:

Okazuje się jednak, że nie jest. Jeśli pozostawisz je puste -- plik zostanie przesłany na serwer, ale pójdzie w piach. Nie zostanie dodany do spotkania, a lista materiałów pozostanie niezmieniona.

Po pachy ubawiło mnie natomiast odkrycie, czemu się tak dzieje. Otóż, te głupki, które pracują w Asseco nie ogarniają, że skoro przesyłasz do portalu plik o nazwie "nazwa.txt" to chciałbyś, żeby twoi studenci pobierali go pod nazwą... "nazwa.txt". Nie, to byłoby za proste...

Zamiast tego, te niecne cwaniaki wymyśliły taki sobie oto algorytm:

  • z nazwy przesłanego pliku weź tylko rozszerzenie,
  • jako nazwę pliku użyj... wartości wprowadzonej przez użytkownika do pola "Nazwa".

Efekty? Dość oczywiste... Nie dość, że użytkownik ma dodatkową robotę (polegającą na określeniu nazwy pliku, pod jaką będzie on dostępny w wirtualnym spotkaniu) to jeszcze, jeśli ją pominie, to dodanie pliku nie będzie możliwe. System bowiem głupieje i nie potrafi dodać do materiałów spotkania pliku o pustej nazwie (jeśli pole "Nazwa" pozostało puste).

Trzeba mieć naprawdę diaboliczny umysł (albo raczej... diabolicznie pokrzywiony rozum), żeby coś takiego wymyślić...

Wsparcie dla wielu plików... ale nie!

Pole "Plik" w powyższym przykładzie / oknie ma w opisie tekst "Upuść pliki tutaj (...)". Nawet jełop założyłby, że można przesyłać więcej niż jeden plik na raz.

Nic bardziej błędnego. Przesyłać kilka plików na raz oczywiście można, ale do listy materiałów zostaje dodany zawsze tylko jeden -- ostatni z grupy przesłanych plików.

Ponowna edycja

Gigantycznym wprost idiotyzmem jest fakt, że nie można edytować pewnych pól obiektu po jego utworzeniu. Przykłady takich pól:

  • mechanizm telekonferencji (Zoom, Teams, BigBlueButton itp.) na spotkaniu wirtualnym,
  • opcja "Czy automatycznie nagrywać?" na wirtualnym spotkaniu,
  • pola "Data od" i "Data do" na liście obecności,
  • pole "Skala oceniania" na przedmiocie.

Jeśli zapomnisz ich ustawić lub zmienisz zdanie później, to jedynym wyjściem jest usunięcie całego obiektu (co w przypadku przedmiotu może być naprawdę wielkim bólem w dupie) i stworzenie go od nowa. Z jakiegoś powodu pola te pozostają tylko do odczytu w trakcie edycji parametrów danego obiektu.

Magiczne listy obecności

W portalu istnieje taki obiekt jak "Lista obecności". Każda taka lista może składać się z dowolnej ilości zajęć. Sugeruje to, że tworzysz jedną listę obecności na przedmiot i w ramach niej dodajesz sobie kolejne zajęcia, prawda?

Nic bardziej mylnego! Mędrcy Asseco wymyślili, że przypisywanie poszczególnych grup uczniów będzie na poziomie listy obecności, a nie na poziomie listy zajęć.

Jeśli więc masz kilka grup i każdą z nich przypiszesz do tej jednej listy obecności (bo do poszczególnych zajęć nie możesz), to każdych zajęciach będziesz miał komplet uczestników. Aby to "obejść", konieczne jest tworzenie tylu list obecności, ile masz faktycznych zajęć, a każda z list obecności tylko z jednymi zajęciami.

Dla przykładowego przedmiotu uniwersyteckiego, składającego się z czterech wykładów wspólnych i dwunastu zajęć laboratoryjnych, każde z inną grupą, konieczne jest więc dodanie w EduPortal do tego przedmiotu... szesnastu obiektów typu "Lista obecności". Koszmar!

Zostaw komentarz