Magic User Interface -1- """"""""""""""""""""""""" Magic User Interface, kortweg MUI, verovert stormenderhand AMIGA-land. Op dit moment is MUI (spreek uit als 'moeii') al ontwikkeld tot versie 3.6 en het einde lijkt nog niet in zicht. Er zijn mensen die ons vragen wat MUI nou eigenlijk is en of ze het moeten aanschaffen. BBS de SAEN legt het u uit. Om te begrijpen wat MUI nou eigenlijk doet, moeten we eerst even snappen wat een 'user interface' is. Dat 'magic' komt dan wel vanzelf. 'User interface' is een engels-talige kreet voor het systeem dat bedacht is om met de computer te communiceren. Als je iets wilt doen met een computer, dan moet er dus met een computer gecommuniceerd worden. Op de AMIGA weten we niet veel beter dan dat we dat doen door met onze muis te klikken op icoontjes. De 'user' is dus de mens. De AMIGA Workbench is de interface. Vertaal 'interface' in dit geval maar met het woord 'vertaler'. Via de Workbench praten we als het ware tegen de computer in een taal die onze machine begrijpt. Onze AMIGA Workbench is bovendien een GRAFISCHE 'user interface'; we maken gebruik van plaatjes (icoontjes) en vensters. Op de PC hebben ze ook zoiets dergelijks en dan heet het Windows (al dan niet uit 1995). Grafische User Interface wordt meestal afgekort tot GUI. De meeste AMIGA programma's maken dus gebruik van een GUI. Wanneer we een programma moeten starten vanuit de SHELL of de CLI en daarna ook moeten bedienen vanuit de SHELL of CLI, dan zeggen we dat zo'n programma geen GUI heeft. Meestal maakt een dergelijk programma gebruik van een zogenoemde TEMPLATE. Daarin is vastgelegd welke instrukties zijn toegestaan bij het gebruik van het programma. Een voorbeeld van een template-gebruikend programma is DMS. Om DMS (een soort inpakprogramma om bestanden op een bepaalde manier op een diskette te krijgen) te starten moet je zoiets handigs intikken als: DMS read (ram:huppekee), write (ram:test) -j, -w Dit is overigens GEEN zinnige opdracht voor DMS, maar het gaat om het idee achter het gebruik van een template. Tegenwoordig zijn er overigens ook GUI's voor DMS beschikbaar. Helaas, maar waar, het gebruik van GUI's is ook niet zonder problemen. Een probleem dat we bij een GUI wel kennen, is dat de programmeur een GUI ontwerpt die verder onveranderlijk is. Soms is dat niet echt handig. Neem als voorbeeld het pakket DPAINT. DPAINT kan geheel met de muis worden bestuurd. Als we een plaatje gaan inladen in DPAINT, dan past de GUI zich (desgewenst) aan aan de resolutie van het ingeladen plaatje. Is dat plaatje in LOW RES (320 x 256) dan is ineens het hele scherm in lage resolutie. Alle letters, menukeuzen en requesters verschijnen heel groot en duidelijk leesbaar op het scherm. Wanneer we een plaatje in de resolutie 640 x 512 (high res interlaced) inladen, dan begint het scherm te 'knipperen'. De menubalk en alle requesters zijn veel slechter leesbaar. Nog kleiner worden de lettertjes als we een plaatje van 1024 x 768 op een 14 inch monitor willen bekijken. Dit kan overigens alleen wanneer u in het bezit bent van een grafische kaart, zoals de PICASSO II of de CV-64 en een multisync, of multiscan monitor (bv de 1960 monitor van Commodore). Bovenstaande problemen ontstaan dus doordat de GUI van DPAINT niet door de eindgebruiker te veranderen is. Dat is, volgens de huidige inzichten, een duidelijke beperking van de GUI van DPAINT. Zou het dan niet handig zijn als we ZELF de requesters wat groter konden maken en konden kiezen voor een groter lettertype? Dan blijft alles goed leesbaar, ongeacht de schermresolutie. Nu zijn we al aardig in de buurt gekomen van de gedachte achter MUI. MUI biedt ons een 'user interface' (deze kreet kennen we nu) die ons alle GUI-vrijheid geeft die we nodig hebben. Wanneer een programma gebruik maakt van MUI, dan is het ontwerpen van een user interface niet meer nodig. De programmeur kopieert als het ware de routines van MUI (en daarmee een bepaalde struktuur van een GUI) en houdt zich daarbij aan bepaalde regels. Door gebruik te maken van MUI, laat de programmeur de uiteindelijke vorm van de GUI over aan de eindgebruiker (u zelf dus!). MUI fungeert dan als een soort voorkeur-instelling (preferences) die door de MUI- gebruikende programma's wordt ingelezen en gebruikt.