Web Design & UI/UX8 min read

iOS İzin İstemleri: Kötü, İyi ve Harika Örnekler

Yedi iOS izin istemi, "daha iyi bir deneyim için gerekli" cümlesinden uygulamanın ne yaptığını, ne zaman yaptığını ve neye yaradığını söyleyen tek bir cümleye yeniden yazıldı. Apple'ın kendi örnekleri, formül ve kontrol listesi.

By Boone
XLinkedIn
iOS Permission Prompts: Bad, Good and Great Examples

Bir uygulama kameranızı, mikrofonunuzu ya da Face ID'nizi istediğinde başlığı ve iki düğmeyi iOS yazar. Uygulamanın yazdığı tek satır gerekçedir ve çoğu uygulama onu çöpe atar. Aşağıda kötüden harikaya tırmanan yedi izin istemi, her basamağın ardındaki gerekçe ve bir sonrakini yazarken kullanabileceğiniz bir formül var.

Sen ne yazarsın, iOS ne yazar

Sistem uyarısının sabit bir kalıbı var. Başlığı ("Kameraya Erişmek İstiyor") ve düğmeleri iOS sağlar. Uygulama ise neden erişime ihtiyaç duyduğunu söyleyen, amaç dizesi (purpose string) denen tek bir cümle sağlar. Bu cümle uygulamanın Info.plist dosyasında bir anahtarın içinde durur (kamera için NSCameraUsageDescription, mikrofon için NSMicrophoneUsageDescription) ve Ayarlar'da Gizlilik altında tekrar gösterilir.

Kötü

Uydurma Tidybooks uygulamasından, Kamera erişimini aç satırını içeren bir iOS kamera uyarısı.

Harika

Aynı uyarı, Tara'ya dokunduğunda toplamı biz okuruz, sen hiç yazmazsın satırıyla.

İki uyarının da başlığı ve düğmeleri aynı. Yalnızca tek cümle değişti. Kötü olan, insanlara az önce çevirmeleri istenen bir anahtarla ne yapacaklarını söylüyor. Harika olan ise Tara'ya dokunduklarında ne olacağını anlatıyor; böylece "bir muhasebe uygulaması neden kameramı istiyor?" sorusu sorulmadan cevaplanmış oluyor.

Apple'ın bu cümle için rehberi kısa: kısa, eksiksiz, açık, net ve anlaşılması kolay bir cümle; cümle düzeninde (sentence case), etken çatıda ve noktayla biten. Aşağıdaki her harika satır buna uyuyor.

Basamak basamak

BasamakSatır ne yapıyorNeyi hâlâ dışarıda bırakıyor
KötüEmir verir ya da erişimin "gerekli" olduğunu söylerÖzelliğin ne yaptığını, ne zaman olduğunu, neye yaradığını
İyiErişimin ne için olduğunu söylerNe zaman olacağını ve faydayı
HarikaUygulamanın ne yaptığını, ne zaman yaptığını ve neye yaradığını söylerKişinin karar vermek için ihtiyaç duyduğu hiçbir şeyi

1. Kamera

  1. Kötü

    Kamera erişimini aç.

    Gerekçesiz bir emir. Uyarının kendi başlığını tekrar ediyor.
  2. İyi

    Fişleri taramak için kamerayı kullanıyoruz.

    İşi adlandırıyor. İnsanlar yine de kameranın ne zaman açılacağını bilmiyor.
  3. Harika

    Tara'ya dokunduğunda toplamı biz okuruz, sen hiç yazmazsın.

    Erişimi bir ana (Tara'ya dokunmak) ve bir faydaya (yazmak yok) bağlıyor. Kamera asla sürpriz şekilde açılmıyor.

Tidybooks uydurma bir uygulama. Apple, erişim gerektiren özelliği kullanırken izin istemeyi öneriyor; yani bu istemi göstermenin en iyi anı ilk açılış değil, Tara'ya ilk dokunuş.

2. Mikrofon

Burada kötü ve harika satırlar, gizlilik rehberlerinden kelimesi kelimesine Apple'a ait.

Apple'ın kötü örneği

Uydurma Nightly uygulamasından, Daha iyi bir deneyim için mikrofon erişimi gereklidir satırını içeren bir iOS mikrofon uyarısı.

Apple'ın harika örneği

Aynı uyarı, Uygulama horlama seslerini algılamak için gece boyunca kayıt yapar satırıyla.
  1. Kötü

    Daha iyi bir deneyim için mikrofon erişimi gereklidir.

    Edilgen ve belirsiz. "Daha iyi bir deneyim" her şey olabilir, "gereklidir" ise talep gibi duyuluyor.
  2. İyi

    Horlamayı algılamak için dinliyoruz.

    Etken ve ne için olduğunu söylüyor. Ne zaman olduğunu ya da gece boyunca olduğunu söylemiyor.
  3. Harika

    Uygulama, horlama seslerini algılamak için gece boyunca kayıt yapar.

    Etken; nasıl (kayıt yapar), ne zaman (gece boyunca) ve neden (horlamayı algılamak için) olduğunu söylüyor. Bunu okuyan kişi neyi kabul ettiğini tam olarak biliyor.

Nightly uydurma bir uygulama. Ders fiillerde: "gereklidir" kimin ne yaptığını gizler, "gece boyunca kayıt yapar" ise açıkça söyler. Kayıt konusunda dürüst olmak, insanları İzin Ver'e dokunduran şeydir.

3. Bluetooth

  1. Kötü

    Bluetooth gereklidir.

    Bir gerekçe değil, bir olgu beyanı. Kim için gerekli, ne için?
  2. İyi

    Kilidini açmak için Bluetooth kullanıyoruz.

    Cihazı ve işi adlandırıyor.
  3. Harika

    Kapıya yaklaştıkça kapını açarız, anahtara hiç ihtiyacın kalmaz.

    Anı (kapıya yaklaşırken) ve getiriyi (anahtar yok) söylüyor. Bluetooth kelimesi zaten sistem başlığında var.

Doorkey Home uydurma bir uygulama. Harika satırın başlığı tekrar etmediğine dikkat edin. iOS zaten "Bluetooth Kullanmak İstiyor" diyor, bu yüzden cümle kelimelerini gerekçeye harcıyor.

4. Face ID

  1. Kötü

    Face ID'yi etkinleştir.

    Gerekçesiz bir emir kipi, Apple'ın "Mikrofon erişimini aç." örneğiyle aynı kalıp.
  2. İyi

    Daha hızlı giriş yapmak için Face ID kullan.

    Faydayı veriyor. Face ID'nin aslında neyi koruduğu konusunda hâlâ sessiz.
  3. Harika

    Face ID, uygulamayı açılışta kilitten çıkarır, paranı yalnızca sen görürsün.

    Ne zaman (açılışta) ve neyi koruduğunu (paran) söylüyor. Uygulamanın kilidini açmanın ötesinde hiçbir şey iddia etmiyor, çünkü Face ID uygulamaya yalnızca eşleşmenin geçip geçmediğini söyler.

Northbank uydurma bir bankacılık uygulaması. Güvenlik metnini özelliğin gerçekten yaptığıyla sınırlı tutun. Kontrolün sunduğundan fazlasını vaat eden bir satır, sıkıcı bir satırdan daha kötüdür.

5. Fotoğraflar

  1. Kötü

    Fotoğraf erişimi gereklidir.

    Bluetooth'taki aynı "gereklidir" sorunu, üstüne tehdit gibi duyuluyor.
  2. İyi

    Düzenlemelerini kitaplığına kaydediyoruz.

    Fotoğrafa ne olacağını söylüyor.
  3. Harika

    Dışa Aktar'a dokunduğunda fotoğrafı kaydederiz, böylece paylaşabilirsin.

    Kaydetmeyi Dışa Aktar dokunuşuna bağlıyor ve gerekçeyi (paylaşabilmek) veriyor.

Filmstrip uydurma bir fotoğraf düzenleyici. iOS'un burada yazdığı başlık "Fotoğraflarına Eklemek İstiyor", yani dar kapsamlı, yalnızca yazma iznidir. Cümle de bunu yansıtmalı: kaydeder, göz atmaz.

İki tane daha, sıfırdan yazıldı

Aynı kurallar, yukarıdaki beşin kapsamadığı durumlar için de geçerli. Bu ikisi bizim kendi örneklerimiz, uygulamalar uydurma.

Bir yemek siparişi uygulamasında konum
  1. Kötü

    Daha iyi bir deneyim için konum gereklidir.

    Mikrofon örneğindeki aynı boş laf, farklı bir izinle.
  2. İyi

    Restoranları bulmak için konumunu kullanıyoruz.

    Erişimin ne için olduğunu söylüyor.
  3. Harika

    Uygulamayı açtığında kapına teslimat yapan restoranları gösteririz.

    Ne zaman (açılışta) ve sonucu (yalnızca sana teslimat yapan yerler) söylüyor.
Hesap bölüşme uygulamasında rehber
  1. Kötü

    Rehberine erişime izin ver.

    Uygulama tanıdığın herkesi okumak istiyormuş gibi duyulan bir komut.
  2. İyi

    Arkadaşları bulmak için rehberini kullanıyoruz.

    Kullanımı adlandırıyor, ama "arkadaş bulmak" bir listeyi yüklemek anlamına gelebilir.
  3. Harika

    Arkadaş Ekle'ye dokunduğunda rehberinden kişiler öneririz, böylece hesabı bölüşebilirsin.

    Erişimi dokunuşa ve işe bağlıyor. Önerilerin istendiğinde göründüğü beklentisini kuruyor.

Formül: ne yapıyor, ne zaman, neye yarıyor

Yukarıdaki her harika satır, tek cümlede aynı üç parçaya oturuyor:

text
[What it does.] [When it happens.] [Why it helps.]
İstemNe yapıyorNe zamanNeye yarıyor
KameraToplamı okuruzTara'ya dokunduğundaHiç yazmazsın
MikrofonUygulama kayıt yaparGece boyuncaHorlama seslerini algılamak için
BluetoothKapını açarızYaklaştıkçaAnahtara ihtiyacın kalmaz
Face IDFace ID uygulamayı açarAçılıştaParanı yalnızca sen görürsün
FotoğraflarFotoğrafı kaydederizDışa Aktar'a dokunduğundaPaylaşabilirsin

"Ne zaman" kısmı, ekiplerin ilk bıraktığı parçadır ve erişimi güvenli hissettiren de odur; çünkü uygulamanın kişinin seçmediği bir anda harekete geçmeyeceğini vaat eder.

Bir sonraki istemin için kontrol listesi

  • Tek cümle, etken çatı, noktayla biter. Apple'ın kendi çıtası bu.
  • Gerekçeyi söyle, izni asla. iOS zaten "Kameraya Eriş" yazdı.
  • Anı adlandır. Bir dokunuş, günün bir saati, bir özelliğin ilk açılışı.
  • Özellik ihtiyaç duyduğunda iste. İlk açılışta değil, özellik ilk açılış değilse.
  • "Gerekli", "zorunlu" ya da "daha iyi deneyim" yok. Talep gibi duyuluyorlar ve hiçbir şey söylemiyorlar.
  • Yalnızca özelliğin yaptığını vaat et. Sadece uygulamanın kilidini açıyorsa, bunu söyle.
  • Ayarlar'da da oku. Aynı dizge Gizlilik altında, bağlamdan kopuk görünür.

SSS

iOS'ta amaç dizesi (purpose string) nedir?

Bir uygulamanın kamera ya da mikrofon gibi özel bir şeye neden erişmek istediğini açıklamak için sağladığı tek cümledir. Uygulamanın Info.plist dosyasında NSCameraUsageDescription gibi anahtarların altında durur ve sistem uyarısında ve Ayarlar'da Gizlilik altında gösterilir.

İyi bir izin mesajı nasıl yazılır?

Özelliğin ne yaptığını, ne zaman olduğunu ve neye yaradığını söyleyen, noktayla biten kısa, etken tek bir cümle yazın. "Tara'ya dokunduğunda toplamı biz okuruz, sen hiç yazmazsın." bu kalıba bir örnektir.

Kötü izin istemi örnekleri nelerdir?

Gerekçesiz, belirsiz ya da edilgen satırlar: "Daha iyi bir deneyim için mikrofon erişimi gereklidir.", "Kamera erişimini aç.", "Bluetooth gereklidir." ve "Face ID'yi etkinleştir." Her biri insanlara uygulamanın ne istediğini söyler, nedenini asla.

iOS izin uyarısının başlığını ve düğmelerini kim yazar?

iOS yazar. Başlığı ve düğmeleri o yazar, dolayısıyla kontrol ettiğiniz tek metin amaç dizesidir. Bu yüzden tek cümlenin gerekçenin tamamını taşıması gerekir.

Bir uygulama izni ne zaman istemeli?

Bir kişi izin gerektiren özelliği kullandığında isteyin, öncesinde değil. Apple'ın rehberi, erişimi yalnızca uygulamanın buna açıkça ihtiyacı olduğunda istemek; yani kamera istemi Tara'ya ilk dokunuşta gelmeli.

Kaynaklar

  • Privacy: Requesting permission, Apple Human Interface Guidelines. İki mikrofon dizesinin, "kısa, eksiksiz cümle" rehberinin ve bağlam içinde sorma tavsiyesinin kaynağı.
  • Requesting authorization to capture and save media, Apple AVFoundation dokümantasyonu.
  • Writing, Apple Human Interface Guidelines.
  • Yukarıda kullanılan Info.plist anahtarları: NSCameraUsageDescription, NSMicrophoneUsageDescription, NSBluetoothAlwaysUsageDescription, NSFaceIDUsageDescription, NSPhotoLibraryAddUsageDescription, Apple'ın Information Property List referansında.
  • Örneklerdeki uygulamalar (Tidybooks, Nightly, Doorkey Home, Northbank, Filmstrip ve sıfırdan yazılan iki uygulama) uydurmadır. Yalnızca mikrofon dizeleri Apple'a aittir.
  • İlk olarak UX Brainy üzerinde bir karusel olarak yayımlandı.

Want every permission, onboarding and empty state written and designed as one system? Our team designs app UI with the words in it from the first draft.

Get Started

More from Brainy Papers

Keep reading