4 puan yazan GN⁺ 2 시간 전 | 2 yorum | WhatsApp'ta paylaş
  • Pedometer++'ın watchOS harita özelliği, Apple Watch'ta mümkün olan en iyi harita deneyimini hedefleyerek 6 yıldan uzun süre boyunca geliştirildi ve Pedometer++ 8'in çıkışıyla önemli bir dönüm noktasına ulaştı
  • İlk deneme, haritaları sunucuda oluşturup Apple Watch'ta gösterme yöntemiydi; ancak egzersiz verilerinin her seferinde gidip gelmesi gerektiğinden navigasyon ve günlük kullanım için pratik değildi, ayrıca çevrimdışı da çalışamıyordu
  • watchOS'ta ihtiyaç duyulan denetimi elde etmek için SwiftUI yerel harita render motoru sıfırdan geliştirildi ve 2021'de karo tabanlı haritaları kararlı biçimde render edip konum bilgisini üzerine bindirebilen bir seviyeye ulaşıldı
  • watchOS 26 ve Liquid Glass'a uyum sağlamak için Andy Allen ile yeni bir varsayılan harita hazırlandı; görsel karmaşıklık azaltıldı, kontrast ve doygunluk artırıldı, böylece cam benzeri öğelerin altında da kolay okunur hale geldi
  • Rafa Conde ile iş birliği yapılarak metriklerin sol üstte katmanlanması ve haritanın dikey yığının en üst sayfasında yer almasıyla yeni bir düzen oluşturuldu; yüzlerce millik saha doğrulamasından sonra bu tasarım Pedometer++ 8'in son haline yansıdı

Pedometer++'ın watchOS harita yolculuğu

  • Dağda ya da açık alanda kaybolmamak için temel alışkanlıklardan biri, hareket halindeyken mevcut konumu çok sık kontrol etmek ve bilek üzerindeki harita bunun için en iyi yöntemlerden biri olarak öne çıkıyor
  • Apple Watch'un ilk çıkışından beri bilekte iyi bir harita isteniyordu; ancak pratikte bu ancak watchOS 6 ile SwiftUI'nin gelmesi ve “gerçek” uygulamalar yapılabilmesiyle mümkün görünmeye başladı
  • İlk dönem Apple Watch modellerinde ekran küçüktü ve işlemci yavaştı; bu da istenen seviyeye ulaşmayı zorlaştırıyordu, bu yüzden Pedometer++'ın ilk harita denemesi haritayı sunucuda üretme yaklaşımı oldu
  • Bu sunucu tabanlı yöntem, ekranı yenilemek için ilgili egzersiz verilerini her seferinde gidip gelecek şekilde aktarmayı gerektiriyordu; fikir doğrulaması için faydalıydı ama navigasyon ya da günlük kullanım için pratik değildi ve çevrimdışı da çalışamıyordu

SwiftUI tabanlı özel harita motoru

  • watchOS'ta ilerleme kaydedebilmek için daha düşük seviyeli denetim gerektiğinden tamamen SwiftUI yerel bir harita render motoru doğrudan geliştirildi
  • O dönemde watchOS'un desteklediği seçenek SwiftUI idi ve yalnızca SwiftUI destekleyen widget'lara harita eklemeye de yardımcı oldu
  • 2021 itibarıyla watchOS'ta haritaları kararlı ve yüksek performanslı biçimde render edebilecek bir seviyeye ulaşıldı
  • Bu motor, karo tabanlı haritaları render edebiliyor ve üzerlerine konum bilgisini bindirebiliyordu

watchOS ekran tasarımının kısıtları

  • watchOS uygulama tasarlamak, küçük ekran ve tek elle kullanım kısıtları nedeniyle eğlenceli ama zorlayıcı bir problemdi
  • Amaç, kullanıcının haritayı okuyup navigasyonda kullanabilmesi ve aynı zamanda egzersizle ilgili bilgilere erişebilmesiydi
  • Çeşitli tasarım denemelerinin ardından bir süre boyunca sol üst düğmeyle harita ekranı ile metrik ekranı arasında geçiş yapan modal yaklaşım benimsendi
  • Bu yaklaşımda bir ekranda harita serbestçe taşınabiliyor, yakınlaştırılabiliyor ve uzaklaştırılabiliyor; diğer ekranda ise watchOS'un tipik sekmeli sayfa arayüzüyle metrikler ve denetimler sunulabiliyordu
  • Ancak bu tasarım bir uzlaşma gibi hissettiriyordu ve haritayı etkileşimli hale getirmek için kaydırma gerektiren bir arayüz yapısının içine harita yerleştirmek zordu
  • Apple Watch ekranları büyüdükçe, haritayı kullanışlı kılmak için ayrı bir alanı bu kadar keskin biçimde ayırma ihtiyacı da azalmış görünüyordu
  • Sonrasında metrikleri ekranın altına yerleştirme seçeneği de değerlendirildi; ancak uzun dışarı çıkışlarda ya da navigasyon odaklı olmayan egzersizlerde başka sınırlamalar ortaya çıktı
  • Farklı tasarım seçeneklerinin ortak sorunu, uygulamanın aynı anda yalnızca sabit bir alan kümesini gösterebilmesiydi
  • Arayüz kullanıcı tarafından yapılandırılabilir hale getirilebilirdi; ancak watchOS tasarımında birkaç saniyeden uzun süren etkileşimlerden kaçınılmalı ve kullanıcı ayarları doğası gereği zahmetli olduğundan bu uygun görülmedi

Liquid Glass ile uyumlu yeni harita tasarımı

  • Uygulama yapısı üzerine düşünceler sürerken Apple, watchOS 26 ve Liquid Glass'ı duyurdu
  • Liquid Glass'ın temel tasarım öğelerinden biri, öğelerin katman katman yerleştirilmesi ve birbiriyle uyumlu renk tiplerinin önemiydi
  • Daha önce uygulamanın varsayılan haritası olarak Thunderforest Outdoors kullanılıyordu; içerik açısından iyiydi ama üzerine cam benzeri öğeler bindirildiğinde Liquid Glass ile iyi uyum göstermiyordu
  • Harita tasarımcısı Andy Allen ile birlikte Liquid Glass içinde iyi görünecek tamamen yeni bir varsayılan harita hazırlandı
  • Yeni haritada görsel karmaşıklık azaltıldı, öğelerin kontrastı yükseltildi ve camın altında bulanıklaşıp birbirine karışmaması için harita öğelerinin doygunluğu artırıldı
  • Bu çalışma sayesinde harita karolarının koyu mod varyantı da üretilebildi
  • Koyu mod iOS'ta da faydalı olsa da özellikle watchOS'ta çok daha etkili oldu ve kol mesafesinden bile çok rahat okunabilen bir harita hedeflenerek ince ayar yapıldı
  • Sonuç olarak watchOS'a uygun bir harita ortaya çıktı; ancak ona denk düşecek uygulama tasarımı hâlâ eksikti

Rafa Conde ile yeni düzen

  • Tasarımdaki tıkanıklığı aşmak için tasarımcı Rafa Conde ile çalışıldı
  • Çeşitli alternatif düzenler arasından, metriklerin sol üstte katmanlandığı ve haritanın dikey yığının en üst sayfasında yer aldığı tasarım nihai yön oldu
  • Bu tasarım, keşif moduna girmek için önce haritaya dokunulmasını gerektirerek etkileşimli harita sorununu çözdü
  • Genel konsept netleştikten sonra gerçek uygulama geliştirildi ve ince detaylar üzerinde çalışılmaya devam edildi
  • Rafa'nın konsepti hızla çalışan bir prototipe dönüştürüldü ve yüzlerce mil yürünerek sahada doğrulandı
  • Ardından yazı tipleri ve daha ince tasarım tercihleri iyileştirildi ve Pedometer++ 8'de yer alan son tasarıma ulaşıldı
  • Nihai ekran; okunaklı, kullanışlı, watchOS platformuna doğal biçimde uyan ama aynı zamanda yeni ve özgün bir tasarım olarak şekillendi

Neden MapKit kullanılmadı?

  • watchOS için Apple MapKit ortaya çıkmadan önce özel harita çalışması zaten başlamıştı ve MapKit yerine şirket içi bir çözüm seçilmesinin nedeni, Pedometer++'ın ihtiyaç duyduğu yapılandırılabilirlik ve yardımcı işlevlerin eksik olmasıydı
  • MapKit temel kullanım senaryoları için iyi olsa da Pedometer++'ın sunmak istediği düzeyde denetim sağlamıyordu
  • watchOS'taki MapKit her zaman koyu modda gösteriliyor; bu varsayılan olarak iyi olabilir ama erişilebilirlik ve kullanıcı tercihi açısından sınırlayıcı olduğundan kullanıcının seçim yapabilmesi gerektiği düşünülüyordu
  • watchOS'taki MapKit zamanla daha fazla yetenek kazansa da animasyon ve bindirmeler açısından hâlâ sınırlıydı
  • MapKit'in topoğrafik eş yükselti eğrileri ve patika gösterim kapsamı iyileşiyor olsa da, MapKit haritalarının neredeyse boş göründüğü pek çok yerde daha zengin ayrıntıya ihtiyaç vardı
  • Örnek olarak, İskoçya'daki sevilen bir yürüyüş rotasının başlangıcında özel harita ile MapKit arasındaki fark karşılaştırıldı

2 yorum

 
xguru 1 시간 전

Dağcılık yapmıyorum ama uygulamaya harcanan emek gerçekten muazzammış
Harita yapımcıları işe almışlar demek ki..

 
GN⁺ 2 시간 전
Hacker News yorumları
  • Apple Watch için Apple yapımı bir yürüyüş/topografik haritanın olmaması büyük bir başarısızlık gibi görünüyor. En pahalı “kaşiflere yönelik” Watch Ultra'da bile yok ve GPX içe aktarma gibi özellikler hayale yakın
    Sonuçta bir yaşam tarzı cihazı ama yine de insanın içine oturuyor

    • iPad için Hesap Makinesi uygulamasını yapmaları da 10 yılı geçmemiş miydi zaten
    • Açıkçası Apple yapımı uygulama ne kadar az olursa ekosistem ve genel uygulama kalitesi için o kadar iyi olduğunu düşünüyorum. Apple'ın son dönemde “sherlock”ladığı uygulamaların kalitesi pek iyi değil; ama bir kez varsayılan uygulama olunca üçüncü tarafların rekabet etmesi çok daha zorlaşıyor
  • Evrimi harika ve merkez hizalı/simetrik UI gibi tasarım kalıplarının dışına çıkınca neler yapılabildiğini görmek de güzel. Neredeyse Apple Watch isteyeceğim
    Yazıdaki ekran görüntülerinde, İskoçya'da sevdiğim kısa yürüyüş rotalarından biri olan Glen Coe'daki Hidden Valley görünüyor
    Yalnız o vadinin altındaki eve dair anılarım daha az hoş. Eskiden arabayla geçerken dağların arasında, tenha bir köşede duran ve hep kapalı görünen o eve dalıp gider, böyle bir yerde yaşamanın ne kadar özel olacağını düşünürdüm. Yürüyüş parkurunun otoparkı yolun sadece birkaç yüz metre ilerisindeydi
    Birkaç yıl sonra bir Louis Theroux belgeselinde o evi fark ettim; TV kişiliği Jimmy Saville ile birlikte orayı ziyaret ediyorlardı. Sonra Avustralya'ya döndükten sonra Saville'in ölümünden sonra Britanya'nın en kötü şöhretli çocuk istismarcılarından ve cinsel suçlularından biri olduğunun ortaya çıkması gerçekten korkunçtu. Ekran görüntüsündeki haritanın üst kısmında o kulübenin adı ve silueti gerçekten görünüyor

  • Merak edip baktım; yürüyüş patikaları gibi Apple Maps'te olmayan ayrıntıları eklemek için bir haritacı tutulmuş ve büyük, hoş görünen özel harita görselleri hazırlanmış gibi duruyor
    Bu yüzden dinamik olarak render edilen Apple Maps'in aksine, temelde görüntü kutucukları gösteren bir yaklaşım kullanılıyor. Bu sayede daha hoş ve daha ayrıntılı haritalar yapılabiliyor ama farklı yakınlaştırma seviyeleri için ayrı indirme, döndürme ve güncelleme olasılığı gibi konuları etkiliyor

    • Haritacı kullanıp ayrı bir tasarım üretmekle, o tasarımı render edip dağıtan teknoloji tamamen ayrı meseleler
      Asıl harita sağlayıcısı zaten hem vektör kutucuk hem de raster kutucuk hizmeti veriyor: https://www.thunderforest.com/maps/outdoors/
      Yaygın yaklaşım, doğrudan bir vektör kutucuk servisi ve stil tanımı kullanmak ya da gerekirse raster kutucuk üretmek
    • Apple, Apple Watch'un Metal grafik API'sini üçüncü taraf geliştiricilere açmadığı için, böyle bir dinamik render işlemi zaten mümkün olmayabilir diye düşünüyorum
  • Bir Pedometer++ kullanıcısı olarak David'in yıllardır sürdürdüğü ayrıntı takıntısı gerçekten etkileyici. Uygulamanın evrimi inanılmaz

    • Gerçekten çok adanmış bir geliştirici. Buradaki “o zaman... özel harita yaptırdım” kısmı, yani bir haritacı tutması bunun kusursuz bir örneği
      Önceden Watchsmith'e gösterdiği özen sayesinde fiilen widget alanında dünya çapında bir uzmana dönüştü; sonra bunu Widgetsmith ile büyük başarıya çevirmesi de harikaydı. Başarının gerçekten hak eden birine gitmesi gibi
  • Saatte statik kutucuklar doğru tercih. Kısıtlı bir cihazda dinamik render denedim ve kaydırma ile yakınlaştırma/uzaklaştırma her karede çöp toplayıcının duraksamalarına takılıp kalıyordu

    • watchOS'ta çöp toplayıcı yok, ARC kullanılıyor
  • WatchOS'taki Apple Maps oldukça iyi ama genelde bisiklete binip bir rota başlatınca yaklaşık 3 dakika sonra “Antrenman yapıyor musunuz?” ekranı üstüne geliyor ve durdurup kapatana kadar haritayı göremiyorsunuz
    Bence bu ekran tam ekran kaplamamalı; bir bildirime dönüşmeli ya da biraz zaman geçince sessizce kayda başlamalı
    Apple'da bunu geliştiren insanlar varsa bu sorunla kesin karşılaşmışlardır diye düşünüyorum, o yüzden şaşırtıcı
    Eğer bu uygulamadaki harita ekranı koruyup yerinde tutabiliyorsa benim için killer feature olurdu. Ama App Store sayfasına hızlıca bakınca hangi özelliklerin abonelik arkasında olduğu hangilerinin olmadığı net değildi; ben de her şeyi kurana kadar bunu söylemeyen uygulamalardan hoşlanmadığım için muhtemelen sadece referans alıp antrenmanı elle başlatmayı hatırlamaya çalışırım

    • “Antrenman yapıyor musunuz?” özelliği kapatılabiliyor. Antrenman ayarlarında Check In Reminders'ı kapatmanız yeterli