Първоначално обновяване на продукта

Сърдечни пожелания на 4-тия юли: Пътувачки постижения и Mapsake приятели

Сърдечни пожелания на 4-тия юли на всички, които празнуват в САЩ. Този изпуск прави приватната атлас по-забавна с обяснени постижения и намерен споделен с приятели.

От 10 минута за четене.
Mapsake Достигнати резултати показват търсими пътеводни точки и напредък в медали

Сърдечни пожелания на 4-тия юли

Сърдечни пожелания на 4-тия юли на всички, които празнуват в САЩ!

Това обновление е за два начина, по които приватен пътеводител може да стане по-жив: Достиженията дават на власника нови модели да забележи в своята история, докато Mapsake Друзе прави възможно да се сравни тази история с хора, които наистина познава.

Нищо от тези функции не променя основното правило. Mapsake е първо лична атлас. Няма публичен брой последователи, глобален лидерска табло или съдържание, предназначено да поддържа чуждите да се изпълняват едни за други

Околу 160 причини за да се погледе картата отново

Mapsake сега включва около 160 постижения. Някои са познати възможности: първото отбелязано място, пет държави, всички континенти или растяща листа от градове и аеродроми. Другите описват географски групи, култура, природа, наука, авиация и по-малко очевидните форми, които се крият в историята на пътуването.

Каталогът е нарочно широк. Човек, който пътува по пътища през близки региони, трябва да намери все още значим напредък; системата не е резервирана само за тези, които се опитват да съберат всички страни.

В интерфейса, оценката на постиженията е детерминистичен преминаване по атласа. Всеки постижение дефинира местата или праговете, които се интересува, Mapsake сравнява тази дефиниция с текущия Посетено и Живяно запис, и резултатът включва напредък, статус на разблокиране, дата и ниво на медала. Това не зависи от аналитичен сервис или от отдалечен редовен двигател.

Това подход има полезен последиц: постиженията работят без интернет и се актуализират веднага след импортиране или ръчно промяна. Това ги прави и тестируеми. Същият фикс може да произведе винаги същия набор от разблокирани възможности.

Каталогът се разшири от 11 до около 160

Първият мотор на постиженията се изпускаше с 11 прости милисти. Беше достатъчно, за да докаже цикъла: извличане на напредък от картата, подчертаване на това, което беше отворено и показване на напредъчна линия за останалото. Беше също твърде малък, за да остане интересен за когото има утвърдена история на пътувания.

Вторият кръг въведе семейства и географски групи. Мерките по държави се превърнаха в една стека вместо стена от почти идентични картички. Пълнота на континентите и групи като Европейския съюз, Schengen район, ASEAN, G7, Магреб и Стани добавиха цели, които бяха за формата на пътуването, а не само за неговата маса.

Каталогът след това се разшири в изкуството, музиката, науката, технологиите, природата, геологията и икономиката. Това е мястото, където започна да изглежда особено Mapsake. Група по история на джаза и група по космически програми могат да се пресичат географски, докато разказват напълно различни истории защо тези места принадлежат заедно.

Проблемът е избягването на произволни факти. Всеки група трябва да има защитен, фиксиран списък с членове и обяснение, което има смисъл след изчезването на новината. Членството се намира в източника, а не достига от променящ се веб сервиз, така че обновяването на каталога се проверява и версионира като всяко друго поведение на продукт.

Околу 160 е достатъчно, за да се направи търсене и организация необходими. Това не е цел, която трябва да расте винаги. По-малък съвместим каталог е по-добър от хиляди процедурни медали, които никой не може да разбере.

Дати на разблокиране и промени в семействата промениха интерфейса

Като каталогът достигна приблизително 80 позиции, нормалната мрежа престана да работи. Няколко прагове от същата група заето всичко останало, и дългогодишен потребител не можеше да разбере коя завършена задача е нова.

Mapsake сега събира постигнатите постижения в семейството в стек, с най-високия ниво на върха. Разглобяването му показва по-ранните възможности. Заключените постижения остават видими като цели, но подразбирането на сортиране поставя най-близкото до завършване първо.

Датите на разблокиране се записват първият път, когато постижението става истинско. Те съществуват по-късно оценки и пътуване вътре в снимката на приятеля, която позволява на страницата на постижението на приятеля да покаже кога нещо се случи, без да излага частен журнал на събития. Старите потребители са базирани на първия стартиране, така че инсталирането на актуализацията не произвежда конфетиране буря за всяко измерение, което техната стара карта вече удовлетворява.

Това основно поведение произлезе от разглеждане на миграцията като част от функционалността. Технически правилна машина, която обява 70 „нови“ постижения при стартиране, ще изглежда повредена, дори ако всеки медали са математически заслужени.

Първо място е разбираемостта

Стена от заключени икони не е много полезна, затова разделът „Достижения“ е организиран около обясненията:

  • Търсете по име и филтрирайте по категория или континент.
  • Сортирай по най-близкото, последно разблокирано или вече завършено.
  • Отворете постижение, за да видите описанието му, членските места, картата и текущото напредък.
  • Премини през нивата от бронзов, сребърен, златен и платинен, където семейството ги поддържа.
  • Дълго натиснете постижение, за да направите карточка за споделяне без да публикувате автоматично нещо.

Разблокирането на награди е кратко и физическо, а пълните подробности остават достъпни след това. Тона е намерено леко и понякога малко нердски. Това трябва да изглежда като откриване нещо за картата, а не като получаване на оценка за производство.

Деталната екранна страница също реши проблема с доверието. Наспират като „Пето Око“ или „Кръг на огъня“ не са самодържещи за всички. Отварянето на този елемент показва пълното описание, картата на региона, страните в групата, които се считат за посетени и периодът на посещението, ако е наличен. За иерархичните групи, от бронз до платина, комуникират напредъка без да се изискват четири независими визуални системи.

Картата осигурява намерено изчерпателни и достигнати членове. Прогресът е по-лесно разбираем, когато човек може да види, че целта е на една съседна държава, вместо просто да чете „8 of 9.“

Празненството не може да контролира навигацията.

Един детайл на имплементация стана видим по време на тестовете: празното отбелязване на постиженията се поведе като модален резюме. Карточките изглеждаха докосвани, но слоевете на празното отбелязване нямаше достатъчно информация за навигация за да отвори основната детайлна информация надеждно.

Исправата беше да се разглежда всяка награда като същата идентичност на постижение, използвана от основния каталог и да се насочи към съществуващата детайлна страница. Празненството остава за временно представяне; моделът на постижението остава устойчив източник. Това е малък пример за по-широк Mapsake правило: специални ефекти трябва да се намират върху продукта, а не да го разделят.

Друзе, без да се създава социална мрежа

Mapsake Friends започва с покана, а не с търсене. Връзката пренася частен код за споделяне, а не име или акаунт. Отварянето му създава взаимна връзка: всеки може да види споделената карта на другия в Mapsake.

Връзките работят добре през разстоянието, докато QR кодовете и откриването на близки устройства покриват моментът, когато двама хора са в една стая. Приложението публикува компактен пътеводител за връзката вместо да опитва да синхронизира два пълни локални бази данни.

Първият модел за споделяне не беше достатъчно надежден

Друзе в началото използват отделен CloudKit споделен за всяко отношение. Това изглеждаше привлекателно, защото CloudKit обработваше покани за достъп, но правеше взаимното приятелство неудобно. Един човек можеше да приеме споделен без оригиналния изпращач да получава надежден път обратно, и URL-адресът на споделения файл беше трудно да се превърне в предсказуема вътрешна процедура.

Заместващият модел дава на всеки профил стабилен общ картен запис, адресиран с неопасен код. Връзка за поканата отваря записа на приятеля, кешира снимката, публикува картата на приемника и записва малък изискване към първоначалния код. Пълното обновяване във фона и на фона завършва взаимната връзка.

Първата версия на този заместител използваше стабилния код директно в линка. Това работеше, но линкът можеше да се използва безкрайно, ако избягаше предвидения разговор. Единични изпратени токени сега са пред стабилната идентичност на картата. Потребителският токен, който е използван, не може да се използва отново, докато основната дружба може да продължи да се обновява.

Това е пример за продукт и инфраструктура, които се променят заедно. „Сподели моят картен” е една бутон в интерфейса, но под него са универсални връзки, търсене на записи в CloudKit, обработка на взаимни заявки, локално кеширане, изписване на дубли и ясно съобщение за успех или неуспех. Скриването на тази инфраструктура е задачата; премазването на нейното съществуване би направило неуспеха непоясним.

Профилът на приятел има истинска дълбочина. Той може да включва интерактивна карта, паспорт с контроли за обектив, регион и година, постижения и изглед за сравнение, показващ припокриване и местата, уникални за всеки човек. Домашният пин е изключен, освен ако собственикът изрично не избере да го сподели.

Екранът за приятел използваше на първо време по-проста глобус и съкратен преглед. Това бързо изглеждаше като предварително изгледване, а не като връзка. Текущата повърхност използва същите настройки на картата като Atlas на власника, същите изчисления на Passport и същия модел на детайли на постижения с различен източник на данни.

Използването на тези компоненти доведе до полезна абстракция: картите и Passportsивите трябва да използват пътувашите данни, а не да предполагат, че данните принадлежат на локалния профил на влезлия потребител. Веднъж при изпълнението на кратки снимки на приятели тази интерфейс, филтрирането на линзите, диапазоните на години, обхватите на континентите, напредъците в постиженията и сравненията могат да споделят поведението без да дават на приятеля достъп до основната база данни на власника.

По пътя имаше по-малко вълнуващо навигационна грешка. Ред за приятел беше директно свързан с обект на SwiftData, но CloudKit-то можеше да върне този обект и да промени идентичността му точно когато навигационната промяна започна. Навигацията по стабилен идентификатор на приятелята фиксира това, което изглеждаше като мъртво докосване. Грешките в разпространените данни често се проявяват като обикновени интерфейсни грешки.

Фотографиите на профила следваха същата правилна снимка. Малък аватар може да бъде публикуван със споделения профил и да се обнови след редакция. Ако няма изображение, инициалите остават като резервно. Mapsake изисква припознато име и снимка преди първата покана, но не прави нито едното задължително.

Поток, съставен от значими промени.

Вкладът за приятели не е поток от качени постове. Mapsake периодично сравнява най-новия снимка на приятели с вече съхранения в устройството. Ако приятели са добавили нови места или разкрили постижения, тези разлики стават малък локален поток на активност.

Този подход с диференциални снимки поддържа функционалността проста. Друзете не трябва да създават пост всеки път, когато техният атлас се променя, и Mapsake не трябва да има система за рангирани съдържание. Потока записва полезно събитие, защото основната пътешественска история се промени.

Това избягва също и добавяне на още типове записи в CloudKit за всяко събитие. Приложението вече има старите и новите снимки. Сравнявайки техните идентификатори на места и разкриване на постиженията може да се извличат интересните промени локално, след което да се запази ограничен поток в малък JSON-склад на устройството.

Добавянето на места и разблокирането на постижения се групират в отделни серии, дори когато пристигнат в едно обновяване. Това предотвратява голям импорт да произвежда десетки почти идентични редове и прави потока да изглежда като „Ема добави Япония, Кийото и два повече“, вместо да изглежда като транзакционен журнал на база данни.

Уведомления могат да се включат за всяко пътуване със статус на охлаждане, така че вълната от импортирани исторически данни не става вълна от известия. Потеглянето за обновяване остава достъпно, когато някой иска да провери намерено.

Приватност е част от функционалността, а не изявление за изключване

Пътуванията могат да разкрият където сме живеели, нашите обичайни рутини и бъдещи планове. Друзелите са затова по-конкретни от обикновена социална функция:

  • Добавяне на някого изисква покана, сканиране на QR код или обмен в близкото окръжение.
  • Споделеният пакет съдържа данните за картата, необходими за опитния опит на приятеля, а не копие от фототе в библиотеката.
  • Домашното споделяне е отделно и изключено по подразбиране.
  • Премахването на приятел премахва местното връзка и нейната кеширана активност.
  • Основното използване на Mapsake все още изисква Mapsake акаунт.

Избрано-карта избрано-карта никога не включва оригиналните байтове на изображенията. Тя съдържа маркери за пътуване, полета на профила, информация за обектива, дати, необходими за ограниченни статистики, и постижения, необходими за повърхностите, които приятелят може да отвори. Това граница поддържа богат опит да не се превърне по случайност в услуга за споделяне на изображения.

Mapsake също разграничава споделянето с приятел от публичен браузърски линк. Връзката с приятел е взаимна и живее вътре в приложението. Публичната карта е отделен опциярски артефакт за някого, който иска само четен линк. Включването на едното не е тихо включване на другото.

Достигнати резултати и приятели правят атласа по-забавен, но те не го правят публичен профил. Това граница е важна достатъчно, за да се повтаря, докато приложението расте.

Попробвайте актуализацията

Отвори Постижения Целта е да се търси целият каталог и да се провери какво е най-близо. След това отворете Приятели, споделете връзка за покана или използвайте опциите „в близост“ и QR код, и сравнете карти с някого, когото познавате.

Най-добрият резултат не е по-висок резултат. Това е разговор: място, което двете хора обичаха, регион, който една души не е разсъждавала, или странното малко постижение, което нито едно не знаеше, че са близо да разкъснат.

Иконата на приложението Mapsake

Самостоятелен разработчик на Mapsake, писан от продукта, картата, приватността и работата по Apple-платформата зад приложението.

Създайте вашия атлас

Начнете със историята си от пътуванията, която вече имате

Mapsake е безплатна, изисква без Mapsake акаунт за основна употреба и запазва поддържаните съпоставки на снимки на устройството.

Получете Mapsake безплатно