29 Aralık 2014 Pazartesi

Location Capture Applications

Konum Yakalama Uygulamaları

2014 Aralık ayı içerisinde "Öğrenme Deneyimlerinin Yönetimi İçin Çoklu Cihazlı ve Çoklu Algılayıcılı Bir Yaşam Günlüğü Sisteminin Tasarımı, Geliştirilmesi ve Uygulanması" isimli ve TÜBİTAK 3001 projesi kapsamında yazılım geliştirme sürecine başlandı. Projede birden çok cihazda yer alan birden çok algılayıcı ile yaşam deneyimlerinin yakalanması ve bu günlük verileri yardımıyla öğrenme deneyimlerinin yönetilmesi için bir sistem geliştirilmesi amaçlanmaktadır.

Projede yakalanacak günlük verilerinden biri de konum verisidir. Visual Studio geliştirme ortamında  Windows 8 masaüstü uygulamalar geliştirmek için bu amaçla System.Device.Location isim uzayından yararlanılır. 
Windows Store ve Windows Phone uygulamalarında ise W3C Geolocation API Specification'un .NET içerisindeki eşdeğeri olan Windows Runtime Geolocation API kullanılmaktadır. Geolocation API, cihazın konumunu Wi-Fi erişim noktaları, hücresel telefon baz istasyonları, cihazın IP adresi ya da küresel seyrüsefer uydu sistemi verilerini kullanarak tahmin etmeye çalışır.

Projede kullanılacak konum yakalama yazılımının ilk sürümleri için önceki projelerde geliştirilmiş olan LifeLoggingSC ve LifeLoggingCC yazılımlarının mimarisi kullanılmıştır. Buna göre Windows masaüstü, Windows Store ve Windows Phone ortamları için geliştirilen konum yakalama yazılımları, "Start" düğmesine tıklandığında, "Stop" düğmesine tıklanana kadar, her 30 saniyede bir cihazın bulunduğu konumu belirleyerek, bu veriyi tarih-zaman etiketiyle isimlendirilmiş bir dosya içerisine yazacak ve bir bulut depolama hizmeti tarafından sağlanan bir klasöre kaydedecek ya da yükleyecektir.

Geliştirilen ilk yazılım Windows masaüstü ortamında çalışan LifeLoggingLCDesktop isimli uygulamadır. Yakalanan veriler tarih-zaman etiketli JSON dosyalarına kaydedilmekte, dosyalar Yıl-Ay-Gün etiketli OneDrive klasörlerine saklanmaktadır.



Resim 1. LifeLoggingLCDesktop Uygulaması

İkinci yazılım Windows Phone ortamında çalışan LifeLoggingLCPhone'dur. Windows Phone uygulamaları yerel OneDrive klasörlerine arkaplanda erişemedikleri için (sadece FilePicker aracılığıyla bu klasörlerdeki dosyaları açma izni bulunmaktadır) JSON dosyaları Live SDK kullanarak cihazda Windows oturumu açmış olan kullanıcının OneDrive sitesine yüklenir. Bu amaçla kullanıcı "Upload" sayfasını kullanır. LifeLoggingLCPhone'da yakalanan konumlara ait dosyaların listesi görüntülenebilmekte ve konumlar bir harita üzerinde işaretlenebilmektedir. Harita için MapControl (Windows.UI.Xaml.Controls.Maps) kullanılmıştır.

    
Resim 2. LifeLoggingLCPhone Uygulaması

Windows Store ortamında çalışan uygulama ise LifeLoggingLC'dir. Bu uygulamada da doğrudan OneDrive klasörüne yazılamadığı için Live SDK ile OneDrive sitesine yükleme yapılır. Aynı şekilde bu uygulamada da konumların yerleştirildiği bir harita sayfası bulunmaktadır. Bu amaçla "Bing Maps SDK for Windows Store apps (Windows 8.1)" kullanılmıştır.

Resim 3. LifeLoggingLC (Windows Store) Uygulaması

Yukarıda geliştirilen konum yakalama uygulamalarının dosyaları önceki projelerde geliştirilen LifeLoggingTransporter uygulamasıyla uyumludurlar ve bu uygulama yardımıyla konum dosyaları bir çalışma bilgisayarına indirilerek biraraya getirilebilmektedir. (http://personalinformationsystems.blogspot.com.tr/2013/04/transfer-images-from-skydrive-folders.html)

Bir çalışma bilgisayarına aktarılan konum dosyalarını görüntüleyebilmek amacıyla LifeLogLocationTracker isimli bir harita görüntüleyici geliştirildi. Bu uygulama yardımıyla bir güne ait konum dosyaları topluca harita üzerinde işaretlenebilmektedir. Bu uygulamadaki haritalar için "Bing Maps WPF Control SDK" kullanılmıştır. LifeLogLocationTracker geçici bir uygulama olup, sahip olduğu işlev önceki projelerde geliştirilmiş deneyimleri görüntüleme ve yorumlama yazılımı olan AllMyListsLE uygulamasına entegre edilecektir.

Resim 4. LifeLogLocationTracker Uygulaması

Windows Phone ve Windows Store ortamındaki konum yakalama uygulamalarının izleyen sürümlerinde arka planda konum yakalama ve arka planda OneDrive'a transfer etme özelliği eklenmesi öngörülmektedir.

Proje kapsamında uygulama aşamasında uygulayıcılara dağıtılacak olan Windows 8 tabletlerde yukarıdaki yazılımlardan sadece LifeLoggingLCDesktop uygulaması kullanılacaktır. Aynı anda birden fazla "masaüstü" uygulamasının çalıştırılabilmesi ve uygulamaların simge durumuna küçültülebilmesi nedeniyle bu tercihte bulunulmuştur. Windows Store ve Windows Phone ortamındaki uygulamalar proje kapsamı dışında fakat projeye paralel olarak geliştirilmektedirler. Proje kapsamında yukarıdaki Windows Store ve Windows Phone yazılımlarının kullanıcı denemeleri ve kullanıcı uygulaması gerçekleştirilmeyecektir.

16 Aralık 2014 Salı

New Presentations

Yeni Sunumlar



Öğrenme Deneyimlerinin Yorumlanması

6-8 Kasım 2014 tarihleri arasında Antalya'da düzenlenen 3rd World Conference on Educational and Instructional Studies - WCEIS" konferansında sunmuş olduğum "Öğrenme Deneyimlerinin Yorumlanması" isimli bildiriye ait sunuma SlideShare'den erişilebilir.





Experience API ile Yaşam Günlüğüne Dayalı Öğrenme Deneyimlerinin Kaydedilmesi

27-29 Kasım 2014 tarihleri arasında Yaşar Üniversitesi’nde düzenlenen “19. Türkiye’de İnternet – İnet-Tr’14” konferansında sunduğum "Experience API ile Yaşam Günlüğüne Dayalı Öğrenme Deneyimlerinin Kaydedilmesi" " isimli bildiriye ait sunuma SlideShare'den erişilebilir.