
Osječki COBE kreirao inovativnu Bluetooth aplikaciju SprayManager, prekretnicu u svijetu soboslikara
SprayManager plod je suradnje COBE-ja s proizvođačem opreme za bojenje J. Wagner, koja traje već više od tri godine, a riječ je o prvoj povezanoj aplikaciji sa sustavima za raspršivanje boja.
Iako je sjedište digitalne agencije Creators Of Beautiful Experiences (COBE) u Münchenu, njihov ured u Osijeku postao je međunarodno središte razvoja Bluetooth mobilnih aplikacija. U početku se osječki tim uglavnom bavio developmentom, međutim danas imaju razvijene cijele projektne timove – od UX/UI dizajna, preko project managementa do testiranja softvera.
Jedan od najvažnijih projekata, koji im je omogućio rast, razvoj i stjecanje ekspertize u području Bluetooth tehnologije, je aplikacija SprayManager. Ova aplikacija plod je suradnje s proizvođačem opreme za bojenje J. Wagner, koja traje već više od tri godine. SprayManager je prekretnica u svijetu soboslikara jer je prva povezana aplikacija sa sustavima za raspršivanje boja. Aplikacija funkcionira i kao samostalna digitalna platforma jer, osim Wagnerovih, podržava i sustave za raspršivanje drugih marki.
COBE se, zahvaljujući klijentu, specijalizirao za Bluetooth aplikacije

Kako je do strateške odluke da razviju bluetooth aplikaciju došlo za Netokraciju je objasnio Digital Transformation IT direktor tvrtke J. Wagner, Alexander Strobl:
Prije aplikacije bili smo uključeni samo u glavni dio posla – bojenje. Međutim, razvojem aplikacije željeli smo obuhvatiti cijeli proces bojenja na jednom mjestu, od odabira boje, preko pripreme prostora do onog što slijedi nakon raspršivanja boje. Tako soboslikar može dokumentirati sve bitne detalje svog posla na jednom mjestu te olakšati budući pristup spomenutim informacijama i sebi i klijentu.
I to je bio početak priče zahvaljujući kojem je COBE-ov osječki tim kroz dugogodišnju suradnju s klijentom izrastao u specijaliste za Bluetooth aplikacije. Strobl objašnjava:
Bluetooth je bio nova tehnologija za nas u Wagneru, kao i za tim u COBE-ju, te je zahtijevao i nužne prilagodbe na samom sustavu za raspršivanje boje. Prije SprayManagera većina mog iskustva dolazila je iz razvoja web aplikacija. U okviru ovog projekta saznao sam kakva je razlika i koliko je intenzivno razvijati mobilnu aplikaciju, koja radi savršeno za sve veličine zaslona i sve vrste uređaja. Na ovom sam se projektu također upoznao s načinom na koji COBE radi i shvatio koliko im je važno razviti savršen proizvod, čak i kada se radi o prvoj verziji aplikacije.
Početni izazovi u razvoju

Izazovi, kako to najčešće bude, kreću već s izborom tehnologije. Bluetooth raspršivači (sprayer) su inovacija u toj branši, a 2019. godine se BT hardware još uvijek razvijao te je zbog toga dosta vremena uloženo u optimizaciju i potragu za najboljim rješenjem.
O tom iskustvu govorio nam je COBE-ov Android Developer & Software Architect Matija Goršek:
Za razvoj ovog projekta smo koristili BLE. Njegova prednost je što omogućuje praćenje različitih promjena podataka, dok Bluetooth Classic podatke s pumpe na mobitel šalje serijski. Također, protok podataka je brži, lakše se čitaju i zapisuju te troši manje baterije na mobitelu. Još jedna prednost BLE je to što iOS aplikacije koje koriste Bluetooth Classic uređaje najčešće trebaju proći Appleovo certificiranje (MFi – Made For iPhone) te koriste drugi framework, koji nije uključen u klasični CoreBluetooth framework.
Aplikacija pripada u IoT grupu proizvoda, a svrha joj je pratiti rad korisnika, koji posjeduje napravu za bojenje, takozvani raspršivač, putem Bluetooth hardvera. Spajanjem Bluetoothom na raspršivač, aplikacija prikuplja aktualne podatke, kao što su potrošnja boje i vrijeme rada, te mu šalje naredbe. Putem mobilne aplikacije je također moguće i upravljati tlakom pod kojim boja izlazi iz raspršivača. Tako korisnik mobitelom može upravljati svojim raspršivačem, što je vrlo praktično kada se nalazi daleko od uređaja ili boja nešto na visini, dok je raspršivač na tlu.

Razvoj aplikacije je proces koji zahtijeva dosta dovitljivosti, kreativnosti i timskog rada objašnjava iOS developer Jakov Jurić:
Kod prikaza aplikacije javili su se problemi s iOS strane kod nenativnih komponenti, poput burger menu ponašanja, koja više odgovaraju iPad ili Android uređajima. Poteškoće je stvaralo i iscrtavanje detaljnih grafova, koji se koriste za dijagnostiku uređaja. Također smo željeli smanjiti nepotrebno “osvježavanje”, koje se konstantno događa jer je pumpa u stalnoj komunikaciji s mobitelom te joj šalje nove podatke. Kada u aplikaciji postoji puno elemenata, koji se osvježavaju svake sekunde ili brže, može doći do slabijih preformansi i lošijeg korisničkog iskustva.
Što sve radi SprayManager?
Putem SprayManagera moguće se povezati s drugim raspršivačima, kreirati timove, međusobno dijeliti informacije, odnosno imati zajedničku “garažu”. Dakle, omogućuje uvid u to koliko je aparata za bojenje, stanje tlaka u njima, količina obavljenih poslova i slično. Aplikacija također omogućuje dokumentiranje obojenog te daje uvid u potrošnju boje, vrijeme bojenja, lokaciju, fotografije pa čak i priložene troškovnike, račune i bilješke.
Korisnik u aplikaciju može unijeti i određene parametre na osnovu kojih dobije izračun koliko boje mu je potrebno i povratnu informaciju o postavkama i opremi potrebnoj za optimalne rezultate. Pomoću posebnog algoritma, aplikacija korisnika obavještava čak i kada bi trebao promijeniti diznu.

No da bi to sve bilo moguće bilo je potrebno naći rješenja brojnim komunikacijskim poteškoćama, objašnjava Goršek.
Među prvim problemima je povezivanje s aplikacijom kada se moraju filtrirati svi nebitni uređaji koji koriste Bluetooth, a koje mobitel prepoznaje te filtrirati samo bitne uređaje, odnosno pumpe. Tu se javljaju pitanja kao što su treba li se aplikacija automatski spojiti na prvu slobodnu pumpu, treba li održavati konstantnu vezu između aplikacije i uređaja i što u slučaju kada imamo više uređaja ili više aktivnih aplikacija…
SprayManager je napredniji model prethodne aplikaciji na kojoj je tim radio također za J. Wagner. Jedan od izazova na početku razvoja aplikacije, objašnjava Goršek, bila je i činjenica da se testiranje radilo uz pomoć simulatora pumpe.
U prvom periodu razvoja aplikacije nismo imali pravu pumpu, već smo testirali na drvenoj ploči, koja je na sebi imala nekoliko senzora i prekidača. Senzor za Bluetooth je često gubio konekciju s uređajem, što smo također morali sami otkriti jer nismo znali je li do aplikacije ili pak do uređaja.
Nakon određenog vremena, klijent nam je poslao pumpu što je dosta olakšalo proces. Za testiranje smo također koristili više od 50 mobitela koji su imali instaliranu istu aplikaciju, dok je pumpa bila samo jedna. Nakon određenog vremena i bezbroj spajanja mobitela s pumpom, počeli su se javljati “neklasični” problemi koje smo pripisali ubijanju Bluetooth senzora na samom uređaju.
Klijent kao dio tima
Razvoj je dodatno zanimljivim učinilo i to što je klijent sudjelovao u procesu kao dio tima. Tome je uvelike doprinijela klijentova pozadina u IT-u, zbog čega se razvio partnerski odnos s agencijom. Kako je do toga došlo, objasnio je Alexander Strobl:
Rekao bih da je to zbog odnosa koji sam tijekom godina izgradio s programerima. I sam sam karijeru započeo kao programer, nakon čega sam se preusmjerio u vođenje i upravljanje razvojnim timovima. Imati nekoga tko razumije programere, ali i sam ima tehničku pozadinu iznimno pomaže na projektu. S druge strane, radio sam i kao solution partner, tako da sam upoznat s drugom stranom razvoja; procesom, pronalaženjem resursa i slično.
Sukladno članku 94. Zakona o elektroničkim medijima, komentiranje članaka na Netokraciji dopušteno je samo korisnicima koji ostave svoje ime i prezime te mail adresu i prihvate pravila ponašanja.
Pravila ponašanja
Na Netokraciji za vas stvaramo kvalitetan, autorski potpisan sadržaj i zaista se veselimo vašim kvalitetnim, kontruktivnim komentarima. Poštujmo stoga jedni druge prilikom komentiranja, kao i Zakon, držeći se sljedećih pravila ponašanja:
Kako koristimo podatke koje ostavljate? Bacite oko na našu izjavu o privatnosti.
Sve ostale komentare ćemo s guštom spaliti, jer ne zaslužuju svoje mjesto na internetu.