Java Ring ve Giyilebilir Cihazlarda Tek Jestlik Etkileşim
Java Ring 1998'de JavaOne katılımcılarının parmağına geçti ve içinde 6 kilobayt bellek vardı. Bugünden bakınca asıl ilginç olan rakam değil, cihazın etkileşim modeli. Ekranı yoktu, telsizi yoktu, içindeki küçük lityum hücre yalnızca belleği ve saati ayakta tutuyordu; kullanıcıdan istediği tek şey elini bir okuyucuya değdirmekti. O tek jest, bugünün akıllı yüzüklerinde hâlâ çözülmemiş birkaç sorunun cevabını taşıyor.
Yüzüğün içinde ne vardı
Java Ring'in çalışan kısmı yüzük değil, yüzüğün üstüne oturtulmuş paslanmaz çelik kapsüldü: Dallas Semiconductor'ın iButton'ı. Kapsülün gövdesi toprak hattı, üstündeki yalıtılmış disk ise veri hattıydı. İkisine birden dokundurduğunuzda 1-Wire denen tek telli hat üzerinden hem besleme hem iletişim sağlanıyordu.
Bellek 6 kilobayttı ve bu belleğin işi uygulama çalıştırmak değildi. İçinde özel anahtarlar, sertifikalar ve küçük Java Card applet'leri duruyordu. Hesaplama, kapsül okuyucuya temas ettiği anda hattan çekilen güçle yapılıyordu. Kapsül zorlanırsa anahtarları silecek şekilde tasarlanmıştı, yani cihazı söküp içindekini okumak diye bir senaryo yoktu.
Jestin anatomisi
Blue Dot Receptor denen okuyucu, bir terminalin yanına yapıştırılmış mavi bir düğmeden ibaretti. Bir doğrulama şöyle geçiyordu:
- Parmağınızdaki kapsülü düğmeye bastırıyordunuz.
- Temas anında hat beslenip applet çalışıyor, terminalin gönderdiği veriyi imzalıyordu.
- Terminal ekranında sonuç görünüyordu.
- Elinizi çektiğinizde bağlantı fiziksel olarak kopuyor, oturum arkanızda açık kalmıyordu.
Burada dikkat edilmesi gereken şey, dördüncü adımın tasarım kararı olmamasıdır. Cihazın yapısı yüzünden başka türlü olamıyordu. Kullanıcı niyeti ile sistem olayı arasında tam örtüşme vardı: temas yoksa işlem yok, işlem varsa parmak oradaydı.
Temas mı menzil mi
Bugünün akıllı yüzükleri NFC veya Bluetooth kullanıyor, yani okuyucuya dokunmak zorunda değilsiniz. Bu kolaylık bedava gelmiyor. Menzil girdiği anda "bu işlemi kullanıcı gerçekten başlattı mı" sorusu kesin cevabını kaybediyor; elinizi yaklaştırmanız yetiyorsa, çantanızın cebe sürtünmesi de yetebilir.
İkisi arasında seçmek gerekirse temas tabanlı doğrulamayı menzilli olandan daha güvenilir bulurum, ama sebebi kriptografi değil. Her ikisi de aynı imzayı üretebilir. Fark, sunucu tarafına düşen belirsizlikte: menzilli bir okumada gelen isteğin kasıtlı olduğunu kanıtlayan hiçbir şey yoktur, elinizde yalnızca geçerli bir imza olur ve kasıt sorusunu ikinci bir onay ekranıyla kapatmak zorunda kalırsınız. Temasta o onay jestin kendisidir.
Bu, menzilin her yerde yanlış olduğu anlamına gelmez. Küçük tutarlı temassız ödemede akış hızı kasıt kesinliğinden daha değerlidir, zaten zarar üst sınırı düşüktür. Kimlik, imza ve yetki yükseltme tarafında denge tersine döner: orada tek anlamlı bir fiziksel jest, iyi tasarlanmış bir onay diyaloğundan daha iyi iş yapar.
Küçülmenin gerçek sınırı çıkış yüzeyi
Giyilebilir cihazların küçülürken daha karmaşık işler yapacağı sık tekrarlanan bir cümle. Donanım tarafında doğru, etkileşim tarafında yanıltıcı. Çünkü darboğaz işlem gücü değil, cihazın kullanıcıya bir şey söyleyebileceği yüzey.
Bir yüzüğün elinde ne var: bir LED, belki iki renk, bir titreşim motoru. Kullanıcının karışmadan ayırt edebileceği durum sayısı bu donanımla üçü dördü geçmez. Oysa doğrulama akışının ayırt etmesi gereken hata sayısı çok daha fazladır: sertifika süresi geçmiş, okuyucu tanımsız, saat kaymış, ağ yok, PIN üç kez yanlış girilmiş. Beş ayrı durumu üç sinyale sığdıramazsınız, dolayısıyla kullanıcı hatayı mutlaka başka bir ekranda okur.
Java Ring bu sorunu hiç çıkış koymayarak çözmüştü. Geri bildirimin tamamı, girdiğiniz terminalin ekranındaydı. Dürüst bir tasarımdı: cihaz anlatamayacağı şeyi anlatmaya kalkışmıyordu. Bugünün yüzükleri ise genelde bir telefon uygulamasına bağlı çalışıyor ve kullanıcının gördüğü deneyim yüzüğün değil, o eşleşmenin deneyimi oluyor. Arızalar da oraya toplanıyor; yüzüğün bataryası değil, eşleşmenin koptuğu an insanları bırakan nokta.
Giyilebilir bir doğrulama cihazı tasarlıyorsanız soruyu donanımdan değil buradan kurun: kullanıcı işin bittiğini nereden anlayacak, yanlış gittiğinde nereye bakacak. 1998'de bunun cevabı duvardaki terminaldi ve çalışıyordu.