Java zonder Moeite

Marc van Oostendorp

Verschenen in Multimedia Computing Magazine, 1996

Het is niet makkelijk om multimedia op het Web te brengen. Hoewel er anderhalf jaar geleden al produkten op de markt kwamen die interactiviteit en beweging op Web-pagina's zouden brengen, waren de problemen daarmee nog lang niet opgelost. Recentelijk zijn er meerdere produkten geïntroduceerd die een eind zouden moeten maken aan deze situatie. In dit artikel worden twee van dergelijke produkten besproken: Hyperwire van de firma Autodesk en Visual Café van Symantec.

Tot nu toe waren er twee manieren om met multimedia te werken op het Internet. De eerste was om bestaande multimedia-titels met een hulp-programmaatje te vertalen in een vorm die in een Web-pagina kon worden opgenomen. Zeer veel multimedia-ontwikkelaars werken bijvoorbeeld van oudsher met het programma Director. Iets meer dan een jaar geleden kwam MacroMedia, de fabrikant van dit pakket, met een gratis programma waarmee Director-titels konden worden samengedrukt zodat ze efficiënt konden worden verstuurd via een netwerk. Concurrenten van MacroMedia werken aan soortgelijke oplossingen, of ze verspreiden ze al.

Het voordeel van deze manier van werken is dat een ontwikkelaar (bijna) niets nieuws hoeft te leren om met multimedia te werken op het Internet. Director is speciaal gemaakt voor ontwerpers zonder speciale programmeerervaring. Wie creatief is en geen overdreven angst voor de computer heeft, kan het leren bedienen. Een belangrijk nadeel is echter dat de gebruiker naast zijn bladerprogramma (zoals Netscape Navigator of Microsoft Internet Explorer) een speciaal plug-in-programma dient te installeren. In het geval van Director heet dit programma Shockwave. Plug-ins zijn weliswaar gratis via het Internet te verkrijgen, maar ten eerste heeft niet elke gebruiker zin om deze moeite te nemen, en ten tweede lukt het vervolgens ook lang niet iedereen om ze op de juiste manier te installeren en met het bladerprogramma te laten samenwerken.

De tweede oplossing was gebaseerd op de programmeertaal Java. Deze taal is speciaal gemaakt voor het Internet. Een groot voordeel ervan is dat vrijwel elk modern bladerprogramma het zonder meer kan begrijpen: de gebruiker hoeft geen speciale handelingen te verrichten om met een Java-programma te kunnen werken.Een belangrijk nadeel was echter tot op heden dat het behoorlijk moeilijk was om met Java te kunnen werken. Iemand moest bij wijze van spreken eerst een jarenlange training tot computerprogrammeur ondergaan voordat hij een kans maakte om een leuke Java-applet (zo heet een Web-programmaatje dat in Java geschreven is) te kunnen maken.

De oplossing voor deze problemen ligt voor de hand. Het mooist zou een programma zijn dat hetzelfde bedieningsgemak heeft als bijvoorbeeld Director, maar waarvan de uitvoer uit Java-programma's bestaat. Zowel ontwerper als gebruiker zouden van een dergelijk programma kunnen profiteren. Allebei de programma's die besproken worden in dit artikel zijn pogingen in die richting. Allebei de programma's proberen de kloof tussen ontwerper en programmeur te dichten.

Hyperwire

Het programma Hyperwire van Autodesk -- voor deze recensie werd een prerelease van versie 1.0 bekeken -- is in meerdere opzichten het eenvoudigste programma van de twee: zeer eenvoudig te bedienen, maar ook tamelijk eenvoudig in het aantal mogelijkheden dat geboden wordt.

-

Het programma maakt gebruik van Internet-technieken bij zijn eigen presentatie. Op de CD-ROM staat een introductie -- met aardige praktische voorbeelden -- in de vorm van HTML-pagina's. HTML is het formaat dat ook de meeste informatiepagina's op het World Wide Web gebruiken. Zo kan dit handboek eenvoudig gelezen worden door iedereen die bijvoorbeeld Netscape Navigator of Microsoft Internet Explorer heeft, en dus door iedereen die serieus voor het Web wil ontwikkelen. Het allereerste voorbeeld heeft zelfs de vorm van een fraaie en inspirerende Java-applet, dat de beginner leert hoe een eenvoudige toepassing gemaakt kan worden met Hyperwire. Dat blijkt zeer eenvoudig te zijn.

De interface van het programma is begrijpelijk. In een kolom links staat een rij icoontjes dat staat voor het soort elementen dat aan een applet kan worden toegevoegd: een afbeelding, een geluidsfragmentje, een tekstveld, of een module die de invoer van de gebruiker via het toetsenbord kan afhandelen. De gebruiker kan een dergelijk icoontje naar een van de velden midden in het scherm verslepen om aan te geven dat hij het wil gebruiken.

In het bovenste veld in het midden kan de ontwerper vervolgens in grote lijnen bekijken hoe de interface eruit komt te zien. In het veld eronder staat een grafische weergave van de manier waarop de verschillende modules met elkaar samenwerken: wanneer een muisklik op een afbeelding moet resulteren in het starten van een geluidsfragment, wordt dit weergegeven door een kabeltje dat het icoontje voor de afbeelding en het icoontje voor het geluidsfragment verbindt.

Een en ander is eenvoudig te begrijpen voor iemand die gewend is met visuele programma's te werken om multimedia-titels te ontwikkelen. Binnen een dag leert zo iemand alle mogelijkheden van het programma kennen. Binnen een paar uur heeft hij of zij dan een aardige toepassing in elkaar gezet, die binnen een paar minuten is omgezet in een redelijk efficiënt Java-programma's.

Hyperwire is vooral goed te gebruiken om applets te maken waarin de interface een overheersende rol speelt. Zo kan het uitstekend worden ingezet om snel een flitsend, eventueel interactief, logo te creëren. Ook om spelletjes en dergelijke te maken is het uitermate geschikt.

Er zijn bijvoorbeeld speciale mogelijkheden ingebouwd om met virtual reality te werken. De ontwerper die een driedimensionaal model van een voorwerp, een logo, een complete kamer of een straat heeft ontworpen, kan dit model uiterst makkelijk interactief maken in Hyperwire. Hij of zij moet dan wel het systeem VRML gebruiken om het model te maken, maar dit mag geen al te groot probleem zijn, aangezien VRML (virtual reality modelling language) het standaardsysteem voor dit soort zaken op het Internet is.

Een andere beperking van het programma is dat het de ontwerper geen enkele mogelijkheid biedt om rechtstreeks zelf in Java te werken. Alle Java-opdrachten worden door het programma gemaakt: de gebruiker wordt alleen geacht met icoontjes te slepen en mogelijkheden uit menu's te kiezen. Op zichzelf levert dat idee uiteraard een groot bedieningsgemak op.

Hier staat echter tegenover dat het moeilijk wordt om grotere en complexere toepassingen te ontwikkelen. Een applet die bijvoorbeeld een aantal abstracte berekeningen moet uitvoeren of informatie moet opzoeken in een gegevensbank kan in Hyperwire niet geschreven worden. Bij een dergelijke opdracht zou de ontwerper in Hyperwire de gebruikersinterface kunnen maken. De modules die de berekening of de zoekopdrachten uitvoeren moeten dan in een geheel ander programma worden ontwikkeld. Vervolgens zal iemand moeten bedenken hoe deze modules met de Java-opdrachten die Hyperwire gemaakt heeft kunnen samenwerken. Dit kan in sommige gevallen een aardige puzzel worden.

Visual Café

Symantec is een software-firma die onder andere bekend is van systemen waarmee zowel op Windows- als op Macintosh-computers programma's kunnen worden geschreven in een taal die luistert naar de esoterische naam C++, maar die onder computerprogrammeurs zeer populair is. De programmeertaal Java lijkt technisch sterk op C++. Het is dan ook niet verwonderlijk dat Symantec al vorig jaar kwam met Café, waarin snel en effectief Java-programma's geschreven kon worden. Maar het is al evenmin verwonderlijk dat dit programma een erg technische inslag had: het was handig voor de ervaren programmeur die er zijn codes snel in kon schrijven en controleren. Voor de creatieve geest zonder specialistische technische kennis was het echter veel minder geschikt.

Symantec probeert in deze situatie nu verandering te brengen met Visual Café. Aan deze versie zijn enkele visuele aspecten toegevoegd. Ook hier kan de gebruiker kiezen uit een aantal icoontjes, die staan voor allerlei elementen die een rol kunnen spelen in een multimedia-productie: afbeeldingen, geluidsfragmenten, teksten, video-fragmenten enzovoort. Deze elementen kan de ontwerper plaatsen in een venster. Met behulp van een aantal menu's kan hij ze vervolgens met elkaar laten interacteren, zodat weer een geluidsfragment gestart wordt als de gebruiker op een afbeelding klikt. Bovendien kan voor elk element een venster worden opgeroepen waarin alle eigenschappen van dat element -- zoals de grootte op het scherm, het gebruikte lettertype, en dergelijke -- staan.

De manier van presenteren van al deze informatie is minder visueel dan bij Hyperwire. Of dit een voor- of een nadeel is, is waarschijnlijk een kwestie van smaak. Sommigen vinden icoontjes verspilling van altijd schaarse ruimte op het beeldscherm, maar anderen kunnen aan die afbeeldingen snel zien waar ze aan toe zijn. In ieder geval geeft het gebruik van veel woorden en weinig afbeeldingen in de interface Visual Café nog steeds een tamelijk aanzien.

Ook de voorbeelden die Symantec meelevert met het programma zijn in ieder geval naar de smaak van deze recensent wat minder aantrekkelijk dan die worden meegelverd bij Hyperwire. Vrij aardig zijn wel de voorbeelden dat wordt gebruikt als illustratiemateriaal in het on-line handboek. In dat handboek wordt stap voor stap een site ontwikkeld voor een imaginair reisbureau. Merkwaardig is dan wel weer dat de beginnende cursist sommige van de gebruikte applets kennelijk zelf eerst uitwerken, al wordt hierover niets uitgelegd in het handboek.

Ook Symantec heeft er overigens voor gekozen dit handboek te leveren in een Internet-formaat. In dit geval is dat PDF. PDF (portable document format) is een scherm-onafhankelijk opmaakformaat dat ontwikkeld is door de firma Adobe. Het programma Acrobat, waarmee PDF-bestanden gelezen kunnen worden, staat ook op de CD-ROM. Visual Café kan overigens ook desgewenst via het Internet gekocht worden; de klant moet dan on-line betalen en kan het hele pakket vervolgens downloaden.

Anders dan in Hyperwire kan de ontwikkelaar in Visual Café juist wel makkelijk zelf dingen veranderen aan de Java-opdrachten die het programma produceert. Het is daarmee relatief makkelijk om complexe applets te maken die ingewikkelde berekeningen uitvoeren, al moet de ontwikkelaar daarvoor dan wel Java kennen. Nog makkelijker is het echter om een interface te maken met gegevensbanken. In een speciale versie van het programma, Visual Café Pro, zijn een groot aantal faciliteiten ingebouwd die het uiterst gemakkelijk maken om een applet te laten zoeken in een database.

Een van de interessante aspecten van Java is overigens dat de ontwikkelaar zich niet noodzakelijkerwijs hoeft te beperken tot applets. Ook complete programma's kunnen erin geschreven worden. Zo is de software-firma Corel op dit moment bezig een pakket met kantoorvoorzieningen te vertalen in Java, inclusief de bekende tekstverwerker WordPerfect en het bekende spreadsheet-programma Quattro Pro. Met Hyperwire hoeft u zich niet aan een dergelijke onderneming te wagen, maar in Visual Café zou u een dergelijk project desgewenst tot een goed einde kunnen brengen, als u over voldoende talent en tijd beschikt.

Conclusie

Hyperwire en Visual Café kunnen elkaar nauwelijks beconcurreren. De programma's lijken bedoeld voor verschillende activiteiten. Met Hyperwire kan iemand heel snel een eenvoudige maar mooie applet maken, zelfs als hij of zij geen grote programmeerervaring heeft. Met Visual Café kunnen juist grotere en ingewikkeldere applets en desgewenst zelfs complete programma's worden gemaakt, maar het programma ziet er wel wat technischer uit en vereist ook wel wat meer programmeerervaring van de gebruiker. De kloof tussen programmeur en ontwerper is daarmee nog steeds niet echt gedicht: de eerste zal de voorkeur geven aan Visual Café, de tweede aan Hyperwire. Maar misschien is het ook wel helemaal niet nodig dat die kloof wordt gedicht. Zolang iedereen maar de instrumenten krijgt waarmee hij werken kan.