Blog

Mobil Uygulamada Kullanıcı Sayısını Arttırma Yolları

Merhaba,

Bu yazımda bazı önemli tecrübe ve deneyimlerden bahsedeceğim.

İstediğiniz bir android yada ios mobil uygulamayı yaptınız yada yaptırdınız. Peki sonra, ziyaretçi nasıl elde edeceksiniz nasıl uygulamanızı tanıtacaksınız.

Öncelikle uygulamanızın bir ihtiyaca cevap verdiğiniz bir sorunu çözdüğünü yada bir oyun ise eğlendirdiğini düşünüyorum yoksa zaten pek şansınız yok. Çünkü uygulamanızı tanıtsanız dahi sonrasında uygulamayı kuran kişileri tekrar kaybedersiniz tüm yaptığınız reklam çalışmaları da boşa gider.

Bu yüzden sıralamada 1. sırada yer alan işe yarar bir uygulama yapmak

Gelelim sonraki adıma. Uygulamanızı yaptınız ve yayına aldınız. Burada yayına aldıktan sonra amacımız uygulamanın hatalarını gidermek. Bu sırada da mümkün olduğunca kötü puan almamak amacımız. Bunun 2 yolu var , ya store a çıkmadan önce çok iyi test edeceksiniz yada tam olarak güvenmiyorsanız sağlam olduğuna başka bir isim ile bir uygulama çıkarak store da test edilmesini sağlayacaksınız. Crash raporlarını sürekli takip edip iyileştirme yapacaksınız ta ki hatasız bir app elde edene kadar.  Yani 2. sırada çok iyi test var. Bu testi yaparken kullanıcıya ihtiyacım var nasıl test yaptırabilirim store da dediğinizi duyar gibi oldum 🙂 Bunun için ya iyi bir test grubu kurup store a çıkmadan önce beta yayına alacaksınız uygulamanızı yada bu grubunuz yok ise ufak bir reklam ile adwords reklamı yaparak gelen yorumları ve crash leri gözlemleyebilirsiniz. Ancak bu 2. yöntemi tercih ediyorsanız o zaman farklı bir isim ile uygulamanızı store a çıkmanızı tavsiye ederim. Zira gelecek kötü yorumlar olursa uygulamanızın puanını da kötü etkileyecektir. Burada 2 iş olur gibi çekincelere girmeyin. Zahmet olmadan başarı olmuyor malesef.

Android , ios uygulamanızı stable bir hale getirdiniz yani hatasız düzgün çalışır bir hale geldi. Bundan sonra gözlemlemek ve sürekli iyileştirme de 3. sırada yer alıyor.  Gözlemlemek derken sürekli crash raporları ve gelen yorumları takip etmeniz anlamına geliyor. Bu aşamada ufak ufak reklama devam edip 2. sırada yer alan adımı sağlıklı atlatıp atlatmadığını görmeniz ve emin olmanız gerekiyor.

Arada kötü yorumlar illaki gelecektir, store da yorum yaparken insanlar biraz acımasız olabiliyor hele ki uygulamanızda rahatsız edici reklamlar var ise. Bu yüzden size tavsiyem reklamları 3. sırada iyi yorumlar aldıktan sonra devreye sokmanız. Reklam olan uygulamalara hele de popup açılan reklamlar varsa yani rahatsız edici düzgün yerleştirilmemiş reklamlar varsa bu durumda alacağınız puanlar daha acımasız olabiliyor. Ücretsiz ve reklamsız uygulamalar daha çok seviliyor bu yüzden 4. sırada amacımız mümkün olduğunca olumlu yorum ve puan almak.  Her yorumu olumluda olsa olumsuz da olsa cevap verin bunun faydası olacaktır. İnsanlar uygulama ile ilgilendiğinizi görsün.

5. sırada uygulamanıza yeni özellikler eklemek. Uygulamanız ne kadar sık güncellenirse o kadar iyi. Hataları giderdiğinizde güncelleme çıkın ama birde ne gibi iyileştirmeler yapabilirim ne gibi özellikler ekleyebilirim bunları değerlendirin. Mutlaka birşeyler bulacaksınız.

Bunları yapıyorsanız ve ufak reklam çalışmaları yaptıysanız uygulamanızı insanlar indirmeye başladı ve çok fazla geri silmiyor olması lazım.

Sizler ile daha iyi anlayabilmeniz için 2 örnek uygulama grafiği paylaşacağım. 1 tanesi indirilme sonrası kayıplar yaşamış diğeri de sürekli indirilmeye ve kaybetmemeye devam ediyor. 2 uygulamaya da belli reklam çalışmaları başta yapılmış ama son zamanda yapılmıyor. 2. örnekteki kaybetmiyor çünkü bu kuralları daha iyi uygulamış.

Uygulama tanıtım ve takibini iyi yapmayan

 

 

Uygulama tanıtım ve takibini iyi yapan


Android Uygulama Yaptırma

Android mobil uygulama yaptırmak için neye ihtiyacınız var , ne kadar maliyet olur fiyatları nelerdir bu yazımda bunlara değineceğim.

Öncelikle android uygulaması için yazdığımız bu yazıyı ios içinde düşünebilirsiniz. Sebebi de her iki iphone , ipad yani ios uygulamalarının ve android uygulamalarının ayrı platformlarda yazılması ve iş yükünün hemen hemen yakın olmasındandır.

Mobil uygulama yaptırma fiyatını hesaplamak için öncelikle işi parçalara ayırmak gerekir.

Aşağıdaki örnek maliyetler tahminen 1 ay sürecek normal ölçüde bir android uygulaması geliştirme için hesaplanmıştır.

1 -Mobil Uygulama Tasarım Fiyatları

Tasarım aşamasında yapılacak işin büyüklüğüne kaç ekran olacağına , ne kadar profesyonel olması gerektiğine göre değişkenlik gösterir.

Bir yazılımcıya sadece mockup yani ekran taslak çizimleri vererek bu taslakdan yola çıkaran android ui bileşenlerini kullanarak yol almasını isteyebilirsiniz. Bu durumda tasarım maliyetiniz olmayacak ama karşınıza çıkan ekranlarda görsel olarak sizi tatmin etmeyebilir. Burada iş yazılımcının kabiliyetine kalıyor aslında. Çok güzel birşey de ortaya çıkarabilir eğer çok görsel içeren bir uygulama olmayacak ise yeterli birşey yapabilir.

Ancak splash ekranından başlayarak her ekranın nasıl olması gerektiğini çalıştıracak ve ui (kullanıcı arayüzü) ve ux (kullanıcı deneyimi) düşünerek ekranları hazırlatacak iseniz. Süre üzerinden giderek bir hesaplama yapabilirsiniz.

Diyelim 10 gün sürecek bir tasarım çalışması var. Maliyet hesaplamasını adam/gün üzerinden yaparsak

Adam gün ücreti 200 -500 arasında değişkenlik gösterebilir. Biz burada 300 alalım. 300 x 10= 3000 TL bir tasarım maliyeti çıkacaktır.

2 – Mobil Uygulama Yazılım Fiyatları

Yazılım fiyatları da aynı tasarımda olduğu gibi iş yükü ekranlara göre çıkartılarak yapılır.  Burada her ekran düşünülerek kaç gün süreceği çıkartılır. Yazılımcı maliyetleri düşünüldüğünde ve işi hakkını vererek yaptırmak istediğiniz iyi bir android yazılımcısı için adam/gün ücretleri 400-800 TL arasında değişkenlik gösterebilir.

Biz burada 500 TL den hesap yapalım.

500 x 20 iş günü = 10.000 TL çıkacaktır.

3 – Mobil Uygulama Devreye alım ve destek

Android uygulama yaptırma işi tamamlandıktan sonra uygulama test edilip yayına alınır. Bu aşamada işimiz bitmiyor. Genelde sizlere tavsiyem anlaşacağınız yazılımcı yada firma ile sözleşme yaparak ilerlemeniz. Çünkü yayına aldıktan sonrada bazı hatalar ve eksikler olduğu ortaya çıkabilir. Ne kadar iyi test yapılıp işi teslim alsanızda store a çıktıktan sonra tüm kullanıcıların farklı cihazlar ile yapacağı kulllanım gibi test yapamazsınız. Sadece en iyi testler buna yaklaşabilir ama aynı olmaz. Bu nedenle sözleşmenizde mutaka en az 6 aylık ücretsiz bakım ve destek isteyebilirsiniz. Yapılacak çalışmaya göre tabi bu 6 ay , 3 ayda olabilir ama 3 ayda az olmamasında fayda vardır.

Peki bu süre geçtikten sonra ne olacak? Bu durumda da toplam proje bütçesinin %10 – %20 si arasında değişen yıllık bakım ücretleri devreye girecektir.

Örneğimizde 13.000 TL masrafı olan projemizin yıllık %15 den hesaplarsak 1950 TL ye yakın yıllık masrafı olacaktır.

Bu bakım destek kapsamında sözleşmenizde sonradan çıkabilecek hataların giderilmesi, yeni çıkan kütüphane ve sdk ların projede güncellenmesi, yeni cihaz ve sürümlerin yaratacağı sıkıntıların giderilmesi ve hata raporlarının belli aralıklar ile takibi ve raporlanması olmalıdır.

Özet;

Toplam ilk sene masrafımız

13.000 + sonraki 6 aylık bakım (1950/2) 975 TL = 13975 TL gibi bir masrafı oldu

Sonraki seneler uygulamada ek özellik yada değişiklik istemezseniz 1950 TL destek ve bakım masrafı olacaktır.

 

 


ios eğitimi

Herkese merhaba,

Yazılım dünyası son senelerde çok hızlı gelişiyor. Burada bu gelişime ayak uydurmak için sürekli yeni çıkan özellikleri ve gelişmeleri takip etmek gerekiyor.

Kariyerine ios yazılımcısı olarak devam etmek isteyenler için pratiğe dayalı bir eğitim öneriyorum.

Bir kitap alarak da bu işe başlayabilirsiniz ancak sürekli değişikliklerden dolayı aldığınız kitap güncel olmayabilir. Kitabın hazırlanması, yayına girmesi ve geçen bu sürede çıkan son değişiklikler ile kitabın güncelliğini yitirmesi çok büyük bir olasılık.

Bu yüzden öncelikle izlememiz gereken adımı paylaşıyorum. İyi bir ios developer nasıl olunur sizlere yol göstermeye çalışacağım.

1 – Temel seviyede ingilizce bilgisi: Bu neden gerekli şöyle anlatayım. Öncelikle araştırma yaparken okurken içinde olduğumuz dünya tamamen ingilizce. Bu yüzden ingilizce konusunda sıkıntısı olanlar bu noktada biraz zorlanabilirler. Türkçe kitap veya çeviri yaparak bir miktar ilerlenebilir ancak bir noktaya geldiğinizde veya takıldığınızda hemen google a başvurup , şunu nasıl çözerim dediğinizde ve sürekli ingilizce den türkçe ye çeviri yaptığınızda zorlandığınızı da hissedeceksiniz.

2 – Eğitime başlarken temel progamlama bilgisi olması gerekir.

3 – MacOs işletim sistemi kurulu bir bilgisayarınız olması gerekir. MacOs işletim sistemine sahip olmak için illa Mac almanıza gerek yok aslında. Windows a da kurabilirsiniz.

Bunun için şu adımları izlemeniz gerekir.

https://techsviewer.com/install-macos-high-sierra-virtualbox-windows/

Daha sonra XCode u kurmanız gerekiyor. Bu kurulumu macos da Apple Store dan Xcode u aratarak yapabilirsiniz. Yaklaşık bir 5GB lık kurulum olacaktır.
https://developer.apple.com/xcode/

4 – Eğitimlere başlamadan önce şu bilgili vereyim. Eskiden ios yazılımı sadece objective-c dilinde yapılıyordu.  Sonrada swift dili çıktı. Artık birçok ios yazılımcısı ios uygulamalarını swift dilinde geliştiriyor.

Swift dili konusunda bu siteden bilgi alabilirsiniz.

https://swift.org/

https://developer.apple.com/swift/

Daha sonra ilk uygulamanızı yapmaya çalışın. Bu adımları takip edin.

https://developer.apple.com/library/content/referencelibrary/GettingStarted/DevelopiOSAppsSwift/

5 – Bu adımda basit bir ios uygulaması yapıp kendinizin ne noktada olduğunu ve ne yapabildiğinizi görmeye çalışın. İlk uygulamanızı çalıştırdıktan sonra geriye 2 yol kalıyor.

5 – a – Eğitimleri kendiniz tamamlayarak belli bir noktaya gelebilir ve kendi uygulamalarınızı yapabilirsiniz.

5 – b – Yaptığınız uygulamaları ve geldiğiniz noktaya benimle paylaşın, sizlere pratiğe dayalı gerçek fikir ve uygulamalar vereyim ve ios uzmanı olarak gelişiminize katkı sağlayayım. Yapacağınız pratiğe dayalı bu eğitim sayesinde:

  • Gerçek ve apple store da çalışan bir uygulamanız olacak
  • Reklam geliri elde edebilirsiniz
  • Referans olarak gösterebileceğiniz bir projeniz olacak
  • Seviyeniz belirli bir noktaya gelmiş olacak, iş imkanı ve işe yerleştirme konusunda size destek olabilirim.

PRATİĞE DAYALI BİR IOS EĞİTİMİ ALMAK İSTERSENİZ 4. ADIMA KADAR GELMEYE ÇALIŞIN VE BENİMLE İRTİBATA GEÇİN.

Not: 2019 yılından itibaren ağırlıklı olarak Flutter kullanıyoruz. Flutter eğitimleri veriyorum. Bu konuda bilgi almak için tıklayınız.


Android Eğitimi

Herkese merhaba,

Yazılım dünyası son senelerde çok hızlı gelişiyor. Burada bu gelişime ayak uydurmak için sürekli yeni çıkan özellikleri ve gelişmeleri takip etmek gerekiyor.

Kariyerine android yazılımcısı olarak devam etmek isteyenler için pratiğe dayalı bir eğitim öneriyorum.

Bir kitap alarak da bu işe başlayabilirsiniz ancak sürekli değişikliklerden dolayı aldığınız kitap güncel olmayabilir. Kitabın hazırlanması, yayına girmesi ve geçen bu sürede çıkan son değişiklikler ile kitabın güncelliğini yitirmesi çok büyük bir olasılık.

Bu yüzden öncelikle izlememiz gereken adımı paylaşıyorum. İyi bir android developer nasıl olunur sizlere yol göstermeye çalışacağım.

1 – Temel seviyede ingilizce bilgisi: Bu neden gerekli şöyle anlatayım. Öncelikle araştırma yaparken okurken içinde olduğumuz dünya tamamen ingilizce. Bu yüzden ingilizce konusunda sıkıntısı olanlar bu noktada biraz zorlanabilirler. Türkçe kitap veya çeviri yaparak bir miktar ilerlenebilir ancak bir noktaya geldiğinizde veya takıldığınızda hemen google a başvurup , şunu nasıl çözerim dediğinizde ve sürekli ingilizce den türkçe ye çeviri yaptığınızda zorlandığınızı da hissedeceksiniz.

2 – Eğitime başlarken temel progamlama bilgisi, hatta java bilgisi olması gerekir.

3 – Eğitimlere başlarken izleyeceğimiz yöntem bu siteyi ve buradaki akışı takip etmek

https://developer.android.com/training/index.html

4 – Bu adımda basit bir android uygulaması yapıp kendinizin ne noktada olduğunu ve ne yapabildiğinizi görmeye çalışın. İlk uygulamanızı çalıştırdıktan sonra geriye 2 yol kalıyor.

5 – a – Eğitimleri kendiniz tamamlayarak belli bir noktaya gelebilir ve kendi uygulamalarınızı yapabilirsiniz.

5 – b – Yaptığınız uygulamaları ve geldiğiniz noktaya benimle paylaşın, sizlere pratiğe dayalı gerçek fikir ve uygulamalar vereyim ve android uzmanı olarak gelişiminize katkı sağlayayım. Yapacağınız pratiğe dayalı bu eğitim sayesinde:

  • Gerçek ve google play store da çalışan bir uygulamanız olacak
  • Reklam geliri elde edebilirsiniz
  • Referans olarak gösterebileceğiniz bir projeniz olacak
  • Seviyeniz belirli bir noktaya gelmiş olacak, iş imkanı ve işe yerleştirme konusunda size destek olabilirim.

PRATİĞE DAYALI BİR ANDROİD EĞİTİMİ ALMAK İSTERSENİZ 4. ADIMA KADAR GELMEYE ÇALIŞIN VE BENİMLE İRTİBATA GEÇİN.

Not: 2019 yılından itibaren ağırlıklı olarak Flutter kullanıyoruz. Flutter eğitimleri veriyorum. Bu konuda bilgi almak için tıklayınız.


Mobil Yazılım Uzmanı

Mobil Yazılım uzmanı, mobil uygulama geliştirme konusunda uzmanlaşmış bilgisayar mühendisi yada programlama bölümlerinden mezun kişilere denir. Aynı zamanda mobil uygulama geliştiricisi, uygulama geliştiricisi, uygulama yazılımcısı , android yazılımcısı, ios yazılımcısı gibi isimleri de vardır.

Bu çok çeşitli isimlendirmelerden dolayı biraz kafamız karışabiliyor. Birde mobil uygulama geliştirme işine bağlı olarak yapılan backend yazılım geliştirme var ona daha sonra değineceğim.

Mobil yazılım uzmanı, android yada ios konusunda ayrı olarak uzmanlaşmış da olabilir. Her ikisinide yapıyor olabilir.

Birde normal uygulamar ile oyun uygulamaları arasında da farklar vardır. Oyun konusunda uzmanlaşmış bir mobil yazılımcı oyun konusunda daha iyi çözümler üretirken, iş yazılımları yada diğer mobil uygulamar konusunda uzmanlaşan bir mobil yazılımcı oyun konusunda zayıf kalabilir.

Eskiden bu kadar çeşitlilik yokken yazılım dünyasında mobil yazılımcı, web yazılımcısı , yada desktop yazılımcısı hatta backend yazılımcısı gibi ayrımlar pek yoktu. Ancak günümüzde o kadar çok çeşitlilik varki, artık yazılımcılar kendi aralarında uzmanlaşarak belli konuda daha ileri seviyelere erişiyorlar. Herkesin herşeyi bilmesi çok mümkün değil ve sürekli güncellenen ve gelişen bir teknolojiyi sürekli takip etmesi de çok zor. Bu yüzden mobil veya android,ios gibi yazılım uzmanlıkları ortaya çıktı.

Özetle, bir mobil yazılımcı mobil yazılım geliştirirken native yada hybrid ortamları tercih edebiliyor.

Native yazacak ise Android için Java programlama dilinde, ios yazacak ise Xcode swift yada objective-c programlama dilini seçebiliyor. Hybrid yazacak ise cordova gibi birçok hybrid çözümlerinden birini tercih ederek yazılım yapabiliyor. Hybrid vs Native yazımı okuyabilirsiniz bunla ilgili daha detaya burada girmeyeceğim.

Yazılımcı , tasarımcıdan gelen tasarımları yazılım arayüzlerine yerleştirerek gerekli algoritmalar ile iş akışını bu arayüzler ile bağlamak, gerekli testlerini yapmak ve tüm mobil cihazlar ile uyumlu çalıştırmak yükümlülüğüne sahiptir. Aynı zamanda store a yani app marketlerine çıktıktan sonra takip etmesi ve gerekli bugfix (hata düzeltmelerini) yapması gerekir. İşin arkasında durmak bunu gerektirir.

Aynı zamanda iletişim becerileri iyi olmalıdır ki müşteriden gelen bilgileri iyi analiz edebilmeli, geri bildirimlerde bulunabilmeli, işe katkı sağlayabilmelidir. Unutmamak lazım ki hiçbir müşteri o dünyada yaşayan mobil android ios yazılımcısı kadar bu işi bilemez. Çoğu zaman ui ve ux konusunda hem tasarımcıyı hemde müşteriyi yönlendirmeli ve olmayacak arayüzler ve kurguları eleştirmeli ve yapıcı rol oynamalıdır.

Detaylara önem vermelidir. Her açıdan bakabilmeli ve işi bittikten sonra bir kullanıcı gibi uygulamayı kullanıp atladığı yerler, açıklar, yada görünmeyen ama hata oluşturabilecek kullanımı etkileyebilecek bir yer varmı bakmalıdır.


Mobil Uygulama Nasıl Başarılı Olur

Merhaba,

Bu yazımda mobil uygulama yapılırken veya yaptıktan sonra neler yanlış yapılıyor başarıya giden yolda nelere dikkat etmek lazım onları paylaşacağım.

Mobil Uygulama konusundan bahsetmiyorum. Fikrin iyi olması yada kötü olması tabi önemli ancak buraya müdahale edemiyoruz. Fikrin iyi olduğunu yada mevcutta çalışan bir sistemin mobil uygulamasını yaptığınızı düşünelim.

Şu faktörler çok önemli:

  • Müşteri tarafında mockup – taslak hazırlanması ve brief verilmesi
  • Uygulamanın yapılmadan önce tasarımı ve prototip çalışmasının yapılması ve onaylanması,
  • Uygulamanın prototipe uygun ve native olarak (genellikle) kodlanması ve performansa dikkat edilmesi. Hybrid ise tercih edilen yöntem performansa çok daha fazla dikkat edilmesi,
  • Uygulamayı yapan ekibin işin tamamlanmasından sonra işin arkasında durması, fabric gibi bir sistem kullanarak çıkan hataların sürekli takip edilip giderilmesi. Crash rate yani uygulamada yer alan kritik çökme oranın %1 ve altında tutulması
  • Uygulamayı yazarken birçok cihaz çeşitliliğini düşünerek yazmak gerekiyor.
  • Store a çıkmadan yapılabildiği kadar çok çeşitli cihazlar ile testler yapılması ve mümkünse yazılımcı olamayan kişiler tarafından yapılması. Uygulamaya son kullanıcı gözü ile bakılıp test yapılması,
  • Müşterinin uygulamayı düzenli olarak test etmesi , yani uygulama bitti şeklinde düşünmemek lazım , store a çıktıktan sonra bile crash yaşanmasa dahi kurguda backend servislerde farkedilmeyen bozulma veya değişiklikler uygulamayı çalışmaz hale getirebilir.
  • Yaşayan uygulama haline dönüşmesi gerekir. Uygulamalar bir kere store a çıkıp öyle kalan uygulamalar olmamalı. Mutlaka revizyon, iyileştirme ve ek özellikle eklenmelidir ve uygulama kullanıcıları ile etkileşim halinde olup yenilikleri iletmek gereklidir.
  • Yeni sürüm çıktığınızda eski sürümlerin kullanılmasını engellemek gerekebilir. Bu yüzden hangi kullanıcı hangi sürümü kullanıyor loglamak , tutmak ve gerektiğinde uygulamayı açtığı zaman zorunlu güncelleme (force update) yaptırmak gerekmektedir. Altyapı hazırlanırken buda dahil edilmelidir.

Bu konular çoğu zaman atlanan ve dikkat edilmeyen konular olabiliyor. Mobil uygulama geliştirme konusunda her aşamada bunlara dikkat etmek ve bu yöntem ile geliştirmek gerekiyor. Zaman içinde bu konularda tecrübelenerek bu yöntemlerin ne kadar önemli olduğunu ortaya çıkardık ve her projede bu aşamaları uyguluyoruz.

Ana adımlarda şu şekilde olmalı

1 – Müşteri tarafında mockup – taslak hazırlanması ve brief verilmesi

2 – Önce tasarım onayı ve prototip çalışması yapılıyor

3 – Sonra kod yazım aşaması ve belirli cihazlar ile unit testler yapmak

4 – Müşteri QA testlerinin başlaması

5 – Store a çıkış

6 – Store sonrası bakım ve güncellemeler