Kehittäjä-ajatuksia

Tässä päivässä, Sitten & Nyt, ja Passports Stamps

Tässä päivässä, Sitten & Nyt, ja Passports Stamps käyttävät eri tekniikoita: kalenterin yhdistäminen, tilavuuden jakaminen ja OCR. Ne noudattavat samaa sääntöä: löydä jokin hyödyllinen asia, selitä se ja jättä tärkeän päätöksen matkustajan käsiin.

Tässä 11 minuutin lukuaika.
Mapsake Passporssi, jolla on matkastatistiset, kartat ja muistikortit

Kolme tapaa palauttaa menneisyyttä takaisin

Suurin osa matkailujohdonmukaisista ohjelmista on optimoitu seuraavalle matkalle. Mapsake tarvitsee myös olla hyvä palata matkalle, joka tapahtui viisi, kymmenen tai kaksikymmentä vuotta sitten.

Tämä päivitys lisää kolme eri polkua tähän mennessä. Tänä päivänä Etsii kalenterivälin. Sitten ja nyt Etsii paikan yhdistämisen. Passin leimat säilyttää fyysisen esineen ja käyttää sitä kartan parantamiseen.

Ne jakavat suunnitteluperiaatteen: aloita data, jonka käyttäjä jo omistaa, tee kiinnostava työ laitteella ja kysy vahvistusta aina, kun ennuste saattaisi olla väärä.

Julkaisussa on myös säilytystä koskeva ajatus, mutta se ei ole “lähettäminen enemmän ilmoituksia.” Elämäntilanteen atlas on hyödyllinen, kun se luo uusia syitä palata vanhentuneeseen dataan. Paras syy on todellinen yhteys, jota käyttäjä ei tarvitse manuaalisesti kokoontaa.

Tässä päivässä, Sitten & Nyt, ja Stamps tekevät nämä yhdistämät eri tavalla. Tämä teki niistä hyvän testin siitä, voivatko Mapsake kasvava ominaisuudet jakaa kuvien lataamisen, paikan selvittämisen, renderöinnin, navigoinnin ja yksityisyyden sääntöjen ilman, että ne romahtavat yhdeksi suureksi muistin varastoksi.

Tässä päivässä käyttää päivämääriä yli kuvia

Selkeä toteutus etsisi valokuvakirjastosta nykyisen kuukauden ja päivän. Mapsake menee yhdellä askelä pitemmälle, koska valokuvat ovat vain yksi matkailuehdotteen tyyppi.

Jokainen paikka kartalla voi kantaa läsnäolopäivät manuaalisista syötteistä, tuonnista, lentomatkasta ja kuvahistoriasta. On This Day yhdistää nämä päivämäärät varastoituun kuvametadataan, ryhmittää tuloksia vuosittain ja järjestää ensin tarkimmat paikat. Kaupunki tai lentokenttä voi olla muistin pääosasto, kun taas sen alue ja maa jäävät saman tarinan osaksi.

Fototuulien suodatus poistuu pääkäyttöliittymästä, koska suuri kirjasto on edelleen suuri kirjasto, vaikka kysely vaikuttaisi yksinkertaiselta. Tuloksia ryhmitellään uusimmat ensin ja näytetään rauhallisina vuosikortteina. Avataessa yksi näyttää sen galerian ja palauttaa linkin relevanttiin paikalliseen tarinaan.

On myös lähimmän muistin varanto hiljaisille päiville. Jos heinäkuu 9 ei ole saatavilla, Mapsake voi suuntaa lähimmän päivän sijaan, joka on saatavilla, eikä esittää päättyvää loppua.

Kalenterin yhteydessä on enemmän reunaehtoja kuin näyttää

"Saman kuukauden ja päivän" kuulostaa triviaaliksi predikaattina, kun aikavyöhykkeitä ja epätäydellisiä tietoja tulee kuvan. Kuvien päivämäärät tulevat kuvattuun mediasta, kun taas manuaaliset ja tuotetut paikan päivämäärät voivat edustaa päivää eikä tarkkaa hetkeä. Tämä ominaisuus toimii siis kalenteriosissa eikä kysy, ovatko aikaleimat täsmälleen 365 päivää eroon.

Paikat järjestetään tärkeimmän ensin esityksen vuoksi. Jos atlas tuntee lentokentän, kaupungin, alueen ja maan yhdelle päivälle, lentokenttä tai kaupunki tulisi olla karten päälake; listata kaikki neljä erillisenä muistinä olisi ylittänyt yhden todisteen. Koko hierarkia säilyy paikka-ikkunoina ja osallistuu ympäröivään tarinaan.

Kuvapuolen käyttö käyttää metadata-kilpistä, jonka Mapsake on jo rakentanut importin aikana. Se ei kysy PhotoKit:iltä uudelleen skannata koko kirjastoa joka kerta, kun Profiili avataan. Päivittäinen suodatin suoritetaan erillisen tehtävän pohjalla, ja sitten käyttöliittymä saa pienin kokoelman varastoituja kuvatietoja, joita se voi ladata hitaasti.

Ensimmäinen sisääntulopiste oli Atlasissa. Testaus osoitti, että kalenterin painike teki visuaalisesti tärkeimmän näytön vielä päivillä, joissa ei ollut muistia. Siirrettäessä sisääntulon Profiilin sisälle se voitiin näyttää ehdollisesti, yhdistyä luontevasti muiden henkilöllisyyden ominaisuuksiin ja kantaa luekseen ilman, että se kilpailisi karttakäyttöön.

Ilmoitusnäppäimien tarvitsi omat reititystavansa. Paikallinen ilmoitus ei saavu samalla reitillä kuin normaalin universaalin linkin painalluksella. Mapsake kirjoittaa muistin syvällisen linkin ilmoituksen sisältöön, saa vastauksen sovelluksen delegate-ohjelmassa ja ohjaa sen saman navigointitilan kautta, jota käytetään muiden syvällisten linkkien kanssa. Näkyvä ominaisuus on lause; luotettava painallus vaatii koko reitin.

Muistutus on tarkoituslaatuisesti valinnainen

On This Day voi suunnitella hiljaisen ilmoituksen, mutta vain kun käyttäjä käynnistää sen. Mapsake valmistaa tulevaisuuden muistipäivät paikallisen datalla ja liittää syvällisen linkin, jotta painamalla ilmoitusta aukeaa oikea pinta.

Ei palvelinta päättäisi, mikä muisti on tärkeää, eikä kuvia tarvitse poistaa laitteesta muistin toiminnan varmistamiseksi. Profiilipalikka ilmestyy vain, kun tänään todella on jotain näyttää, pienellä lukiemättömällä pisteellä, joka poistuu avattaessa.

Ilmoituskopio voi yhdistää useamman vuoden tai paikan, koska paikallinen laskenta tuntee jo ryhmitellyn tuloksen. Muistutus voi esimerkiksi kertoa matkustajan olin Redmondissa, Roomassa ja Tokiossa tällä päivä eri vuosina. Sanomisen rakentaminen tapahtuu laitteessa ja lokalisoituu sovelluksen muiden osien kanssa.

Tämä ehdollinen kirjautuminen oli yhtä paljon tuote- kuin tekniikka- päätös. Pysyvä tyhjä kortti ilmoittaisi ominaisuutta useammin, mutta se tekisi Profiilin koko ajan meluisemmaksi, kun ominaisuus ei ollut mitään hyödyllistä sanottavaa.

Tällä hetkellä & Tällä hetkellä käsittää paikan yhtenäisenä yhteyden

Tällä hetkellä & Tällä hetkellä etsii kuvia, jotka otettiin noin samasta paikasta vähintään kaksi vuotta eroon. Implementaatio käyttää tiiviistä tilavuusruudukkoa: suodatettujen kuvien koordinaatit sijoitetaan soluihin noin 280 metriä leveillä, ja jokainen solu säilyttää vain aikaisimman ja myöhäisimman kuvan, kun se tarkastellaan.

Soluihin, joissa on tarpeeksi pitkä aikaväli, tulee kandidaatteja. Pisin aikaväli tulee ensin, lähellä olevat kandidaatit deduplikoidaan, jotta yksi plaza ei täytä koko listan, ja pakattu gazetteeri tarjoaa kaupungin ja maan nimen. Tulos tallennetaan muistiin, kun kuva-arkisto muuttuu.

Tämä ei ole tarkoituksellisesti kuvien samankaltaisuuden tunnistusta. Valokuvien ei tarvitse näyttää samaa sommittelua tai kohdetta; se on eri tehtävä Constellations-sovelluksessa. Then & Now kysyy yksinkertaisemman kysymyksen: miltä tämä paikka näytti, kun palasit sinne vuosien kuluttua?

Paareja avataan normaalissa kuvakatselijassa ja niitä voidaan jakaa samalla renderöintipolulla kuin Passporin kortteja. Alkuperäiset jäävät lähteenä kirjastossa, kun taas Mapsake säilyttää painokelpoisen metadatan parin löytämiseksi uudelleen.

Miksi 280 metriä ja kaksi vuotta?

Avaruus solmu on tarkoitus myrkkyä. Puhelimen GPS voi poiketa, merkki voi olla kuvattu saman plazan vastakkaisilta puolilta ja vanhempi kamera voi olla vähemmän tarkka koordinaateissa. Tarkkojen koordinaattien vastaaminen jättäisi monta todellista palautumista huomiotta. Kaupungin tason vastaaminen olisi niin laaja, että se yhdistäisi eri kaupunkiosiotta.

Noin 280 metri on tuote-rajapiste, ei väite siitä, että kaksi kuvaa näyttävät saman fyysisen pisteen. Se kysyy, onko palautus riittävän lähellä, jotta kuvat tunnetaan yhtenä, kun ne asetetaan vierekkäin. Kaksi vuotta vähimmäisiksi pitää matkan ensimmäisen ja viimeisen päivän eikä kuvata pitkäaikaisena muutokseksi.

Vain kuvien aikaisin ja myöhemmin olevat kuvat jokaisessa solussa säilyvät skannauksen aikana. Tämä tekee muistin käytön verrannolliseksi käytettävissä olevien solujen määrään eikä kaikkiin kuvien määrään ja luonnollisesti maksimoi aikavälin. Kandidaatit parit järjestetään sitten kestoa ja spatiaalisesti deduplikaattoroidaan, jotta henkilö, jolla on satoja kuvia yhden kotisäteen ympärillä, näkee edelleen moninaisuutta.

Muistinnettavan avain seuraa kuvan metatietojen luonti- ja poistosammutuksen määrästä. Tuoda uusi kirjastokirjasto tai poista kuva kartalta ja parit lasketaan uudelleen; avaa näyttö ilman muutosta lähteestä ja sovellus käyttää tulosta uudelleen.

Ensimmäinen benchmark-ohjaus myöhemmin osoitti, että Then & Now käytti myös runsaasti aikaa lähi-kaupunki-tarkasteluissa. Koska se käyttää yhteistietokantaa eikä erityispiirteisiin perustuvaa käänteisgeokoodaajaa, geografisen indeksin työ, joka nopeutti tuotantoa ja Constellationsia, teki myös nämä nimet paljon halvemmiksi. Yhteiset perustat tekevät yhteisiä voittoja.

Jaa toimii Passporin kanavan kautta

Tällä hetkellä & Tällä hetkellä tarvitsi kaksi kuvaa, joiden kanssa oli vuodet, paikka ja aikaväli. Uuden vientijakelun rakentaminen olisi duplikoineet valkoisen ja tumman renderöinnin, sosiaalisen näkymän suhteet, kuvien etukäteen lataus, Fotot-tallennus ja järjestelmän jakosivu.

Sijaishan pari käsitetään mukautettuna Passpor -korttina ja annetaan olemassa olevaan jakamisnäkymään. Lähteet kuvat latautuvat etukäteen, koska SwiftUI -offscreen ImageRenderer on synkroninen lopullisessa renderöintipisteessä. Käyttäjä näkee saman esikatsauksen ja -määränpisteen virtauksen, joka käytetään karttojen ja tilastojen kohdalla.

Tämä käyttö on enemmän kuin koodin talous. Se tekee jakamisen käyttäytymisen ennustettavaksi: ei mitään julkaiseta automaattisesti, vienti näyttää ennakkoluokitusnäkymän, ja samat pääsy- ja väritasot soveltuvat.

Passporin sertifioinnit tarvitsevat apua, ei väärää varmuutta

Oikeat viisakirjaimet ovat vaikeaa OCR-materiaalia. Ne ovat värjäyneitä, pyörehtäviä, kerrotaan taustakuvan päälle, kirjoitettu useissa kielissä ja joskus painettu suoraan toisilleen päälle. Kaikki skannerit, jotka väittävät täydellisen automaattisen tunnistuksen, asettavat käyttäjän huonoon matkailutietoon.

Mapsake käyttää Apple Vision-kehykset laitteessa tekstin tunnistamiseen, jota se voi lukea, sitten rankkaisee mahdollisia vastauksia. IATA- lentokentän koodi on vahva signaali. Kaksi kirjainta maakoodi, maan nimi, paikallinen nimike, kaupunki, pääsykohta tai eurooppalainen päivämäärä voivat lisätä näytettävää tietoa. Paikalliskielen lentokentän alkuperäosat auttavat tunnistamaan, että kirjainten oli todennäköisesti lentokoneella, vaikka OCR ei ole lukemassa sanan loppuosaan.

Matcher esittelee suosituksen ja suosituksen järjestämisen: maa, alue, kaupunki ja lentokenttä, kun ne ovat saatavilla. Se ei koskaan tehoa arvauksia itsestään. Tarkistussivulla on aina mahdollista valita toinen kandidaatti tai täysin manuaalinen valinta.

Se konservatiivinen siirto on tärkeä. Puuttunut ehdotus maksaa yhden painalluksen. Vakaa väärä ehdotus hiljaisesti rikkoo kartan.

Hämärtynyt Islannin postimerkki muutti tunnistusalgoritmia.

Yksi todellinen sähköposti tekoi rajojen konkreettisiksi. Sen lentokentän teksti pitäisi olla KEFLAVIKURFLUGVOLLUR, mutta haalistunut muste ja rivinvaihto tekivät siitä Vision näkökulmasta jotain, mikä on lähempänä KEFLAVIKURFLUGVOLI UR. Sanahaku Islannin lentokenttäterminille epäonnistui, joten Mapsake ei päätellyt lentoa eikä tunnistanut Keflavikin lentokenttää.

Korjaus ei ollut erityistapaus yhdestä passilta. Tunnistin tunnistaa nyt alkuperäosia yleisille lentokentän sanoille useissa kielissä: osat, jotka vastaavat lentokenttää islantilaisessa, saksalaisessa, espanjalaisessa, portugalilaisessa, hollantilaisessa, skandinaavialaisissa kielissä ja muiissa. Vaurioitunut loppu voi edelleen viitata sisääntulomuotoon ja vääntää paikan selvitystä lentokenttää kohti.

EXIF GPS-katselija

Pääsykohteen tarkkuus on etukäteen toleranssi-asiakohdaisia, samalla syystä. Pitkät paikalliskielen yhdistetyt sanat voivat sisältää kaupungin tai lentokentän nimen, vaikka pakattu gazetteeri tallentaa lyhyemmän englanninkielisen muodon. Ratkaisija yrittää merkityksellisiä etukäteen osia, ja rakentaa maan, alueen, kaupungin ja lentokentän ketjun varmennettua tulosta ympärille.

Ketju näkyy tallennuksen ennen. Valitsemalla tarkka lentokenttä voidaan merkitä sen kaupunki, alue ja maa yhdessä, mutta jokainen päätelty taso pysyy näkyvänä ja muokattavana. UI on suunniteltu vahvana ehdotuksena seuraavan ihmisen päätöksen jälkeen.

Pidä tekemäsi tekeminen, ei toinen kopio

Passin leima -tietue tallentaa metatietoja ja viitteen lähdekuvaan, ei koko kuvan tiedostoa. Mapsake luo pienen, uudelleenluotavan pikkukuvan leimatilalle ja lataa alkuperäisen kuvan pyynnöstä. Jos alkuperäinen kuva, joka on peräisin Photos-sovelluksesta, on todella poistettu, sovittaminen voi poistaa sen orpo leiman ilman, että se tekee näköä, että kuva on edelleen olemassa.

"Todella" -sanalla tuotettu lause on tärkeä. Rajoitettu Fotot-oikeus ei voi todistaa, että jätetty omaisuus poistettiin; se voi olla vain ulkopuolella sallitusta valinnasta. Yhdenmukaisuus poistaa painopiste vain, kun kirjaston oikeus on tarpeeksi laaja ja kumpaankin paikalliseen tai pilvipalveluun liittyvään tunnisteeseen ei löydy vastausta. Epäselkeyys säilyttää rekisterin.

Tämä viitepohjainen malli säilyttää myös pieniä CloudKit-vahvistettuja tietoja. Jäljitys voi synkronoida sen maan, päivämäärän, kirjan, sisääntulutavan, sivun, suosiktilan, muistin ja tunnistetiedot ilman, että se yrittää tallentaa matkakortin kuvan tietokantarivin sisällä. 256-pikku-kuva on välimuisti, ei lähteessä oleva totuus.

Postimerkit voidaan järjestää nimettyihin passikirjoihin, merkattuna tulevaisuuden tai matkustamisen lähtöpisteeksi, määritettyä päivämäärää ja sisääntulutapaa, ja näytettävä maa tai mantereella. Leikkaa, suorita, käännä ja valvonta-kuvausvärähtelytuki auttavat valmistamaan hyödyllisen kuvan ennen julkaisua maan tai mantereen kuvakokoelmasta.

Saman toiminnon avulla voidaan tarkastella viisumipassin tunnistusosaa kirjaksi. Tarkkailukentän analyysi tarjoaa rakenteellisia kenttiä mahdollisina, kun taas kuva pysyy viitaukseksi käyttäjän omalle kirjastoonsa.

MRZ-tunnistus poistaa kielikorjauksen. Machine-readable zone on tiukka sarja kirjaimia, numeroita ja kulmaulkoja; pyytää OCR:ltä muuntaa se luonteviksi sanoiksi voi tehdä sen näyttävän helpommin luettavaksi, mutta vähentää samalla tulkittujen kenttien tarkkuutta. Julkaisukentät kuten syntymäpaikka käyttävät erillistä parhaan-yrityksen käsittelyä, ja kaikki tulokset tulevat muokattavaksi kirjaksi.

Kamera- ja valitsijavirtat jakavat leikkaamisen ja pyörittämisen vaiheen tunnistamisen ennen. Myöhemmin lisätty suorittamisen pyöreä, zoom ja katsaus, sekä censuroidun hienosäätövaihe, joka estää tunteen yksityiskohtia. Muokkaus poistaa ristiriitaiset gestit, kun hienosäätövaihe on aktiivinen, ja yhdistää muokaukset tallennettuun lähtökuvaan käyttäjän valitsemalla tallennustavalla.

Sertifikaattikansiokohteet ryhmitellään matkustusarkkitehteen mukaan, ei vain passilipun kirjasta. Pikan kappaleen painallus avaa yksittäiset sertifikaatit; saapumiset, lähtöpäivät ja suosikkipaikat voidaan suodattaa; maailman ja maan päälaitteet voivat esittää kuvan passin jakamisen kautta. Kirjat säilyvät hyödyllisenä metatietona, mutta maantiede on luontevampi selauspolku matkustusarkkitehteen.

Teknisesti tarpeeksi luotettava

Näitä ominaisuuksia käytetään kolmen eri teknikoiden avulla: kalenterin yhdistäminen, tilavuuden kertyminen ja OCR. Käyttäjäkokemus seuraa samaa mallia:

  1. Derivoi ehdokas olemassa olevasta paikalliseen dataan.
  2. Pidä kallista työtä pääsuhteesta erossa.
  3. Selitä, mitä löydettiin.
  4. Käytä, korjaa, jakaa tai jätä se huomiotta.

Se on tyyppiä älyä, jota haluan Mapsake:ssa. Se tulisi tehdä yksityinen kirjake helpommaksi löytää ilman, että algoritmi toimisi kuin ymmärtäisi elämää paremmin kuin henkilö, joka siinä asui.

Ei tarvitse selvittää kaikkia matkakirjanpitoon liittyviä kysymyksiä ennen kuin aloitat. Jos et laske lentokentän yhteyttä matkustajaksi, jätä se pois. Tämä on sinun kirjasi, ja voit päättää, mikä kuuluu siihen.

Mapsake sovelluksen ikoni

Mapsaken itsenäinen kehittäjä, kirjoittamaan tuotteesta, kartasta, yksityisyydestä ja Apple-pohjaisesta työstä sovelluksen takana.

Rakenna oma atlas

Alkaa matkailuhistoriallesi, jota sinulla jo on

Mapsake on ilmaista, vaatii Mapsake-tilin ilman perus käyttöä ja pitää tuettuja kuvien yhteyden laitteella.

Saada Mapsake ilmaiseksi