Viime vuoden huhtikuussa kirjoitimme Cachlyn odotetusta versiosta 8 ja kerroimme, että versio 8 toisi luultavasti ensimmäisenä kätköilyohjelmana myös CarPlay tuen. Joku taisi viime kesän Mega-tapahtumassakin minulta kysyä, missä tuo CarPlay -tuki viipyy, koska sitä ei julkaistukaan version 8 mukana vaan se siirtyi päivitykseen 8.1. Cachlyn kehittäjä Nic Hubbard on nyt avannut CarPlay-tuen kehityksen tilannetta.
Mikä on CarPlay?
CarPlay on Applen kehittämä älypuhelinten integrointijärjestelmä, joka yhdistää iPhonen auton viihde- ja tietojärjestelmään. Sen avulla käyttäjät voivat käyttää iPhonen ominaisuuksia ja sovelluksia auton näytön ja ohjauslaitteiden kautta turvallisesti ajon aikana.
Tärkeimpiä ominaisuuksia CarPlayssa ovat erilaiset kartta- ja navigointisovellukset kuten Apple Maps, Google Maps ja Waze, jotka siis tarjoavat reittiohjeita ja liikennetietoja. Monet myös käyttävät CarPlayta musiikin, podcastien ja äänikirjojen toistoon ajon aikana. Siri-ääniavustajan avulla voi myös ohjata puhelimen eri toimintoja CarPlayn avulla.
Puhelin liitetään autoon USB-kaapelilla tai langattomasti, jos auto tukee langatonta CarPlayta. Tämän jälkeen auton näyttö toimii CarPlayn käyttöliittymänä. Usein sovellukset on yksinkertaistettu CarPlayta varten. Sovelluksia voi ohjata auton näytöstä tai ohjauspyörän painikkeista.
Android-puhelimille on vastaava järjestelmä Android auto. Jos tiedätte, että jokin Android geokätköilysovellus tukee Android autoa, niin jättäkäähän kommentti.
Cachlyn CarPlay?
Cachlyn CarPlay integraatio on ollut pitkään kehityksessä. Mutta nyt viimeisen viikon aikana Cachlyn betatestaajille on jaettu Cachlyn versio, jossa CarPlay -tuki on mukana. Lähellä maalia siis ollaan jo. Nic Hubbard on nyt avannut miksi kehitystyö on kestänyt oletettua kauemmin. Alla erittely eri työvaiheista ja haasteista, joita Nic on kohdannut kehittäessään tätä ominaisuutta.
Tässä on erittely keskeisistä vaiheista:
- CarPlay-luvan saaminen Applelta: Ensimmäinen askel on Applen hyväksynnän saaminen sovellukselle. Ennen tämän luvan saavumista ei CarPlay-kehitys onnistu.
- Offline-karttojen yhteensopivuuden rakentaminen: Varmistetaan, että offline-kartat toimivat saumattomasti CarPlayssa.
- Uusien API-kutsujen kehittäminen: Cachlyssä kätköt ladataan, kun käyttäjä painaa nappia. Se ei sovellu käytettäväksi CarPlayn kanssa. Niinpä on pitänyt luoda uusia Geocaching.com API-rajapinnan kutsuja, jotka lataavat geokätköjä dynaamisesti käyttäjien ajaessa tai tutkiessa karttaa.
- CarPlay-rajoitusten huomioiminen: Sovellus on täytynyt mukauttaa CarPlayn rajoituksiin, kuten siihen, ettei kätkön pinniä voi koskettaa.
- Reittiopastuksen tutkiminen: Kehitystyössä on pitänyt tutkia millaisia vaihtoehtoja ääni- ja visuaalisen navigoinnin tarjoamiseksi kätköille on olemassa ja mikä niistä olisi sopivin käytettäväksi Cachlyssä.
- Kustannusesteiden ylittäminen: Todettakoon vain, että kaupalliset ratkaisut navigoinnin toteuttamiseen ovat liian kalliita käytettäväksi Cachlyssä, josta ihmiset eivät kuitenkaan montaa euroa ole valmiita maksamaan, vaikka kuukausimaksukin on tuotu ohjelmaan. Niinpä on pitänyt etsiä edullisempia vaihtoehtoja navigoinnin toteuttamiseen.
- Avoimen lähdekoodin kehysten hyödyntäminen: Osana kehitystä on pitänyt etsiä sopiva avoimen lähdekoodin reittiopastuskehys, joka on yhteensopiva Cachlyssä käytettyjen offline-karttojen kanssa.
- Erillisen reittipalvelimen rakentaminen: Cachlylle on pitänyt luoda oma palvelin navigointia varten.
- Katutietojen maailmanlaajuinen käsittely: Cachlyyn on pitänyt ottaa käyttöön avoimen lähdekoodin ohjelmisto puhuttujen ajo-ohjeiden tuottamiseen ympäri maailman.
- Avoimen lähdekoodin koodin mukauttaminen: Osana kehitystyötä on pitänyt muokata avoimen lähdekoodin kehystä vastaamaan Cachlyn erityistarpeita.
- Kehyksen virheiden korjaaminen: Kehityksen aikana on tullut vastaan tilanteita, joissa avoimen lähdekoodin kehyksessä on ollut bugeja ja virheitä. Niitä on pitänyt debugata (=etsiä missä ongelma luuraa) ja sen jälkeen korjata ja parannella avoimen lähdekoodin koodia luotettavuuden varmistamiseksi.
- Beta-testaus ja palaute: Kerätään virheraportteja ja ominaisuusideoita beta-testaajilta. Nyt ollaan siis tässä vaiheessa menossa.
- Korjausten ja ominaisuuksien toteuttaminen: Beta-testaajilta saadun palautteen ja virheraporttien perusteella pitää korjata ongelmia ja hioa ominaisuuksia palautteen perusteella.
- Lopullinen testaus ja julkaisu: Beta-testauksen jälkeen on vielä suoritettava kattava testaus ennen päivityksen julkaisua käyttäjille.
Kehittäjä Nic Hubbard toteaa myös, että kun Cachlyyn tulee uusi isompi ominaisuuslisäys, on aikataulu usein vaikea ennustaa. Kehitystyöhön sisältyy aina vääjäämättä odottamattomia vaikeuksia ja koska Nic on ainoa Cachlyn koodari, joka tekee työtä omalla vapaa-ajallaan, ominaisuuksien toteuttaminen kestää joskus kauemmin kuin on odotettu.
Nyt kuitenkin Nicillä olla aihetta iloon, sillä CarPlay -integraation osalta ollaan loppusuoralla. Kun 8.1 päivitys vihdoin saapuu, niin ehkäpä on viimeinkin aika ottaa Cachlyn vuositilaus itsekin, jotta saa käyttöönsä CarPlay tuen. Ehkäpä palaamme aiheeseen pienen testin muodossa, kun se aika koittaa.