Referanslarımız

Projelerimizden Bazıları

Mobil Yazılımlarda Kullanıcı Alışkanlıklarını Dikkate Almak

Andorid ve iOS mobil yazılımlarınızın kullanıcı ara yüzlerinin tasarım ilkelerini belirlerken kullanıcıların alışkanlıklarına büyük bir önem vermemiz gerekiyor. Kullanıcıların Facebook, WhatsApp gibi popüler mobil yazılımlarda kazandıkları alışkanlıklar aslında kullanıcılar için kalite algısını oluşturmaktadır. Yani yeni bir mobil yazılım ne kadar popüler bir uygulamaya benziyorsa yeni uygulama kullanıcı için o kadar kaliteli olarak algılanıyor. Kullanıcılar bu konuda pek de haksız sayılmazlar. Çünkü popüler mobil yazılımlarda kullanıcı alışkanlıklarının temelini oluşturan prensipler dikkate alınıyor.

Mobil yazılımlarda kullanıcıların kullanım açısından aradığı temel prensipler:

  • Hataya tahammül yok: Kullanıcılar bir android veya iOS yazılımlarda ilk olarak şunu ararlar: uygulamanın hata vermeden çalışması. Uygulama hata veriyorsa, işlem yaparken donup kalıyorsa kullanıcı o uygulamayı cihazından siler.
  • Düşük performans: Bu devirde kimsenin beklemeye tahammülü yok! Sizin mobil yazılımınız yavaşsa başkasının uygulaması hızlıdır. Kullanıcılar yavaş mobil yazılımlardan nefret ederler.
  • Kullanılabilirlik: Mobil yazılımlarınız çocuklar, yaşlılar, renk körü olan insanlar tarafından da kullanılacak. Belki de yazılımınız internet bağlantısının çok zayıf olduğu, kullanıcının acelesinin olduğu bir anda kullanılacak. Tasarımınızda bunlara dikkat etmeniz gerekecek.

  • Arama kolay olmalı: Kullanıcılar aradıklarını bulamadıklarında ilk olarak arama kutularına başvururlar. Çünkü arama yapmak onların daha az vaktini alır. Kullanıcılar mobil yazılımınızı keşfetmek için uğraşmazlar. Bir tık uzaklarındaki bağlantıyı bulmaya çalışmayıp aradıkları şeyi arama kutusuna yazmak isterler. Evet, ana ekrana koyduğunuz o kocaman düğmeyi bile göremeyip arayabilirler!
  • Kullanıcıdan olabildiğince az bilgi alın: İşinize yaramayacak bilgileri sonradan lazım olur diye kullanıcılardan istemeyin. Bazı veriler için varsayılan değerler ara yüzde bulunmalıdır. Böylece kullanıcı daha az veri girer ve gireceği verinin formatını anlamış olur. Uygun klavye seçimi yapılmalıdır. Örneğin telefon numarası girilen alanda sadece rakamların olduğu klavyenin aktif hale getirilmesi veri girişini hızlandıracaktır. Son olarak kullanıcılardan aldığınız verilerin hem içerik hem de format açısından uygun olup olmadığını kesinlikler kontrol edin.
  • Güvenlik: Bir mobil yazılım hakkında o yazılımın güvensiz olduğu ile ilgili bir haber çıktığını düşünün. Bu yazılım popüler bir mobil yazılım bile olsa kullanıcılar o yazılımın güvensiz olduğunu hissettiği an oyun bitti demektir.
  • Yardım menüsü: Lazım olmaz demeyin. Mobil yazılımınızı kullanacak kişilerin farklı düşüneceklerinden emin olun. Basit de olsa yardım menüsü bulunmalı ve içeriği güncel tutulmalıdır.
  • Ara yüzü özelleştirmek: Kadınlar pembeyi sever, erkekler maviyi. Belki de tersi. Bilemezsiniz. Kullanıcılar kullandıkları bir mobil yazılımı özelleştirirlerse o yazılıma daha çok bağlanırlar.
  • Ana ekran ana amaç: Yazılımınızın ana amacı ana ekranda bulunmalıdır. Mobil yazılımınızın birçok şey yaptığını biliyorsunuz. Ama kullanıcılar için oluşturduğunuz asıl değer, fonksiyon, her zaman göz önünde olmalıdır.

Android ve iOS Mobil Uygulamalarda Güvenlik

Android ve iOS mobil uygulamalar kullanıcıların hayatını kolaylaştırmaktadır. Ancak bu mobil uygulamalarda yapılabilecek tasarım ve kodlama hataları güvenlik açıklarına neden olabilmektedir. Bu güvenlik açıkları kullanıcıların ad, soyad, adres ve telefon bilgileri gibi kişisel bilgilerini ve kredi kartı bilgileri gibi mali bilgilerini tehlikeye atabilmektedir.

Mobil uygulamalarda yazlım geliştiriciler genellikle zaman baskısı altında kalırlar. Bu da mobil uygulamalarda güvenlik konularının arka plana atılmasına ve projelerde güvenlikten sorumlu bir personel bulundurulmamasına neden olur.

Güvenlik konusundaki bir diğer problem ise güvenlik ile performans ve kullanılabilirliğin birbirine düşman olmalıdır. Mobil uygulamalarda güvenlik tedbirleri artırıldıkça mobil uygulamanın performansı düşer, kullanıcıdan daha çok girdi alınır ve iş akış süreçleri uzar.

Bir mobil uygulama geliştirilirken yapılan en sık hatalar şunlardır:

  • Uygunsuz Platform Kullanımı: Android ve iOS işletim sistemlerinin uygulamalara sunduğu TouchID, Keychain gibi hizmetlerin hatalı kullanılması
  • Güvensiz Veri Saklamak: Parola, kredi kartı bilgileri, konum bilgileri gibi haşhaş bilgilerin açık olarak (şifrelenmemiş olarak) cihazda ya da hafıza kartında saklanması
  • Güvensiz İletişim Kurmak: TLS ya da SSL kullanmadan sunucu ile hassas bilgilerin değiş tokuş edilmesi
  • Güvensiz Kullanıcı Doğrulama: Kullanıcı yetkilendirmede ve oturum yönetmede eksik ve hatalı yönlerin bulunması. İki adımlı kullanıcı doğrulama gibi seçeneklerin göz ardı edilmesi.
  • Yetersiz Şifreleme: Yazılım geliştiricilerin kendi geliştirdikleri şifreleme algoritmalarını kullanmaları ve hassas bilgiler için yeteri kadar güçlü olmayan hazır şifreleme algoritmalarını kullanması
  • Güvensiz Kullanıcı Yetkilendirme: Kullanıcı yetkilendirmenin yetersiz veya yanlış yapılması
  • Kullanıcı Girdilerinin Kontrolünün Yapılmaması: Kullanıcıdan alınan girdilerin kontrol edilmeden işleme alınması. Kullanıcı girdileri hem kullanıcı cihazlarında (cep telefonu, tablet, akıllı saat, akıllı TV gibi) hem de sunucuda kontrol edilmelidir.
  • Obfuscation: Android veya iOS mobil uygulamanın Play Store ve App Store’a konulmadan önce obfuscation (kod karıştırması) yapmamak. Obfuscation yapılmaması mobil uygulamamızın ters mühendislik saldırılarına açık kalması demektir. Ters mühendislik ile uygulamanın kaynak kodlarına ulaşılabilir.
  • Kırılmış Cihazlar (Rooted/JailBreak): Kırılmış cihazlar üzerinde çalışan uygulamalar işletim sisteminin güvensiz olması nedeniyle güvensiz sayılmalıdır.

Mobil uygulamalarda güvenlik konusu, uygulama geliştirilme aşamasında iken ele alınmalıdır. Güvenlik projenin olmazsa olmaz bir parçası olarak düşünülmeli ve hangi güvenlik risklerinin alınıp alınamayacağına projenin başında karar verilmelidir.

Amazon Web Servis Nedir?

Amazon Web Servis Nedir?

Amazon Web Services(AWS) size güvenli, ölçeklenebilir bir bulut bilişim hizmeti sağlar. AWS sayesinde birkaç tıklama ile ihtiyacınız kadar CPU, memory, badwith ve GPU anında kullanıma hazır hale gelir...Devamı »
Laravel nedir?

Laravel nedir?

Laravel, PHP için MVC kodlama şablonuyla bir web uygulama geliştirme framework’üdür. Laravel kendisini, web sanatçıları için PHP framework’ü sloganıyla öne çıkarır. Laravel ile küçük web uygulamaların...Devamı »
IONIC Framework Nedir ?

IONIC Framework Nedir ?

IONIC Framework, yazacağınız tek bir kod ile Android, iOS, Windows Mobile ve BlackBerry gibi tüm platformlarda web sitesi geliştirir gibi uygulama yazmanızı sağlayan bir sistemdir. IONIC framework Ang...Devamı »
1 2