Screen Shot 2016-03-03 at 13.00.24Tam bu başlıkta yazdığımız gibi oldu!

Neredeyse bir yıldır  yürüttüğümüz gönüllü girişimimiz ücretsiz kütüphane otomasyon projemiz Kitapi için inovatif sayılabilecek bir iPad uygulaması (KitPad) hazırlıyorduk. Bu iPad kütüphanenin içinde, duvarda sabit duracak, çocuklar da iPad’in QR kod okuma özelliğinden faydalanarak Kitapi üzerinde ödünç alma, teslim etme, kitap borcu sorgulama gibi temel işlemleri kimseyi meşgul etmeden kendi başlarına yapacaklardı. İlk etapta beş fonksiyonu bulunan bu uygulamanın henüz ortalarındayken aklımıza şu geldi:

iPad’le QR kod okuyup Kitapi’nin apisi üzerinden veri çekebiliyorsak, bunun tersini de yapıp Kitapi’ye okuduğumuz QR’ları gönderip akıllı telefonumuzu QR okuyucu / QR Reader olarak kullanabilir miyiz diye düşündük.

Aslında bunu yapan bağımsız uygulamalar var. Bunlardan biri CLZ Barry idi. Biz zaten nerdeyse bir yıldır bütün üye kütüphanelerimize bu uygulamayı tavsiye ediyorduk. Fakat ücretli bir uygulama olduğu için insanların cebinden para çıksın da istemiyorduk.

QR kod okuyan pek çok uygulama var aslında. Çoğu da ücretsiz. Fakat CLZ Barry okuduğu QR kodu bilgisayarınıza aktarabiliyor. Yani elinizdeki telefon sadece QR kodu okumuyor, onu bilgisayara da aktarıyor. CLZ Barry bunu sağlamak için Mac ve Windows platformu için ücretsiz minik bir program yazmış. Telefonunuza kurduğunuz uygulamayı çalıştırdığınızda size bir ID veriyor. Bu ID’yi bilgisayarınızdaki minik programa kaydettiğinizde telefon ve bilgisayar senkron hale geliyor. Böylece telefondan okuttuğunuz QR kod bilgisayarınızda imleç neredeyse oraya ufak bir internet gecikmesiyle birlikte yansıyor.

İşte biz bunun aynısını yapmak ve ücretsiz sunmak istiyorduk zaten. Ama bunun için hem Mac, hem Windows hem de mümkünse Linux için kod yazmak gerekiyordu ki biz sadece iPhone için kod yazabiliyorduk.

KitPad’in uygulamasını kodlarken sadece Kitapi’ye mahsus QR Kod okuyan böyle uygulamayı ekstra hiç bir yazılıma ihtiyaç duymadan yazabileceğimizi farkettik. Yani amacımız, telefondan okunan kodun Kitapi’de istediğimiz alana yansımasıydı sadece.. CLZ Barry gibi genel amaçlı değil, Kitapi’ye mahsus bir QR Okuyucu istiyorduk.

Node.js ile bu pek ala  mümkündü. Şöyle ki; iPhone QR kodu okuyacak, api üzerinden Kitapi sunucusuna gönderecek. Sunucu bunu bir dosyaya yazacak. Node.js dosyadaki değişikliği takip edip o esnada açık olan Kitapi sayfası hangisi ise ona geri bildirip yapıp “falanca QR kod geldi, ne yapacaksan yap!” diyecek. Kitapi de böyle bir javascript çağrısı geldiğinde ne yapacağını biliyor olacak. Yani gelen kodu ilgili alana yapıştırıp ilgili formu submit edecek, gönderecek!

İşte bu mekanizma pekala olurdu.. Zaten Kitapi’de üyelerin loglarını takip etmek için node.js kullanıyorduk. Alt yapı hazırdı. Node.js’in dosya takip etmesini sağlayan fonksiyonlarını da öğrenip kodumuzu yazdık. Bir saat içerisinde denememizi yaptık. Gayet başarılı bir şekilde çalışıyordu. Biraz internet gecikmesi vardı elbette ama CLZ’nin mimarisinde de bu vardı. Dolayısı ile o kadar kusur kadı kızında da olur deyip hızlı bir şekilde nihayi iOS uygulamasını hazırlamaya koyulduk.

Ofiste bu çalışmalardan bahsedince arkadaşlarımızdan sevgili Sinan Kambur Android versiyonunu gönüllü olarak yapmak istedi. O kadar hızlı kodladı ki, ben daha iOS versiyonunu App Store’a göndermeden android versiyonunu tamamlayıp Play Store’a yükledik. Bir iki saat sonra yayına girdi bile. Uygulamayı benim kişisel hesabımdan yükledik ama burdan bir kez daha tekrar edeyim ki Android kodunu tamamen Sinan Kambur yazdı. Kendisine çok teşekkür ederim.

Android versiyonun yayına girdiği akşam iOS versiyonunu da Apple’a gönderdik.. İncelendikten sonra yayına girmesini bekliyoruz.

Bu uygulamanın çıkmasına neden olan iPad uygulaması KitPad ise hala bitirilmeyi bekliyor :) Onun demo videosunu da KitapiNet kanalımızdan izleyebilirsiniz.

Android uygulamamızın videosu aşağıdadır.

Tablet uygulama mobil uygulama doğurdu!

One thought on “Tablet uygulama mobil uygulama doğurdu!

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir