Bir Uygulama Nasıl İnşa Edilir: Bilmeniz Gereken Her Şey

Tom Scott, yaklaşık bir yıldır takip ettiğim bir YouTube içerik üreticisi. Dün Google destekli How to build an App: Everything you didn't know you needed to know isimli yeni video serisini duyurdu.

Aklında bir-iki uygulama fikri olan ve çoktan ilk sürümlerini yayımlamış olması gereken biri olarak ilgiyle izledim videoları. Geliştiriciyseniz ve yakın zamanda ilk mobil uygulamalarınızı yayımlamayı düşünüyorsanız göz atabileceğiniz bir seri kesinlikle.



Making An App Is A Terrible Idea, But Here's How You Can Do It

Tom, bir arkadaşıyla yaptığı ve sadece emojilerin kullanıldığı sohbet uygulamasının nasıl başarısızlıkla sonuçlandığını anlatarak bölüme başlıyor.

Zombies, Run! oyunu hakkında sohbet ediliyor. Oyun koşu ve benzeri aktiviteleri daha eğlenceli hale getirmek için tasarlanmış sadece sese dayalı bir oyun. Ben ilk kez duyuyorum ama son derece ilginç sporu oyunlaştırmak. Yürü be İstanbul'da da zombilerle değil de, yerine koyulabilecek başka bir unsurla benzer bir oyunlaştırma yapılabilir belki.

"Yaptığınız her uygulama kendinizin kullanılabileceği bir uygulama olmak zorunda değil ama bu, gerçekten iyi bir başlangıç noktası." gibi benim de son derece katıldığım bir cümle geçti.

Bölüm sonunda da şu mesaj verildi: büyük ihtimalle bir uygulama yapmak zorunda değilsiniz ama gerçekten bir şeyi uygulama olarak gerçeklemeniz gerekiyorsa uygulama bir problemi çözmeli, özellikle de başkalarının problemini.

How To Find Out If Your App Idea Is Any Good

Tom önceki bölümün sonlarına doğru bulduğu uygulama fikrinin gerçekten iyi bir fikir olup olmadığını anlamaya çalışıyor. Fikir de dünyanın herhangi bir yerine gidildiğinde o yer hakkında size ilginç bir bilgi verecek bir uygulama.

Ben bu tür bilgileri önceden araştırıp o şekilde o yere gitmeyi tercih ettiğim için bana hitap etmiyor ama benim tam tersim insanlar büyük ihtimal çoğunluktadır. Benim durumum planlı geziler için elbette. Ama örneğin konferans için gittiğim ve önceliğimin gezme olmadığı bir şehirde böyle bir uygulama keşfetmem için önüme bir şeyler koyabilir gerçekten.

Uygulamanın ilginç bilgiler verebilmesi için ilginç ve sıkıcı bilgiyi ayırt edebilmesi gerekir. Bu alanda yapılmış çalışmalar var mı bilmiyorum ama Wikipedia maddeleri üzerinden geliştirilebilecek bir modelle eğitim yapılabilir.

"Prototiplerinizin mükemmel olması için uğraşmayın. Çözmesi hızlı ve ucuz olacağı için hatalarınızı bu aşamada yapın."

Tom'un prototipi şu şekilde oldu: birkaç arkadaşıyla görüntülü sohbet edip fikrini anlattı. Daha sonra onlardan kendisine bir yer ismini mesaj olarak atmalarını istedi ve olabildiğince makul bir sürede onlara o yer hakkında ilginç bir bilgiyi yazılı olarak gönderdi. Sonra da uygulama fikrini nasıl bulduklarını sordu arkadaşlarına.

Where Do You Want Your App To Live?

Bu bölümde de uygulamanın hangi platformlara çıkarılacağı üzerinde tartışılıyor. İdeal olan elbette tüm platformlara birden çıkmak ama bunu başaramayacak kaynaklara sahipken bunu hedeflemek hiç de mantıklı olmayacaktır.

Tarayıcı üzerinde çalışan ama kullanıcıya yerel uygulama kullanıyormuş hissiyatı veren web uygulamaları Progressive Web Apps'tan bahsediliyor.

Platform seçerken hedef kitlesinin ne kullanıldığına bakılması gerektiği, ayrıca tercih edilecek platformda geliştirme yapmak için gerekenlerin önceden araştırılması gerektiği söylenerek bölüm sonlanıyor.

Where Are Your First 1000 Users?

Bölüm Tinder örneği verilerek başlıyor.

Bölümün ortasında kullanıcı sayınızı koruyabildiğiniz sürece bir işiniz var demektir deniliyor.

Sonra Tom, ilk 1000 kullanıcısını kazanabilmek için uygulama fikrini Twitter üzerinden duyuruyor ve uygulamayla ilgilenenlerin e-posta adresini gönderebilecekleri bir form paylaşıyor.

Ne öğrendik kısmında da şunlar söyleniyor: "Uygulamanızı kullanacak insanları bulmaktaki en hayati adımlardan biri, kimi hedeflediğiniz konusuna hakim olmanızdır, kullanıcılarınız kim olacak? Çözdüğünüz probleme ve bu probleme sahip insanların nerede olduğuna odaklanın. Sonrasında da çok daha dikkatli bir şekilde onlara ulaşmaya yoğunlaşın."

Ayrıca hem bölüm içinde hem de bölüm sonunda üç kuralından bahsediliyor ve bunu göz önünde bulundurmanın önemli olduğu söyleniyor. Uygulamanızı hayata geçirmeden üç ay önce ne olmalı, üç hafta önce ne olmalı, üç gün önce ne olmalı, üç saat önce ne olmalı, uygulamanızı yayınladıktan üç saat sonra ne olmalı, üç gün sonra ne olmalı...

Minimum Viable Product

Bölüm, asgari çalışır ürünün tanımıyla başlıyor. Asgari çalışır ürün, bir geliştirici olarak sahip olduğumuz varsayımların doğru olup olmadığını test etmek için ortaya koyabileceğimiz mümkün olan en küçük çıktı olarak da ifade edilebilir.

Twitter örneği geçiyor sonra. Twitter'ın çok basit bir halde, sadece metin desteğiyle başladığı ve bununla birlikte Twitter'ın insanların önemsediği bir şeyi yakalamayı başarmış olduğu söyleniyor. Şunu kendimize sormamız öneriliyor ayrıca: uygulamamız ölse arkasından ağlayanı olur mu?

İlerleyen bölümlerde prototip, kağıt üzerinde prototip ve asgari çalışır ürün arasındaki farklar tartışılıyor.

Sonlara doğru asgari çalışır ürün üçgeninden ve bunun mantığından bahsediliyor.

Son olarak bölümün sonunda üstünde durulan fikir: Bir şeyi mükemmel yapma sadece yap.

How To Talk To A Coder Without Looking Stupid

"Bazı dillerde kod yazabilirsiniz. Bir şekilde tasarımı halledebilirsiniz. Ama uygulama geliştirmenin birçok alanı hakkında hiçbir fikriniz olmayabilir. Bu da son derece normaldir ve başkalarına ihtiyaç duyma nedeninizdir. Farklı yeteneklere sahip insanlarla birlikte çalışmak farklı bir dili konuşmak gibidir. Eğer çeviri sisteminiz çalışmazsa iletişim kuramazsınız. Daha da kötüsü öyle değilken çeviri sisteminizin iyi olduğunu düşünürseniz çok geç olmadan ortaya çıkmayan bazı problemlerle karşılaşırsınız." Bölüm özetle bu düşüncelerin aktarılmasıyla başlıyor ve işleri daha kötü hale getirmeden nasıl işbirliği yapılabileceği konusuna ilerliyor.

Projenizi siz kodlamayacaksınız güvendiğiniz birini bulun. İlk önce temeller hakkında konuşup anlaşın, kullanıcılarınıza ne diyeceğiniz (kullanıcı, oyuncu, takipçi) gibi şeyler de dahil olmak üzere.

Bölüm, proje sahibi ve kod yazarları arasındaki iletişimde dikkat edilmesi gereken diğer unsurlar hakkında ilerleyip bu şekilde sonlanıyor.

How To Make Your App Less Frustrating

Bölüm, geliştirilen uygulamaların daha erişilebilir olması için zaman ayrılması gerektiğini söyleyerek başlıyor. Bu konuda örnekler veriliyor ve bölüm bu şekilde ilerliyor.

How To Connect Your App To The Real World

Bölümde temel olarak telefonun gerçek potansiyelinin farkında olunmasıyla ilgili şeyler konuşuluyor. Ne demek istiyorum çok kısa bir şekilde açıklayayım. Şimdiki telefonlar, bundan yirmi yıl öncesinin bilim kurgu öğeleri gibi ama hala daha da akıllanmaya devam ediyorlar, örneğin bazı telefonlar makine öğrenmesi çipleriyle birlikte geliyor vs. Telefonları artık sadece bir ekran olarak değil, kullananın dünyasının bir parçası olarak görmek önemli.

Connecting Your App To The Cloud

Bulut, veri güvenliği ve uygulama programlama arayüzü konularına değiniyor bölüm.

Bu arada daha önce söylemeyi unuttum her bölümün video açıklamalarında o bölümde geçen konular hakkında çeşitli ek okuma bağlantıları paylaşılmış. Daha çok bilgiye ihtiyacınız olan konularda bunlardan faydalanabilirsiniz.

Bölümler hakkında yazdığım açıklamaların azaldığını fark etmişsinizdir. Bunun nedeni giderek daha az bilgi sahibi olduğum konulara geçilmesi. Diğer bölümlerin de sadece ismini paylaşayım, size çok bir şey vermeyecek kısa tek cümlelik açıklamalar yazmak yerine:
  • How To Find Out If Real People Can Actually Use Your App
  • How To Make Money With Your App
  • How To Make Sure Your App Isn’t Evil
  • How To Make Your App Delightful
  • How To Survive On The App Store
  • How To Keep Your App Alive, Or Put It Out Of Its Misery
Tom'un söylediklerinden benim aktarabildiklerim bunlar. Sizin de mobil uygulama geliştirmek isteyenlere faydalı tavsiyeleriniz varsa paylaşabilirsiniz.

Yorumlar

Bu blogdaki popüler yayınlar

Mızıka Tabları Nasıl Okunur

conio.h

Muhtar Kellesi