Přístupnostní navigace
E-application
Search Search Close
Master's Thesis
Author of thesis: Ing. Jan Zimola
Acad. year: 2024/2025
Supervisor: Ing. Jiří Hynek, Ph.D.
Reviewer: Ing. Kristýna Zaklová
This thesis lays the groundwork for future cross-platform support and user collaboration in TimeNoder2. It introduces two synchronization strategies: one for a single user across multiple devices, based on the WatermelonDB protocol, and another for multi-user collaboration across devices, utilizing the existing PowerSync synchronization framework. A key contribution is the implementation of shared documents with conflict resolution and full offline capability, built upon the AppFlowy editor. The project also extends TimeNoder2 to WearOS using Flutter, resulting in a standalone smartwatch application with persistent offline functionality. This design addresses several limitations found in existing smartwatch apps, such as TickTick and Focus ToDo.
Synchronization protocols, conflict-free replicated data types, collaborative editing, smartwatch applications, WearOS development, Flutter framework, offline-first design, PowerSync, WatermelonDB protocol
Date of defence
23.06.2025
Result of the defence
Defended (thesis was successfully defended)
Grading
C
Process of defence
Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm C.
Topics for thesis defence
Language of thesis
English
Faculty
Fakulta informačních technologií
Department
Department of Information Systems
Study programme
Information Technology and Artificial Intelligence (MITAI)
Specialization
Application Development (NADE)
Composition of Committee
prof. Ing. Tomáš Hruška, CSc. (předseda) Ing. Vladimír Bartík, Ph.D. (člen) doc. Mgr. Adam Rogalewicz, Ph.D. (člen) Ing. Vladimír Veselý, Ph.D. (člen) Ing. Jan Pluskal, Ph.D. (člen) Ing. Tomáš Goldmann, Ph.D. (člen)
Supervisor’s reportIng. Jiří Hynek, Ph.D.
Student řešil rozsáhlé téma, v kterém se podařilo najít, implementovat a otestovat principy řešení všech požadovaných problémů. Oceňuji, že se student rozhodl psát práci v anglickém jazyce. Navrhuji hodnocení stupněm C.
Zadání vzniklo jako nápad studenta rozšířit mobilní aplikaci TimeNoder2, která původně vznikla v rámci bakalářské práce studenta [1] a kterou dále rozvíjel jako svůj osobní projekt. Úkolem bylo rozšířit řešení o podporu synchronizace dat mezi více zařízeními, více uživateli a také zajistit podporu spuštění a synchronizace na chytrých hodinkách. Mimo jiné se student rozhodl řešit synchronizaci dokumentů. Práci pojal více jako rešerši a rozhodl se prozkoumat různé přístupy, např. koncept CRDT (Conflict-free replicated data type). Náročnost zadání hodnotím jako průměrnou, nicméně vyžadovanou práci z důvodu velikosti datového modelu aplikace TimeNoder2 jako rozsáhlou. Student proto implementoval jednotlivé koncepty, demonstrující řešení, které aplikoval na podmnožinu datového modelu. Nepokryl celý datový model aplikace. Z hlediska diplomové práce to nicméně považuji za dostačující.[1] ZIMOLA, Jan. Smart Task Planner. Brno, 2023. Bakalářská práce. Vysoké učení technické v Brně, Fakulta informačních technologií. Vedoucí práce: Ing. Jiří Hynek, Ph.D.
Práce byla dokončována na posledních chvíli a její finální obsah by si zasloužil lepší prostor pro konzultování.
Výsledky současně představují spíše tzv. proof of concept. Po pokrytí celého datového modelu by je bylo potenciálně možné začlenit do uveřejněné aplikace TimeNoder2 dostupné na Google Play.
Student si aktivně dohledával literaturu týkající se zejména použitých technologií a problematiky lokalizace v reálném čase.
Student byl až na některá krátká období aktivní během celého akademického roku. Rád bych vyzdvihl jeho samostatnost a schopnost řešit netriviální problémy.
Grade proposed by supervisor: C
Reviewer’s reportIng. Kristýna Zaklová
Student prostudoval vybranou problematiku a navrhl, implementoval i demonstroval řešení, které splňuje vytyčené cíle. S ohledem na výše uvedené výhrady navrhuji hodnocení stupněm C.
Evaluation level: zadání téměř splněno s drobnými výhradami
Zadání považuji za splněné. Textová část práce obsahuje informace, které pokrývají všechny body zadání, s výjimkou bodu 2, z něhož nebyl popsán hardware pro chytré hodinky. Diskutabilní je bod 5, neboť z hlediska synchronizace byly implementovány pouze ukázky jednotlivých konceptů, které nebyly zcela integrovány do vyvíjené aplikace. S tím souvisí i bod 6, část řešení nebylo možné otestovat v reálném prostředí. Výstupy však rozsahem odpovídají diplomové práci.
Evaluation level: je v obvyklém rozmezí
Práce má 71 stran včetně seznamu literatury, rozsah technické zprávy splňuje předepsané požadavky.
Struktura technické zprávy se skládá z osmi kapitol. Zpráva má logické členění a její obsah je vhodně rozdělen. V nadpisech v sekci 2.4 se zbytečně opakuje název “Existing Time-Management Applications”. Nad sekcí 4.1 chybí úvodní text a bylo by vhodnější výchozí stav aplikace lépe představit a nenutit čtenáře zkoumat první verzi v bakalářské práci autora. Dále v praktické části postrádám obrázek architektury celého řešení (původní aplikace, nové výstupy atd.). Nešťastný je úvod šesté kapitoly, kde autor uvádí, že navržené výstupy není možné ihned implementovat, tato kapitola tedy nenavazuje na kapitolu předchozí.
Technická zpráva je psaná angličtinou na dobré úrovni a neobsahuje zjevné chyby. Po jazykové i typografické stránce je text také na dobré úrovni.
Práce se odkazuje celkem na 69 zdrojů, část tvoří vědecké publikace, ale velkou část tvoří také webové zdroje. Šest zdrojů zahrnuje videa z YouTube, která nepovažuji za vhodné hlavní zdroje informací, příklad nevhodného použití je na konci sekce 2.2.
Realizační výstup zahrnuje aplikaci TimeNoder2 pro chytré hodinky s operačním systémem WearOS. Z hlediska plánování a synchronizace úkolů byly implementovány dva přístupy – jeden založený na protokolu WatermelonDB pro jednoho uživatele na více zařízeních, druhý využívající synchronizační rámec PowerSync pro spolupráci více uživatelů na různých zařízeních. Dále byl vytvořen plugin pro Appflowy editor pro synchronizaci dokumentů mezi zařízeními.
Aplikace TimeNoder2 je dostupná na Google Play a vytvořené výstupy pro plánování a synchronizaci úkolů jsou do ní potenciálně integrovatelné.
Evaluation level: průměrně obtížné zadání
Zadání práce hodnotím jako průměrně obtížné. Student prostudoval problematiku plánování a synchronizace úkolů. Dále se zabýval technologií chytrých hodinek, přičemž se soustředil především na využívané operační systémy. V praktické části navázal na svou bakalářskou práci, v rámci níž vytvořil mobilní aplikaci pro inteligentní plánování úkolů. Tato aplikace měla být rozšířena o synchronizaci mezi zařízeními a uživateli, a dále měla být vytvořena varianta aplikace pro chytré hodinky. Výsledné řešení mělo být otestováno v reálném prostředí.
Grade proposed by reviewer: C
Responsibility: Mgr. et Mgr. Hana Odstrčilová