Uygulamaların çalıştığı ekran küçüldükçe UX design önemi çok fazla artıyor. Google Glass ve Android Wear gibi küçücük ekranlı platformlarda development'dan çok design ön plana çıkıyor. Mobil platformlarda her ne kadar telefonlar gitgide büyüseler de hala en önemli kısım UX gibi geliyor bana.

UX denince akla çok fazla şey geliyor. Bu yazıda bahsedeceğim ve benim de uzun süredir önem verdiğim bir UX kategorisi: Application File Size

Bu konuda ayrıntılı bilgiyi Cyril Mottier'in aşağıdaki inanılmaz faydalı makalesinde bulabilirsiniz:
http://cyrilmottier.com/2014/08/26/putting-your-apks-on-diet/
Cyril bir GDE (Google Developer Expert) ve inanılmaz güzel uygulamalara imza atmış bir developer. Bkz. Capitaine Train

Uygulamanıza ilk giriş, yani onboarding experience, çok önemli. Her şeyde ilk izlenim önemli olduğu gibi kullanıcıların da ilk izlenimi uygulama için çok önemli. UX'in yapıtaşlarından aslında. Laf arasında onboarding ile ilgili harika bir video ve websitesi paylaşayım.

Onboarding aslında uygulama açılırken değil uygulama marketlerinden uygulamayı indirirken başlıyor. Buna uygulama screenshot'ları, videosu, açıklaması ile birlikte uygulama dosya boyutu da dahil.

Yıl oldu 2014 ama hala mobil internetimiz sınırlı. Hele Türkiye'de çok sınırlı. Böyle olunca kişisel olarak 4MB'ın üstündeki uygulamaları ben yüklemiyorum. E zaten Android de uyarıyor sizi ve siz zorlamazsanız büyük uygulamaları sadece WIFI ile indiriyor.


Gel gelelim THY uygulamasına.

THY Android uygulamasının boyutu 20.5MB

İlk tepkim:

Kesin burda yanlış bir şeyler var.

Uygulamayı ilk kullandığım zaman hem UX hem de teknik hatalarla karşılaştım. Bunlarla ilgili bir yazı daha yazmak istiyorum ama şimdilik APK Teardown yapacağım ve içeriği biraz inceleyeceğim.

Hem bu hatalar hem de birazdan anlatacağım şeyler resmen işin baştan sağma yapıldığını gösteriyor. Monitise ve THY gibi 2 uluslararası şirketin yaptığı bu uygulama gerçekten üzücü.

Hadi bakalım inceleyelim.

İlk olarak fontlar:

Klasik olarak yapılan junior developer hatası. Bunu aslında bekliyordum. Sebebi şirket içinde düzgün kod kontrolünün olmaması. Senior developer'ların Code Review esnasında bu dosyaların 2 kez giriş yaptığını görüp engellemesi gerekir.

`assets/fonts/` klasörü

`res/raw/` klasörü

Font dosyaları hem assets/fonts/ hem de res/raw klasörlerinde eklenmiş. Sırasıyla 3.1MB ve 3.2MB boyutlarında bunlar. İlk klasörü kaldırdığımızda 3.1MB kazandık.

Resimlerde gördüğünüz gibi Roboto fontları eklenmiş. Bunu yapan çok fazla developer var ama ben bunu yanlış görüyorum. Roboto fontu Ice Cream Sandwich versiyonuyla 2011 yılında getirildi. THY Android uygulaması zaten Ice Cream Sandwich ve üstünü destekliyor. :) Yani bu dosyalar aslında çöp. Kaldırdığımız zaman 5.7MB kazanıyoruz.

Grafikler

Uygulamanın grafiklerinin, yani [m|h|xh|xxh]dpi klasörlerinin toplamı 14.1MB

  • Klasörde 1338x426 boyutunda Visa ve MasterCard logoları var. Çoğu telefonun ekranının yarısından daha fazla.
  • background.png toplamda 4.5MB civarında. Ve bu arkaplanı screenshot'larda göremedim. Demek ki o kadar da önemli değil.
  • Toplam arkaplanların boyutu ise 6.7MB

Komut satırından hızlıca çalıştırılabilen pngquant uygulaması var. Bunu Google'a 'PNG optimize' yazınca buldum.

Resource dosyalarında pngquant ı çalıştırdığımda grafiklerin toplam boyutu 14.1MB den 8.6MB a düştü. Kocaman 5.5MB kar.

Toplamda fontlarla birlikte çok rahat 11.2MB kurtarabiliyoruz ve bu da bize 8.8MB boyutunda bir uygulama veriyor. Bunun ötesinde arkaplanları ve bahsettiğim kocaman MasterCard logolarını daha fazla optimize ettiğimizde uygulama boyutu 5-6MB civarlarına inecektir.

Özet olarak diyebilirim ki. Uygulamanıza, yaptığınız işe ve bundan daha önemlisi başınızın tacı olan kullanıcılarınıza önem verin. Dediğim gibi kullanıcı deneyimi uygulama marketlerinden başlıyor ve çok kolay adımlar ve birazcık dikkat ile inanılmaz geliştirilebiliyor.

Türkiye'de Leading Mobile Tech Company olarak kendini tanıtan ve gerçekten önümüzde örnek olması gereken Monitise'dan bunu görmek gerçekten üzücü. Türkiye'de bireysel geliştiricilerden çıkan uygulamaların bile bu şirketlere örnek olması dileğiyle...

Ek: APK boyutuyla ilgili yazılar buldukça buraya ekleyeceğim: