Multimédiás programok, elektronikus tananyagok fejlesztési tapasztalatai Opus Pro segítségével Vegera József Nyíregyházi Főiskola Matematika és Informatika Intézet
[email protected] Bevezetés
OKJ Multimédia-alkalmazás fejlesztőket oktatok szerzői rendszerek használatára néhány éve. A szakképesítés megszerzéséhez ehhez kapcsolódóan a következő feladatokban való jártasság elvárás [1]: 1144-06 Rendszer/alkalmazás -tervezés, -fejlesztés és -programozás Feladatprofil: • Rendszert/alkalmazást tervez • Rendszert/alkalmazást fejleszt • A működéshez szükséges, megfelelő eszközkörnyezetet létrehozza és beállítja • Teszteli a rendszer elemeit, folyamatait, funkcióit és megjelenítését • Dokumentálja a programot/alkalmazást • Megszervezi és dokumentálja az alkalmazás egyes elemeinek forrásként és megjelenítési módonként való külön tárolását, archiválását • Részt vesz a rendszerek bevezetésében Ezek az 1152-06 E-tananyag fejlesztő modulban kiegészülnek többek között e-learning tananyagelemek, médiaelemek elkészítésével, tanulói teljesítményt mérő, értékelő rendszer megvalósításával is. Összességében tehát a multimédia-alkalmazás fejlesztőknek képessé kell válniuk egy önálló alkalmazás megtervezésére, fejlesztésére. Meg kell határozniuk a főbb rendszerfunkciókat, meg kell tervezniük a navigációt, a kommunikációt és annak felületét. Mely fejlesztői eszközök lehetnek a fenti összetett feladatok elvégzésére önállóan is alkalmasak? Elsőnek az Adobe (korábban Macromedia) Authorware programját használtuk fel a tanuláshoz. Ez a program folyamatábrák segítségével teszi lehetővé, hogy rapid módon látványos alkalmazásokat készítsünk. Jellegéből adódóan egyfajta mérnöki szemléletet erősít meg a felhasználóiban. A flowline használatával különösebb programozási készség nélkül vázolható az alkalmazás logikája [2].
1. ábra Intuitive flowline (Authorware)
A továbbiakban a webes technológiák fejlődése, valamint elterjedtsége okán az Adobe Flash programjába nyertek betekintést a hallgatók. Talán a népszerűségének, ismertségének köszönhetően ez utóbbit minden esetben felfokozott érdeklődés előzte meg.
2. ábra Timeline és scene (Flash)
Az animációk készítésében elért kezdeti, látványos sikerek után hamar szembesültek azonban azzal a problémával, hogy egyszerűbb interakciókhoz is kénytelenek voltak elmélyedni az ActionScript használatában. Olyan eszközt kerestem tehát, ami a vázolt kritériumok teljesítése mellett képes a lehető legegyszerűbb módon bevezetni a hallgatókat az önálló, vizuális elemekben is bővelkedő programok készítésébe. Ehhez a Digital Workshop Opus Pro programját választottam. Az Opus Pro bemutatása
A felsorolt fejlesztőeszközök egymástól rendkívül eltérő filozófiát képviselnek, ezért alkalmasnak véltem őket a fejlesztői szemléletek sokszínűségének a demonstrálására is az oktatás során. Az Authorware Flowline-ja megkönnyítette az alkalmazás kapcsolatrendszerének áttekintését. A Flash layerei, frame-ei, idővonalai az eredetileg webes animációk készítésére használt szoftverben a képi megjelenítést, a látványelemek használatát erősítette. Az Opus Pro az eseményvezéreltséget tette egyszerűvé. Az Opus a multimédiás alkotásokat könyvhöz hasonlítja. A publikáció (ahogyan ő nevezi) fejezetekből áll, a fejezetek oldalakra bomlanak. A fejezetek egyrészt a mű logikai tagolását segítik, másrészt néhány megjelenítéssel kapcsolatos paramétert (ablakméret, igazítás) szabnak meg. Az oldalak a program megjelenését határozzák meg. Itt találhatók azok a többnyire vizuális objektumok, amelyekből felépül a képernyőkép (3. ábra).
3. ábra Az Opus Pro publikáció elemei
Az elkészült programok lehetnek Windows alatt futtatható állományok (EXE), Flash formátum (SWF, megkötésekkel), videó (VCD, DVD), vagy e-learning tananyagok esetében AICC, vagy SCORM kompatilis kimenetek. Tulajdonságok
A program alapvető használatához két fontos jellemző ismeretét szeretném kihangsúlyozni. A publikációnk valamennyi komponensének vannak tulajdonságai (properties), amelyek tipikusan a megjelenésével, alapvető használhatóságával kapcsolatosak. Ilyen információk lehetnek például az adott objektum méretei, helye az oldalon. Bizonyos attribútumok természetesen csak az adott komponensre jellemzőek. A szövegbeviteli doboznak léteznek olyan jellemzői, melyek a bevihető karakterek típusát, számát, stb. határozzák meg (4. ábra).
4. ábra Szövegbeviteli doboz tulajdonságai
A tulajdonságok nagy számuk miatt fülekre vannak csoportosítva (tab heading). Néhány elem tulajdonsága megszabható több különböző helyzetben is (mouse over, disabled, stb). Események
A program másik lényeges jellemzője az események kezelésének módja. Mind az oldalakon, mind a rajtuk lévő objektumokon lehet eseményeket értelmezni. Az eseményeket úgynevezett triggerek válthatják ki. Kiváltó ok lehet az egérrel, billentyűzettel végzett felhasználói beavatkozás (kattintás, egér mozgatása, egér lehúzása adott területről), de az lehet egy adott időtartam elmúlása, drag ’n drop művelet vagy akár egy változó értékének megváltozása. A triggerekhez tevékenységeket (actions) kapcsolhatunk. Ilyen lehet valaminek a megmutatása-elrejtése, vagy akár egy fájlnak a kinyomtatása. Mind a triggerek, mind az action-ök nagy számuk végett csoportokba rendezetten érhetők el. Egy triggerhez több tevékenység is tartozhat (amelyek egymás után, vagy egymással párhuzamosan futhatnak le), illetve ugyanazt a tevékenységet indukálhatja több trigger is. Kiléphetünk a programból például az ESC lenyomásával, vagy egy kilépés gombra kattintva (multi triggers, 5. ábra). Az adott objektumon definiált triggerek/tevékenység láncolatát egy fastruktúrában tekinthetjük meg. Természetesen számos tevékenység paraméterezhető is, pl. útvonalkövetésnél a vezérelt objektum gyorsulása, a bejárások száma, stb. A listákban szereplő triggerek kiegészíthetők sajátokkal, a tevékenységek leírhatók/kibővíthetők scriptnyelven írtakkal (OpusScript).
5. ábra Eseménykezelés: triggers, actions Multimédiás eszközök az Opus Pro-ban Hasonlóságok a Powerpointtal
A publikációk szerkezetének, megjelenésének viszonylatában több analógiát is találhatunk az ismert prezentációkészítő programmal: • A lapok megfeleltethetők a diáknak, ami megjelenik egy oldalon, az ugyanúgy a dia része is lehet (kép, szöveg, videó, gomb, zene) • Az egységes megjelenés, kezelhetőség érdekében készíthetők sablonoldalak (master page), amelyek felelhetnek az egységes kinézetért ugyanúgy, mint a kezelésért. Ez a Powerpoint diamintájával lehet analóg. • Az Opus a vizuális elemek tekintetében számos sablonnal, animációs átmenettel bír, hasonlóképp a prezentációkészítőkhöz. Ennek figyelembevételével egyébként kiadták a program korlátozott változatát is, ami így csak kifejezetten bemutatók készítésére alkalmas, Opus Presenter néven.
6. ábra Animációs átmenetek Összevetés a Flash-sel
Noha mindkét program szerzői eszköz, az eltérő fejlesztési hátterüknek is köszönhetően teljesen különböző módon közelítenek ugyanahhoz a problémához. A Flash-ben a képkockák szolgálnak hasonló feladatra, mint az Opus lapjai. A képkockák (framek) rétegekbe szerveződhetnek, míg az Opus lapjain csak az egyes oldalakra helyezett elemeken értelmezett egyfajta megjelenítési sorrend. A Flash-ben egy képkocka kinézete nem feltétlenül önállóan meghatározott, készíthetünk képkocka-átmeneteket is, amelyeknél az adott frame konkrét tartalmát a lejátszó fogja kiszámítani. Az Opus Pro által bevezetett timeline hasonlóképp használható, mint a Flash-é, viszont csak az adott oldalon értelmezett. Az Opus Proban készített programjaink kimenete lehet flash bináris (v10-es a jelenleg támogatott változat), az új 7-es változatban akár a jobb egérgomb trigger is működik ☺, valamint itt is bevezették a tween animációk használatát. Drag and Drop eszközök
Nemcsak a multimédiás alkalmazások vezérléséhez tervezünk pozícionáló eszközöket, de leggyakrabban talán ezeknél tételezzük fel őket. A húzd és ejtsd technikát használtuk például tesztek készítésénél párosító feladatok elvégzéséhez, játékos interakciók esetében (képkirakó, puzzle, találd meg a hiányzó elemet), vagy akár fájlkezelésnél. Az Opusban bármely vizuális elem viselkedhet egérrel megragadható objektumként (drag object), vagy dobási területként (drop zone), akár egyszerre is. Megszabható, hogy mely területekre mely objektumok dobhatók, van mód akár a bedobott elemek számának, vagy a
bedobható elemek méretének korlátozására („férjen be a területbe”). Megadható a dobási zónáknak, hogy a már bedobott elemek kivehetők-e még onnan, vagy ejtéskor rögzülnek. Az események kezelése kapcsán használhatjuk a következő triggereket: • Object dropped (adott objektumo(ka)t dobtak ide) • Dropped object removed (kivették innen a bedobott dolgot) • Drop zone full (megtelt a zóna) • This object dropped (magát a vizsgált objektumot dobták el) • Drop refused (nem lehet ide akármit dobni.. dobás visszautasítva nem megengedett elem miatt)
7. ábra Drag and Drop tulajdonságok Videó/zenelejátszás
A videók/zenék nemcsak lejátszhatók, vagy megállíthatók, vagy felfüggeszthetők a programból. Van mód a hangerő konkrét, vagy relatív megadására, fix, vagy automatikus hangcsatorna választására (8 hangcsatorna áll rendelkezésre). A hallgatók számára feladatként adott önálló lejátszóprogramok készítésénél egyrészt tisztázni kellett a támogatott formátumokat: • •
Audio fájloknál midi, WAV, MP3, OGG, WMA, ASF Videók, animációk esetében ASF, AVI, FLI, FLC, GIF, MPG, MOV, SWF. Utóbbiaknál telepített codec szükséges.
A lejátszóprogramok készítésénél fájlkezelési ismeretekre is szükség volt, másrészt a választható Audio/Video tevékenységek közvetlenül nem tették lehetővé a fokozatmentes átmeneteket a hangerő változtatása, vagy a videóba beletekerés esetében (SeekVideoban csak konstans időparaméterek adhatók). Erre OpusScript függvényhívásokkal tudtunk megoldást készíteni.
8. ábra Change volume action paraméterei Adatbáziskapcsolatok
Mind tevékenységeken keresztül, mind scriptnyelven van lehetőség adatbázis-kapcsolatok kialakítására a programból. Az adatok lekérdezésén túl azok módosítására, törlésére nyílik lehetőségünk. Az Opusban ez a lehetőség azonban elsősorban oktatási célokat szolgál, nagyobb mennyiségű rekord kezelésére, valamint adatbázis-szerkezetek létrehozására, módosítására, jogosultság-kezelő műveletekre nem alkalmas. A már létező adatbázishoz csatlakozni ODBC drivereken keresztül DSN (database source name) leírás felhasználásával lehet. A webes adatbázisok esetében (pl. MySQL) ezért szükség lehetett külön ODBC illesztő telepítésére előzetesen. A csatlakozást követően Query-k létrehozása következik, amik a nevükkel ellentétben nemcsak lekérdezéseknél, hanem update/delete műveleteknél is használtak. Egyszerűbb SQL lekérdezések (WHERE, LIKE, ORDER BY klauzulák) a tevékenység varázslójában is összeállíthatók.
9. ábra SQL Query készítése varázslóval
Az összeállított lekérdezés eredményrekordjainál legegyszerűbb esetben minden mező értéke egy változónak adható át. Ily módon azonban a lekérdezés többi rekordját csak a Next/Previous/First/Last Record tevékenységek valamelyikének értelemszerű futtatásával lehet elérni. Ezeken túl nyerhetünk még információt a rekordok számáról, valamint arról, hogy jelenleg hányadikat dolgozzuk fel. A program adatbázis-kezelési képességeit figyelembe véve tehát csak egyszerűbb feladatokra használtuk, mint amilyen játékok/tesztek felhasználói eredményeinek rögzítése, vagy lekérdezése. E-learning tananyagok
Az Opusban tesztek készítésére, kiértékelésére több eszköz is kínálkozik. Egy beépített kvíz-varázslónak (question page wizard) köszönhetően van mód többféle kérdés elkészítésére sablonból: • Drag and drop kérdések • Képválasztások • Többszörös választás • Igaz/hamis kérdés • Szövegbevitel A kérdések rögzítésénél a válaszlehetőség is kötött, a varázslóból nincs mód a kérdés válaszlehetőségeit összekeverni. A pontozáshoz a varázsló beépített változókat használ, amelyeket akár egy eredménylapon (score results) meg is jeleníthet. Az egyes kérdések külön oldalakon jelennek meg. Természetesen ezek testreszabhatók később. A hallgatók néhány esetben ezzel a lehetőséggel élve készítettek egyedi tesztlapokat,például zenefelismerési feladatban. A fejlesztőeszköz képes olyan online e-learning keretrendszerekhez kapcsolódni, mint amilyen a moodle. • AICC szabványú publikációk [3] A publikációnk kezdőoldalán az LMS rendszertől származó PARAM.CMI fájl tartalmaz bemenő adatokat a programunk számára. Itt található meg a hallgató neve,
•
• • • •
azonosítója, látogatásainak száma, kurzusának jelenlegi állapota (teljesítetlen, befejezett, stb.) A programunk záróoldalán egyrészt frissülhet ez az input állomány (sikerült a kurzust befejezni pl.), másrészt készül egy kimenő állomány, ami visszaadja az LMS számára az eredményeket, a felhasznált időt és egyéb teljesítményre vonatkozó adatokat. SCORM kompatibilis publikációk A szabvány segítségével támogatott az ezzel kompatibilis e-learning rendszerekkel való közvetlen kommunikáció. Az AICC / SCORM publikációk alapvetően négyféle oldaltípussal dolgoznak: Kezdőoldal (Start page): a felhasználó adatai, valamint kurzusinformációk beállítására Megjegyzések (Comments page): a felhasználó észrevételeinek rögzítéséhez Tartalmak (Contents page): a leckében teljesítendő feladatok meghatározására Kilépés (Exit page): Értékelés, státuszfrissítés, információk továbbítása
10. ábra AICC Contents page sablon Tapasztalatok
•
•
Pozitívumok o Széles körű a scriptek nélkül használható triggerek, tevékenységek listája. Az adatbáziskapcsolattól a fájlkezelésen át a vágólapok kezeléséig számos feladat megoldható függvényhívási ismeretek nélkül. o Látványos megjelenés: akár a lejátszás alatt lévő videók is forgathatók. o Egyszerű eseményvezérlés, a struktúrált megjelenésnek köszönhetően még bonyolultabb megoldások is áttekinthetők maradnak. Problémák o Felhasználói oldalról Absztrakciós problémák: algoritmusok készítésénél jelentkezik („Hogy csináljam meg?”) Nyelvi nehézségek: az egyszerű kezelhetőség ellenére az angol nyelv alapszintű ismeretének hiánya akadályozza a hallgatók továbbhaladását. Egyes események konkrét objektumhoz kötődése nem jellemző. Eseményvezérlésnél bizonyos triggerek bármely objektumon lekezelhető (pl. ESC lenyomása az oldalon bárhol) o Program oldalról Változók hatóköre: scriptekbe definiált változók nem érhetők el azokon kívül, illetve a globálisokkal azonos nevűek felüldefiniálják azokat az adott területen.
Komplex munkák esetében nagy erőforrásigények, különösen intenzív animációs átmenetek használatánál.
Referenciák [1] Nemzeti Szakképzési és Felnőttképzési Intézet, szakmai és vizsgakövetelmények. www.nive.hu [2] http://www.adobe.com/products/authorware/productinfo/features/static_tour/intuitive.html#flowline [3] AICC White Papers www.aicc.org