Респондент: Юрій Кадіров – студент факультету електроніки та комп’ютерних технологій, автор ідеї та розробник застосунка “UniSched”.
Спілкувалася: Юлія Васьків – фахівець Відділу маркетингу і комунікації ЛНУ ім. І. Франка.
Зовсім нещодавно студент факультету електроніки та комп’ютерних технологій Юрій Кадіров звернувся до Центру маркетингу та розвитку із ідеєю презентувати для академічної спільноти Львівського університету застосунок “UniSched”. Ця розробка – універсальний помічник для викладачів та здобувачів освіти, адже дає змогу в онлайн- чи офлайн-режимі подивитися розклад занять на день, два чи навіть тиждень, а також має такі додаткові віджети, як прогноз погоди, актуальні новини університету за тиждень та перевірені збори для наших ЗСУ. Застосунок доступний у вебверсії, а також для ОС “Android”, проте незабаром ми також плануємо представити варіант для системи “IOS”. Щиро віримо, що цей крутий проєкт стане в пригоді нашій університетській родині, а зараз пропонуємо вам до прочитання інтерв’ю з автором та втілювачем ідеї Юрієм, який розповів про цікавинки та етапи запуску цієї розробки.
З чого все почалося? Як тобі прийшла ідея розробити цей застосунок?
Певне бажання зробити «розклад у смартфоні» з’явилося у мене ще під час навчання на бакалавраті. Тоді на моєму факультеті (електроніки та комп’ютерних технологій – ред.) використовувався власний вебзастосунок із розкладом занять, який, на жаль, не був адаптований для використання на мобільних пристроях. Студенти інших факультетів навіть про це могли лише мріяти, адже у кращому випадку отримували розклад у формі таблиць в Excel. Я, як і багато моїх однокурсників, бажав це змінити, але часу завжди бракувало.
Вдруге вогник запалився на початку цього семестру, коли побачив звістку, що мій та багато інших факультетів перейшли на використання вебзастосунка з розкладом занять, який є частиною системи «Деканат». Заразом я шукав застосунок на смартфон, куди можна було б занести розклад занять одночасно для двох спеціальностей: «Комп’ютерні науки» і «Мікро- та наносистемна техніка» – за якими я здобуваю освіту на магістерському рівні з вересня цього року. На жаль (чи на велике щастя, як зараз виявилося), зручного і, головне, безкоштовного варіанту я тоді не знайшов. Тож взяв все у свої руки й почав роботу над проєктом.
З яких етапів складався запуск цього проєкту?
На початку про жоден «запуск» не було й мови. Я всього лиш зробив PWA-застосунок (тобто вебзастосунок, який можна встановити на смартфон – ред.) для особистого використання, яким поділився з кількома друзями, що побачили, як я ним користуюсь. За кілька днів мені подзвонив знайомий викладач з іншого факультету й поскаржився, що кілька його студентів на лекції обговорювали цей застосунок. Сказав і про те, що чомусь у ньому немає однієї з його пар. Саме в цей момент я зрозумів, що мені варто поділитись своїм доробком з іншими…
Оприлюднив посилання, запросив всіх охочих підписників свого каналу в Telegram до тестування, додав у застосунок збір статистики відвідувань, і весь наступний тиждень ходив під враженням побаченого: понад 100 активних користувачів щодня. Тож я почав активніше займатися цим проєктом. Спочатку звернувся до проректора з науково-педагогічної роботи та інформатизації Віталія Михайловича Кухарського за порадою щодо того, як краще “видобувати” дані про розклад занять з системи «Деканат», адже досі робив це, не побоюся цього виразу, «варварським способом» 😂. Завдяки його допомозі налагодив зв’язок із представниками ПП «Політек-СОФТ», яке є автором вже згаданої системи. Так мій застосунок із розкладом занять став надавати більше корисної інформації про кожну пару у зручному для користувачів вигляді.
Віталій Михайлович тоді дав мені цінну пораду – масштабувати проєкт і на інші заклади вищої освіти. Для цього я вирішив перенести ідею до Громадської організації «Верховний Порядок», яку я очолюю, аби розв’язати питання щодо фінансування та можливості співпраці з іншими закладами вищої освіти. Тоді ж проєкт «переїхав» на домен https://unisched.download/, отримав багато корисних функцій, з’явилися плани для публікації застосунка на Google Play, що, до речі, не так давно було реалізовано завдяки донатам як студентів, так і викладачів нашого університету. Щиро вдячний їм за це!
На якому з етапів було найважче?
Завжди чи не найважчим етапом у «житті» кожного проєкту є запуск. Адже саме тоді вирішується доля проєкту, і це рішення ухвалюють самі користувачі, які можуть як вподобати продукт, так і повністю його проігнорувати. На цьому етапі дуже важливо збирати зворотний зв’язок про проєкт, опрацьовувати повідомлення про проблеми, недосконалості, побажання користувачів – тобто робити свій продукт зручнішим, швидшим і безпечнішим, привабливим для цільової аудиторії, яка у випадку з “UniSched” складається зі студентства та викладачів Львівського університету.
Ще одним складним викликом є розміщення додатка у магазинах для мобільних пристроїв, як-от Google Play чи App Store. Якщо з першим все доволі легко: платиш $25 USD при реєстрації свого облікового запису, і після цього можеш оприлюднювати скільки завгодно додатків, що я і зробив завдяки фінансовій підтримці від студентів і викладачів – користувачів UniSched – то з App Store (магазин додатків для iPhone та інших пристроїв Apple – ред.) є багато нюансів: потрібно мати комп’ютер чи ноутбук на MacOS, а також iPhone для публікації застосунка. До того ж потрібно сплачувати щорічну комісію у розмірі $99 USD для того, щоб розміщувати застосунки в їхньому магазині. Маю сервери від HPE вдома (наприклад, HPE ProLiant DL560 Gen8: https://sirkadirov.substack.com/p/homelab-part1), але з технікою Apple не дружу, тож потрібно шукати обхідні шляхи: наприклад, користуватися можливістю відвідувати лабораторію від Indeema Software та Vakoms, яку минулоріч відкрили на нашому факультеті, а також шукати друзів та знайомих, у кого вже є доступ до аккаунта розробника в App Store.
Загалом всі труднощі вирішувані. Головне у всьому цьому – не забувати про волонтерство, громадську діяльність і навчання на двох магістратурах 😅. Про відпочинок нічого не скажу, бо навіть часу про нього згадувати немає.
Які основні функції та можливості цей застосунок надає студентам та викладачам?
Перша і найважливіша – UniSched надає можливість переглядати розклад занять навіть без доступу до мережі “Інтернет”. Заходиш у застосунок – і розклад на наступні два тижні вже у пам’яті твого смартфона. У застосунку ти можеш вибрати свою підгрупу, щоб бачити лише її та спільні для усіх підгруп пари, можеш слідкувати за розкладом своїх викладачів, однокурсників, друзів, колег, студентів.
Крім цього, у додатку недавно з’явилося багато корисних функцій, про які просили самі студенти й викладачі. Серед них:
Маленька приємність – актуальний прогноз погоди на кожен навчальний день, який я додав для своєї зручності, а в результаті ним із задоволенням користуються студенти. Не знаю, чи впливає це якось на відвідуваність пар у дні з поганою погодою, хоч цікаво було б побачити таку статистику 😏!
Останні новини й анонси подій в університеті – аби не втрачати круті можливості для неформальної освіти, розвитку, стажування, отримання ґрантів та міжнародних стипендій. Про нашу Перемогу теж обов’язково повідомимо у застосунку.
До речі, про важливе: замість реклами якихось нікому не потрібних «суперпропозицій», у застосунку будуть анонси перевірених зборів на потреби наших Воїнів ЗСУ, зокрема й студентів і працівників нашого університету, які взяли зброю до рук, аби захистити Україну від російського вторгнення.
Цього семестру застосунком можуть користуватися студенти таких факультетів:
Вірю, що вже наступного семестру застосунком зможуть користуватися студенти й викладачі усіх факультетів нашого університету. Адже це дуже зручно!
Які технології було використано при розробці цього продукта?
Це моя улюблена частина як ІТ-вця. Сам вебзастосунок написано мовою C#, використано платформу ASP.NET Core Blazor разом з UI бібліотекою MudBlazor та іншими вільно розповсюджуваними бібліотеками, які роблять застосунок UniSched швидким і зручним. Також він використовує Web API, доступні у більшості сучасних вебпереглядачів, аби користувачі не відчували різниці між вебзастосунком і звичними для них мобільними версіями. Для того, щоб UniSched можна було встановити на тих платформах, де немає Google Play, використовується технологія PWA, яка дозволяє встановити сайт як застосунок.
Серверна частина додатка написана мовою PHP, використовує легковісний і надшвидкий фреймворк Leaf, можливості curl, а також систему кешування. Для захисту від можливих DoS атак і додаткового рівня розподіленого кешування (тобто для пришвидшення отримання відповідей від сервера з різних країн і регіонів) використовується сервіс CloudFlare.
Для того, щоб отримувати дані про розклад занять з системи «Деканат», а також перелік студентських груп, викладачів, аудиторій та іншу інформацію про освітній процес, використовується спеціальне API, надане розробниками системи. Саме тому в UniSched завжди відображається актуальна інформація.
Чи використовується зворотний зв’язок від користувачів для вдосконалення UniSched? Як це відбувається?
Звичайно ж! Багато функцій застосунка з’явилися саме завдяки відгукам користувачів, їхнім побажанням та зауваженням. Особлива вдячність студентству та викладачам мого факультету, а також колективу Центру маркетингу та розвитку, завдяки яким ця розробка перетворилася на справжнього помічника для всіх учасників освітнього процесу.
Комунікація з користувачами відбувається через відгуки у Google Play, а також через чати у соціальних мережах, які можна знайти на сторінці «Про програму», або на сайті https://unisched.download/. Надалі будуть проводитися короткі опитування в самому застосунку і нашому каналі в Telegram: https://t.me/unisched, що допоможе значно удосконалити проєкт.
Ще хочу поділитися невеликою історією: кілька разів отримував відгуки досить нестандартним методом – невеликим, проте таким важливим донатом на розвиток проєкту, разом з коментарем, де було прохання реалізувати функцію, виправити помилку. Приємні несподіванки!
Яким ти бачиш майбутнє розвитку онлайн-сервісів у ЛНУ ім. І. Франка?
Безпечним. Адже безпека особистої інформації є вкрай важливою для всіх українців у тих реаліях, у яких наша країна живе ще з 2014 року. Ще тоді росія збирала інформацію про лідерів громадської думки, активістів, волонтерів – усіх, хто міг стати на заваді їхнім планам окупувати й знищити нашу країну. Згадуючи минулорічні витоки даних і масовані атаки різних видів, які здійснювали російські спецслужби, «розстрільні» списки волонтерів та активістів, чиї домівки слід «навідати» в першу чергу, всі ті жахіття, які побачив весь світ з початку повномасштабного вторгнення і те, що кожен з нас пережив за цей час, ми повинні ще більше замислюватися про безпеку даних в мережі “Інтернет”.
Зручність не завжди дорівнює безпеці. Іноді мусимо йти на компроміси щодо зручності й швидкості виконання якихось дій, аби підвищити рівень безпеки, не дати і шансу зловмисникам вкрасти чиїсь дані. І це стосується не лише державного сектору, де, на жаль, досі зручність ставлять вище за безпеку, але й тих онлайнових сервісів, що впроваджують заклади освіти.
Тут ще можна згадати про атаки на мережеву інфраструктуру нашого університету, які відбувалися перед та під час візиту до Львівського університету великого друга України Бориса Джонсона. Завдяки професіоналізму працівників Центру мережевих технологій та ІТ-підтримки тоді вдалося і зберегти дані користувачів, і повністю відбити атаку. І після цього було прийняте дуже важливе рішення – зменшити можливу «поверхню» для атак, тобто видалити всі невикористовувані сервіси, модулі, плагіни – все, що не потрібно саме зараз, аби зменшити вірогідність проникнення і викрадення чутливої інформації.
Саме тому мій проєкт “UniSched” не зберігає дані користувачів у мене на серверах, а натомість розміщує їх у пам’яті пристрою, на якому користувач взаємодіє із застосунком і використовує ці дані лише в реальному часі, тобто для виконання конкретних завдань, пов’язаних із діями користувача. Єдине, куди передаються дані, та й те – лише статистичні, це Google Analytics. Використовую цей сервіс для того, щоб розуміти, якими частинами застосунка студенти та викладачі користуються більше, якими – менше, що можна покращити, а що – виправити.
Такими й хочу бачити ті сервіси, які будуть впроваджуватися в нашому університеті надалі. Дуже позитивно ставлюся до введення єдиної системи авторизації через Microsoft Azure Active Directory, до єдиної системи електронного документообігу, і впевнений у тому, що ті проєкти, про які знаю, про які чув, які бачив навіть краєчком ока, будуть безпечними та водночас зручними для студентства і працівників моєї Alma Mater. Щиро сподіваюся, що у мене буде можливість зробити свій внесок у розвиток цифрової інфраструктури університету, зокрема завдяки проєкту “UniSched”.