Ebben a cikkben a Magic User Interface lenyűgöző világát és az azt alkotó különböző aspektusokat fedezzük fel. Ennek eredetétől és fejlődésétől a mai társadalomra gyakorolt hatásáig elmerülünk a felfedezés és a tanulás utazásában. Elemezzük a következményeit különböző területeken, a tudománytól és a technológiától a művészetekig és a kultúráig. Kritikus és elmélkedő pillantással elmélyülünk a Magic User Interface pozitív és negatív aspektusaiban, valamint mindennapi életünkre gyakorolt hatásában. Csatlakozzon hozzánk ezen a túrán, és fedezzen fel mindent, amit a Magic User Interface-ről tudni érdemes.
Magic User Interface | |
![]() | |
Fejlesztő | Stefan Stuntz[1] (1992-2006) Thore Böckelmann, Jens Maus (2006-) |
Első kiadás | 1993[1] |
Legfrissebb stabil kiadás | 5.0[2] (2021. augusztus 31.) |
Operációs rendszer | AmigaOS, AmigaOS 4,[3] MorphOS[4] |
Platform | Amiga |
Kategória | widget toolkit |
Licenc | shareware[1] |
A Magic User Interface weboldala |
A Magic User Interface (röviden: MUI) egy Stefan Stuntz által 1993-ban létrehozott objektumorientált keretrendszer grafikus felhasználói felületek (GUI) létrehozására és működtetésére. A felhasználó az alkalmazás szinte minden kinézeti elemét testreszabhatja. A szoftver eredetileg AmigaOS-re készült és kvázi szabvánnyá vált az Amigán.[1] PowerPC processzorokon futó portja készült MorphOS alá,[4] továbbá klónja Zune néven AROS operációs rendszerre.[5]
Az Amiga rendelkezik a GUI megjelenítést támogató alrendszerrel, az Intuitionnel, azonban ez önmagában nehezen volt kezelhető az első időkben, mígnem a Kickstart 2.0-tól kezdődően megjelentek az olyan segédeszköz-készletek (toolkit), mint az ASL vagy a GadTools. Ezeknek ugyanúgy adatstruktúra-alapú belső szerveződésük volt, mint az Intuitionnek és vagy nem vagy csak nagyon nehézkesen voltak bővíthetők. A GadTools kimenete kifejezetten merev és kötött volt, fixált méretekkel és ablakpozíciókkal, minimális skálázhatóság nélkül.[6]
Az első igazán komoly előrelépés a Stefan Stuntz által 1992-ben fejleszteni kezdett, BOOPSI alapokon nyugvó MUI volt. A kitűzött főbb elérendő fejlesztési célok a következők voltak:
A MUI eredendően shareware szoftverként került forgalomba, azonban a korábban kiadott regisztrációs kulcsok az újabb fejlesztésű szoftververziókkal is használhatók. A teljes funkcionalitás igénybevételéhez mindenképp szükséges regisztrációs kulcs az eredeti szerzőtől.[8]
A felhasználói interfész fejlesztési forráskód-szinten történik, GUI szerkesztő (builder) alkalmazás igénybevétele nélkül. A szoftverfejlesztő csak a GUI logikai struktúráját határozza meg, a tényleges képernyő-elrendezés futás közben alakul ki a felhasználó beállításaitól függően. Más GUI fejlesztőkészletektől eltérően a MUI fejlesztő nem határoz meg pontos koordinátákat a képernyőn a felhasználói felület objektumai számára, hanem csak az egymáshoz viszonyított relatív elhelyezkedésüket, objektum-csoportonként. A hagyományos, Intuition-alapú programozás során a fejlesztőnek a betűtípustól, az ablak-, illetve képernyőkeret szélétől függően kellett kiszámolnia egy elem pontos helyét. A MUI esetén azonban minden GUI elem mérete alkalmazkodik az őt magában foglaló ablak méreteihez. Képes a megjelenítés során automatikusan kisebb betükészletre váltani vagy akár GUI elemeket elrejteni, ha azok számára nincs elegendő hely a képernyőn. Ilyen módon könnyen készíthető olyan felhasználói felület, mely alkalmazkodik akár kicsi, akár nagy képernyőfelbontásokon való megjelenítéshez is.[9][10][11]
Jelenleg mintegy 70 beépített MUI osztály (classes), továbbá számos harmadik feles osztály áll rendelkezésre.[12]
// Példa alkalmazás:
#include <libraries/mui.h>
#include <proto/muimaster.h>
ApplicationObject,
SubWindow, WindowObject,
WindowContents, VGroup,
Child, TextObject, MUIA_Text_Contents, "Hello World!", End,
End,
End,
End;
A példa egy kis MUI alkalmazást hoz létre, mely kiírja a képernyőre a "Hello World!" szöveget. Lehetőség van más BOOPSI-alapú GUI eszköztár objektumok beágyazására is a MUI alkalmazásba.
A MUI ablak-eszköztár (widget) legfontosabb alkalmazási példái:
Alapvetően két, egymással versengő ablak-eszköztár készlet létezik amigákra. A legszélesebb körben a MUI használatos, míg a másik, a ReAction az AmigaOS 3.5[13]-3.9, az AmigaOS 3.2.x,[14] továbbá az AmigaOS 4 része.[13]
Létezik egy projekt, mely a GTK-hoz fejleszt egy MUI csomagoló könyvtárat (wrapper), és amely lehetővé teszi számos GTK-alapú szoftver gyors portolhatóságát Amigára.[15] A legfrissebb változat AmigaOS 4-re érhető el.[16]
Egy másik megközelítés CSS-, illetve XML-alapokon indult el és Feelin a neve. Nyílt forráskódú objektum-orientált keretrendszer és API létrehozása a cél.[17]
A MUI négy további színnel bővítette a Workbench alapből négyszínű palettáját, mely egyenletesebb színátmeneteket, illetve árnyalást tett lehetővé. A MUI-t használó MagicWB GUI bővítmény a több színt látványosabb ikonok létrehozásához alkalmazta. A MUI 4 implementálta az áttetszőséget (alpha blending), illetve a felhasználó általi eszköztár-elem (widget) alakzat definiálhatóságának a támogatását.
A MUI 8-színű palettája | ||||||||
---|---|---|---|---|---|---|---|---|
szín | ||||||||
Red | 149 | 000 | 255 | 59 | 123 | 175 | 170 | 255 |
Green | 149 | 000 | 255 | 103 | 123 | 175 | 144 | 169 |
Blue | 149 | 000 | 255 | 162 | 123 | 175 | 124 | 151 |