Web tabanlı uygulamalar, çevrimiçi erişilebilirliği nedeni ile oldukça ölçeklenebilir ve erişilebilir olmakla birlikte, çoğu zaman aynı işi yapan ve söz konusu uygulamanın çalıştığı platform için geliştirilmiş doğal uygulamalar kadar iyi bir kullanıcı deneyimi sunamıyor.
Örneğin bir video konferans uygulamasının web tabanlı istemcisini kullanarak oturuma katılanlar, doğal istemcisini kullanarak katılan katılımcılara nazaran çok daha fazla sorun yaşıyor. Özellikle kamera, mikrofon ve benzeri çevre birimlerle. Bunun sonucunda bir çok uygulamanın aynı zamanda bir de doğal istemcisinin olduğunu görüyoruz.
Geliştirilen uygulamanın niteliği, donanım erişim gereksinimi ve benzeri özellikleri göz önünde bulundurularak, geliştirilecek uygulamanın hangi yöntemle geliştirileceğinin seçilmesi, söz konusu uygulamanın başarımını doğrudan etkileyen en kritik unsur.
Kullanıcı Deneyimi Büyük Sorun
Web tabanlı uygulamalar, her ne kadar hızla yaygınlaşsa da beklendiği gibi doğal uygulamaların yerini bütünü ile alamıyor. Bunun en temel nedeni olarak yerel donanım bileşenlerine erişim söz konusu olduğunda, web uygulamalarının yeterince iyi bir donanım erişim katmanı sağlanamamasına bağlı kullanıcı deneyimi ve yetkinlik kayıpları gösterilebilir. Aynı uygulamanın doğal istemcisi ise, cihaz donanımlarına doğrudan erişim sağlayabildiği için çok daha fazla özellik ve daha iyi bir kullanıcı deneyimi sunabiliyor.
Kullanıcı geri bildirimleri, üretilen ürünlerin geliştirilmesinde ve yol haritalarının oluşturulmasında oldukça değerli bilgiler. Bir çok uygulama, kullanıcılarının doğal istemcilerini web tabanlı istemcilere tercih etmesi nedeni ile bu konuda çok da israrcı olmayarak, hem web hem de native istemcileri aynı anda sağlıyor.
Bu konuda en belirgin uygulama alanlarından birisi olarak görülebilecek işbirliği alanında, MS Teams özelinde doğal istemcinin en geniş özellik ve kullanıcı deneyimi seti sağladığını görüyoruz. Bununla birlikte tech topluluğundan S. K. Pendyala'nın MS technet'te yayınladığı bir makalesinde aşağıdaki durumdan bahsediyor;
Microsoft Teams'in zengin işbirliği özellikleri, Masaüstü, Mobil veya Web istemcisi gibi çeşitli platformlardaki kullanıcılar tarafından kullanılabilir. Ancak, bir kuruluştaki kullanıcıların çoğu Ofis uygulamalarıyla entegrasyon ve zengin işbirliği özelliklerinin tümünden yararlanmak istemeleri ve dolayısıyla birinci sınıf kullanıcı deneyimi ve Intranet ağ uyumluluğu nedeniyle Teams Desktop istemcisini tercih ediyorlar. Microsoft, düzenli ve ağırlıklı olarak Microsoft Teams Masaüstü İstemcisi sürümünde kullanıcı deneyimini geliştirmek ve en son özelliklerin kullanıma sunulması için büyük çaba sarf etmektedir.
Sanjay Kumar Pendyala, MS Tech Community
Pendyala'nın da belirttiği en kritik husus olan kullanıcı deneyimi, her türlü etkenden daha etkili ve web uygulamaları ile elde edilebilen kullanıcı deneyimi, internet tarayıcılarının sağladığı çerçeveye sıkı sıkıya bağlı. Ürün geliştiricileri web istemcilerini PWA olarak geliştirmesi ile, uygulamanın sağladığı kullanıcı deneyimini yeterli bulan kullanıcıların tamamına erişmeye çalışıyor. Ya da doğal istemci geliştirmeyi bir strateji olarak benimseyen geliştiriciler, çoklu platform uygulama yayınlayabilmeye olanak sağlayan geliştirme araçları kullanarak geliştirme eforunu en aza indirecek yöntemlerle çözüm üretmeye çalışıyor.
Çoklu platform için doğal istemciler geliştirmeyi benimseyen üreticilerin geliştirme ve yayınlama süreçleri doğal olarak karmaşıklaşıyor ve daha fazla kaynağa ihtiyaç duyuluyor.
Doğal Uygulamalar Halen Yaygın
Sadece web uygulaması ile yeterince iyi bir kullanıcı deneyimi sunulamayacak alanlar halen fazla. Bu nedenle çoğu uygulamanın, özellikleri az olan ve "light" denilebilecek web sürümlerinin yanında, tam özellikli ve doğal olarak daha iyi kullanıcı deneyimi sunan doğal istemcileri de üreticiler tarafından sunulmaya devam ediliyor.
Bir uygulamanın web sitesine erişildiğinde çoğu zaman "İndir" seçeneğinin hemen sağ üstte yer aldığını görmek şaşırtıcı bir durum değil. Üreticiler, ancak bu şekilde uygulamalarının muhtemel tüm kullanıcı kitlesine ulaşabileceğinin farkındalar.
Responsive tasarımı iyi yapılmış bile olsa bir web uygulaması, değişik donanımları olan platformlarda fonksiyonel olarak yetersiz kalabiliyor. Örneğin mobil bir cihaz üzerinde, bir masaüstüne göre çok daha fazla çevre birimi kullanıcılar tarafından günlük yaşamlarında kullanılıyor. Bununla birlikte uç birimin masaüstü ya da mobil olması, kullanıcı deneyimi açısından uygulamaya bakış açısında bir farklılık oluşturmuyor ve her iki tarafta da doğal istemci tercihi ağır basıyor.
Daha Yetkin Sandbox
Şayet browser sandbox ları bir doğal istemci kadar donanım katmanına erişebiliyor olsa çok daha farklı şeylerden bahsediyor olacaktık.
Şayet tarayıcı geliştiricileri yeterli güvenlik seviyesinde ürünler geliştirecek olursa elbette bunun ana kazananı tüm insanlık olacaktır. Zira mevcut durumda bir tek uygulama ile çözülebilecek bir problem, sırf yukarıda sayılan sorunlar nedeni ile üç-dört istemci geliştirilmesine neden oluyor. Elbette bu istemcilerin codebase lerinin ve güncel sürümlerinin sürekli yayınlanması için de çalışılmak zorunda kalmasına da. Bu ise gereksiz yere harcanan iş gücü ve uç cihazlarda kurulum ve benzeri işlemler için kullanıcıların kaybettiği zaman anlamına gelmekte. Bu enerji, halihazırda var olmayan uygulamaların geliştirilmesi için kullanılabiliyor olsa, aynı kaynaklarla çok daha fazla uygulamaya sahip olunması mümkün olacaktır..
Elbette uygulama kaynağının kaynak sunucudan uç cihaza gelip burada çalıştırılması, iletişim güvenliği açısından en çok istismar edilen hususların başında geliyor. Yeterli güvenlik seviyesinin sağlanamaması durumunda daha yetkin ve esnek sandbox lar global güvenlik tehlikesine dönüşebilir. Aynı olmamakla birlikte benzer oldukları için Adobe Flash ve Java Applet'leri kullanıldığı zamanlarda yaşanmış bir tecrübe örnek olarak verilebilir. Sandbox dışında bir VM içinde çalışan ikili uygulamalar kendiliğinden bir zaafiyet ve doğal olarak saldırı vektörüne dönüşme tehlikesi taşıyor. Sandbox ın kendisinin bir saldırı vektörü olması ise oldukça ciddi sonuçlar doğurabilir.
Ne Yapmalı ?
Mevcut koşullarda üreticiler için değişik seçenekler mevcut. Kullanıcıların beklentileri de göz önüne alındığında olabildiğince kod parçasını ortak kullanabilecek ve daha az çaba ile değişik platformlara doğal istemci üretebilecek geliştirme araçları ile çalışmak, ürün başarımı açısından en uygun yol gibi görünüyor. Flutter, delphi ya da Blazor gibi kod bileşenlerinin platforma özel doğal istemci derlerken ortak kullanılabildiği araçları kullanmak iyi bir strateji olabilir.
Sonuç
Web tabanlı uygulamalar, tüm sorunlara çözüm olacak hap çözümler değil ve yaygınlaşmalarının önündeki en büyük engel kullanıcı deneyimi. Doğal uygulama ile sağlanan kullanıcı deneyimini birebir sağlayamadıkları sürece de beraberlerinde bir doğal istemci ile servis edilmeye devam edilecek gibi görünüyor.
Şayet yeterli güvenlik seviyesine sahip ve aynı zamanda doğal uygulamaların sağladığı kullanıcı deneyimini de sağlayabilen web uygulamaları geliştirilebilecek araçlar ve bu araçları destekleyen web tarayıcıları gelişir ve yaygınlaşırsa, geliştiriciler açısından gerek üretkenlik ve gerekse sürdürülebilirlik açısından büyük bir sıçrama olacaktır.