250+ milijuna preuzimanja aplikacije možda upućuje na to da se u Photomathu danas “samo održava” – zapravo je suprotno!

250+ milijuna preuzimanja aplikacije možda upućuje na to da se u Photomathu danas “samo održava” – zapravo je suprotno!

Photomath aplikaciju danas s lakoćom koriste desetine milijuna korisnika mjesečno, a u pozadini te jednostavnosti koju vide korisnici nalazi se kompleksan i dobro uigran sustav baziran na umjetnoj inteligenciji koji ne prestaje inovirati. Pravi protagonist Photomathove priče zapravo je skup sofisticiranih softverskih proizvoda koji podupiru funkcionalnosti aplikacije i stvaranja sadržaja. Saznali smo više o njima!

“Nikad nisam zamišljao da će nas biti ovoliko i da ćemo izgraditi ovako sofisticirane sustave koji u pozadini pogone našu aplikaciju”, iskreno će Marko Mihovilić, Head of Product Engineering u Photomathu, prisjećajući se početaka jedne od najpopularnijih edukativnih aplikacija na svijetu.

Marko je ujedno i jedan od prvih inženjera koji je radio na Photomath aplikaciji. Danas nadgleda i usmjerava sve veće inženjerske projekte u tvrtki, a u tome mu pomaže višegodišnje iskustvo u izradi razne vrste softvera u C++ jeziku, nativnih mobilnih aplikacija, web servisa i frontend aplikacija, kao i iskustvo rada unutar i među timskim okolinama.

S Markom sam imala priliku razgovarati o novim i starim timovima u Photomathu – kako rade i što rade, kako izgleda proces “programiranja” matematičkog sadržaja, o jednostavnosti korištenja aplikacije i kompleksnosti u pozadini te što je tehnološki bilo potrebno da to tako i ostane.

Inženjeri znaju za praksu da “dobro napravljena softverska komponenta krije svoje implementacijske detalje od korisnika”, u tom procesu Photomathovi inženjeri imaju priliku jako puno toga naučiti. Foto: Marin Pavelić

Danas se unutar Photomatha razvija desetak softverskih proizvoda

Photomath poznajemo kao jedan od najuspješnijih hrvatskih izvoznih proizvoda, dostupan je na više od 30 jezika i preko 195 država diljem svijeta te danas broji preko 250 milijuna preuzimanja. Photomath mjesečno riješi i objasni preko 2 milijarde matematičkih problema! Njihov uspjeh zapečatila je i nedavna investicija Serije B od 23 milijuna dolara.

Pa iako je Photomath definitivno ušao u svoje zlatno doba, istraživanje i razvoj zapravo se sad najviše ubrzavaju, priča mi Marko.

Prirodno, kako rastemo kao tvrtka i kao inženjeri, tako rastu i naše ambicije, pa naši inženjeri uvijek rade na novim inovacijama i razvoju.

Postoji taj neki dojam koji primjećujem na razgovorima za posao s kandidatima: čini im se da je Photomath, nakon toliko godina, sad već “zreo” proizvod i da nema više puno izazova s kojima se inženjeri mogu susresti. Misle da je toga možda bilo u ranijim danima, ali da je to danas uglavnom održavanje.

Smatram da smo tu na neki način i sami “krivi”, jer ulažemo puno truda upravo u tu jednostavnost proizvoda i prikrivanje svih kompleksnosti koje leže iza nje.

Međutim, inženjeri bi prvi i sami trebali biti svjesni da “dobro napravljena softverska komponenta krije svoje implementacijske detalje od korisnika”, a time se vode i u Photomathu. U ovom razgovoru želimo vam i približiti sve ono u pozadini Photomatha.

Sve se vrti oko matematike

Odmah na početku, važno je objasniti i što je temelj poslovanja ove poznate hrvatske tvrtke. Ako ste do sad pratili njihov rad, znate da Photomath krasi odlična implementacija računalnog vida i umjetne inteligencije pomoću kojeg se hijeroglifi učenika pretvaraju u razumljive digitalne zapise na osnovu kojih se generira točno rješenje i objašnjenje. Ta tehnologija, kao i svi ostali vrsni alati koje su izgradili, postoje u službi nečega, a to je u slučaju Photomatha izrada raznog dinamičkog matematičkog sadržaja.

Oko stvaranja matematičkog sadržaja organizirani su svi drugi timovi u tvrtki, a posebno oni tehnički koji sve to omogućuju. Danas se unutar Photomatha tako razvija desetak softverskih proizvoda, od kojih je samo dio vidljiv krajnjim korisnicima, pojašnjava Marko, poput web portala za prevođenje matematičkog sadržaja, simulatora prikaza rješenja za web, namjenskog programskog jezika i kompajlera za programiranje internog alata “Solvera” te niza drugih.

Najstarije i najnovije razvojnog svijeta Photomatha

Photomath je vodeća edukativna aplikacija u svijetu, a to su mjesto zauzeli zahvaljujući vrhunskoj tehnologiji.

Solver sustav: Od pisanog zadatka do rješenja u aplikaciji

Upravo je jedan od prvih internih alata Photomatha bio web sustav za pomoć pri razvoju Solvera, inače glavnog alata Photomath sustava. Solver služi generiranju rješenja te klasičnih, korak-po-korak objašnjenja postupka rješavanja pojedinog zadatka u aplikaciji.

Kako izgleda proces integracije zadataka u aplikaciju? Naravno, sve počinje od ključnih stručnjaka.

Matematičari, vođeni svojim produktnim procesom prioritiziraju koje matematičko područje iduće želimo podržati te unose tzv. “procedure” u Solver sustav. Procedure su ručno pisani postupci rješavanja određenih stereotipnih zadataka iz nekog matematičkog područja (npr. “traženje domene funkcije”) koji služe kao primjeri inženjerima kod programiranja Solvera. Na ovaj način zapravo matematičari određuju kako se točno neki tip matematičkog zadatka objašnjava korisniku, dok programeri osiguravaju da Photomath isproducira takvo objašnjenje.

Nakon što je unesen dovoljan broj procedura, Solver inženjeri će proučiti procedure te osmisliti kako se iste mogu implementirati u Solveru pomoću Solver “pravila”. Pravila daju upute Solver sustavu kako generirati korake rješavanja, kao i konačno rješenje zadatka, a unose se u posebnom, funkcijskom domenskom jeziku stvorenom specifično za programiranje Solver sustava. Ponekad će pokrivanje nekog matematičkog područja zahtijevati proširivanje mogućnosti Solver sustava i njegovih podržanih pravila, dodaje Marko.

Kada inženjeri završe s implementacijom i lokalnim testiranjem svojih izmjena, naš CI sustav preuzima kontrolu te automatski testira novu verziju Solvera na velikoj bazi zadataka i procedura. Rezultati se dojavljuju inženjerima i matematičarima koji tako mogu, koristeći zajednički web sustav, provjeriti jesu li na dobrom putu. Ako je sve u redu, novo dodano “gradivo” spremno je za isporuku u idućem testnom periodu Solvera gdje će se ispitati integracija s aplikacijom, prije nego što se Solver uputi u produkciju.

“Kako se jedan čovjek pretvara u tim ljudi, tako se i način rada mora postepeno mijenjati. Svaka tvrtka treba naći svoju “optimalnu konfiguraciju” za trenutne potrebe i to je našim ljudima, uz sve tehničke, konstantan paralelni izazov”, komentira Marko. Foto: Marin Pavelić

Web aplikacije kao proizvodni pogon za mobilnu aplikaciju

Možda ste se dosad već pitali otkud toliko web alata jednoj – mobilnoj aplikaciji i što web developeri rade u Photomathu općenito?

Pa, objasnimo to tako da su u Photomathu shvatili da razvojem internih alata kreatorima omogućuju izradu bogatijeg i kvalitetnijeg sadržaja, a web je tu nezamjenjiv iz nekoliko razloga. Marko pojašnjava:

Dosta smo rano prepoznali prednosti web aplikacija i web sustava u upravljanju sadržajem (Google Docs nam je bio inspiracija :)) i tako danas gradimo većinu naših sustava. Time osiguravamo portabilne alate koji imaju integriranu podršku za više istovremenih korisnika s različitim rolama i integriranom potporom za poslovne procese: sustav prati u kojoj fazi je neki posao i koji su dalje dozvoljeni/potrebni koraci, a u pozadini se također “brine” za pohranu i interakciju sa srodnim sustavima kojima se dojavljuju promjene/prenose potrebni podaci.

Danas u Photomathu već radi 11 web developera. Raniji projekti  uglavnom su razvijani uz Spring Boot i Kotlin, a noviji se rade u Micronautu i Kotlinu, Gradle se koristi za build, dok se za frontend uglavnom koriste React i Semantic UI. Za više detalja o unutarnjem funkcioniranju Photomatha, njegovom content development procesu i web softverskoj infrastrukturi, pogledajte njihov kratki video Behind-the-screensi pratite Netokraciju, jer ćemo uskoro razgovarati i s web ekipom.

Photomath animira!?

Molimo da prihvatite sve kolačiće kako biste mogli vidjeti ovaj sadržaj

Razvoj Photomatha neprestan je, organski proces, ističe Marko.

Razvojem novih tehnoloških rješenja, kako bismo proširili mogućnosti naših sustava,  širimo se i u ta područja i gradimo okolne potporne funkcije.

Ono što danas Photomath izdvaja kao lidera među edukativnim aplikacijama ovog tipa su – animirane instrukcije (animated tutorials). Najnovija funkcionalnost iz Photomath “radionice” obuhvaća animirani prikaz matematičkog postupka. Marko ističe kako su ovakva rješenja prvenstveno proizašla iz potrebe da unaprijede način objašnjavanja nekih osnovnijih matematičkih  koncepata za koje im klasično, prvenstveno tekstualno, statičko korak-po-korak rješenje nije bilo dovoljno izražajno.

Eksperimentirali smo sa nekoliko varijanti dok nismo došli do trenutnog pristupa, u kojem naši kreatori animacija “programiraju” generiranje animacija pomoću vizualnog programskog sustava. Inspiracija je preuzeta od alata koji danas služe u izradi računalnih igara. Trebalo je nekoliko pokušaja dok nismo došli do dobrog omjera blage krivulje učenja, fleksibilnosti i mogućnosti brze iteracije.

Animirana objašnjenja  veoma su zahtjevna za izvesti, ali daju do sad neviđeno iskustvo učenja i razumijevanja postupka ili matematičkih koncepata. Cijela stvar postaje posebno djelotvorna s dodatkom strojno-generiranih glasovnih uputa, koje upravo postepeno puštamo korisnicima engleskog jezika.

“Kopije Photomatha na mobilnim trgovinama više nas i ne ljute”

Jedno od pitanja koje me je kopkalo jest i kako sve to besprijekorno funkcionira na prosječnom mobilnom uređaju. Računalni vid, strojno učenje, animacije… sve su to teški elementi za jednu mobilnu aplikaciju. I zaista, Photomath je nekada bio u potpunosti offline aplikacija te su se svi izračuni obavljali na mobilnom uređaju korisnika, prisjeća se Marko.

Postići to bio je izazov za sebe i jako smo ponosni što smo uspjeli to napraviti. No, kako idemo naprijed i kako nam rastu ambicije, tako nam je cloud-based pristup puno skalabilniji. Osim što nam rješava niz logističkih problema oko kontinuiranog puštanja novog sadržaja, omogućuje nam i implementaciju nekih tehničkih rješenja koja ne bi bilo moguće “strpati” na telefon.

Prebacivanje izračuna u Cloud, naravno, donijelo je sa sobom niz novih izazova koje prije nisu imali. Pojedini sustavi moraju obrađivati i po tisuću zahtjeva u sekundi te pritom biti pouzdani i brzi kako bi korisničko iskustvo ostalo na visokoj razini. Marko ističe kako im zbog toga nije strano posegnuti za nativnim kodom ili primjerice akceleriranim large-scale GPU inference sistemima kako bi postigli takve zahtjeve u kritičnim sustavima.

Molimo da prihvatite sve kolačiće kako biste mogli vidjeti ovaj sadržaj

Photomath je početkom ove godine pokrenuo “Photomath Talks”, seriju besplatnih mjesečnih online meetupova za tech zajednicu, na kojem su predavači njihovi najiskusniji inženjeri. Na snimci gore Marko i Matija razgovaraju na temu: “Sve o razvoju softvera u Photomathu: od C++-a do React-a i natrag”. Ako želite da vas obavijeste o budućim sličnim događajima, prijavite se u njihov Tech Community.

Kad pitam Marka kako iz današnje perspektive gleda na Photomath nekada i sada, komentira ipak kako mu se čini da se i nije puno toga promijenilo. Naravno, osim što su postali puno kompleksniji, puno su i naučili, a konstantna težnja da proizvod učine još boljim i korisnijim daje im, ističe, beskonačan izvor novih izazova.

U konačnici, takvo ih je razmišljanje i dovelo do liderske pozicije.

Nekad su to inkrementalne promjene, a nekad kompletna revizija nekog sustava. Unatoč tome što je iza nas već puno napravljenog posla i iskustva, i danas se, kada započinjemo neki novi projekt, osjećam kao da krećemo u mrak. Često znam ljudima reći da ne postoji knjiga “Kako dobro napraviti Photomath” po kojoj bismo se mogli ravnati, nego smo mi ti koji definiramo što znači dobra aplikacija za pomoć pri učenju matematike i drugi će se ravnati po nama.

Danas postoji niz primjera na App trgovinama gdje neki čak prilično besramno kopiraju cijele ekrane naše aplikacije. To nas čak ne ljuti toliko koliko nas veseli vidjeti potvrdu da drugi smatraju da nešto radimo dovoljno dobro da oni nisu mogli osmisliti bolje, nego su odlučili kopirati nas :).

Fokusirani na specijaliziranije pozicije i seniore

Photomath je u svojih 7 godina narastao u globalnu priču, a to je značilo mnoge infrastrukturne promjene samog sustava, kao i restrukturu organizacije rada i timova. Photomath danas zapošljava preko 130 ljudi (od čega preko 60 inženjera) i 150 studenata, a imaju urede u Zagrebu (Strojarska 20) i San Mateu, California.

Kako se jedan čovjek pretvara u tim ljudi, tako se i način rada mora postepeno mijenjati, pojašnjava Marko:

Organizacijski smo postali kompleksniji kako bismo podržali paralelni razvoj sve većeg broja projekata i kontinuiranih procesa, a zapošljavamo i specijaliziranije i zrelije role što pomaže rasteretiti rastom nastali pritisak na naše timove. Trenutno je jedna od naših značajnijih inicijativa izgradnja ozbiljnog engineering managementa u tvrtki, a imamo i otvoren natječaj za rolu Engineering Managera u više naših inženjerskih timova (AI, QA, Core, Mobile, DevOps, Web).

The employee satisfaction survey 📊 is one of our ways of giving every employee a voice 🎤 to improve the overall employee…

Posted by Photomath on Wednesday, May 5, 2021

Da su na dobrom putu izgraditi još veći tim sposobnih ljudi, govore i rezultati internog istraživanja prema kojem bi 71% njihovih inženjera preporučilo Photomath kao odlično mjesto za rad svojim prijateljima. Također, imaju značajno nižu stopu fluktuacije od industrijskog prosjeka, primjerice, 2020. i 2021. godine, u prosjeku je otišlo samo 1-2 inženjera godišnje, unatoč prilikama koje im nerijetko “kucaju na vrata” ;), dodaje Marko.

Ako biste im se voljeli pridružiti, prilika itekako ima. Konstantno su u potrazi za vrhunskim AI, mobile, C++, frontend i backend inženjerima, ali i podatkovnim znanstvenicima i stručnjacima za DevOps, SysAdmin i Quality Assurance koje privlače ambiciozni projekti u sklopu izgradnje vrhunskog proizvoda. Samo u ovom trenutku imaju 8 aktivnih oglasa, a uvijek je tu i otvorena prijava.

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:

  • Ne budite 💩: Nema vrijeđanja, diskriminiranja, ni psovanja (osim ako nije osobni izričaj, ali onda neka psovka bude općenita, a ne usmjerena prema nekome). Također, upoznajte se sa stavkom 2. članka 94. Zakona o elektroničkim medijima prije no što ostavite komentar.
  • Samo kvalitetna rasprava, manje trolanja: Ne morate se ni sa kim slagati, ali budite konstruktivni i doprinesite raspravi! Svako trolanje, flameanje, koliko god "plesalo" na granici, leti van.
  • Imenom i prezimenom, nismo Anonymous 👤: Autor sadržaja stoji iza svog sadržaja, stoga stojite i vi iza svog komentara. Koristimo ime i prezime te pravu email adresu.

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.

Komentari

  1. Marko K

    Marko K

    09. 09. 2021. u 1:09 pm Odgovori

    Osobno sam malo skeptičan prema hvalospjevima svih tih programera i njihovog rada (i sam sam programer). Kao i strani jezik, to je samo kod i ništa više, ili znaš ili ne znaš. Ono što je bitno je kreativna primjena toga koda, a toga ima jako malo. Od Google PageRanka i search algoritma naovamo koji su brilijantan rad kreativnih programera, jako je malo projekata gdje ima mjesta za hvalospjeve programerima. Usput zarađuje li Photomath i koliko godišnje, to bi bilo zanimljivije čuti.

    • Igpr Bizuv

      Igpr Bizuv

      10. 09. 2021. u 10:24 am Odgovori

      Pozdrav…Marko K. da si iole ozbiljan komentator znao bi sam pretražiti godišnja izvješća kompanija…ovako samo trolaš s komentarima ovako dobrih priča…primi se obrazovanja, završi faks i kreni sam…stvori ovakvu kompaniju pa ćemo mi tebe komentirati…

Odgovori

Tvoja e-mail adresa neće biti objavljena.

Popularno

Društvene mreže

Biste li plaćali za korištenje Facebooka i Instagrama? A YouTubea i X-a?

Nova epizoda Netokracijina podcasta kao da se nije odmaknula od Noći vještica jer strava se nastavlja - big tech ekipa uvodi pretplate na sve strane. No, dogodila se jedna stvar koja nam daje nadu... Elon Musk održao je prvi "all hands" sastanak!

Ekskluzivno

Daytona osigurala 2 milijuna dolara od investitora poput CEO-a Stack Overflowa i Damira Sabola

U najranijoj, pre-seed rundi financiranja, Daytona je osigurala investiciju od čak 2 milijuna dolara, primarno od poznatih američkih i hrvatskih (su)osnivača.

Netokracija Podcast

Ovo je email strategija kojom je Burazin privukao investitore poput direktora Stack Overflowa

U novoj epizodi ulazimo u detalje o: (vjerojatno) najvećoj pre-seed rundi u hrvatski startup; tome kako SAD namjerava kontrolirati AI sustave koji bi mogli napraviti atomsku bombu te zašto osnivača Netokracije Ivana Brezaka Brkana izbacuju iz zagrebačkih kavana?

Što ste propustili

Najava

Kako esport industrija izgleda danas – iz perspektive partnera, sponzora, igrača i regulatora?

Ovoga prosinca u Zagrebu čeka nas prvo izdanje Beyond Esports konferencije koja se, kao što joj i ime kaže, bavi esport industrijom i svemu onome što ju pokreće.

Mobilne aplikacije

Vinare čeka EU regulativa, ali Kovačević i Drmač imaju rješenje: Craft Technology E-etikete!

Tko god je imao doticaja s EU regulativama zna da nisu jednostavne niti ih se smije shvatiti olako. Jedna takva stiže i u svijet vinara, a hrvatski Craft Technology mogao bi im tu biti od velike pomoći.

Tvrtke i poslovanje

LAQO opet u potrazi za najodrživijim tech rješenjima koja će nagraditi s 18 tisuća eura

Nakon uspješnog prvog izdanja s više od 250 prijava, krenule su prijave za drugo izdanje LAQOthona, nagradnog natječaja idejnih tech rješenja na temu održivosti u organizaciji Croatijinog LAQO osiguranja, prvog 100 posto digitalnog osiguranja.

Analiza

Hoće li robotaksiji na ulice Zagreba i – kad?

I je li uopće realno očekivati da će se to dogoditi? U ovoj epizodi Netokracijinog podcasta pretresli smo tu vruću temu i to iz svih kutova - tehnološkog, operativnog, financijskog i komunikacijskog.

Tvrtke i poslovanje

10 godina Lean Startup Hrvatska: Ekosustav nekad i danas, što je plan za Smion?

Nakon 10 godina i na desetke radionica, edukacija i događaja Lean Startup Hrvatska postaje Smion te se nastavlja još više fokusirati na razvoj poduzetničkog i inovacijskog ekosustava. U velikom intervjuu, komentiramo desetljeće iza njih, kao i okolnosti na domaćoj sceni nekada i danas.

Analiza

Diskriminira li PlayStation Store Hrvate? Popusta nemamo, euro se tek uveo, a plaćali smo bonovima…

Domaće obožavatelje PlayStation konzole ova godina nije nimalo mazila. Štoviše cijelu godinu obilježio ih je osjećaj "zadnje rupe na svirali" jer sve do sredine studenog nisu mogli kupovati karticama. Zašto? PlayStation Store 11 mjeseci nije prešao na euro niti je dvojno iskazivao cijene...