Kitaip nei kišeniniai kompiuteriai, aprūpinti gausia programine įranga ir leidžiantys vartotojams savarankiškai diegti bei trinti programas, mobilieji telefonai šiuo požiūriu gerokai atsilieka. Neseniai jų savininkai galėjo naudotis tik keliomis standartinėmis programomis, kurios gamykloje būdavo įdiegiamos į telefono atmintį.
Tai visiems gerai žinomos užrašų knygelės, neišvaizdūs kalendoriai, laikrodžiai, nepakankamai funkcionalios priminimo funkcijos ir nusibodę žaidimai. Viskas apsivertė aukštyn kojomis rinkoje pasirodžius su “Java” (J2ME) suderinamiems telefonų modeliams. Kaip iš gausybės rago pasipylė nepriklausomų programinės įrangos gamintojų sukurtos programos, sėkmingai įveikusios visus įmanomus apribojimus.
Įvairūs žaidimai, žodynai, žemėlapiai, pasaulio laiką rodantys laikrodžiai, kelionių gidai, MPEG grotuvai, apsauginių vaizdo kamerų funkcijas atliekančios programos, vaizdo ir melodijų redaktoriai, pagalbiniai sistemos valdymo įrankiai (ekrano apšvietimui ir kontrastui reguliuoti, patogiam darbui su užsklandomis, papildomiems meniu punktams kurti, svarbiems duomenims apsaugoti slaptažodžiu, asmeninėms nuotraukoms užšifruoti ir pan.), visavertės interneto naršyklės, valiutos ir matavimo vienetų konverteriai, programos darbui su biržų informacija, vertybinių popierių “portfeliai”, mobiliosios elektroninės lentelės ir duomenų bazės, galimybė peržiūrėti trimatę grafiką bei diagramas - visa tai šiandien gali turėti kiekvienas mobiliojo ryšio vartotojas, turintis tobulesnį telefoną su integruota “Java” technologija.
Neaprėpiami “Java” horizontai
Neapsiribodama asmeniniams kompiuteriams sukurta ir visame pasaulyje pripažinta programine “Java” platforma, bendrovė “Sun Microsystems” 1999 m. vykusioje kasmetinėje “JavaOne” konferencijoje pristatė nedideliems prietaisams pritaikytą “Java” versiją - “Java 2 Micro Edition” (J2ME). Iš esmės tai “apkarpytas” standartinės “Java” platformos (“Java 2 Standard Edition”) variantas, sukurtas atsižvelgiant į visus mobiliųjų įrenginių apribojimus (nedidelę atmintį, ribotas procesorių galimybes, grafinės sąsajos ir informacijos įvesties bei išvesties ypatumus, nepastovų sujungimą su mobiliojo ryšio tinklu ir t.t.).
Palyginti paprasta ir programinės įrangos kūrėjams laisvai prieinama J2ME technologija leidžia kurti nedideles (vidutiniškai 30 KB) programas, kurios mobiliame įrenginyje (pavyzdžiui, telefone) gali įgyvendinti viską, kas tik programuotojui šauna į galvą - nuo paprastų žaidimų ir “gyvų” užsklandų iki sudėtingų programų darbui su tinklo serveriais. Abejonių nekelia ir naujos platformos pritaikymo galimybės. Belaidė “Java”, naudojama mikroprocesorių kortelėse, pranešimų gavikliuose, mobiliuosiuose telefonuose, komunikatoriuose, automobilinėse telemetrijos sistemose ir kišeniniuose kompiuteriuose, užtikrina nepaprastą šių aparatų naudojimo lankstumą.
Vos prieš keletą metų “mobilizacijos” keliu pasukusios “Sun Microsystems” atstovai neabejoja J2ME sėkme ir tikisi, kad programuotojai sugebės visapusiškai išnaudoti visas jos galimybes. O jos išties stulbinančios. “Motorola” tai įrodė dar 2001 m., pristačiusi su “Flashline” sukurtą “Java” programą, leidžiančią mobiliuoju telefonu valdyti robotą. “Lego Mindstorms” robotas paklusniai vykdydavo komandas, siunčiamas iš “Motorola i50sx” telefono, suderinamo su J2ME.
Šiandien turint su J2ME suderinamą mobilųjį telefoną, galima naudotis populiaraus interneto pranešimų gaviklio ICQ funkcijomis (jeigu operatorius teikia tokią paslaugą), su “Bluetooth” valdyti “Winamp” grotuvo funkcijas, telefoną paversti į judesius reaguojančia apsaugos kamera (jei jame įmontuota skaitmeninė kamera) ir netgi identifikuoti save GSM tinkluose. Paskutinė savybė ypač naudinga, nes leidžia visapusiškai valdyti telefono funkcijas pagal telefono savininko buvimo vietą. Kadangi dažniausiai lankomos vietos atitinka konkrečias GSM tinklo struktūras, vartotojas jas gali įtraukti į asmeninę duomenų bazę, o vėliau kiekvienai priskirti tam tikras funkcijas (pavyzdžiui, įspėjimo signalo aktyvavimą arba telefono režimų perjungimą patekus ar išėjus iš atitinkamos zonos). Atėjote į darbą - automatiškai įsijungia privatus režimas, vakare užsukote į teatrą - telefonas be įspėjimo “užmiega”, grįžote namo - grąžinamas standartinis režimas ir panašiai. Tokia identifikacijos sistema nepakeičiama dažnai keliaujantiems: niekada nepramiegosite stoties, nes ją privažiavę išgirsite įspėjimo signalą (žinoma, jei minėta stotis užregistruota asmeninėje duomenų bazėje). Tai toli gražu ne viskas, ką gali šiuolaikiniai “Java” telefonai, tačiau nereiktų pamiršti, kad jų funkcionalumą lemia ne vien programinė įranga, bet ir konkretaus modelio techninės savybės.
Ateities platforma
Palyginti su kitomis programavimo aplinkomis, “Java” platforma turi labai svarbų privalumą: ji beveik nepriklauso nuo programinės ir techninės elektroninių prietaisų įrangos. Vienintelė sąlyga - prietaisas turi būti suderinamas su virtualiąja “Java” mašina (Java Virtual Machine, JVM), kuri be tarpininkų vykdo visas “Java” kalba parašytas programas. Toks universalumas programuotojų pasaulyje ypač vertinamas. Bent šiek tiek susidūrusieji su “Java” gerai žino, kad savo sintakse ji labai primena C++ programavimo kalbą. Tačiau yra vienas pagrindinis skirtumas. C++ programuotojas pirminį programos variantą visuomet priverstas priderinti atskirai kiekvienam įrenginiui, kuriame planuojama naudoti šią programą. Tačiau “Java” programuotojui dėl to nereikia sukti galvos, nes visus “Java” kodus interpretuoja virtualioji “Java” mašina pačiame įrenginyje. Tai reiškia, kad tą pačią “Java” programą galima įdiegti į mobilųjį telefoną, kišeninį arba stalinį kompiuterį, taip pat į bet kurį įrenginį, kuriame yra JVM. Be atminties dydžio, vartotojas daugiau nesusidurs su jokiais apribojimais. Tiesa, kaip vėliau pamatysite, visa tai įgyvendinti šiek tiek sudėtingiau.
“Java” telefonai mobiliesiems žaidėjams
Tai dar viena mobiliojo ryšio mados kryptis, į kurią orientuojasi beveik visi telefonų gamintojai. Nuo jų neatsilieka ir programinės įrangos kūrėjai, savo produkcijos asortimentą vis dažniau papildantys įvairiausiais žaidimais. Tai skatina ne tik įspūdingos naujų telefonų techninės charakteristikos (spalviniai ekranai, didesnė atmintis, spartesni procesoriai, specialiai žaidimams skirti mygtukai), bet ir viliojanti mobiliųjų pramogų rinkos perspektyva. Juk žaidimai jau seniai tapo neatsiejama mobiliojo telefono dalis. Tiesa, anksčiau buvo galima žaisti viso labo kelis telefono atmintyje įrašytus žaidimus, kurie gana greitai atsibosdavo, o įdiegti naujų nebuvo galimybės. Ši problema įveikta telefonuose pradėjus naudoti J2ME. Dabar su ja suderinamo telefono savininkas bet kada gali atsisiųsti naujų “Java” žaidimų ar programų. Pakanka mobiliuoju telefonu prisijungti prie tam skirtos WAP svetainės ir jau po minutės (tiek vidutiniškai trunka parsisiųsti vieną žaidimą) bus galima mėgautis nauja pramoga. Kadangi parsiųsti žaidimai lieka telefono atmintyje, juos galima žaisti bet kuriuo metu, o svarbiausia - nemokamai. Pasak žaidimų kūrimo bendrovės “Midas Baltics” prekybos vadovo Pauliaus Kazokaičio, palyginti su WAP (vartotojui tenka mokėti už WAP ryšį) ir SMS žaidimais (mokama už kiekvieną išsiųstą žinutę), “Java” žaidimai yra patrauklesni ne tik dėl kainos, bet ir dėl teikiamų malonumų: jie jau prilygsta ankstyviems kompiuteriniams žaidimams, kurie visuomet žavėdavo tikra animacija, greitu veiksmu, ilgu bei sudėtingu scenarijumi ir netgi specialiaisiais efektais (pavyzdžiui, sprogimo ar susidūrimo atveju telefonas gali pradėti vibruoti). Vienintelis dalykas, vis dar trukdantis pajusti tikrąjį žaidimų “skonį”, - ne visuomet patogi klaviatūra. Nors žaidimų gerbėjams tai gana aktuali problema (“Times” duomenimis, net 68 proc. “Nokia” telefonų vartotojų žaidžia kultinę “gyvatę”), telefonų gamintojai kol kas į ją žiūri pro pirštus. Kur kas didesnę iniciatyvą šioje srityje rodo kai kurie telefonų priedų gamintojai, jau seniai siūlantys originalias prie populiarių telefonų modelių tvirtinamas valdymo svirtis ir nesudėtingos konstrukcijos mygtukų pultus, kurie įprastą telefoną paverčia mobiliąja žaidimų konsole.
Ko reikia norint naudotis “Java” programomis ir žaidimais? Pirmiausia “Java” telefono. Jų asortimentas Lietuvoje nuolat didėja, todėl pirkėjas gali laisvai pasirinkti ne tik telefono modelį, bet ir gamintoją. Iš populiaresnių modelių galima paminėti “Nokia” - 3410, 3510i, 6310i, 6610, 7210, “Siemens” - M50, C55, SL45i, “Samsung SGH-S100”, “Motorola T720”, “Sony Ericsson P800” ir kitus. Užbėgdami už akių pasakysime, kad su J2ME suderinami aparatai (“Nokia”, “Siemens” ar “Motorola”) savo meniu paprastai turi specialų aplanką, skirtą darbui su į telefono atmintį įrašomomis programomis. Jas galima įsirašyti iš kompiuterio (naudojant nuoseklųjį, “IrDA” arba “Bluetooth” prievadus - tai priklauso nuo konkretaus modelio techninių galimybių) arba parsisiųsti tiesiai iš tinklo naudojantis OTA (Over The Air) technologija. Pastaruoju atveju vartotojui būtina kreiptis į mobiliojo ryšio operatorių ir užsisakyti WAP paslaugą. GPRS mobiliojo interneto paslauga ne visada tinka “Java” programoms siųsti.
Nustačius savo telefoną WAP paslaugai, galima iškart pradėti ieškoti “Java” žaidimams skirtų WAP svetainių. Dažniausiai jos būna komercinės ir už žaidimų atsisiuntimą reikalauja mokesčio, tačiau pasitaiko ir nemokamų. Pavyzdžiui, iš WAP svetainės www.midlet.org/wap/ galima atsisiųsti demonstracinių žaidimų versijų. Pakanka telefono WAP naršyklėje surinkti minėtą adresą ir atsidarius svetainei paspausti norimo žaidimo nuorodą (dažnai papildomai reikalaujama atsisiuntimo kodo, kurį reiktų pirkti). Telefonas praneša apie ketinimą parsisiųsti “Java” programą (paprastai pateikiamas programos pavadinimas, versija, gamintojas ir užklausa, ar vartotojas sutinka parsisiųsti naują programą). Sutikus programa automatiškai atsiunčiama ir įrašoma į telefono atmintį. Belieka ją surasti telefono meniu. Paprastai naujos programos įdedamos į specialius skyrius: “Žaidimų”, “Programų” arba “Java”. Pritrūkus atminties nereikalingas programas arba nusibodusius žaidimus galima ištrinti keliais mygtuko spustelėjimais (visai kaip asmeniniame kompiuteryje).
Kada gi sulauksime “Java” žaidimų antplūdžio? Žaidimų kūrėja “Midas Baltics” jau atidarė pirmąją Lietuvoje “Java” žaidimų svetainę www.jega.lt. Šiuo metu joje siūloma tik keletas žaidimų keliems telefonų modeliams, tačiau, pasak bendrovės direktoriaus Iljos Laurs, jau artimiausiu metu siūlomų žaidimų ir su “Java” suderinamų telefonų asortimentas išaugs. Netrukus žaidimų turėtų pasiūlyti ir kiti platintojai, tarp jų - ir mobiliojo ryšio operatoriai. Tikimasi, kad “Java” žaidimų kainos Lietuvoje bus nuo 5 iki 15 litų.
Viskas tik prasideda
Daugelyje neseniai rinkoje pasirodžiusių telefonų įdiegta “MIDP 1.0” (Mobile Information Device Profile, mobiliesiems prietaisams pritaikyta pramoninio standarto specifikacija) pagrindu veikianti J2ME platforma, leidžianti programuotojams kurti įspūdingas programas įvairiems mobiliesiems prietaisams, tarp jų ir kišeniniams kompiuteriams. Kadangi programų dydį ir sudėtingumą riboja tik techninės įrenginių galimybės, kūrėjai turi puikią progą pademonstruoti savo išradingumą. Tai suvokdami telefonų gamintojai taip pat nesnaudžia. Pavyzdžiui, naudojant “Nokia” telefonus su juose įdiegta “Java” jų galimybės gali keistis nuo dviejų programuojamų mygtukų iki QWERTY klaviatūros, nuo vienspalvio iki 4096 spalvų didelės skiriamosios gebos ekrano, nuo 150 KB atminties iki 16 MB ir daugiau 92xx serijos komunikatoriuose, nuo standartinių jungčių iki naujosios “Pop-Port” jungties, užtikrinančios ne tik spartų duomenų perdavimą, bet ir sugebančios identifikuoti skaitmeninius priedus bei perduoti stereogarsą. Ir tai tik ledkalnio viršūnė, palyginti su tuo, kas mūsų lauks, kai telefonuose bus pradėta plačiai naudoti patobulinta mobiliųjų prietaisų specifikacija “MIDP 2.0”, į kurią jau dabar šnairuoja virusų kūrėjai ir įsilaužėliai.
Pagrindiniai J2ME privalumai:
- lengva diegti ir šalinti programas,- galimybė kurti nedidelius, bet funkcionalius programinius taikymus,- universalumas,- neribotos pritaikymo galimybės,- didžiulis nepriklausomų programinės įrangos kūrėjų susidomėjimas,- nuolat didėjantis naudingų programų ir žaidimų asortimentas,- beveik visi naujausi telefonai turi įdiegtą J2ME technologiją.
Ar nesugrius kortų namelis?
Nors programinė J2ME dalis yra griežtai standartizuota “Sun Microsystems”, pastaruoju metu rinką užplūdusių naujų “Java” telefonų techninė įranga labai skiriasi. Jeigu tokios tendencijos išliks, nepalaužiamam “Java” principui (skelbiančiam, kad vieną kartą parašytas “Java” kodas veiks bet kuriame įrenginyje su įdiegta virtualiąja “Java” mašina) gali kilti rimta grėsmė. Juolab kad “Sun Microsystems” kol kas neranda būdų, galinčių priversti gamintojus laikytis bendrų telefonų gamybos standartų. Su tuo sutinka ir žaidimus kuriančios bendrovės “Affinity Studios” (bendradarbiaujančios su “Nokia” ir “Crawfish Interactive”) direktorius Brianas Rodway, teigiantis, kad “Sun” svetainėje išvardyti net 56 skirtingi įrenginiai, suderinami su J2ME. Jo nuomone, programuotojui, norinčiam sukurti žaidimą kiekvienam iš jų, tektų parašyti 24 programų versijas atsižvelgiant vien tik į skirtingą ekranų skiriamąją gebą. O juk reikia įvertinti ir ekrano spalvų gylį, skirtingą vaizdo atkūrimo spartą (priklauso nuo naudojamo procesoriaus), garso perteikimo galimybes bei kai kurias kitas unikalias savybes, pavyzdžiui, skirtingą vidinį kreipimąsi į failus (pavyzdžiui, “Java” programoje naudojamus grafinius failus), nevienodą žaidimams skirtų mygtukų išdėstymą ir dažnai pasitaikančius valdymo skirtumus. Nors gamintojai stengiasi sukurti bendrą mygtukų apdorojimo mechanizmą (visi modeliai turi mygtukus FIRE, LEFT, RIGHT arba kt.), esant šiek tiek sudėtingesniam žaidimo valdymui tenka taikytis prie konkrečių mygtukų išdėstymo.
Nesklandumų gali kilti ir dėl telefonuose naudojamų papildomų “Java” klasių. Skirtingi gamintojai (“Siemens”, “Nokia” ir kiti) turi savo klases, leidžiančias kurti permatomus paveiksliukus, naudoti vibraciją, valdyti ekrano apšvietimą ir naudotis kitomis telefono funkcijomis. Tačiau tokios klasės veikia tik to gamintojo telefonuose. Problemų ne visuomet pavyksta išvengti ir siunčiant žaidimus. Nors teoriškai visi jie diegiami pagal bendrą WAP ryšio protokolą, tenka atsižvelgti į daugybę smulkmenų: HTTP užklausos formatavimą, JAD programos deskriptoriaus failo formatą, duomenų paketų surinkimą ir kitus dalykus, kurie gali skirtis. Tokių nesusipratimų pasitaiko ir skirtinguose to paties gamintojo modeliuose.
Pasak bendrovės “Midas Baltics” direktoriaus Iljos Laurs, arčiausiai universalaus sprendimo yra “Nokia”, savo telefonuose naudojanti standartizuotas vartotojo sąsajas (User Interface, UI). Pavyzdžiui, “Nokia” 7650 ir 3650 naudojama 60-oji UI (“Nokia Series 60”), “Nokia” 7210 ir 6610 - 40-oji, “Nokia” 3410, 3510i ir 6310i - 30-oji ir t.t. Kadangi konkrečiai UI galioja tos pačios sąlygos (ekrano skiriamoji geba, spalvingumas, garso formatai, atminties dydis, komunikacinės galimybės ir pan.), sukūrus programos versiją vienai UI galima be modifikacijų perkelti programą į keletą modelių. Žinoma, tokios priemonės problemos iki galo neišsprendžia, tačiau suteikia rimtą pagrindą būsimiems technologiniams sprendimams. Juk be bendrų standartų masinė nebrangių žaidimų (ir programų) rinka gali atsidurti gana keblioje padėtyje.
Kišenėje tykantis pavojus
Galimybė savarankiškai kurti programas ir laisvai diegti bei paleisti jas “Java” telefonuose perša mintį apie neapdairiai paliktas saugumo spragas, kurios išradingų įsilaužėlių ir virusų kūrėjų rankose labai greitai gali virsti klastingais spąstais. Ar pagrįsta ši baimė, neseniai mėgino išsiaiškinti Vokietijos mobiliojo ryšio operatoriaus “T-Mobile” ekspertas Markusas Schmallas, nusprendęs paieškoti silpnųjų “Siemens SL45” vietų (telefonas suderinamas su J2ME platforma).
Kad telefonu negalėtų pasinaudoti nepageidaujami asmenys, J2ME platformoje iš anksto numatyti keli “saugikliai”. Pirmiausia apkarpytas matematinių funkcijų rinkinys, apribotos programų paleidimo galimybės (viena programa negali paleisti kitos), neįmanomas tiesioginis priėjimas prie failų. Markuso Schmallo nuomone, viskas, ką gali padaryti piktavalis “Java” kodas, - gauti priėjimą prie informacijos kaupiklio, vidinės atminties, prisijungti prie interneto ir sąveikauti su telefone įdiegtomis programomis. Jis taip pat tvirtina, kad J2ME platforma visiškai apsaugo nuo virusų plitimo.
Testų rezultatai rodo, kad kol kas nėra rimto pagrindo nerimauti, tačiau pradėjus masiškai naudoti patobulintą mobiliųjų prietaisų specifikaciją “MIDP 2.0”, leidžiančią dirbti su failų sistema ir telefonų knyga, mobiliojo ryšio tinklais plintančio skaitmeninio užkrato rizika gali padidėti. Beje, palyginti su “MIDP 1.0”, naujoji versija turi platesnių darbo su garsu, vaizdu ir grafika galimybių, leidžia programose naudoti tonus ir WAV failus, užtikrina didesnį programų lankstumą keičiantis informacija su serveriais.
Lemtinga dvikova
Kai mobilioji “Java” jau gana aktyviai skynėsi kelią į rinką, pirmuosius žingsnius žengė grėsmingiausias jos varžovas - korporacijos “Qualcomm” sukurta BREW (Binary Runtime Environment for Wireless) platforma. Tai jungiamoji grandis tarp mobiliojo įrenginio (nebūtinai telefono) procesoriaus ir C/C++ kalba parašytų programų. Kaip ir “Java”, BREW yra atviras standartas. Pagrindiniai jo privalumai - mažesni kuriamų programų reikalavimai įrenginyje naudojamos atminties dydžiui, galimybė kurti sudėtingas programas darbui su dideliais duomenų masyvais (naudojantis 3G mobiliojo ryšio tinklais tai bus ypač aktualu) ir suderinamumas su “Macromedia Flash” formatu, automatiškai priderinančiu vaizdą prie įrenginyje naudojamo ekrano skiriamosios gebos.
Šiandien su BREW technologija susijusias programų siuntimo paslaugas teikia apie 20 didelių mobiliojo ryšio operatorių visame pasaulyje, o ja besinaudojančiųjų skaičius praėjusių metų pabaigoje pasiekė 3,2 milijono (“Java” tuo metu naudojosi jau daugiau nei 50 mln. vartotojų). Nepaisant tokio skirtumo, kiek netikėtas BREW populiarumas pakurstė aistras ne tik tarp telefonų gamintojų, bet ir mobiliųjų paslaugų rinkoje, kur dviem funkcionalumu viena kitai nenusileidžiančioms technologijoms bus tikrai ankšta. Kas paliks kovos areną, kol kas sunku pasakyti, nes ir BREW, ir J2ME turi savų privalumų bei trūkumų. Tik neseniai pradėjusios masinės rinkos šturmą, abi technologijos aktyviai galanda ginklus. Dabar aišku viena: jeigu techninės telefonų įrangos standartizacija baigsis sėkmingai, mobilioji “Java” gaus papildomą kozirį. Jos pergalę iš dalies gali nulemti ir pastaruoju metu gana sparčiai populiarėjantys daugialypės terpės telefonai ir komunikatoriai, turintys standartinę ekrano skiriamąją gebą. Jie jau dabar gali visapusiškai išnaudoti visus J2ME privalumus.
Na, o prieš atsisveikinant - staigmena: “Jega.lt” siūlo parsisiųsti nemokamą žaidimą “PowerBall”. Norintiems jį išbandyti reikia užsukti į tinklapį wap.jega.lt, pasirinkti nuorodą “Atsisiųsti žaidimą” ir įvesti atsisiuntimo kodą (132501 - “Siemens M50” telefonui, 130927 - “Siemens C55” arba 129353 - “Nokia 3410”).
“Naujoji komunikacija”, Nr. 5