Egyedi funkciók, növekvő komfortérzet

Csilling László, 2001. július 11. 21:05
A mobiltelefonok megjelenése és elterjedése után hamarosan felmerült az igény, hogy a készülékekbe egyedi funkciókat építsenek be, akár a mobilszolgáltató hírnevének öregbítése érdekében, akár egy-egy felhasználó komfortérzetének növelése kedvéért. A műszaki megoldásokat késleltette, hogy a maroktelefonokban kis teljesítményű processzorok vannak, kicsi a beépített memóriájuk, és még az elem élettartalmára is oda kell figyelni. Gazdasági szempontból eddig a mobil-előfizetők minden, telefonjukhoz kapcsolódó szolgáltatást kizárólag a mobilszolgáltatótól kaptak, azonban a szabványos programozási lehetőségek megnyitják a kaput a kisebb fejlesztőcégek vagy specializált alkalmazásszolgáltatók számára, hogy újabb funkciókkal bővítsék az ügyfelek lehetőségeit.
Kétrészes összeállításunkban áttekintjük, hogy milyen műszaki lehetőségek állnak rendelkezésre ma, illetve milyen ígéretes fejlesztéseket végeznek a mobilgyártók laboratóriumaiban.

SIM Toolkit

A SIM Toolkit volt az első olyan lehetőség, amely - a SIM-kártyák intelligens mivoltát kihasználva - bizonyos fokú készülékprogramozhatóságot eredményezett. Ennél a szabványos GSM-megoldásnál definiáltak egy interfészt, ahol a SIM-kártya kommunikálni tudott a telefonnal, képes volt parancsokat adni a készüléknek, és adatokat tudott onnan fogadni. Utasításkészlete lehetővé teszi új menüpontok létrehozását, felhasználói adatok bekérését, SMS-ek küldését, fogadását, hívások kezdeményezését és a telefonkönyv manipulálását. Egy további lehetőség, hogy a SIM-kártyán lévő programot vagy adatokat távolról SMS-ben vagy GPRS-en át lehet frissíteni, így a szolgáltató mindig a legfrissebb szolgáltatáslogikát tudja eljuttatni a készülékre. A technológia kiválóan alkalmas például banki alkalmazásokhoz, mert a SIM-kártya alapvetően alkalmas titkosításra, és általában egy tranzakció adatai elférnek egy SMS-ben még erősebb titkosítás esetén is.

A SIM-kártyák programozásának többféle lehetősége van, talán a legérdekesebb a JavaCard, amely a Java programnyelv egy speciális változatát használja az alkalmazás elkészítéséhez. A programot készítheti a szolgáltató, de vannak ügyfél által programozható megoldások is. Magyarországon például a Westel Menüász szolgáltatása alapul ezen a technológián.

WAP

Ha a WAP-ot úgy tekintjük, mint egy szabványos technológiát, amellyel a telefon menürendszere egy központi helyen tárolt elemekkel kiegészíthető, akkor a WAP-ot is a programozási lehetőségek közé kell sorolnunk. Ma még a WAP-használatnak korlátot szab, hogy legtöbbször adathívást használnak a WAP-oldalak letöltéséhez, ami nemcsak költséges, és lefoglalja a hálózat erőforrásait, de a telefonon sem lehet közben más telefonhívásokat végezni. A GPRS használatával ezek a problémák megoldódnak, a költségek csökkennek, a hálózat erőforrásai felszabadulnak, és a telefonok is képesek WAP-böngészés közben hívásokat kezdeményezni és fogadni. A WAP programozási szempontból fontos lehetősége a WTAI (Wireless Telephony Application Interface), amely lehetőséget biztosít a telefon néhány funkciójának elérésére, így a WML-oldalba olyan linkeket is elhelyezhetünk, amelyekre kattintva egy hívást kezdeményezünk, DTMF-hangokat küldhetünk, vagy a telefonkönyvbe elmenthetünk egy bejegyzést. A WTAI-lehetőségeket kiegészítve a WML-es szerveroldali programozási lehetőségekkel (CGI, PHP, ASP stb.), könnyen, gyorsan készíthetünk például egy céges telefonkönyv-alkalmazást, amely szabványos LDAP-címtárból veszi a dolgozók nevét és telefonszámát, azt megjeleníti WML-oldalakon, és ha keresés után megtaláltuk, akit kerestünk, elmenthetjük telefonszámát a telefonkönyvünkbe, vagy pedig azonnal felhívhatjuk. Eme lehetőségek ellenére ma még a WAP fő alkalmazási területe a hírek, rövid információk megjelenítése a mobiltelefon képernyőjén.

WMLScript

A WMLScript a WAP scriptnyelve, amely már valódi programozást tesz lehetővé a mobiltelefonon. Ez a nyelv hasonlít a JavaScripthez, változókat, függvényeket definiálhatunk, használhatjuk a megszokott programvezérlési struktúrákat, ezenkívül meghívható WML-oldalakról, és képes arra, hogy a WML-oldalaknak paramétereket adjon vissza. WMLScriptből a WTAI telefonvezérlési lehetőségeinek egy bővebb készletét használhatjuk, egyszerű függvényhívásokkal elérhetjük a telefon híváskezelési, rövidüzenet-kezelési, telefonkönyv- és hívásregiszter- (hívott, fogadott és nem fogadott hívások) funkcióit.

A WMLScript segítségével már bonyolultabb alkalmazásokat is el lehet készíteni, egyszerűbb titkosításokat tudunk vele a készüléken megoldani, a teljes telefonkönyvet kezelhetjük, rövid üzeneteket küldözgethetünk. Kihasználva, hogy a telefon böngészője ideiglenesen tárolja a letöltött oldalakat, a telefonon futó szöveges játékokat, a tudományos számítógépet vagy az online kapcsolatot kihasználva a telefonkönyv mentését és visszaállítását egy központi adatbázisból is meg lehet oldani. Egy további lehetőség a helyfüggő szolgáltatások használhatósága, hiszen a GSM-rendszeren belül a WMLScripttel hozzá lehet férni a legközelebbi adóállomás azonosítójához, és ennek alapján - ha nem is túl pontosan, de - meg lehet határozni jelenlegi helyzetünket.

Sajnos annak ellenére, hogy a legtöbb WAP-os telefon támogatja a WMLScriptet, a komolyabb alkalmazásokhoz szükséges WTAI-támogatást még nem mindegyik valósítja meg.

WTA

Még egy WAP-pal kapcsolatos technológia a WTA (Wireless Telephony Application). A WAP-technológiák közül ezt kifejezetten a telefonos alkalmazásokhoz fejlesztették ki, tudásában nagyon hasonlít a SIM Toolkithez, de a telefonon fut. A gyakorlatban úgy kell elképzelni, mint egy olyan WAP-böngészőt, amely nem a készülék felhasználójától kapja az utasításokat, hanem a telefon különböző eseményei vezérlik a működését. Programozása WML-ben és WMLScriptben történik, egy külön szintaxis segíti a programok eseményekhez rendelését. Annak érdekében, hogy az eseményekre azonnal reagálni lehessen, a telefon egy belső memóriában tárolja a programokat, ahol az esemény megtörténte után azonnal aktiválódnak.

A WTA lehetőségei igen széles körűek, hiszen segítségével programokat indíthatunk el egy hívás érkezésekor, kezdeményezésekor, SMS érkezésekor vagy küldésekor és még sok egyéb esetben.

Egy tipikus alkalmazása a globális telefonkönyv, ekkor hívás érkezésekor a telefon egy központi adatbázisból a szám alapján lekéri a hívó nevét, és a felhasználónak már név szerint írja ki a hívót. Egy másik nagy csoportja az alkalmazásoknak a hívás-előfeldolgozás, ezzel lehet például megoldani, hogy jó ismerőseinket rövid számokon hívhassuk - vagy például azt, hogy kevésbé jó ismerőseinket a telefonszámuk felismerése után automatikusan hangpostára irányíthassuk. A WMLScriptnél már említett helymeghatározási funkciók segítségével bizonyos körzetekbe való érkezéskor kaphatunk információt a traffipaxokról, vagy ha már majdnem hazaértünk, küldhetünk automatikusan egy rövid üzenetet partnerünknek, elkerülendő a kellemetlen meglepetéseket.

Java

A Sun a Java 2-es verziójának elkészítésekor a nagy teljesítményű számítógépek mellett gondolt a különböző elektromos berendezésekben található mikroszámítógépekre, és elkészítette hozzájuk a J2ME-t (Java 2 Micro Edition), amely a Java 2 kisebb erőforrás-igényű változata. Még ez a Micro Edition is két konfigurációra van bontva: a CDC (Connected Device Configuration) tipikusan 512 kilobájtnál nagyobb memóriájú asztali berendezések (például játékkonzolok) esetében használatos, a CLDC-t (Connected Limited Device Configuration) pedig tipikusan hordozható, 512 kilobájtnál kevesebb memóriával rendelkező berendezéseknél alkalmazzák. Mindkét konfigurációnál az alaprendszer tartalmazza az alapvető javás futtatókörnyezetet, garantálja a kód hordozhatóságát, illetve lehetőséget biztosít a rendszer távoli frissítésére.

Az alapkonfigurációkon kívül egy adott eszköztípushoz (például mobiltelefon) egy profil is tartozik, amely definiálja az adott eszköz vezérléséhez szükséges interfészeket.

A mobiltelefonokra megvalósított profil az MIDP (Mobile Information Device Profile). Ezek után a mobiltelefonok javás megvalósításához a J2ME CLDC konfiguráció és az MIDP-profil alkalmazandó, amihez a Sun weboldaláról letölthető egy komplett fejlesztőrendszer telefonemulációval.

Ebben a technológiában a Motorola jár az élen, már kapható az iDEN hálózathoz javás készülékük, amelyre ingyenes alkalmazások tölthetők le az internetről, például számológépek és különböző játékok.

A hamarosan megjelenő Nokia 9210 kommunikátor is tartalmazni fog Java-futtatókörnyezetet, és több más cég is támogatja ezt a vonalat , bár az új modellben nem a J2ME, hanem a pJava 1.1.1 és a JavaPhone 1.0 API található meg (ebből a pJava-implementáció gyakorlatilag megfelel a Java 1.1.6-os verziójának).

A Java lehetőségei igen tágak, lehet benne játékokat, információs és online kereskedési szolgáltatásokat, online társas alkalmazásokat (chat és játékok) vagy akár személyes online alkalmazásokat (például befektetési tanácsadás) megvalósítani, szinte csak a fejlesztők fantáziája szab határt a lehetőségeknek.

További előny, hogy azok az alkalmazások, amelyek Java-alapon készültek, változtatás nélkül átvihetők más, Javát futtató gépekre, így egy jól sikerült alkalmazás felhasználók százezreit is kiszolgálhatja.

MExE (Mobile Execution Environment)

Az MExE szabvány már évek óta készül, és tulajdonképpen a korábban említett megoldások összefogását célozza, kiegészítve azokkal az elemekkel, amelyeket esetleg az egyes különálló technológiák nem határoznak meg. Ennek megfelelően a szabvány több, az alábbiakban bemutatott területre ad ajánlásokat.

Felhasználói felület: gombok, menük, ikonok, animációk, beszédfelismerés, online kép és hang, valamint minden egyéb, ami a felhasználóval tartja a kapcsolatot.

Testre szabhatóság: a felhasználó döntheti el, hogy a felhasználói felületből és a rendelkezésre álló szolgáltatások közül melyeket kíván látni, és melyeket nem, ezek a beállítások azonban akár a napszaknak megfelelően automatikusan is változhatnak.

Hordozhatóság: a hálózat érzékeli a készülék képességeit, és annak megfelelő alkalmazást tölt le rá.

Mobil letölthetőség: a felhasználó a mobilszolgáltató vagy az alkalmazásszolgáltató szerveréről tud programokat letölteni és futtatni a telefonján. A készülék alapszoftverét is távolról lehet frissíteni, így például az új szoftververziók elérése miatt nem kell szervizbe menni.

Mobil adatelérés: a telefon képes az internetről online adatokat kérni, de akár két készülék is tud egymással közvetlenül kapcsolatba lépni, ami online játékokra ad lehetőséget.

A műszaki megvalósítás szempontjából az MExE-környezet Javát használ a programok futtatásához, amit kiegészítenek a telefon beépített funkcionalitásának elérésére szolgáló programfelületekkel.

A különböző kapacitású készülékeket osztályokba sorolják (Classmark), amelyek azonosítják a készülék tudását. Jelenleg négy osztályról van elképzelés:

- WAP-os telefon WML-, WMLScript- és WTAI-funkcionalitással,

- PersonalJava és JavaPhone API,

- Java J2ME, CLDC és MIDP,

- Microsoft Common Language Interface-támogatás.

Bár már régóta dolgoznak rajta, az MExE inkább a jövő szabványa, és talán a fő szerepe abban lesz, hogy a különböző programozási lehetőségek között rendet tartson.

BREW (Binary Runtime Environment for Wireless)

A Qualcomm - az a cég, amely az Egyesült Államokban igen elterjedt CDMA rendszerű mobiltelefonok chipkészletének nagy részét gyártja - is kifejlesztett egy saját megoldást. A BREW egy fejlesztőrendszert és a hozzá tartozó fordítóprogramot tartalmazza, amellyel a telefon chipkészletén futó programokat lehet fejleszteni. A rendszer képességei hasonlóak a fent leírt rendszerekéhez, így a programok online letölthetők, segítségükkel lehet frissíteni az alaprendszert, elérhetők a telefon funkciói, memóriája és kijelzője, azonban mivel ez kizárólag a Qualcomm alapú telefonokra használható, a megcélzott piac is korlátozott.

Jelenleg a fejlesztés C nyelven történik, azonban a Qualcomm ígéretei szerint készül egy Java Virtuális Gép, amely lehetővé teszi Java-programok futtatását is.