10 puan yazan xguru 2024-08-02 | Henüz yorum yok. | WhatsApp'ta paylaş
  • Uygulamaya konumla ilgili mantık eklemeye örnekler
    • Bölgeye göre uygulamanın dilini veya para birimini ayarlamak istiyorsanız
    • Belirli ülkelerdeki kişilere indirim sunmak istiyorsanız
    • Kullanıcıya en yakın konumu göstermesi gereken bir mağaza bulucu varsa
    • Hava durumu uygulaması her türlü veriyi sunmadan önce konuma dayanıyorsa
    • Yasal nedenlerle uygulamaya geofence uygulamak istiyorsanız (ör. çerez banner'ı)
  • Bazı ortak temalar var
    • Görüntüleme/kullanıcı deneyimi: Kullanıcı deneyimini iyileştirmek veya sadeleştirmek için konum bilgisini kullanma
    • İşlev/mantık: Uygulamanın iş mantığı konuma göre değişir
    • Politika/uyumluluk: Bir özelliğin dahil edilmesini ya da hariç tutulmasını gerektiren yasal zorunluluklar vardır
  • Bunlar her zaman net biçimde ayrılmaz. Bazı durumlarda örtüşebilirler, ancak yanlış veri girildiğinde sonuçların ciddiyeti farklı olduğu için bu ayrımı akılda tutmak önemlidir

Kullanıcı konumu nasıl alınır

  • Kullanıcıya konumu doğrudan sormak
    • Artıları: Uygulaması kolaydır, kullanıcı doğru bilgi verirse güvenilebilir, farklı konumları destekleyebilir
    • Eksileri: Kullanıcı yazım hatası yapabilir veya bilgiyi eksik girebilir, yanlış bilgi verebilir
  • Cihazın heuristics'lerini kullanmak
    • Modern cihazlar GPS, Wi-Fi verisi, hücresel baz istasyonları ve IP adresi üzerinden konum bilgisine erişebilir
    • Web geliştiricileri, tarayıcının Geolocation API'si üzerinden kullanıcı konumuna erişebilir
    • Eksileri: Kullanıcıdan konum paylaşımına izin vermesi istenir, kullanıcı reddedebilir
  • IP adresini kullanmak
    • IP adresi, ağ üzerindeki bir cihazı benzersiz biçimde tanımlamak ve konumlandırmak için kullanılır
    • IP adresindeki her sayı bloğu, geniş aralıktan dar aralığa giden alt ağları temsil eder
    • Yalnızca IP adresi kullanıcı konumunu bilmek için yeterli değildir; bilinen alt ağ konum veritabanlarıyla karşılaştırılması gerekir
  • Edge computing kullanmak
    • Kullanıcı isteğinin en yakın sunucuda çalıştırılması yaklaşımıdır
    • Kullanıcıdan izin istemeden veya IP adresi aramadan konum bilgisi sağlayabilir
    • Eksisi: Bu, gerçek kullanıcının değil edge düğümünün konumudur

Kullanıcı konumuna neden güvenilemez

  • Kullanıcıya güvenilemez
    • Kullanıcının her zaman gerçek konumunu dürüstçe gireceği garanti edilemez
    • Yanlış bilgiyi kazara da girebilir
  • Cihaza güvenilemez
    • Kullanıcı Geolocation API kullanımını reddedebilir
    • Geolocation API bilgisini tarayıcı ayarlarından değiştirebilir
  • IP adresine güvenilemez
    • Kullanıcı isteği VPN üzerinden yönlendirebilir
    • Siz yalnızca VPN'in IP adresini görürsünüz; kullanıcının gerçek IP'sini bilemezsiniz
  • Edge computing'e güvenilemez
    • Bu, edge düğümünün konum bilgisi olduğu için gerçek kullanıcı konumundan farklı olabilir
    • VPN kullanıldığında orijinal IP adresine erişilemez

Peki ne yapmalıyız?

  • Konum bilgisi edinmenin birçok yolu vardır, ancak bunların hiçbiri tamamen güvenilir değildir
  • O halde vaz mı geçmeliyiz? Hayır! Daha iyi bilgi elde edip buna göre önlem alabilirsiniz

Örnek: İçerik çevirisi

  • İngilizce yazılmış ama başka dilleri de destekleyen bir web sitesi olduğunu varsayalım
  • Kullanıcı deneyimini iyileştirmek için kullanıcının yerel dilini yüklemek istiyorsunuz
  • Felemenkçe (Flamanca), Fransızca ve Almanca konuşulan Belçika'daki kullanıcılar nasıl ele alınmalı?
  1. Kullanıcı web sitesini ister
  2. Edge computing ile isteğin Belçika'dan geldiği anlaşılır
  3. HTTP çerezlerinde dil tercihi aranır
  4. Çerez varsa tercih edilen dil kullanılır
  5. Çerez yoksa İngilizce veya Felemenkçe sürümü kullanılır
  6. Web sitesi kullanıcıya desteklenen dillerin listesini sunar
  7. Kullanıcı dil tercihini seçtiğinde bu tercih çereze kaydedilir
  • Bu senaryoda, konum bilgisi elde etmek için edge computing ile kullanıcı beyanı birleştirilerek kullanıcı deneyimi iyileştirilir
    • Geolocation API'yi kullanmak gerekli görünmüyor
    • Yanlış dilin gösterilmesi riski vardır, ancak maliyeti düşüktür
    • Konum bilgisi yanlış ya da eksik olsa bile web sitesi çalışır
  • Güncelleme: İstemcinin tercih ettiği dili ve locale bilgisini gösteren Accept-Language header'ı da kullanılabilir

Örnek: Hava durumu uygulaması

  • Konuma dayalı olarak hava durumu bilgisi gösteren bir uygulama var
    • Bu durumda uygulamanın çalışması için konum bilgisi gerekir. Bu bilgi yoksa hava durumunu nasıl gösterebilirsiniz?
  • Bu senaryoda ilk yüklemede kullanıcının konumunu varsaymak güvenlidir
    • Bu bilgiyi edge computing veya IP adresinden alıp kullanıcının bölgesindeki hava durumunu gösterebilirsiniz
    • Ayrıca web sitesinin ana odağı konum olduğu için Geolocation API ile daha doğru veri talep etmek de mantıklıdır
    • Kullanıcının başka bir konumun bilgisini istemesi ihtimaline karşı esnek bir kullanıcı beyanı seçeneği de sunulmalıdır
    • Bunun için mümkün olduğunca ayrıntılı konum bilgisini otomatik tamamlayan bir arama giriş alanı sunabilirsiniz
    • Sonraki ziyaretlerin nasıl ele alınacağı farklı olabilir. Her zaman "yerel" hava durumunu varsayılan yapmak ya da önceki ziyaretteki konumu hatırlamak mümkündür
  1. Kullanıcı web sitesini ister
  2. İlk istekte edge computing veya IP adresiyle konum tahmini yapılarak uygulama başlatılır
  3. İlk istemci yüklemesinde Geolocation API çalıştırılarak bilgi güncellenir
  4. Sonraki yüklemeler için konum bilgisi çereze kaydedilebilir
  5. Başka bir konum aramak için otomatik tamamlamalı esnek bir giriş sunulur
  • Buradaki önemli nokta, uygulamanın gerçekte kullanıcının nerede olduğunu umursamamasıdır
    • Yalnızca bir konum olması yeterlidir
    • Kullanıcının bildirdiği konum (arama), çerez, edge computing veya IP adresinden bulunan konumun önüne geçer
  • Hava durumu günlük değiştiği için önbellekleme stratejisini ve uygulamanın ağırlıklı olarak server-side mı yoksa client-side mı render edileceğini de düşünmeye değer

Örnek: Mağaza konumu bulucu

  • Birden fazla lokasyonda fiziksel mağazalar işlettiğinizi varsayalım
    • Ürün kataloğunu ve stoğu çevrimiçi gösterebilirsiniz, ancak mağaza içi stok için güncel bilgi sunmak daha iyi bir yaklaşımdır
    • Bunun için hangi mağazanın stokunu göstermeniz gerektiğini bilmeniz gerekir ve en iyi kullanıcı deneyimi için bu, kullanıcıya en yakın mağaza olmalıdır
  • Yine, edge computing veya IP adresini kullanarak kullanıcının konumunu tahmin etmek mantıklıdır
    • Ardından kullanıcının konum bilgisi girebileceği esnek bir giriş sunabilir, ancak otomatik tamamlamayı yakınlığa göre sıralanmış mağaza listesiyle sınırlayabilirsiniz
    • Geolocation API'yi çalıştırmak da iyi bir fikirdir
  • Bu örnekle önceki örnek arasındaki fark, sitenin ana amacının konuma bağlı olmamasıdır
    • Bu yüzden kullanıcı, konuma bağlı özellikle etkileşime girene kadar beklemek gerekir
    • Yani yalnızca kullanıcı mağaza bulucu alanına odaklandığında konum istenmelidir

Örnek: Bölgesel fiyat farklılaştırması

  • Bu biraz karmaşık bir konu; kullanıcının konumuna göre farklı fiyatlar uygulamak istiyorsanız bunu nasıl yapmalısınız?
  • Örneğin bazı havayolları ve otellerin, bir bölgeden rezervasyon yapan kullanıcılara diğer bölgelere göre daha yüksek fiyat gösterdiği biliniyor
  • Etik boyutu bir yana, bu kârlılıkla ilgili bir soru olduğu için etkisi çok büyüktür
  • Bu nedenle kullanıcıların kendi bildirdikleri konum bilgisiyle fiyatı kolayca değiştirebilmesine izin vermek istemezsiniz
  • Bu durumda muhtemelen yalnızca edge computing veya IP adresi kullanılır
    • Kullanıcı VPN kullanarak bunu aşabilir, ancak muhtemelen yapabileceğiniz en iyi şey budur
    • Dolandırıcıları gerçekten engellemekten endişe ediyorsanız, Akamai'nin gelişmiş proxy tespit özelliğiyle VPN kullananların isteklerini engellemeye çalışabilirsiniz
    • Ancak bunu yaparsanız indirimli satış yerine hiç satış gerçekleşmeyebilir. Seçim sizin

Örnek: Çerez banner'ı

  • Bu son örnek daha çok yasal uyumluluğa odaklanıyor, bu yüzden küçük bir feragatle başlayayım: Ben avukat değilim!!!
    • Bu yalnızca varsayımsal bir örnektir ve hukuki tavsiye olarak alınmamalıdır
  • 2016'da Avrupa Birliği Genel Veri Koruma Tüzüğü'nü (GDPR) kabul etti
    • Bu, AB içindeki internet kullanıcılarının mahremiyetini koruyan bir yasadır ve şirket AB dışında olsa bile AB içindeki kişilere mal veya hizmet sunan şirketler için geçerlidir
  • Web sitesi sahipleri için birçok gereklilik var, ancak benim dikkat çekmek istediğim şey bugün internette her yerde gördüğümüz çerez banner'larının yarattığı sorunlardır
    • Gizlilik meseleleri, çerez banner'larının doğru mu yanlış mı olduğu, etkili ya da etkisiz oluşu veya daha iyi bir yaklaşım olup olmadığı tartışmasına girmeyeceğim
    • Bunun yerine, çerez banner'ını yalnızca yasal olarak gerektiğinde göstermenin ve gerekmiyorsa bundan kaçınmanın daha iyi olduğunu söyleyeceğim
  • Bir kez daha, kullanıcının konumunu bilmek çok önemlidir
    • Bu, önceki örneğe oldukça benzer ve uygulama da benzerdir. Temel fark, yanlış yapılmasının ciddiyeti ve dolayısıyla doğru yapmak için gereken çaba düzeyidir
  • Çerez banner'ları, yasaların ve kullanıcı konumunun bir web sitesini nasıl etkileyebileceğinin en yaygın örneği olabilir; ancak daha güçlü bir örnek arıyorsanız muhtemelen Çin'in Great Firewall'udur

Sonuç

  • Kullanıcı konumunu belirlemede tek bir doğru cevap yoktur
    • Senaryoya göre kullanıcı beyanı, cihaz heuristics'leri, edge computing ve IP adresini bir arada kullanarak yaklaşmak gerekir
  • Önemli noktalar
    • Kullanıcının konumu mu gerekiyor, yoksa herhangi bir konum yeterli mi?
    • Verinin ne kadar doğru olması gerekiyor?
    • Kullanıcı konumu sahte olsa da kabul edilebilir mi?
  • Ayrıca yasal uyumluluğu, düzenlemeleri, işlevselliği ve %95 güvenilirliğin yeterli olup olmadığını da düşünmelisiniz
  • Yasal nedenlerle konum mantığı kullanıyorsanız, kendinizi koruyacak önlemler almanız iyi olur
  • CCPA, GDPR vb. veri gizliliği yasalarına uyum

Henüz yorum yok.

Henüz yorum yok.