Atvejai sudaryti pagal realius projektus. Kur skaičiai iliustraciniai — pažymėta.

TV bokštas: migracija, kuri būtų tyliai pavykusi ir nieko neperkėlusi

Situacija: Sena svetainė buvo pastatyta ant puslapių konstruktoriaus, o turinys augo dešimt metų: du šimtai septyniasdešimt septyni įrašai dviem kalbomis, tūkstantis su viršum nuotraukų, bilietai, erdvės ir pramogos, išbarstytos po puslapius kaip tekstas.

Užduotis atrodė įprasta — perkelti turinį į naują pagrindą. Bet prieš pradedant reikėjo atsakyti į vieną klausimą: ar turinys apskritai pasiekiamas programiškai.

Ką padarėme: Turinio migracija iš Elementor prasidėjo ne kėlimu — pirmiausia išmatavome šaltinį, o ne pradėjome kelti.

Paaiškėjo lemiamas dalykas: įrašų turinys buvo švarus ir pasiekiamas, o puslapių — ne. Puslapių tekstas gyveno ne turinio lauke, o konstruktoriaus techniniuose duomenyse. Kainų puslapis per svetainės sąsają grąžindavo lygiai šešiolika baitų — vieną tuščią pastraipą.

Tai reiškė, kad įprastas automatinis perkėlimas būtų sukūręs dvidešimt du tuščius puslapius ir pranešęs, kad viskas pavyko. Klaida būtų paaiškėjusi po savaitės, kai kas nors atidarytų puslapį.

Todėl darbą padalijome. Įrašus ir mediją perkėlėme pažodžiui, su patikra, kad kiekvienas failas turi žinomą kilmę. Puslapius perstatėme ant struktūros: vietoj vieno teksto lauko atsirado atskiri tipai objektams, bilietams, erdvėms ir pramogoms — su savo laukais, o ne su tekstu, iš kurio nieko negalima suskaičiuoti.

Rezultatas: Perkelta 1 097 medijos failų, ir kiekvienas turi atsekamą kilmę — nė vieno našlaičio. 185 lietuviški ir 92 angliški įrašai vietoje.

Turinys, kuris anksčiau buvo tekstas, dabar yra duomenys: 30 objektų, 7 bilietų tipai, 3 erdvės ir 2 pramogos gyvena kaip atskiri įrašai, kuriuos galima filtruoti, rikiuoti ir rodyti ten, kur reikia.

Perkeliant paaiškėjo dar vienas dalykas, kurio niekas neieškojo: naujoje svetainėje būtų likę 371 paveikslėlis, rodomas tiesiai iš senojo serverio. Tokios nuorodos veikia tol, kol veikia senoji svetainė, ir tyliai lūžta tą dieną, kai ji išjungiama. Visos jos surastos ir uždarytos.

249 adresai grąžina teisingą puslapį, o 12 iš 12 perstatytų puslapių sutampa su šaltiniu žodis į žodį.

Dalis šaltinio failų buvo nepasiekiami dar prieš mums prisiliečiant — jie neatsirado ir naujoje vietoje, o sąrašas atiduotas klientui, kad būtų aišku, ko trūksta ir kodėl.

Sodnamis: parduotuvė su konfigūratoriumi, kurio kainos nepavyko suklastoti

Situacija: Prekyba mediniais nameliais turi vieną nepatogumą: pats namelis yra tik pradžia. Impregnavimas, stogo danga, lietvamzdžiai, grindų, sienų ir stogo apšiltinimas, montavimas — kiekvienas pasirinkimas keičia kainą, ir kiekvienas priklauso nuo to, koks namelis pasirinktas. Šimto kvadratų namo apšiltinimas nekainuoja tiek, kiek trisdešimties.

Katalogas buvo senoje platformoje, o pasirinkimai gyveno pardavėjo galvoje ir susirašinėjime.

Ką padarėme: Katalogą perkėlėme: 246 prekės su aprašymais, paimtais iš pačios parduotuvės eksporto — 215 aprašymų importuota taip, kad neliktų nė vieno šablono teksto, kuris kartojasi visose prekėse.

Prekių konfigūratorius parduotuvėje pastatytas temoje, be atskiro įskiepio. Septynios pasirinkimų grupės, kurių kiekviena rodoma tik tada, kai tai prekei ji turi prasmę: priedai ir kubilai jos neturi, todėl jiems ji nesirodo. Kainos — kiekvienai prekei atskiros, nes bendros čia neveiktų.

Svarbiausias sprendimas buvo ne matomas. Naršyklė siunčia tik pasirinkimų raktus, o galutinę kainą serveris perskaičiuoja pats. Tai vienintelis būdas, kuriuo kainos negalima paveikti iš išorės.

Rezultatas: Pasirinkus metalinę dangą ir dešimties centimetrų apšiltinimą, kaina auga nuo 38 760 iki 44 360 eurų, ir tas skaičius iš karto matomas pirkimo kortelėje.

Bandymas: naršyklėje kaina buvo pakeista į 99 999. Krepšelyje atsirado teisingi 44 360 € — serveris perskaičiavo iš pasirinkimų, o ne patikėjo tuo, kas atsiųsta.

Nepriklausoma pinigų kelio peržiūra baigėsi be nė vieno kritinio ir be nė vieno svarbaus radinio.

Vienas dalykas liko klientui. Senosios parduotuvės eksporte pasirinkimų kainų nebuvo — jų ten paprasčiausiai niekada nebuvo saugoma. Todėl 237 prekėms sudėjome atskaitos kainas, kurias klientas keičia savo administravimo lange, o ne per mus. Prekėms, kurioms konfigūratorius neturi prasmės, jis nesirodo visai.

Taip pat 31 prekė liko be aprašymo sąmoningai: šaltinyje jos turėjo tekstą tik angliškai, o svetainė yra lietuviška. Geriau tuščia nei ne ta kalba.

Kam tai aktualu. Jei Jūsų prekės kaina priklauso nuo pasirinkimų, kurie priklauso vienas nuo kito, tas pats vaizdas kartojasi: katalogas viename įrankyje, kainodara — pardavėjo galvoje, o klientas laukia atsakymo. Konfigūratorius, kuris skaičiuoja serveryje ir rodo tik prasmingus pasirinkimus, tą laukimą nuima nuo pardavėjo ir nuo kliento. Kainas keičiate patys — be programuotojo kiekvienam sezonui.

Kauno prekybos rūmai: 300 narių, 372 straipsniai ir paieška, kuri randa

Situacija: Organizacijoje, kuri turi tris šimtus narių, informacija natūraliai skyla. Narių sąrašas viena vieta, straipsniai kita, dokumentai trečia, verslo pasiūlymai — ketvirta. Kiekviena dalis atskirai tvarkinga.

Problema pasimato tada, kai žmogus ateina ieškoti. Jis neieško „straipsnio“ ar „nario“ — jis ieško žodžio. Senoji paieška žiūrėjo tik į vieną turinio rūšį ir grąžindavo septynis rezultatus tada, kai atitikmenų buvo devyniasdešimt vienas.

Ką padarėme: Narių portalo paieškos sistema prasideda nuo pagrindo: sudėjome visas turinio rūšis į vieną pagrindą, kiekvienai palikdami savo laukus: narys turi logotipą ir kontaktus, straipsnis — datą ir kategoriją, dokumentas — failą ir tipą, verslo pasiūlymas — kategoriją ir sąlygas.

Tada perrašėme paiešką taip, kad ji ieškotų visose rūšyse iš karto, o ne vienoje. Rezultatai rodomi kartu, pažymint, kas yra kas.

Turinį perkėlėme iš senosios sistemos su patikra: kiek buvo šaltinyje, tiek turi būti ir naujoje vietoje.

Rezultatas: Vienoje vietoje: 300 narių, iš jų 278 su logotipais. 372 straipsniai. 114 dokumentų. 113 verslo pasiūlymų 20 kategorijų.

Bet svarbiausias skaičius yra paieška. Ta pati užklausa, kuri senojoje svetainėje rasdavo 7 dalykus, dabar randa 91 — nes ieško ne vienoje vietoje, o visame turinyje iš karto.

Perkėlimas turėjo ir savo pamoką. Vieno tipo įrašai buvo sukurti du kartus, nors suvestinė rodė teisingą skaičių — sutapimų paieška nežiūrėjo, kokio tipo įrašo ieško. Klaida matėsi tik palyginus bendrą įrašų kiekį su unikalių raktų kiekiu. Nuo tada tokia patikra daroma kiekvienam perkėlimui ir kiekvienas importas paleidžiamas du kartus, kad būtų matyti, ar antras kartas nieko nesukuria.

Kam tai aktualu. Organizacijai, kurios informacija gyvena keliose vietose — narių sąrašas, straipsniai, dokumentai, pasiūlymai — ir kurios žmogus ieško žodžio, o ne turinio rūšies. Viena paieška per visas rūšis yra ne funkcija, o būdas nepamesti to, kas jau surinkta. O perkėlimo patikra, paleista du kartus, yra vienintelis būdas žinoti, kad dvigubų įrašų nėra, o ne tikėtis.

Maironio muziejus: 172 dokumentai, renginiai su registracija ir prieinamumas, kuris tikras

Situacija: Organizacija su ilga istorija turi daug turinio ir mažai žmonių jam prižiūrėti. Parodos, ekspozicijos, edukacijos, rinkiniai ir naujienos gyveno skirtingose vietose skirtingais formatais, o dokumentai — dešimtyse puslapių, iš kurių juos rasdavo tik tas, kas žinojo, kur žiūrėti.

Prie to prisidėjo dar vienas reikalavimas, kuris dažnai sprendžiamas neteisingai: svetainė turi būti tinkama žmonėms su regos ar judesio negalia.

Ką padarėme: Muziejaus renginių registracija pastatyta kaip visa grandinė, o turinį sudėjome į atskirus tipus pagal tai, kas jis iš tikrųjų yra: parodos, ekspozicijos, edukacijos, rinkiniai. Kiekvienas turi savo laukus, todėl juos galima rodyti, filtruoti ir susieti tarpusavyje, o ne perrašinėti.

Renginiams pastatėme visą grandinę: kalendorių, registraciją, patvirtinimo ir priminimo laiškus, pasikartojančius renginius. Nuo šiol dalyvių sąrašo niekas nebeveda ranka.

Prieinamumą sprendėme temos lygiu. Rinkoje įprasta prikabinti valdiklį, kuris uždeda savo sluoksnį ant svetainės — jis atrodo kaip sprendimas, bet skaitytuvams dažnai trukdo labiau nei padeda. Mes vietoj to sutvarkėme pačią svetainę ir pridėjome juostą, kuri keičia tikrus svetainės nustatymus, o ne piešia virš jų.

Rezultatas: 172 dokumentai surinkti į vieną vietą ir tapo randami.

Turinys suskirstytas ir susietas: parodos, ekspozicijos, edukacijos ir rinkiniai — kiekvienas su savo laukais ir savo rodymu.

Renginiai veikia nuo skelbimo iki priminimo be rankinio darbo, o prieinamumo juosta yra svetainės dalis, ne priedas ant jos.

Turinio kiekis nebuvo mažas: perkelta po penkias dešimtis parodų, edukacijų ir rinkinių įrašų, plius ekspozicijos. Kur šaltinyje buvo daugiau, nei verta kelti, sustojome sąmoningai ir pasakėme, kiek paimta ir kiek liko — vietoj to, kad tyliai keltume viską ir vadintume tai pilnumu.

Svetainei taip pat pastatyta dizaino sistema su maždaug penkiolika komponentų. Tai reiškia, kad naujas puslapis dedamas iš turimų dalių, o ne piešiamas iš naujo — ir kad po metų svetainė vis dar atrodo kaip visuma.

Telecentras: 118 dokumentų ir 21 paslauga dviem kalbomis

Situacija: Korporatyvinė svetainė su dideliu kiekiu turinio turi problemą, kurios maža svetainė neturi: viskas turi būti dviem kalbomis, ir kiekvienas pakeitimas turi nukeliauti į abi. Kai puslapių yra dešimtys, o dokumentų — šimtas, tai nustoja būti redagavimo klausimu ir tampa struktūros klausimu.

Prie to prisideda valdysenos ir pirkimų puslapiai, kurie turi būti pasiekiami ir tikslūs, nes į juos žiūrima ne iš smalsumo.

Ką padarėme: Dvikalbė paslaugų svetainė pradedama nuo šablonų: sudėjome turinį pagal tipą, o ne pagal puslapį. Paslaugos puslapis yra vienas šablonas, kuriame keičiasi turinys — todėl dvidešimt viena paslauga atrodo vienodai tvarkingai ir nė vienos nereikia lipdyti atskirai.

Pradžios puslapį perstatėme pagal dizainą sekcija po sekcijos — keturiolika sekcijų, kiekviena su savo laukais, kad redaktorius galėtų keisti turinį nepaliesdamas išdėstymo.

Dvikalbystę sutvarkėme taip, kad puslapis ir jo vertimas būtų susieti, o ne du atskiri gyvenimai. Dokumentai prisegti prie tų puslapių, kuriuos jie liečia.

Rezultatas: 118 dokumentų vietoje ir susieti su turiniu.

21 paslaugos puslapis iš 23 veikia ant bendro šablono, 8 „apie mus“ popuslapiai, 10 valdysenos ir pirkimų puslapių, 5 karjeros skelbimai.

Keturi vidiniai šablonai dengia visą svetainę, o pradžios puslapis atitinka dizainą sekcija po sekcijos.

Dokumentų dalis turėjo atskirą sunkumą: keli šaltinio failai buvo nepasiekiami dar senojoje svetainėje. Tokius atvejus atskyrėme nuo savo klaidų ir parodėme klientui, o ne palikome tylų 404 naujoje vietoje.

Kam tai aktualu. Svetainei, kurioje puslapių dešimtys ir kiekvienas turi atitikmenį kita kalba: kai turinys sudėtas į šablonus pagal tipą, naujas puslapis yra turinio, o ne programavimo klausimas, o vertimas — susietas įrašas, ne antra svetainė. Dokumentų perkėlimą verta matuoti skaičiais prieš ir po; kas nesueina, rodoma klientui, o ne slepiama. Tas pats principas galioja ir mažesnei svetainei — skiriasi tik skaičiai.

Ši svetainė veikia klientui kasdien.

Savanorystė: nuo registracijos iki sertifikato be rankinių sąrašų

Situacija: Mokymai, po kurių išduodamas pažymėjimas, turi grandinę, kuri lengvai trūkinėja. Žmogus užsiregistruoja, gauna patvirtinimą, ateina, jo dalyvavimas kažkur pažymimas, o po to kažkas ranka rengia pažymėjimus ir siunčia po vieną.

Kiekvienas žingsnis atskirai nesudėtingas. Kartu jie suvalgo daugiau laiko nei patys mokymai.

Papildomai: dalis dalyvių yra nepilnamečiai, todėl reikia globėjo sutikimo, o visi sutikimai turi būti surinkti ir saugomi taip, kad į juos būtų galima atsakyti.

Ką padarėme: Savanorių registracijos sistema pastatyta kaip viena grandinė viename kelyje.

Registracija vyksta be slaptažodžio — žmogus gauna nuorodą į paštą ir ja patvirtina, kad tai jis. Tuo pačiu metu surenkami sutikimai, o nepilnamečio atveju laiškas keliauja globėjui ir laukiama jo patvirtinimo.

Grupinei registracijai atskiras kelias: vienas žmogus registruoja kelis ir mato jų būseną.

Atvykimas žymimas kodu — dalyvis parodo, koordinatorius nuskaito. Sąrašo niekas nebežymi ranka.

Po mokymų sertifikatas suformuojamas ir išsiunčiamas pats.

Ir visa tai turi būti pasiekiama žmonėms, kurie naudojasi klaviatūra arba ekrano skaitytuvu — todėl prieinamumas tikrintas kiekviename ekrane, ne tik pradžios puslapyje.

Rezultatas: Grandinė veikia nuo registracijos iki sertifikato be nė vieno rankinio žingsnio tarp jų.

Sutikimai surinkti ir susieti su žmogumi, o duomenis galima eksportuoti arba ištrinti, kai to paprašoma.

Kiekvienas ekranas patikrintas prieinamumui — ne tik pradžios puslapis, o visas kelias: registracija, patvirtinimas, dalyvio sritis ir koordinatoriaus įrankiai.

Prieš paleidimą sistemą dengia daugiau nei penki šimtai automatinių patikrų, todėl pakeitimas vienoje vietoje nesulaužo kitos tyliai.

Kam tai aktualu. Bet kuriai organizacijai, kuri registruoja, žymi dalyvavimą ir išduoda pažymėjimus — mokymams, renginiams, savanorystei. Grandinė trūkinėja ne dėl vieno sunkaus žingsnio, o dėl to, kad žingsniai gyvena skirtingose vietose. Sudėjus juos į vieną kelią, sutikimai renkami ten pat, kur registruojamasi, o pažymėjimas išduodamas iš tų pačių duomenų, kuriuos žmogus pats pateikė.

Ši platforma veikia klientui kasdien.

Vilniaus būstas: robotas, kuris atsako iš organizacijos turinio

Situacija: Organizacija, į kurią kasdien kreipiasi daug žmonių, gauna tuos pačius klausimus. Darbo laikas, sąlygos, kur kreiptis, kas toliau. Atsakymai yra svetainėje, bet žmogus jų neranda arba nenori ieškoti, todėl rašo arba skambina.

Įprastas sprendimas — pokalbių robotas — turi žinomą trūkumą: jei jam leidžiama kalbėti apie viską, jis pradeda atsakinėti ir tada, kai nežino.

Ką padarėme: Pokalbių robotas iš savo turinio pastatytas taip, kad jis atsakytų tik iš organizacijos turinio. Suindeksavome 218 puslapių ir 144 naujienas — iš viso 393 turinio gabalai, kiekvienas su savo atitikmeniu paieškos rodyklėje, be nė vieno pamesto.

Jei atsakymo turinyje nėra, robotas taip ir pasako bei nukreipia į žmogų. Jis nespėja.

Privatumą sutvarkėme prieš paleidimą, ne po jo. Prieš pirmą žinutę žmogus mato, kas bus renkama ir kam. IP adresas saugomas tik kaip nesugrąžinamas kodas — pakanka apsisaugoti nuo piktnaudžiavimo, bet neleidžia atsekti žmogaus.

Rezultatas: Atsakymas grįžta per 1,1–2,1 sekundės.

393 turinio gabalai ir 393 atitikmenys rodyklėje — nė vieno pamesto, todėl nėra turinio, kurio robotas „nematytų“.

Sutikimo langas veikia prieš pirmą žinutę, o pats robotas padengtas 350 testų.

Atskirai verta pasakyti, ko robotas nedaro. Jis nesiūlo sprendimų, kurių organizacija nesiūlo, ir neatsakinėja į klausimus, kurių turinys neapima. Tai nuobodžiau nei visažinis pokalbis, bet tai vienintelis būdas, kuriuo tokį robotą galima paleisti į viešumą ir po to ramiai miegoti.

Kam tai aktualu. Organizacijai, kuri gauna tuos pačius klausimus kasdien ir turi atsakymus svetainėje, bet žmonės jų neranda. Pokalbių robotas, atsakantis tik iš Jūsų turinio, yra saugus tada, kai jo ribos apibrėžtos iš anksto: ką jis žino, ką sako nežinantis, kur nukreipia. Tas pats turinys, kurį jau prižiūrite, tampa jo žiniomis — be atskiros duomenų bazės ir be papildomo darbo redaktoriui. Kai turinys pasikeičia, pasikeičia ir atsakymai.

QR išankstinio užsakymo sistema nuo maisto iki bet kokių prekių — nė dienos nebuvo demonstracinė

Situacija: QR išankstinio užsakymo sistema atsirado iš vienos prekybos vietos, kur gaminamas maistas turi vieną priešą — eilę pietų metu. Dalis žmonių pamato ją pro langą ir nuvažiuoja toliau. Ne todėl, kad brangu, o todėl, kad neturi dvidešimt minučių.

Tuo pat metu virtuvė dirba aklai. Kiek žmonių ateis po pusvalandžio, ji sužino tada, kai jie jau stovi prie prekystalio.

Prieš pradedant reikėjo apsispręsti dėl vieno dalyko, kuris atrodo techninis, bet iš tikrųjų yra pinigų klausimas: ar statome demonstracinę versiją parodyti, ar iš karto sistemą, kurią galima paleisti. Pasirinktas antras kelias. Mintis „čia tik demonstracija, paskui perrašysiu" beveik visada reiškia, kad sprendimas blogas jau dabar.

Ką padarėme: QR išankstinio užsakymo sistema pastatyta kaip veikianti nuo pirmos dienos ir paleista su išgalvotu meniu, o ne kaip maketas, kurį vėliau reikėtų mesti.

Klientas nuskaito QR kodą prekybos vietoje, mato pasiūlą, sumoka kortele ir gauna numerį. Užsakymas tą pačią sekundę atsiranda darbuotojo planšetėje su garsu. Atėjęs žmogus pasako numerį — ir tiek.

Tas pats srautas tinka bet kuriai prekybos vietai — nuo maisto iki ne maisto prekių: pasiūla, apmokėjimas ir numeris, kurį žmogus atsineša. Maistas buvo tik pirmas pritaikymas, ne sistemos riba.

Vienas sprendimas pakeitė visą meniu išvaizdą. Nuotraukų nebuvo ir nebus, o kliento klausimas yra ne „kaip atrodo", o „ar spėsiu". Todėl meniu eilutėje pirmiausia matomos minutės, o ne paveikslėlis. Užsakymo numeris padarytas dideliu ir įsimenamu — jis yra vienintelis dalykas, kurį žmogus turi atsinešti.

QR kodai kiekvienai prekybos vietai generuojami patys ir įdedami kaip piešinys pačiame faile. Tai reiškia, kad kodas veiks ir po metų, nesvarbu, kas nutiks tai paslaugai, kuri kadaise juos piešė.

Garsas darbuotojo planšetėje buvo spąstai, kuriuos teko apmokėti. Naršyklė garsą įjungia tik po to, kai žmogus ką nors paspaudžia, o po perėjimo į kitą ekraną leidimas dingsta — lenta lieka tyli ir niekas to nepastebi iki pirmo neišgirsto užsakymo. Todėl pamaina pradedama mygtuku, o šalia atsirado antras mygtukas, rodantis tikrą garso posistemės būseną. Be jo „naršyklė blokuoja" ir „planšetės šoninis jungiklis nutildytas" atrodo lygiai vienodai.

Priėmimo sąrašas su penkiolika punktų buvo suderintas iš anksto, o automatinių testų pavadinimai surašyti pažodžiui tomis pačiomis formuluotėmis. Todėl testų išvestis ir yra tas sąrašas su varnelėmis — nereikia nieko gretinti ranka.

Rezultatas: Priėmimo sąraše — 14 punktų iš 15. Penkioliktas yra garsas ant tikros planšetės: be paties įrenginio jis neišmatuojamas, todėl jis nepažymėtas, o ne pažymėtas su išlyga.

Sistemą dengia 286 vienetiniai testai ir 34 nuo pradžios iki galo einantys testai, kurie leidžiami prieš GYVĄ aplinką, ne prieš kopiją vietiniame kompiuteryje. Tipų ir kodo stiliaus patikros švarios, o žinomų pažeidžiamumų priklausomybėse — nulis.

Atskirai patikrinta, ar patikra apskritai geba kristi: pašalinus mokėjimo žymą, ketvirtas priėmimo punktas nukrinta. Patikra, kuri niekada nebuvo priversta parodyti raudonos, neįrodo nieko.

Kas dar neuždaryta ir kodėl: mokėjimų bendrovė dar nepasirinkta, meniu kol kas išgalvotas, o prekybos vietų sąrašas — laukiamas. Tai antro etapo darbai, ir jie įvardyti, o ne nutylėti.

Papasakokite, kas Jus stabdo

Parašykite trumpai — atsakysime su aiškiu kitu žingsniu.

Susisiekti