Saturday, May 9, 2020

Nädal 15 - Eetikakoodeks

    Otsisin internetist erinevaid eetikakoodekseid mis oleksid suunatud tarkvara arendajatele. Tulemusi oli palju ning enamikes koodeksites oli kirjeldatud sarnaseid aspekte, mida üks tarkvarafirma või -arendaja peaks järgima.
    Valisin välja ühe näitena "Assicuation for Computing Machinery" tarkvaraarendajate kutse-eetika (https://ethics.acm.org/code-of-ethics/software-engineering-code/). Antud koodeksile on lähenetud kui kutse-eetikale, kus on lühidalt kirjeldatud kaheksat põhimõtet mida järgida ning samuti on iga punkti ka pikemalt ning põhjalikumalt kirjeldatud. Nagu enamikes, nii ka selles koodeksis, on põhiline teema üldised käitumisreeglid. Mitmes punktis on öeldud, et tuleb käituda üldiste käitumisnormide järgi. Samas on seda punkti palju dubleeritud, kuna nii avaliku käitumist, kliendisuhteid, juhatust ning kaastöötajaid kirjeldavates punktides on öeldud, et tuleb olla viisakas ning järgida üldisi käitumisreegleid ning tavasid.
    Minu jaoks omavad koodeksi kontekstis kõige suuremat väärtust punktid mis on seotud tootega ning inimese endaga. Toote kohta on öeldud, et tuleks tuleks kasutada uusimaid tehnoloogiaid ning toode peaks vastama kõrgematele standarditele. Inimese enda kohta on öeldud, et ta peaks ennast pidevalt arendama ning muutuma oma töös pidevalt paremaks. Need kaks punkti täiendavad teineteist ning need on punktid, mida peaks iga tarkvaraarendaja järgima. Tehnoloogia arenedes tekib palju uusi lahendusi ning praktikaid. Et toode oleks alati ajaga kaasas käiv, tulebki olla õppimisvõimeline ning pidevalt ennast uute tehnoloogiatega kurssi viima, et saavutada aina paremaid tulemusi ning kõrgemat standardit.
    Kas eetikakoodeks või kutse-eetika põhimõtted tuleks kindlasti kirja panna, selles pole ma päris kindel, sest üldiselt on eetika käitumisnormid mida peaks kõik niigi järgima. Samas on kirja pandud ning kõigile kättesaadavad normid motivatsiooniks parema ning kvaliteetsema töö saavutamisel.

Nädal 14 - IT turvarisk - pettused

    IT turvariskidest on mulle silma jäänud kõige rohkem just pettused. Siin pean silmas nii väiksemaid pettusi, näiteks kus keegi müüb olematut asja või suuremate summade välja petmisega kergeusklikelt inimestelt või isegi firmadelt.
    Tänapäeval on interneti kasutajaskond väga suur ning suur osa inimeste tegevusest on sinna kolinud, kaasa arvatud teenuste ning esemete müük. Kuna kasutajaskond on väga suur, siis on näiteks Facebooki ostu-müügi grupid oma liikmete arvult väga suured ning see on hea platvorm, kus jõuda väga paljude inimesteni. Samas on sellistel palju liikmelistel platvormidel petta soovivatel seda lihtsam leida kergeusklikke inimesi, kellelt raha välja petta. Väga levinud on ettemaksu küsimine kauba eest, mida müüjal tegelikult ei ole või teenuse eest, mida kunagi osutama ei tulda.
    Mida saaks selliste pettuste ära hoidmiseks teha? "Mitnicki valemi" järgi võiksid selliste pettuste ära hoidmiseks olla järgmised lahendused:
Tehnoloogia - Siin tuleks kasuks tehnoloogia, mida kasutavad palju ostu-müügi portaalid. Nimelt ostu-müügi portaal, kui vahendaja, hoiab makstavat summat enda käes nii kaua kuni saaja on oma kauba kätte saanud. Seda on samuti võimalik kontrollida posti- või kullerteenuse kaudu, kas kaup on üldse teele pandud ning kas saaja on kauba kätte saanud. Kui suuremad ning populaarsemad ostu-müügi portaalid ning grupid kasutaksid sellist lahendust, oleks pettuste arv oluliselt väiksem.
Koolitus - Tänapäeval on inimesed üpris teadlikud riskidest, mis kaasnevad internetist ostmisega. Kuid siiski tuleks teha rohkem teavitustööd, et inimesed oskaksid riske paremini hinnata. Samuti kui inimesed teaksid paremini, milliseid lahendusi arenenud müügiportaalid kasutavad, oleks pettuste arv väiksem, kui rohkem inimesi neid kasutaks.
Reeglid - Selle kohalt võikski minu arvates olla rakendustel ning portaalidel kindlad reeglid mida järgida, et ta tohiks üldse tegutseda. Näiteks olekski üks reegel see, et müüja ei saa enne raha, kui ostja on kauba kätte saanud või kui teenus on osutatud. Samuti sunniks see portaalide omanikke selliseid tehnoloogiaid kasutama ning mida rohkem seda kasutataks, seda suurem on tõenäosus, et sellised tehnoloogiad arenevad ning mõeldakse välja uusi ning paremaid lahendusi pettuste ära hoidmiseks või maandamiseks.

Friday, May 1, 2020

Nädal 13 - IT tugilahendused

    On selge, et arvuteid, nutitelefoni ning muud elektroonikat kasutavad kõik inimesed, kaasa arvatud erinevate puuetega inimesed. Samas ei kujuta paljud ette, kuidas näiteks pimedad või vaegkuuljad kasutavad telefone või inimesed, kes ei suuda oma jäsemeid liigutada kasutavad arvuteid. Selle jaoks on aga kasutusel mitmeid erinevaid tehnoloogiaid, kuidas puuetega inimestele seadmed kasutatavaks teha.
    Üks selline lahendus on näiteks ekraanilugerid vaegnägijatele. Tehnoloogia pole küll kõige uudsem, kuid iga arendaja peaks mõtlema ka sellele, et tema rakenduse sihtrühm ei ole ainult puueteta inimesed. Ühe näitena võib tuua pildid veebilehtedel. HTML-is tuleks igale pildile kirjutada juurde alternatiivne tekst, mida seal pildil kujutatud on. See ei ole ainult selle jaoks, et nägija saaks teada, mis pildil on, kui pilt ei peaks ära laadima, vaid ekraanilugerid loevad pildi alternatiivteksi ning ka vaegnägijad, kasutades veebilehte, teaksid mida on kujutatud. Tänapäeval on see probleem väiksem, kuid on ikkagi juhuseid kus pildi nimi on "pilt1", "pilt2" jne. See on mitte midagi ütlev ning muudav vaegnägijale lehekülje kasutamise ebameeldivaks.
   Lisaks sellele peaks iga mobiilirakenduse arendaja mõtlema sellele, et tema rakendust võib kasutada ka vaegnägija. Ei ole vahet, millise rakendusega on tegemist, kas uudiste lugemiseks mõeldud või kaardirakendusega. Tean juhust, kus ühel taksotellimise rakendusel kaotati ekraanilugeja võimalus uuendusega. See aga võis tekitada paljudeski vaegnägijates palju ebamugavust, kui ühel hetkel enam taksot tellida polnud võimalik, sest rakendust ei olnud võimalik enam kasutada.
    Seega tuleks igal arendajal mõelda, kuidas muuta oma veebileht või rakendus kasutatavaks kõigile, kaasa arvatud puuetega inimestele ning mitte jätma kahe silma vahele lihtsaid võimalusi nagu näiteks ekraanilugeri valmidus.

Thursday, April 23, 2020

Nädal 12 - Kasutajamugavus

    Selle nädala teemaga seoses kirjeldan ühte negatiivset ning ühte positiivset näidet kasutatavuse või kasutajamugavuse kohta veebis. Esiteks kirjeldaksin telefonirakendust, mis uuendusega nii-öelda ära lõhuti ja kasutajamugavust halvendati ning teisena ühe disainielemendi, millega on veebilehtede kompaktsust oluliselt parandatud.
    Näide, mis esimesena pähe tuleb, kui rääkida halvast kasutajakogemusest minu seisukohast, oleks Swedbanki telefonirakendus. Algselt oli see see väga mugav kasutada. Väljanägemine ei olnud just kõige parem, kuid samas ka mitte midagi väga silma riivavat. Peale viimast uuendust, mil rakendus täielikult ümber disainiti, muutus minu jaoks selle kasutamine ebameeldivaks kogemuseks. Üks probleemidest on see, et võrreldes varasemaga on teatud tegevused liiga ära peidetud. Näiteks pangakaardi valimine, millelt ülekanne teha, või määratud maksete otsing. Veel suurem probleem minu jaoks on aga see, et suur osa tegevusi on suunatud veebilehitsejasse. Pangaülekandeid saab veel rakenduse enda sees teha, kuid enamus teiste tegevuste jaoks suunab rakendus veebilehitsejasse, et siis seal oma tegevused ära teha või lõpetada. See aga tähendab pikka laadimisaega, uuesti sisselogimist ning vahel isegi uuesti õige koha otsimist. Kõige selle tõttu kaob mobiilirakenduse mõte ära ning mugavama on kasutada panka kas arvutis või telefoni veebilehitsejas.
    Üht kindlat positiivset näidet on raskem leida, sest kui veebilehte või -rakendust on mugav kasutada, siis ei mõtle väga sellele, et kui hea ja mugav seda kasutada on, vaid pigem jäävad meelde asjad mis häirivad. Ilmselt on igal veebisaidil mõni väiksem või suurem puudus, mis ühte inimest väga häirivad ning mida teine ei pane tähelegi.
    Positiivse näitena tooksin tooksin niinimetatud hamburgermenüü, mis on nüüdseks juba pea igal veebisaidil. Alguses oli raske sellega harjuda, et enam ei ole kõik menüüd veebilehe päises ning tuli hakata otsima mingisugust ikooni, kuhu alla need peidetud olid. Peale mõningast harjumist jõudsin siiski järeldusele, et antud element teeb veebilehed palju kompaktsemaks ja mugavamaks. Enam ei olnud pool ekraani täis menüüsid, vaid olid ühte kohta paigutatud ning lehekülje sisu oli rohkem esiplaanil. Siit võib järeldada, et uuendused, mis alguses tunduvad harjumatud, võivad saada mingi aeg saada normaalsuseks ning tõsta oluliselt kasutajamugavust.

Wednesday, April 15, 2020

Nädal 11 - Arendus- ja ärimudelid

    IT maailmaga mitte kokku puutunud inimesena on keeruline analüüsida üht arendus- ja üht ärimudelit mõne konkreetse näite puhul. Kuna ei ole siiani ühegi projektiga otseselt kokku puutunud, siis võin ainult oletada, millist mudelit mingi projekti puhul kasutatakse.
    Võtaksin näiteks mõne videomängu loomise. Siiani loetu põhjal eeldan, et iga projekt algab analüüsiga. Suurtemate firmade puhul võib tellijaks olla mõni suurem ettevõte, kui aga võtta näiteks mõni väiksem indie arendaja, siis ilmselt tellijat ei ole ning toode valmib omas tempos. Suurema projekti puhul on kindlasti kindlaks määratud tähtajad ning tellija ootused lõpptootele. Sellest tulenevalt olekski kõigepealt vaja paika panna mingid tähtajad ning pidepunktid. Olen üpris veendunud, et videomängu loomiseks ei sobi rangem kosemudel arendusmudelina. Ilmselt projekti käigus luuakse pidevalt uut funktsionaalsust mida lõpptootele lisada. Samuti peaks iga aja tagant olema valmis nii öelda prototüüp mida testida ning mille põhjal muudatusi sisse viia. Arvan, et videomängude loomiseks sobiks mõni agiilne meetod, kus projekt on jagatud tükkideks ning iga teatud aja tagant on valmis mingi prototüüp ning saab alustada uut tsüklit. Samuti ei oleks vajalik iga uue tsükli algul analüüsida tellija ootusi või sihtgruppi jne, kuna need peaks olema projekti alguses üpris konkreetselt määratud.
    Äriliselt kasutatakse videomängude loomiseks arvatavasti traditsioonilist omandvara. Kui mäng on valmis, müüakse seda koopiahaaval kas füüsilisel või digitaalsel kujul ning läbimüügist sõltub looja tulu. Samuti võidakse kasutada mobiilimängude seas populaarset freemium mudelit. Enamik mobiilimänge on üles ehitatud põhimõttele, et kasutaja võib selle tasuta alla laadida ning mängida. Kuid mängu lihtsustamiseks on mängusisesed ostud, mis annavad boonuseid ning võimaluse kiiremaks edasijõudmiseks. Samuti kasutatakse seda tasuliste arvutimängude puhul, kuid siis on tavaliselt ostetavaks kaubaks disainidetailid mis ei anna eelist teiste mängijate ees, kes juba videomängu ostnuna ei soovi rohkem raha välja käia.
   Sellisena eeldan, et käib ühe videomängu projekti arendus. Kuna pole sellise, ega ühegi teise IT alase projektiga seotud olnud, on see ainult oletus ning loodan tulevikus rohekm ennast selle alaga kurssi viia.

Sunday, April 5, 2020

Nädal 10 - Hacker-HOWTO

    Lugesin Eric S. Raymondi kirja pandud artiklit "How to become a hacker". Artikkel kirjeldab põhimõtteid mille järgi peaks häkkeriks saada sooviv inimene tegutsema. Samuti toob tekst välja erinevused avatud ning suletud lähtekoodiga programmide kohta ning erinevused "häkkerite" ja "kräkkerite vahel".
    Kõigepealt kirjeldab artikli autor kes või mis on häkker ning miks ei ole inimesed, kes seadusi rikuvad ning oma oskustega halba püüavad teha, näiteks teiste kontodele või süsteemidesse sisse muukimine, häkkerid, vaid neid nimetatakse halvustavalt "kräkkeriteks". Järgnevalt kirjeldatakse milline peab olema suhtumine, et häkkeriks saada ning mis võiksid olla baasteadmised ning oskused, kaasaarvatud oskused, mis ei ole arvutite ega programmeerimisega seotud. Lõpetuseks kirjeldab autor mis teeb häkkerist hea häkkeri ning kuidas oma reputatsiooni ning staatust teiste seas tõsta.
    Minu jaoks murdis loetud artikkel teatud stereotüübid häkkerite kohta. Olin arvamusel, et häkker on keegi, kes teeb kurja ning kõike omakasupüüdlikult. Autor suutis mind veenda, et häkker on keegi, kes vastupidiselt teeb asju, mis oleks kõigile vajalikud ja kasulikult ning seda mitte omakasupüüdlikult. Samuti suutis tekst mind veenda, et kui soovida häkkeriks saada, siis on kõige olulisem suhtumine. Häkkeri põhioskuste osas jään teksti autoriga mingil määral eri arvamusele. Ilmselt ei satu seda artiklit igaüks lugema. Kui inimesel peaks tulema mõte, et hakata häkkeriks ning tal puudub programmerimise oskus või ei tunne ta Unixi operatsioonisüsteemi, on võtnud ta tõenäoliselt liiga suure eesmärgi. Usun, et häkkeriks saada soovijatel on nii-öelda põhioskused ammu omandatud ning staatus "häkker" oleks mingi uus verstapost kuhu poole pürgida. Arvan, et inimesed, kes on häkkerid, ei ole lugenud kasutusjuhendit, kuidas häkkeriks saada, vaid see staatus on tulnud suure töö ja tahtega. Tekst oleks võinud olla rohkem suunatud mingi kindla sihtgrupi poole - kas algajad, kes vajaksid suunitlusi mille poole pürgida, või kogenud häkkerid, kellele jagada soovitusi kuidas ennast arendada või kuidas mitte kalduda kräkkeri staatuse poole.
    Artikkel "How to become a hacker" oli hästi lahti seletav, kes on häkker ja millega ta tegeleb ning millised omadused peaksid heal häkkeril olema. Tekst jäi aga liiga laiahaardeliseks ning jäi arusaamatuks kas see oli suunatud rohkem "mehele metsast", kes ei ole programmerimise ning arvutitega väga tuttav, või kogenenumale inimesele, kellele anda suuniseid enda arendamiseks.

Monday, March 23, 2020

Nädal 8 - IT proff

    Kes on tänase seisuga IT proff Eestis ning mis on tema eeldused, omadused ning oskused? Ilmselt võiks seda kirjeldust laiendada ka kaugemale, kui ainult Eesti piirid. Kuna senises elus puuduvad mul kogemused IT maailmaga, võin paralleele tuua muude valdkondadega, kus oma ala professionaalid vajavad sarnaseid omadusi kui IT valdkonna inimesed.
    Usun, et eelduseks ükskõik mis alal läbi löömiseks on ennekõike pühendumus ning tõsine huvi vastava valdkonna vastu. Vähese kogemusega inimesed võivad saavutada palju rohkem palju lühema ajaga kui kogenenud töötajad. Näitena võin tuua teistest valdkondadest inimesi, kelle puhul on esimesel tööpäeval või isegi proovipäeval näha, kas ta hakkab oma tööd hästi tegema või kas ta lahkub juba mõne aja pärast. Kui inimene tunneb huvi ala vastu ning on kohe algusest nii öelda "käed küljes" asjaga kaasas, on ta oluliselt edukam kui keegi, kes vaatab vaikselt kõrvalt kuidas asjad käivad. Sama paralleeli võib tuua ka ilmselt IT maailmas. Ka ülikooli diplom ei pruugi näidata, kas inimene on ametikohale parim kandidaat. Ilmselt on edukamad need inimesed, kellel ei pruugi diplomit olla, kuid kes on sarnased oskused omandanud iseseisvalt õppides ning asjasse pühendudes.
    Suhtlemisoskuselt võiks minu arvates IT proff olla siiski eeskujulik. Kuna suure tõenäosusega on tegu meeskonnatööga, tuleb teistesse suhtuda lugupidavalt ning austusega. Viisakad peaksid olema siiski kõik, kes kasvõi olude sunnil peavad teiste inimestega suhtlema. Inimene, kellel on piisav enesedistsipliin ning kes suudab teistega arvestada ning samal ajal viisakaks jääda, on edukam kui keegi, kes ei lase oma arvamust mõjutada ning ei arvesta teistega.
    Nii IT maailmas kui ka teistes valdkondades võib proffiks pidada inimest, kes tunneb oma valdkonna vastu suurt huvi, kes omab piisavaid teadmisi ning suudab ning tahab pidevalt ennast täiendada ja kes suhtub teistesse inimestesse lugupidavalt.