MULTIMEDIALE LEERMIDDELEN --- LOS TEKSTFRAGMENT
Methoden om multimedia te ontwikkelen
(of educatieve ICT producten te programmeren)
Drie fundamenteel verschillende ontwikkel- of programmeeromgevingen
Deze losse tekst gaat over: ontwerpen, ontwikkelen, systemen, auteurssytemen, auteurstalen, gereedschappen en programmeeromgevingen
- Wat is het verschil tussen een auteurssysteem en een auteurstaal?
- Wat is het verschil tussen een auteurstaal en een hogere programmeertaal?
- Wat is 1e orde courseware en wat is 0e orde courseware?
Ontwikkelen
Er zijn drie fundamenteel verschillende manieren om multimediale producten, educatieve IT producten en/of courseware te maken. Bij het ontwerp van een educatief multimediaal product dient men van tevoren - bij het ontwerpen ervan - goed na te denken waarmee het product uiteindelijk gemaakt moet worden (voetnoot 1). Die eenvoudige regel is voor sommige ontwerpers niet vanzelfsprekend.
Deze drie fundamenteel verschillende manieren om educatieve software te maken zijn:
- met auteurssystemen (A-systemen)
- met auteurstalen (A-talen)
- met hogere programmeertalen (P-talen)
Er zijn ontwerpers die het realiseren van courseware geheel aan anderen overlaten en noemen het reele ontwikkelen dan ook nog vaak denigrerend coderen. Toen er alleen nog maar in Fortran, Pascal, C en Cobal werd geprogrammeerd lag dat in zekere zin voor de hand. Tegenwoordig zijn er honderden manieren om software en met name educatieve software te ontwikkelen en te realiseren. Voor elke type software is er vaak wel een aparte methode, een aparte techniek of een aparte tool. Er zijn wel 31 soorten educatieve software, courseware of COO. Elke soort komt anders tot stand.
Wat is de juiste methode om een (educatief) multimedia product te ontwikkelen en/of te programmeren. Het ene MM-product komt op en geheel andere wijze tot stand als een andere.
Je moet dus precies weten wat voor soort educatieve software of COO je wilt maken of welk type software de klant wil. En dat hangt weer af van het budget en de tijd die je voor een project hebt. Als je gewone 'platte' courseware ('1e orde courseware') wilt maken kun je volstaan met een auteursomgeving, maar wil je een simulatie maken dan ontkom je er niet aan om minstens bepaalde onderdelen te programmeren in een hogere programmeertaal ('hogere orde courseware') (zie voetnoot). Soms ontkom je er zelfs niet aan om alles in een hogere programmeertaal te programmeren.
Als vuistregel kun je nemen dat 80 procent van alle educatieve software gemaakt wordt met auteurssystemen of auteurstalen en de rest met hogere programmeertalen. Maar de leukste en de effectiefste onderdelen van educatieve software vaak met hogere programmeertalen zijn gemaakt. Dat komt voor bij 'drill and practice', 'simulaties' en dergelijken. Misschien zijn de 80 procent effectiefste stukken software wel met hogere programmeertalen gemaakt. Professionals grijpen vaak terug op hogere programmeertalen.
Vooraf: de losse componenten
Losse onderdelen (conform de indeling in de vijf dimensies van een mm-product) dienen altijd met aparte tools te worden gemaakt; los van wat je verder iest als programmeertool. Zie figuur 1 (Min, 1985-2000).

Figuur 1: De vijf verschillende 'mono-multimediale componenten' of beter: de vijf dimensies waaruit een mm-product bestaat. Voor elke dimensie bestaan tientalle goede editors al of niet in combinatie met een of meerdere andere dimensies.
Hier volgen om te beginnen met je analyse over welke overall-tool je moet gebruiken voor de ontwikkeling van het eindpriduct, de tools die je moet gebruiken voor de afzonderlijke losse mono-multimediale onderdelen, tekst(en), beeld(en), geluid(en) t/m losse video-fragmenten:
- tekst --> tekst-editors (incl. tekstverwerkers)
- platte tekst (o.a. Word)
- DTP-achtig (o.a. Quark Express)
- beeld --> grafische editors
- bitmapped (o.a. PhotoShop)
- vectorieel (o.a. Illustrator)
- (lineair) geluid --> geluids-editors
- muziek (toon voor toon)
- muziek (opnemen & editen)
- spraak (ascii-string georienteerd)
- spraak (opnemen & editen)
- (lineaire) animatie --> animatie editors (o.a. Director)
- gewoon, zonder script-taal
- met script-taal, bijv. LINGO
- (lineaire) video --> video editors (o.a. Premiere)
- frame-georienteerd (o.a. QuickTime)
- sequentie-georienteerd
- applets? --> met gewone text-editors?
- met de hand maken
- met sjablonen maken
- automatisch genereren
- kopen (library's)
Maar dat is voor een professionele ontwikkelaar eigenlijk evident. Hoewel veel leken, incl. studenten en afstudeerders bij TO, dat vaak vergeten.
En verder: het geheel
Studenten willen graag het verschil leren zien tussen 'programmeren van gewone courseware' en 'bijzondere courseware' (zoals meer 'dynamische graphics' zoals 'micro-werelden', 'doe-omgevingen', 'ontdek-omgevingen', simulatie, animaties, maar ook toets-systemen, etc.). Daarvoor is het nodig aan elke begin van een ontwerp- of ontwikkel-traject te beseffen welke soort soft- en/of courseware men wil maken. Men dient deze soorten COO te kennen en te onderscheiden. We noemen hier de belangrijkste soorten courseware of/en educatieve software:
- Tutoriele software (ook wel de gewone 'courseware'), deze soort software kan over het algemeen redelijk goed gemaakt worden met 'auteurs-systemen', zoals AuthorWare, Taiga of eventueel SuperCard of MacroMind-Director;
- Hypertext-achtige software kan over het algemeen het beste gemaakt worden in 'auteurs-talen' of 'hogere programmeer-talen', zoals bijvoorbeeld HTML, HyperCard, Visual Basic of Toolbook;
- WEB-pages, of web-based ICT in het bijzonder (door Min '0e orde courseware' genoemd), kan het best en professioneelst gemaakt worden met een gewone regel-editor. Maar gewone ICT met tekst en plaatjes kunnen ook vaak (en soms beter) snel en efficient met goede WYSIWYG-editors, zoals DreamWeaver en NetObject Fusion, worden gemaakt;
- Drill & practice moet (meestal) gemaakt worden met hogere programmeer-talen;
- Gewone animatie (lineaire) moet gemaakt worden met een 'animatie-systeem', zoals MM-Director (ShockWave), Flash, Liquid Motion; Maar veel van deze animatie-editors en met name MM-Director hebben gelukkig ook scripting mogelijkheden, zoals bijvoorbeeld het script-taaltje 'Lingo'.
- Interactieve animatie moet - vanwege performance redenen - bijna altijd gemaakt worden in een hogere programmeertaal; en - ook meestal toch gecompileerd worden;
- VR animatie zoals die met Cosmo-player afgespeeld kunnen worden moeten met speciale modelling-tools worden gemaakt;
- Expert systemen kunnen het beste gemaakt worden in hogere programmeer-talen, zoals Lisp, SmallTalk of Prolog;
- Simulaties moeten bijna altijd - vanwege de goede performance die het moet hebben - gecompileerd worden, dus gemaakt worden met simulatie-'generatoren' (bijvoorbeeld in een Pascal-shell zoals met de 'programma generator' van MacTHESIS of in een java-shell voor JavaTHESIS software);
- Wiskundige modellen - voor het leren wiskundige modellen te maken - moeten altijd ontworpen en gemaakt worden met 'modelling systemen';
- Losse MM-elementen (zoals figuren, sound, filmpjes, maar ook goede teksten) kunnen en moeten eigenlijk altijd het beste gewoon gemaakt worden met daarvoor bedoelde, speciale editors, zoals PhotoShop, PixelPaint, illustrator, SuperPaint, Painter, SoundBox, Word, etc.
De verschillende soorten ontwikkel- of programmeer-systemen zijn in allerlei combinaties mogelijk en wenselijk. Elke soort educatieve software, courseware of COO heeft feitelijk zijn eigen aanpak nodig. Meer gedetailleerd zijn dat
- Auteurs-systemen, zoals AuthorWare, Taiga, Inigo, Fusion, etc., maar ook HyperCard, SuperCard, etc.;
- Auteurs-talen (die 'ge-interpreteerd' worden), zoals HTML, TUTOR, Pilot, TenCORE, etc.;
- Hogere programmeer-talen (die meestal 'gecompileerd' kunnen worden)', zoals Pascal, Basic, HyperCard, Visual Basic, Toolbook, Java, etc.; en ook hogere programmeer-talen (logische talen), zoals Lisp, Prolog, etc.; maar ook Object georienteerde programmeer-systemen (als 'interpreter'), zoals SmallTalk, etc.;
- Script-talen zijn feitelijk gewoon hogere programmeer-talen, maar worden meestal niet 'gecompileerd' maar 'geintepreteerd'. Het zijn talen zoals JavaScript, Lingo, etc. Script-talen horen meestal bij een auteurssysteem of bij een bepaald type bestand weer behorende bij een bepaald merk tool. Bijvoorbeeld: de scripttaal 'Lingo' is onlosmakelijk verbonden met 'MacroMind Director', een veelgebruikt ontwikkelsysteem om lineaire animatie-films te produceren.
- Combinatie systemen (A-systeem en A-taal, dus feitelijk met script mogelijkheid), zoals HyperCard met HyperTalk of SuperCard (met HyperTalk), MacroMind-Director (met Lingo), EDUC (met Pascal) en/of NetObject Fusion (met een ingebouwde javascript-editor);
- Simulatie-systemen, zoals bijvoorbeeld het MacTHESIS systeem (voor grote modellen; hoge performance), het javaTHESIS systeem (voor web applicaties en hogere orde courseware) of SimQuest (voor stand alone applicaties);
- Modelling systemen, zoals STELLA, LabView, CSMP, maar ook LOGO, etc.;
- Editors voor losse componenten, zoals PhotoShop, PixelPaint, Painter, Freehand, MacDraw, Simpletext, TeachText, SoundEdit 16, 2.0, WYSIWYG-editors voor maken van HTML-pages, etc.; maar ook gecompliceerde editors, zoals SuperCard (en natuurlijk het onvolprezen HyperCard), Adobe Premiere, Director 5.0, maar ook AuthorWare; Ook animatie-systemen (editors) voor lineaire animatie-filmpjes, zoals MM-Director, Flash en Liquid Motion, etc.; Zie de hiervolgende figuur.
Elk multimediaal product bestaat uit losse 'mono'-multimediale elementen. Elke element dient op zijn eigen specifieke wijze te worden (aan-)gemaakt en/of te worden geedit. Elk element heeft zijn eigen specifieke editor. Het 'vierkantje' is het symbool van de bestanden of de files. De 'ruit op zijn punt' is het symbool voor editor.
Elk multimediaal product bestaat uit losse 'mono'-multimediale elementen. Elke element dient op zijn eigen specifieke wijze te worden (aan-)gemaakt en/of te worden geedit. Elk element heeft zijn eigen specifieke editor. Het 'aan-elkaar-programmeren' of '-knopen' en/of 'het intelligent maken van het geheel' gaat (ook) met een aparte editor. Tenslotte zit de eindgebruiker (de 'user') achter het totale multimediale eind-product: het software-programma; bijvoorbeeld een vijf dimensionele web-site.
Enschede, 1996; updated 2005
Voetnoot: We kunnen drie soorten web-based courseware onderscheiden, t.w.:
- 0e orde courseware (ICT van nivo 0):
Courseware (van of op het allerlaagste nivo; van een nivo 0) kan gewone digitale tekst of informatie op een web-pagina zijn zonder dat er aan de web-site een educatief doel aan verbonden is
- 1e orde courseware (ICT op nivo 1):
Courseware van nivo 1 is bijvoorbeeld een digitale tekst op een web-pagina zijn maar met een educatief doel. Hetzij als instructietekst, hetzij als lees- of lestekst.
- 2e orde courseware (ICT op nivo 2):
Courseware van nivo 2 is (pas) 'echte' courseware (wetenschappelijk verantwoord; qua klassieke definiering), d.w.z. bevat allerlei'echte', leermiddelen-achtige ingredienten zoals feedback, toetsmomenten, doe-omgevingen, micro-werelden, simulaties, spelelementen, etc.