Tehnički vodič: Kako kreirati Apple Watch aplikaciju?

Tehnički vodič: Kako kreirati Apple Watch aplikaciju?

Nedavno smo imali priliku da se upoznamo sa jednom od prvih Apple Watch aplikacija sa ovih prostora iza koje stoji Aleksandar Vacić, developer i dizajner iz Srbije koji je svoj Run 5k app pripremio za dugo iščekivan pametni sat. Ovoga puta, Aleksandar do detalja objašnjava proces izrade, te tehničku specifikaciju potrebnu za kreiranje vaše Watch aplikacije.

Kreiranje aplikacija za Apple Watch jeste interesantno iskustvo, sa više aspekata. Retke su situacije da se nađete u poziciji da učestvujete u “rađanju” jedne potpuno nove platforme. Jedan takav momenat bio je predstavljanje iPhone SDK 2008-e kada su svi postojeći Mac developeri imali veliku startnu prednost nad ostalima. Imati iole upotrebljivu aplikaciju na App Store-u u vreme kada je na istom bilo nekoliko stotina ili par hiljada aplikacija, sa finansijske strane bila je fantastična stvar.

Apple Watch je sličan momenat, pogotovo od kada je na Spring Forward događaju objavljeno da će Watch apps imati svoj zaseban App Store u okviru Apple Watch aplikacije, koja postoji od iOS 8.2. To je sjajna vest za developere jer se praktično počinje od nule, uz znatno manju konkurenciju nego na glavnom Store-u.

Ovaj članak je namenjen iOS developerima koji bi voleli da se poigraju kreiranjem Watch aplikacija, ali nisu imali prilike da protegnu prste. Prvi deo — koji sada čitate — jeste big picture pogled na koncepte i potrebne alate. Drugi deo će biti više tehnički orijentisan sa primerima konkretnog koda.

Ideja vodilja je da vam uštedimo nekoliko dana čitanja dokumentacije i blog postova i da vas odmah uputimo na pravu stazu, bez mnogo lutanja. Svi saveti su bazirani na iskustvu kreiranja Watch aplikacije za moj najpopularniji iOS app – Run 5k.

Native aplikacije za sat nije moguće kreirati sa WatchKit-om 1.0, to će biti moguće u narednoj instanci. Stoga je potrebno da imate postojeću iPhone aplikaciju koja nešto korisno već radi, a Watch app predstavlja samo još jednu ekstenziju te aplikacije, slično Today widget-ima ili Action ekstenzijama.

Apple Watch ne može raditi samostalno već zavisi od prisustva uparenog iPhone-a. Podržani modeli su iPhone 5 i noviji. Iz samo Apple-u znanih razloga, nijedan model iPada nije podržan.

Kakve aplikacije kreirati?

Na desetine tekstova je napisano na ovu temu proteklih nekoliko meseci i nemam posebnu želju da ih sumiram. Apple Watch je samo još jedna korisna sprava, ali joj namenu i mesto u svom životu morate odrediti sami. I kao korisnik i kao developer.

Smatram da sve iOS aplikacije koje već imaju Today widget prosto moraju da imaju i Watch app. Bilo da widget-e koristite za notifikacije ili kao daljinski pregled / upravljač – sat je u svakom pogledu bolja lokacija za bilo koju od tih aktivnosti.

Lakše je objasniti na primeru: moja Run 5k app ima Today widget koji je dostupan i kada je iPhone zaključan. To onome ko trči omogućava da jednostavno u toku treninga proveri koliko je ostalo do kraja, koja je aktuelna brzina, koliko je daljine pređeno itd. Takođe može da pauzira ili nastavi trčanje, čime se widget pretvara u daljinski upravljač. Da bi to radilo, napisao sam kôd kojim iOS app ekstenzija dobija potrebne podatke i osluškuje da li ekstenzija zahteva neku od definisanih akcija.

Watch app koju sam kreirao radi isto to ali bez potrebe da se telefon juri po džepu ili torbici. Prostim pokretom ruke se dobije isti set informacija i mogućnosti. Ako vam je potrebno još inspiracije zavirite u WatchAware showcase i pogledajte šta su drugi već najavili i pripremili.

Razvojni alati

Osnova je svakako Mac računar sa OS X Yosemite. Xcode 6.2 je minimum i on donosi sa sobom podršku za iOS 8.2 i odgovarajući SDK. Kako u ovom trenutku sata nema u slobodnoj prodaji, kompletan razvoj se odvija u iOS Simulatoru. Kada startujete Watch app, Xcode će startovati i iPhone i Watch simulator.

simulator_ispravljeno

Simulator za sat je rudimentaran i prikazuje samo čist ekran sata, bez tzv. chrome (okvira, narukvice itd) koji postoji na realnom satu. Apple na više mesta naglašava da dizajn aplikacije treba da ide od ivice od ivice. To predstavlja priličan mentalni problem dizajnerima čija će prva reakcija biti da ubace neku marginu oko sadržaja na ekranu i time bespotrebno izgube zlata vrednih 10pt ili više.

Što nema kod Apple-a, ima kod divnih ljudi dobre volje. Troy Gaul iz Iconfactory-ja je kreirao jednostavnu aplikaciju — Bezel — koja iscrta fizički izgled sata i u realnom vremenu “krade” ekran simulatora i iscrtava unutar sebe. Time dobijate realniji prikaz kako app izgleda na satu.

bezel

Max Rudberg je kreirao i set dodatnih maski za Bezel koje možete iskoristiti umesto predefinisane. Jedino što sreću kvari je što ne možete kliktati unutar Bezela već morate u Simulatoru.

Gledati app na ekranu Mac-a daje pogrešan utisak koliko je fizički taj ekran zaista veliki. Video sam dosta dizajnerskih promašaja sa premalim ili preblizu postavljenim touch targetima. Savet: nemojte inspiraciju tražiti na Dribbble-u.

Obzirom da sat ima Retina ekran, preporučujem sledeći trik: kupite xScope za Mac (zlata vredna app) i xScope Mirror za iOS i moći ćete projektovati Bezel direktno na vaš iPhone. U meniju Bezel-a podesite da se koristi 200% prikaz ako imate non-Retina Mac ekran. Time ćete dobiti 1:1 fizičku repliku sata na iPhone.

Druga opcija koju možete probati jeste WatchSim Danny Keogana. Uz pomoćni Mac server aplikacije, ovo bi trebalo da omogući da se simulator vidi na iPhone-u i da u stvari možete i da koristite Watch app na telefonu. To bi svakako bila naprednija opcija jer možete direktno testirati da li su touch targeti dovoljno dobro postavljeni. Ja nisam probao obzirom da već imam xScope ali sam svakako zainteresovan da čujem utiske.

Kada za par meseci uspete da kupite sat, sve će biti jednostavnije. Međutim, cilj je imati Watch app prvog dana prodaje i ovo je najbolji setup koji sada možete postaviti.

Dizajn

Apple je uložio mnogo truda da veoma precizno definiše UI smernice za obe veličine sata. Naime, 38mm i 42mm sat nemaju istu rezoluciju, za razliku od iPad-a gde i 9.7 inch i 7.9 inch model imaju istu rezoluciju i aplikacije su identične.

Kod sata, ne samo da se rezolucije razlikuju već se neznatno razlikuju i debljine linija u ikonama, veličine samih ikona, vrednosti margina između ivice ekrana i teksta, veličine teksta itd. Potpuno je fascinantno sa koliko pažnje je sve ovo kreirano, što je možda najbolje ilustrovati sa par primera iz zvaničnog Apple Watch Resources paketa koji je Apple pripremio:

38mm 42mm

Ja se bavim iOS razvojem od prvog SDK i nikada do sada nisam video da je Apple imao ovako spreman paket uputstava, dokumentacije i direktno upotrebljivog materijala na samom početku. Sve to govori koliko dugo i sa koliko pažnje se ovom projektu pristupilo.

Za detalje, svakako pročitajte zvanični HIG vodič.

Sat ima Retina ekran stoga kada se priča o rezoluciji treba razmišljati u pt-ima. 38mm sat ima 136×170 pt, 42mm sat ima 156×190 tačaka. I to je to.

Kreirati nešto upotrebljivo i korisno na toliko malom prostoru je uzbudljiv izazov.

Watch App ikonica

Kada sam već spomenuo ikone, toplo preporučujem da pročitate članak Michaela Flarupa o kreiranju app ikona za Apple Watch. Vredi znati i naučiti kako sve to funkcioniše, a zatim možete iskoristiti Michaelov .psd fajl koji – zahvaljujući skriptabilnosti Photoshop-a – automatski kreira ikonu u svim potrebnim dimenzijama. Vaše je samo da spremite maksimalnu veličinu od 1024x1024px.

Ili upotrebite iOS 8 app icon template koji je kreirao Max Rudberg i koji takođe podržava Apple Watch.

Savet: na ikonici za sat, ostavite apsolutni minimum potrebnih detalja da aplikacija bude prepoznatljiva. U slučaju Run 5k izbacio sam segmentne prstenove oko “5k” koji postoje na iOS app ikoni. Razlog je prost – kada se ikona smanji na 36pt (ili još manje) prstenovi postanu neprepoznatljivi i izgleda kao da je ekran na tom delu umrljan.

appicon copy

Iskoristite spomenuti xScope Mirror i proverite kako ikona izgleda na iPhoneu i procenite sami šta je dovoljan minimum.

3 podvrste Watch aplikacija

Sem glavne Watch app, WatchKit ima još dve podvrste: Glance i Notification. Obe su opcione i da li ćete ih kreirati zavisi od vaše app:

project

Preporučujem da izaberete sve opcije i pustite Xcode da vam kreira sve što treba za razvoj. Lakše je kasnije izbaciti ono što vam ne treba za app nego dodavati ručno i eventualno propustiti neko od podešavanja.

UI elementi za sve podvrste se nalaze u istom storyboard-u kao i glavna Watch app i predstavljaju dodatne “ulazne” tačke. Za svaku imate poseban WKInterfaceController i pišete odgovarajući kod.

Na svakom koraku razvoja se vidi koliko se Apple trudi da uniformiše User Experience, što ću ilustrovati na primeru Glance-a koji se sastoji od dva striktno odvojena dela ekrana: zaglavlje i telo. Interface Builder nudi veliki broj predefinisanih šablona i za gornji i donji segment – evo primera kako to izgleda za gornji segment:

ispravka_siroko

Iako se to ne vidi, ovo nije sve – ova lista je skrolabilna i opcija ima još dosta. Ako izabere neki od ovih šablona, elemente na ekranu ne možete gotovo nikako menjati – veličina teksta, parametri slike, broj vidljivih karaktera i maksimalni broj linija – sve to je zakucano i praktično jedino možete menjati boju teksta.

Ako vam to ne odgovara, izaberite prvi šablon sa spiska koji ima samo jednu grupu i onda unutar nje dodajte šta god želite.

Ovde završavamo prvi deo priče. Za par dana sledi i drugi deo sa više tehničkih detalja i primera. Zapratite Netokraciju i Aleksandra na Twitter-u, kako ne biste propustili nastavak serijala!

Ostavi komentar

Odgovori

Tvoja e-mail adresa neće biti objavljena.

Popularno

Tehnologija

5G mreža nas neće štetno ‘ozračiti’, ali širenje dezinformacija i lažnih vesti sigurno hoće

Fizička pojava kao što je štetno zračenje ne mora nužno uvek da dođe iz nuklearnog reaktora, sunca ili radona, već se javlja u različitim oblicima - u čemu bi, prema pisanju pojedinih medija, svoju ulogu mogla da odigra i 5G mreža.

Analiza

Od nepoznate reči do najjačeg IT sektora: Kako se Blockchain razvijao u Srbiji?

Kada su u maju ove godine objavljeni rezultati Startap Genome istraživanja, mnogi od nas ostali su začuđeni nad činjenicom da se Srbija našla u top 5 zemalja po broju blockchain developera na svetu. U ovom tekstu vraćamo se u prošlost, kada je ta zajednica bila tek na začetku sa ciljem da odgovorimo na pitanje - kako je do toga došlo?

Internet marketing

Možda ne znamo odakle dolazi naša roba, ali dovoljno smo se zgadili da bismo kampanju proglasili uspešnom

Otkrivamo kako je izgledao kreativni proces iza kampanje koja je obeležila leto i festivalsku sezonu.

Propustili ste

Mobilno

Saša Leković (Telenor): Omogućili smo startapima da prvi testiraju 5G mrežu jer oni su naši logični partneri

Peta generacija mobilnog prenosa podataka postala je glavna tema u tehnološkom svetu. Za razliku od LTE (4G) tehnologije, novi standard mobilnog Interneta doneće znatno veće brzine i stabilniju konekciju. Saša Leković, CTO Telenora, otkriva za Netokraciju planove ovog operatera kada je 5G u pitanju.

Startapi i poslovanje

Utrenu.com sa svojih 16.000 članova povezuje profesionalce i korisnike na tržištu deljenja usluga

Sajt UTrenu.com jedan je od servisa na digitalnom prostoru Srbije koji korisnicima omogućava povezivanje sa profesionalcima iz različitih oblasti. U razgovoru sa menadžerom portala otkrivamo po čemu se ovaj sajt razlikuje od konkurencije i koji su naredni planovi za širenje i poslovanje.

Analiza

Beskontaktna plaćanja putem telefona predstavljaju ono što korisnici žele – mogućnost izbora

Šta nam mCard usluga Mastercarda i Societe Generale banke govori o razvoju bankarskog sektora u Srbiji?

Tehnologija

5G mreža nas neće štetno ‘ozračiti’, ali širenje dezinformacija i lažnih vesti sigurno hoće

Fizička pojava kao što je štetno zračenje ne mora nužno uvek da dođe iz nuklearnog reaktora, sunca ili radona, već se javlja u različitim oblicima - u čemu bi, prema pisanju pojedinih medija, svoju ulogu mogla da odigra i 5G mreža.

Kultura 2.0

Gde Hooloovoo postavlja granicu kada je ‘Employer Branding’ u pitanju? U WC-u developerske konferencije

Kako da u oblasti Employer Brandinga radite nešto na šta se niko nije usudio, dok istovremeno širite posao i održavate profesionalni standard? Odgovori stižu iz kompanije Hooloovoo.

Startapi i poslovanje

South Central Ventures investirao €400.000 u crnogorski Uhura Solutions – sledi dalji rast poslovanja i razvoj proizvoda

Crnogorski startap Uhura Solutions koji razvija napredno AI rešenje za digitalno čitanje i razumevanje ugovora, podigao je investiciju u vrednosti od 400 hiljada evra zahvaljujući fondu South Central Ventures. Dobijena sredstva biće uložena za ubrzani rast poslovanja i razvoj proizvoda.