Ekspressi kõrvu jõudsid kuuldused sellest, et Webmedia inimesed käivad üle maailma ja jutlustavad konverentsidel mingist uuest leiutisest, millest Eestis pole sõnagi räägitud. Küsisime Webmedia juhilt Taavi Kotkalt ning tema arendusmeeskonnalt asja kohta aru.

Kotka räägib, et kõik sai alguse paar aastat tagasi, kui Webmediasse loodi Research & Development (R&D) ehk uurimis- ja arendustöö osakond, mille helgemad pead tegelesid keerulisemate IT-lahenduste väljatöötamisega ning otsisid võimalusi, kuidas parandada tootmisefektiivsust.

“IT-valdkonnas on üldjuhul nii, et mida rohkem standardiseerid, seda kiiremini saad tulemuse. Ja ma kujutasin ette, et sellele nad oma energia panevadki. Aga need hullud võtsid seda ülesannet sõna-sõnalt ja parandasid programmeerimiskeelt!” räägib Kotka.

Mis on leiutise sisu? Tarkvaraarendajate igapäevatööd mitte tundev inimene või lihtsamate keelte abil programmeerija ei saagi sellest esimese raksuga ilmselt aru. Kuid keerulisemaid IT-lahendusi loovatele java-programmeerijatele on asi selge.

Kotka ja R&D meeskond selgitavad: “Kujutage ette, et te joonistate kinnisilmi midagi ­paberile, seejärel teete silmad lahti, et vaadata, mis välja tuli, panete uuesti silmad kinni ja teete parandusi, siis jälle silmad lahti, et näha tulemust jne. Programmeerija töörutiin on samasugune: kirjutada pimesi koodi ning kontrollida, mis tulemusena välja tuli, teha seejärel täiendusi ja jällegi kontrollida, mis on tulemuseks.”

Kinnisilmi joonistajad

Programmeerijad on suurepärased “kinnisilmi joonistajad”, halb on aga see, et keerulisemate programmeerimiskeelte, näiteks Java puhul võtab tulemuse nägemine aega vähemalt pool minutit. Keskmiselt kulub selleks aga paar-kolm, vahel isegi kuni kümme minutit, sõltuvalt kasutatavatest tehnoloogiatest ja projekti suurusest. Protsessi, millele aeg kulub, nimetatakse deploy’ks (inglise keeles paigaldama — Toim.) ning sisuliselt on see programmeerija jaoks maha visatud aeg.

Kui algajad java-arendajad n-ö deploivad iga paari koodirea kirjutamise järel, et näha oma töö tulemust, siis edukamadki teevad seda vähemalt paar-kolm korda tunnis. Seega on “mahavisatud aeg” ehk raha ettevõttele, kus töötab üle 120 Java-arendaja, märkimisväärne. “Arvutiga töötav inimene peab tegema silmade puhkamiseks tihedalt pause, kuid sellised sunnitud pikad pausid halvavad tugevasti programmeerija keskendumisvõimet, mistõttu kahaneb tööviljakus,” selgitab Kotka.

Tööviljakuse kahanemisel on veel põhjuseid. Üldjuhul ei ole ühel programmeerijal korraga käsil mitu tööd, mistõttu kipub deploy aeg olema tööpaus — aeg uudiste lugemiseks, sõpradega suhtlemiseks, kohviks või suitsuks. Nii venib tööpaus veel märksa pikemaks. Omaette fenomen on YouTube, mis Kotka sõnul on ses mõttes lollakas keskkond, et kui sinna juba sisse lähed, siis enam välja ei saa. “Meie leiutis viib deploy protsessi 1–2 sekundile, mahavisatud aega enam ei ole ning kohvi lähed võtad siis, kui oma tööülesandega valmis said!” on Kotka Webmedia-poiste uue progemissaavutuse üle uhke.

Leiutis tekitas kõmu

Leiutisele pandi nimeks JavaRebel ning esimene kommentaar, mis seda tutvustavale artiklile laekus, võttis ideaalselt kokku kogu Java-maailma üllatuse: “This can’t be true…” (“See ei saa olla tõ si…”) Java-maailm oli harjunud deploy prob­leemiga elama. Kuidas küll Webmedia suutis revolutsioonilise JavaRebeliga lahendada probleemi, mille lahendamist paljud programmeerijad üle maailma pidasid võimatuks?

Webmedia R&D juht ning idee autor Jevgeni Kabanov ütleb, et ta on vähemalt sama palju teadlane kui programmeerija. Kabanov on Tartu ülikooli programmeerimiskeelte uurimisrühma liige. “Olen tänulik Webmediale, kes luues R&D osakonna, andis mulle võimaluse ja motivatsiooni sel­liste probleemidega tegeleda. Kindlasti on teisigi, kes olnuks võimelised seda küsimust lahendama, aga ilmselt pole sellele piisavalt palju aega ­panustatud,” räägib Kabanov, kes lõi koos kolleegide Toomas Römeri ja Ivo Mägiga JavaRebeli.

“Innovatsioon ei pruugi sõltuda sellesse investeeritud raha hulgast, vaid inimestest, soodsast keskkonnast ja pisukesest õnnest,” sõnastab Kabanov kuldse valemi. “Jevgeni on geenius, selle tõestamiseks oli vaja lihtsalt piisavalt suurt väljakutset,” märgib Kotka. Võib vaid ette kujutada, millist kokkuhoidu või tööviljakuse kasvu tähendaks JavaRebel maailma hiiglaslikele tarkvaraettevõtetele, kus töötab tuhandeid või kümneid tuhandeid programmeerijaid, ning suurtele pankadele ja telekomiettevõtetele, kes tellivad tuhandeid arendustunde aastas oma süsteemide jaoks.

Ent stopp. “Inimene on oma harjumuste ohver,” tunnistab Kotka. See lause tähendab seda, et mitte kõik Java-arendajad ei taha efektiivsemalt töötada, sest nad saavad tunnipõhist palka ning uus lahendus nõuab neilt sama ajaga rohkema töö tegemist. “See on meie suurim hirm. Laisad arendajad peavad lahendust ebainimlikuks,” ütleb Kotka.

Webmedia välja töötatud JavaRebel on kõigile vabalt internetist allalaadimiseks — piiramatu litsents maksab vaid 100 dollarit programmeerija kohta. Seni on ostetud litsentse peamiselt USAst, Hiinast ja Saksamaalt. “Hind on nii madal seetõttu, et seda poleks mõtet kopeerida. IT-maailmas kiputakse asju kohe-kohe järele tegema, seetõttu olemegi pannud mõttetu hinna,” lausub Kotka. Tõelist edu aga Webmedia JavaRebelilt alles ootab.

Edu ootab ees

Webmedia tahab Kotka sõnul JavaRebelit arendada edasi nii, et see lihtsustaks oluliselt suurte IT-süsteemide, näiteks internetipankade koodiuuendamist. Ilma kogu süsteemi maha võtmata — märkamatult. “See oleks asi, millest IBM, BEA või Oracle kindlasti huvituks,” muigab ta.

Korra on Webmedia juba gigantide poole ka pöördunud pakkumisega müüa maha JavaRebeli idee. “Me tahtsime idee maha müüa, sest oleme ikkagi liiga väikesed võrreldes muu maailmaga ja hirm oli suur, et lahendus tehakse kiirelt järele. Vaadake IBMi patentide hulka! 10 000-le India doktorile, kes kusagil laboris töötavad, on suhteliselt raske vastu saada,” ütleb Kotka.

Esimest müüki edu ei saatnud, sest idee jäi gigantide ärifookuse jaoks liiga kaugeks — vähemalt esialgu. Nii tuligi Webmedial JavaRebelit edasi arendada. Kotka sõnul pole Webmedia eesmärk teenida JavaRebeliga palju raha. “Meie oleme tööviljakusega juba oma eesmärgi täitnud. Kui siia juurde saab veel raha teenida, on hästi,” märgib ta.