Öppin öll

Það fer ekki framhjá neinum að núna eru öpp í tísku í spjaldtölvu- og snjalltækjaheiminum. Við hlöðum inn aragrúa af smáforritum (öppum) á símana og spjaldtölvurnar, forritum sem sum hver eru sérhönnuð fyrir einmitt okkar gerð af tækjum. Þá er eðlilegt að við spyrjum – Eigum við sem viljum útbúa alls konar fræðsluefni sem hægt er að vinna með í þessum tækjum núna að setjast niður og læra að búa til öpp?  Og hvernig er það með þessi öpp, er ekki erfitt og tímafrekt að búa til og læra að búa til öpp? Og hver er eiginlega munurinn á að nota og búa til app fyrir sérstök snjalltæki (native app) sem notendur þurfa að hlaða niður á tölvuna sína og að búa til vefumhverfi sem skynjar hvaða gerð af tæki notandi er með og gerir notanda kleift að nota án þess að hlaða neinu niður (web app)?

Kennsluforritin og öppin

Náms- og kennsluöppin minna sum hver afar mikið á kennsluforritin sem við notuðuð um og eftir 1995 á BBC, Apple Macintosh og PC tölvurnar. Um nokkurra ára skeið hurfu kennsluforritin af sviðinu eða öllu heldur breyttust, breyttust úr þjálfun og urðu að verkfærum þar sem nemandinn var við stjórnvölinn og réði atburðarásinni og gat smíðað eða búið eitthvað til eða spilað í leik þar sem hann hafði áhrif á útkomu en atburðarrásin var ekki fyrirfram ákveðin eins og í hefðbundinni sögubók. Síðustu árin hafa verkfærin breyst í að vera ekki eingöngu einstaklingsverkfæri heldur verkfæri sem gera mörgum kleift að vinna saman að einu verki þó þeir séu aðskildir í tíma og rúmi. Og Internetið, sjálft veraldarvíðnetið hefur breytt öllu og yfirtekið sviðið, líka sviðið sem kennsluforritin áttu áður. Kennsluforritin voru mörg hver þjálfunar og þrautalausnaforrit með einn afmarkaðan óbreytanlegan tilgang. Ef til vill eins og sum öpp eru í dag, öpp sem þjálfa nemanda í ákveðinni færni með því að hlýða honum yfir og prófa hann og gefa honum kost á að æfa sig og æfa.

En eru öppin komin til að vera og er núna komin sú tíð að það er skynsamlegt að þjálfa kennara og kennaranema eða þá sem útbúa námsefni í alls konar appafræðum, kenna þeim að forrita í ýmis konar forritunarmálum sem henta snjalltækjum nútímans? Þegar við rýnum fram í tímann þá sjáum við að það mun ekki verða neitt lát á að við nettengjumst með alls konar tækjum og reyndar líklegt að þau verði fjölbreyttari en við höfum aðgang að núna og þess mun ekki langt að bíða að við tengjust gegnum Internetið í alls konar stýringar (sem auðvitað er til núna en er ekki eitthvað sem almenningur gerir, bara þeir sem eru í ýmis konar fjarvinnslu og fjarvöktun), við verðum með tæki sem lesa örmerki af því sem er í kringum okkur og við getum í gegnum gps símatækni og svipað vaktað gróður, menn og dýr og umhverfi og forritað að það sé brugðist sjálfvirkt við ef einhver staða kemur upp. Vinnutölvan er ekki lengur borðtölva en hún er heldur ekki lengur fartölva heldur er hún allt um kring í tölvustýrðum og nettengdum tækjum og efnum sem taka við og bregðast við boðum frá öðrum tölvustýrðum og nettengdum tækjum og við vinnum í þessum frumskógi þar sem dýrin eru ekki fílar og ljón og apar heldur æða um umhverfi okkar forritsbútar sem hafa mismunandi virkni og virka svo lifandi að við vitum ekki hvort við eigum við lífveru eða forrit og plönturnar sem vaxa í frumskóginum ljóstillífa ekki heldur eru efni og hlutir sem nema boð úr umhverfinu og breyta einhverju eða túlka og flytja boðin áfram. Í augnablikinu erum við stödd á því stigi að spjaldtölvur eru að ryðja sér til rúms, tæki sem eru oftast með snertiskjám og ákaflega hentug til að lesa og fletta upp gögnum og skoða vídeó. Svo eru slík tæki færanlegt og geta tengst Netinu gegnum loftið, í þráðlausu sambandi. En það er ekki endilega víst að spjaldtölvan verði aðaltöfrasproti okkar í aðgang að tækninni eftir tíu ár, ef til vill verður það tæki sem líkist meira símanum okkar en miklu fullkomnari.

En áfram með spurninguna og við skulum endurorða hana. Eigum við að veðja á öppin eða höfum við eitthvað annað val? Við vitum að það eru margs konar forritunarmál notuð við forritun á öppum og í mörgum þeirra er lærdómskúrfan æði brött og forritunarumhverfið fráhrindandi nema fyrir harðsvírað tæknifólk. Það er alveg víst að við þurfum meira á forritun að halda núna og allir kennarar og kennaranemar þurfa að hafa skilning á hvað gerist í hlutbundinni forritun (object oriented programming) þó ekki nema til að skilja gangverkið í þróun nútímans og þeirri þróun sem er núna á blússandi ferð og hefur verið kölluð IoT (Internet of Things) og stafræn hönnun og smíði hvers konar (digital fabrication). Af þessu leiðir að það er hollt að allir sem vinna við stafræna smíði kynnist einhvers konar kóðun.

HTML5

En það er annað atriði sem vegur þungt. Það þjónar ekki miklum tilgangi að kenna fólki að forrita fyrir tæki sem ekki eru stöðluð og geta ekki auðveldlega talað við önnur tæki og það er ekki skynsamlegt fyrir skólakerfi að halla sér að námsumhverfi sem bundið er við ákveðnar vélategundir og ákveðin stýrikerfi og umhverfi og virkar þar eingöngu en ekki annars staðar. Þetta er ein ástæða fyrir að það er skynsamlegt að miða við opið umhverfi, opin höfundarleyfi og opinn hugbúnað, efni sem auðvelt er að flytja hindranalaust á milli og aðlaga. Sum forritunarmál sem öpp eru unnin í eru þannig. En það er líka skynsamlegt að horfa á hve miklar breytingar eru að verða á þeim búnaði sem við notum til að hafa samskipti við vef, á vöfrum (browser) og hve mikið hefur gerst þar og er líklegt að gerist í þeim staðli sem Internet umhverfið byggir á. ER ekki í mörgum tilvikum skynsamlegra að útbúa efni sem hægt er lesa beint í vöfrum, efni sem miðar við HTML5 og CSS3 staðla og framtíðar útgáfur þeirra frekar er ákveðin öpp eða forrit? Hér má nefna að mikil þróun í á efni fyrir síma fer einmitt fram í því umhverfi og sá staðall sem við notum til að lesa rafbækur (epub3) er reyndar ákveðinn útgáfa af þessu vafraumhverfi og ekkert sem bendir til annars en í náinni framtíð þá þurfi ekki sérstaka lesara fyrir rafbækur, það sé bara hægt að lesa þær beint í nútíma vöfrum, spila vídeó og hljóðefni með textanum o.s.frv.
Hér er skýringarmynd frá 2011  sem sýnir hvernig þróun HTML5 miðar t.d. að skipanir sem tengjast staðsetningu (geolocation) eru ekki komnar í staðalinn ennþá en hljóð og myndbönd (audio og video) eru þegar orðinn hluti.

Alveg eins og við gengum í gegnum kennsluforritaskeið í tölvustuddri kennslu þá gengum við líka í gegnum skeið sem við getum kallað heimasíðugerð. Þá unnu kennaranemendur við að spinna vefi og notuðu til þess verkfæri eins og Dreamweaver eða einföld verkfæri eins og Frontpage eða eins og við gerðum í fyrstu, skrifuðum beint inn html kóðann. Það skeið rann til enda með tilkomu betri verkfæra sem gerði einfaldara fyrir okkur að setja efni á vef án þess að detta inn í kóðann og má þar nefnda ýmis konar útgáfukerfi og bloggkerfi sem og wikikerfi. En nú er svo komið að það er mikilvægt fyrir okkur sem viljum skilja hvernig nútíma snjalltækja og nettölvuumhverfi er að sökkva okkur ofan í kóðann og skilja sum atriði í HTML. Og það er líka auðveldara og einfaldara í dag og meira hægt að gera. Og vefir í dag og flest veflægt efni sem við ætlum til kennslunota verður að vera þannig að það virki í margs konar tækjum (responsive hönnun)

Það er því niðurstaða mín úr þessum vangaveltum að það er vissulega mikilvægt að kynna einhvers konar forritun fyrir nemendum sem ætla sér áfram í upplýsingatækni í námi og kennslu en það er ekki víst að það sé heppilegt að það sé sérhæft forritunarmál sem notað er til að gera öpp fyrir ákveðna gerð af tækjum, það þarf að vera umhverfi sem er sem víðtækast og það er líka mikilvægt að kynna nútíma vefumhverfi og þá staðla sem það byggir á, staðla sem gera ýmsum tækjum kleift að vinna með og birta veflæg gögn.

Máli mínu til stuðnings þá vísa ég í fólk sem ég tel að sé að segja það sama.

Hér er Hjálmar með tæknispá fyrir 2014. Einn hluti af spá hans er um öppin og hann er myrkur í máli og segir:

“Öppin hverfa: Síðustu ár hefur verið það alheitasta að búa til “öpp” til að sinna hinum ýmsu afmörkuðu verkefnum á farsímum og spjaldtölvum. Við erum þarna á sama stigi farsímaþróunarinnar og þegar allir kepptust við að dreifa margmiðlunarefni fyrir tölvur á geisladiskum um og fyrir aldamótin. App er í eðli sínu forrit sem er sérskrifað til að keyra á tilteknu stýrikerfi og jafnvel afmörkuðum útgáfum þess. Geisladiskarnir dóu þegar bandbreidd á netinu og vafrar þróuðust nægilega til að ná að skapa í flestum tilfellum nokkurnveginn sömu upplifun á hefðbundinni vefsíðu og en ná í staðinn margfaldri dreifingu á við það sem diskarnir buðu upp á. Öppin hafa sannarlega sína kosti, en mörg þeirra eru í raun ekkert annað en þunn skel utan um það sem vafrinn í tækinu getur gert hvort sem er. Eftir því sem vafrar og vefþjónustur verða almennt í boði sem bjóða upp á þægilegar smágreiðslur, einfaldar leiðir til að “branda” og bókamerkja vefsíður á aðalvalmyndir tækjanna og ekki síst bjóða upp á þann sýnileika sem “app store”-in bjóða upp á, munu hefðbundnar vefsíður sækja á aftur, enda má ná sömu upplifun á þann hátt, en spara sér að gera sérstaka útgáfu fyrir hverja gerð stýrikerfis. Öppin munu enn eiga sinn sess, en meira í líkingu við það sem við þekkjum sem muninn á forriti og vefsíðu á tölvunni okkar.”

Svo er hér grein sem ber saman HTML5 forritun og aðra forritun við að búa til öpp og leitast við að svara spurningunni “Should you build mobile apps in native code on each platform, or should you build them in cross-platform code, such as HTML5? “

HTML5 vs. native vs. hybrid mobile apps: 3,500 developers say all three, please | VentureBeat | Dev | by John Koetsier

Hér er líka ágæt glærusýning með útskýringum sem segir okkur hver staðan er í dag og hvernig líklegt er að hún verði og hvað er í vegi þess að við notum meira web app (app sem eru skrifuð í hreinu HTML5) versus native app (smáforrit sem eru sérhönnuð fyrir ákveðið tæki og stýrikerfi). HTML5 er vefurinn (og framtíðin að því virðist) en staðan er þannig í dag að forritarar vilja skrifa öpp fyrir ios stýrikerfið og fyrir android stýrikerfið.

HTML5 Vs. Native Apps for Mobile – Business Insider