Bachelor's Thesis

Application for Creating Extended User Interfaces Using Floating Windows

Final Thesis 1.08 MB

Author of thesis: Bc. Jakub Šediba

Acad. year: 2023/2024

Supervisor: Ing. Jiří Hynek, Ph.D.

Reviewer: Ing. Kristýna Zaklová

Abstract:

This thesis aims to address problems related to the necessity to often switch active windows to access information from external sources while working. These problems are addressed by creating a modular cross-platform application for Windows and Linux operating systems. This application allows users to develop multi-window modules which can then be combined to create a desired extended user interface overlaid above other windows. Outside of this functionality, access to automation through global keyboard shortcuts, file-system monitoring and input device simulation is provided. The developed application uses the Tauri framework and a combination of web technologies with the Rust programming language.

Keywords:

Cross-platform Application, Extended User Interfaces, Modular Appliaction, Desktop Web Application, Floating Windows, Automation, Web Technologies, Tauri, Rust

Date of defence

11.06.2024

Result of the defence

Defended (thesis was successfully defended)

znamkaAznamka

Grading

A

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 A.

Topics for thesis defence

  1. V sekci 4.1 uvádíte jako uživatele aplikace běžné uživatele a vývojáře modulů. Mohl byste upřesnit, o jaké skupiny lidí se jedná a doplnit nějaké konkrétní případy použití?
  2. V závěru práce uvádíte jako nedostatek nemožnost přidání nových modulů do aplikace po instalaci. Jakým způsobem by bylo řešitelné přidávání modulů bez nutnosti překladu?
  3. Jak je možné dostat se do existující aplikace?

Language of thesis

Slovak

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

doc. Ing. František Zbořil, Ph.D. (předseda)
Ing. Libor Polčák, Ph.D. (člen)
doc. Mgr. Lukáš Holík, Ph.D. (člen)
doc. Ing. Vítězslav Beran, Ph.D. (člen)
Ing. Radek Hranický, Ph.D. (člen)

Supervisor’s report
Ing. Jiří Hynek, Ph.D.

Student k práci přistupoval svědomitě. Výstupy byly publikovány. Navrhuji hodnocení stupněm A.

Evaluation criteria Verbal classification
Informace k zadání

Práce vznikla jako nápad studenta vytvořit multiplatformní aplikaci poskytující možnost tvorby vlastních plovoucích oken umožnujících interakci s externími zdroji informací (čtení/zápis z/do souborů, reakce na události operačního systému apod.). Pro tyto účely student prostudoval problematiku zobrazovacích systémů a správců oken, principy tvorby multiplatformních aplikací (Tauri, Rust) a webové technologie (TypeScript, React, CSS, HTML). Zadání považuji za obtížnější. Bylo splněno ve všech jeho bodech.

Práce s literaturou

Student si aktivně dohledával odbornou literaturu týkající se problematiky plovoucích oken a použitých technologií.

Aktivita během řešení, konzultace, komunikace

Student komunikoval během celého akademického roku formou pravidelných online konzultací. Byl schopen samostatně řešit netriviální problémy.

Aktivita při dokončování

Technická zpráva byla dokončována na poslední chvíli. Praktické výstupy byly dokončeny s předstihem a testovány.

Publikační činnost, ocenění

Výstupy byly prezentovány na studentské konferenci Excel@FIT 2024 a zdrojové kódy uveřejněny na platformě Github.

Points proposed by supervisor: 90
Display more

Grade proposed by supervisor: A

Reviewer’s report
Ing. Kristýna Zaklová

Student důkladně prostudoval vybranou problematiku a navrhl, implementoval i otestoval aplikaci, pro niž si vybral zajímavé technologie (Tauri, Rust a webové technologie). Výstupy studenta hodnotím jako nadprůměrné a navrhuji celkové hodnocení stupněm A.

Evaluation criteria Verbal classification Points
Náročnost zadání

Evaluation level: obtížnější zadání

Zadání práce hodnotím jako obtížnější. Student musel prostudovat problematiku tvorby multiplatformních desktopových aplikací, odchytávání událostí na jednotlivých operačních systémech a technologie k tomu určené.

Prezentační úroveň technické zprávy

Struktura technické zprávy se skládá z osmi kapitol. Zpráva má logické členění a její obsah je vhodně rozdělen. V textu práce jsou často poznámky pod čarou s odkazy na zmiňované projekty, technologie apod. Jako mírně problematickou hodnotím kapitolu 6, která místy zabředává až do přílišných detailů (např. popis datových typů, funkcí a jejich parametrů).

85
Formální úprava technické zprávy

Po jazykové stránce je technická zpráva na dobré úrovni, text je srozumitelný a bez zjevných chyb. Z typografického hlediska je práce standardní, v některých částech zprávy se vyskytují krátké odstavce, bílá místa nebo chybí nedělitelné mezery. Schémata byla přeložena do slovenštiny a jsou řádně odkazována z textu.

90
Realizační výstup

Realizačním výstupem je multiplatformní aplikace, která umožňuje vytváření modulů uživatelského rozhraní, jejichž cílem je zobrazování externích zdrojů v plovoucích oknech nad primární aplikací. Vytvořená aplikace řeší nutnost častého přepínání aktivních oken a dále poskytuje možnost automatizace založené např. na podpoře globálních klávesových zkratek pro zavolání funkcí. Funkcionalita aplikace byla demonstrována pěti moduly, které byly řádně otestovány.

95
Využitelnost výsledků

Řešení obsahuje několik modulů uživatelského rozhraní demonstrujících použití aplikace. V případě rozšíření aplikace mezi cílové uživatele si umím představit její rozšiřování o další moduly pro různé účely. Zdrojové kódy práce jsou součástí veřejného repozitáře a práce byla prezentována na studentské konferenci Excel@FIT 2024.

Rozsah splnění požadavků zadání

Evaluation level: zadání splněno

Zadání považuji za splněné. Textová část práce obsahuje informace, které pokrývají všechny body zadání. Z osnovy i samotných kapitol je znát mírná nevyváženost mezi teoretickou a praktickou částí, druhá je podrobnější. Uživatelské rozhraní aplikace je ukázáno pouze na obrázku 6.8, v kapitole s návrhem mohly být rozepsány jednotlivé části a jejich funkce.

Rozsah technické zprávy

Evaluation level: je v obvyklém rozmezí

Práce má 52 stran včetně seznamu literatury, rozsah technické zprávy splňuje předepsané požadavky.

Práce s literaturou

Práce se odkazuje celkem na 19 zdrojů, z toho 6 zdrojů pochází ze dvou webových dokumentací (tj. byla by možná citace webového sídla místo webové stránky). Kontrola originality textu systémem theses.cz uvádí podobnost méně než 1 %.

90
Topics for thesis defence:
  1. V sekci 4.1 uvádíte jako uživatele aplikace běžné uživatele a vývojáře modulů. Mohl byste upřesnit, o jaké skupiny lidí se jedná a doplnit nějaké konkrétní případy použití?
  2. V závěru práce uvádíte jako nedostatek nemožnost přidání nových modulů do aplikace po instalaci. Jakým způsobem by bylo řešitelné přidávání modulů bez nutnosti překladu?
Points proposed by reviewer: 90
Display more

Grade proposed by reviewer: A