
Elimizdeki ufak cihazların ve tabletlerin bilgisayarlara kafa tuttuğu şu günlerde Internet sayfaları da yavaş yavaş mobil uygulamalara dönüşmeye başladı. İyi bir web sayfasının ayırt edici özelliklerini biliyoruz. Peki ya mobil uygulamalar?
Aslında şu anki mobil teknolojilere bakacak olursak halen taşların tam olarak yerine oturmadığı, her gün bir öncekinden daha iyisinin yapılabildiği bir manzaraya bakıyor olsak da sıkça yapılan yanlışlar ve olması gereken temel şeyler belirli durumda.
İyi bir mobil uygulama nasıl olmalı, nasıl olmamalı?
İyi bir mobil uygulama için temel olarak cihazın sunabildiği tüm özellikleri en iyi şekilde kullanabilen, cihazın genel arayüzüne uygun hazırlanmış kullanıcı dostu bir tasarıma sahip, tamamen native hazırlanarak performansı olumsuz yönde etkilemeyerek kullanıcıya elindeki cihazı özel hissettirebilecek uygulamalar diyebiliriz. Aslında çok ufak detaylar ile rakip uygulamalarınızdan bir adım önde olmak hiç de zor değil. Örnek verecek olursak kullanıcının şehir seçmesi gereken bir ekranda GPS konumunu kullanmak veya ekrandaki verileri yenilemek için cihazı sallamasını istemek gibi detayları bu sınıfa katabiliriz.
Ancak önemli detaylardan birisi de uygulamanın tasarımı. Aslında tam olarak tasarım demek de doğru değil çünkü burada bahsedeceklerim UI (User Interface) hakkında değil UX (User Experience) hakkında olacak. Cihazdaki tüm uygulamalarda ekranın üst köşesinde yer alan bir butonu kendi uygulamanızda ekranın alt köşesine almanız durumunda bu davranış kullanıcı alışkanlıklarına ters düşecek ve olumsuz yorumlar almanıza sebep olacaktır. Standartların dışına çıkmak size farklılık katacak olsa da bu farklılıkların kullanıcıların hoşuna gitmeyecek ya da işini zorlaştıracak şeyler olmasından kaçınmalısınız. Yine örnek vermek gerekirse ekrandaki görüntünün hoş olması için küçülttüğünüz bir butona dokunmatik cihazında basmak isteyen bir kullanıcı bu butona basabilmek için birkaç kez çaba sarf ediyorsa iyi tasarımlı ama kullanışsız bir uygulamaya sahip olmuş olacaksınız. Bir diğer dikkat etmeniz gereken yer de cihazda herkesin radio button kullandığı bir yerde gereksiniminiz olmadığı halde checkbox kullanmak gibi kafa karıştırıcı şeyler yapmamak.
Son zamanlarda sıklıkla karşıma çıkan ve bana kalırsa arasında shortcut ile bir farklılık bulundurmayan browser tabanlı uygulamalar ise rakiplerine göre her zaman birkaç adım geride olacaktır. Yaşanan performans sorunları, arayüzün kalitesinin düşük olması, kullanım hissiyatının azaltılmış olması gibi detaylar sadece kötü bir uygulamaya sahip olmanızla sonuçlanmayacak, aynı zamanda markanız için de değer kaybı yaratacaktır. Bunun en temel sebebi kullanıcıların binlerce lira verip aldıkları cihazlarından en iyiyi beklemeleri, ancak sizin uygulamanızın bunları sunamamasından kaynaklanmaktadır. Bu bağlamda bir mobil uygulama çıkartmak yerine mobil cihazlarda sorunsuz çalışabilen bir mobil web sayfası veya micro site hazırlamak çok daha olumlu sonuçlanacaktır.
Son olarak da yaptığınız uygulamalarda performans konusuna özellikle dikkat etmenizi tavsiye ediyorum. Aslında burada performans dediğimde çoğu kişideki ilk algı uygulamanın açılış süresi, ekranların geçiş süresi, bir işi yapma süresi gibi şeyler. Ancak bir uygulamanın pil kullanımı, gereksiz data transferleri yapması gibi detayları da performans altında incelenmesi gereken kriterler. Örneğin bir kullanıcının hangi şehirde olduğunu anlamak için lokasyon bilgisini operatörden almak yerine 8 farklı GPS uydusuna bağlanarak almayı tercih ederseniz bu size hem hız ve zaman kaybı hem de gereksiz pil tüketimi olarak geri dönecektir. Bunun yerine kullanıcının IP adresinden de kullanıcının bulunduğu şehri neredeyse kesin şekilde algılayabilirsiniz. Aynı şekilde ekran ilk açıldığında kapalı gelen bir sekmenin veya bir bölümün içerisindeki veriyi ekran oluşturulurken internetten almak ve parse etmek yerine kullanıcı burayı görüntülemek istediğinde bu işlemleri yapmak size performans açısından değer kazandıracaktır.
Web üzerinden alınan verilerle ilgili belirtmek istediğim son detay da uygulamada cache kullanılması ile ilgili. Örneğin restoranlar hakkında bilgi veren bir web siteniz var ve bu web sitesi için mobil uygulama yapmaya karar verdiniz. Web sitenizde kayıtlı 1000 restoran bulunuyor ve siz bunları bir liste olarak kullanıcıya sunuyorsunuz. Böyle bir sitede saat başı restoran eklenme ihtimali oldukça düşük olduğundan restoran listesini bir kez alıp, bunu cihazda saklayarak diğer ekranlarda bu veri için request yapılmasını engellemek size performans kazandıracak önemli bir detay olabilmektedir. Bu bağlamda Windows Phone ve Silverlight’ta her türlü veri objesinin Isolated Storage altında saklanabildiğini hatırlatmayı faydalı görüyorum.
Mobil uygulamalarda başlangıç seviyesindeki başarı kriterlerini anlattığım ve kişisel görüşlerime de yer verdiğim bu yazının faydalı olması dileğiyle.