learning experiences recording etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
learning experiences recording etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

29 Ocak 2013 Salı

Management of Learning Experiences with Lifelogging

Yaşam Günlüğü ile Öğrenme Deneyimlerinin Yönetimi

Ocak ayı içerisinde LifeLoggingSC, LifeLoggingCC ve LifeLoggingCCPhone yazılımlarını geliştirmeye devam ederken bir yandan da bu yazılımlarla elde edilen görüntülerin değerlendirildiği LifeLoggingLE yazılımını da tasarlamaya başladım.

LifeLoggingLe yazılımı kullanıcının kamera görüntüsü ve ekran görüntülerine ait kayıtlardan yararlanarak yaşamış olduğu öğrenme deneyimlerine ait etkinlik, olay ve öykülere ait not, yorum ve gözlemlerini girmesine ve daha sonra bunları inceleyerek değerlendirebilmesine  olanak sağlayan bir yazılımdır. 

Ekran ve kamera görüntüleri kullanıcının yaşadığı öğrenme deneyimlerine ilişkin birer hatırlatıcı (hatırlamayı destekleyici) öğelerdir. Bu görüntüler  etkinlik, olay ve öykülere ait birer içerik (content) olmayıp, etkinlik, olay ve öykülere ait birer bağlam (context) durumundadırlar.

Veritabanı seçimi

Daha önceleri Windows Phone 7.1 için yazdığım AllMyListsPhone programında LINQ to SQL kullanmıştım. Bu nedenle LifeLoggingLE için de .NET 4.5 üzerinde SQL LocalDB ve LINQ to SQL kullanmayı planladım. Ama daha sonra SQL Local DB için SQL Server Express kurulması gerektiği, bu yazılımın da120 MB olduğu ortaya çıktı. Kolay taşınabilirlik için SQL CE 4.0 kullanmaya karar verdim. SQL CE 4.0 64 bit için hem geliştirici hem de kullanıcı için en fazla 2.5 MB büyüklüğünde bir yükleme gerektiriyor. Fakat incelemelerim sonucunda SQL CE 4.0 üzerinde LINQ to SQL kullanılamadığı ortaya çıktı. En son SQL CE 3.5 SP2'de bu özelliğin olduğunu (AllMyListsPhone'da bunu kullanmıştım) ve SQL CE 4.0'a taşınmadığını belirledim. Sonuç olarak LifeLoggingLE yazılımını WPF 4.5 üzerinde ve SQL CE 4.0 veritabanını geleneksel System.Data.SqlServerCE API'si kullanarak yazmaya başladım. 

Bu konuda http://erikej.blogspot.com/2011/01/comparison-of-sql-server-compact-4-and.htmlhttp://erikej.blogspot.com/2012/04/using-linq-to-sql-with-sql-server.html ve http://blogs.msdn.com/b/jerrynixon/archive/2012/02/26/sql-express-v-localdb-v-sql-compact-edition.aspx kaynaklarına başvurulabilir.

SQL CE 4.0 ortamında LINQ to SQL kullanmak için SQL Server Compact Toolbox isimli bir Extension bulunmakta  http://visualstudiogallery.msdn.microsoft.com/0e313dfd-be80-4afb-b5e9-6e74d369f7a1. Bunları kullanmak yerine Microsoft'un bir çözüm geliştirmesini bekleyeceğim.

Ekran tasarımı

Programda üst panelde "Capture" klasörlerinden gelen görüntülere ait bant bulunacak, ortada seçili görüntünün büyük görüntüsüne yer verilecek, alt bantta ise seçili resim(lere) yönelik olarak veritabanına girilecek yorumlar için bir bant bulunacaktır. En altta ise bir zaman çizgisi şeklinde yıl-ay-gün bilgisinin seçilebildiği bir takvime yer verilecektir. LifeLoggingLE programında klasörlerden görüntüleri alarak bir bant şeklinde görüntülemek amacıyla Microsoft PhotoStore Sample'dan yararlandım (http://code.msdn.microsoft.com/windowsdesktop/Photo-Store-Demo-2777188e). 



Yaşam günlüğü görüntüsü yakalama yazılımlarından elde edilen görüntüler, bu yazılımların çalıştığı bilgisayarda bu amaç için belirlenmiş bir klasörün altında aşağıdaki alt klasörler şeklinde gün bazında biriktirilecektir (Windows Phone 8'de görüntüler henüz CameraRoll'da saklanmakta, tablet ve masaüstünde çalışan Windows 8 için bu özellik hazır) :


\LifeLogging\<Bilgisayar Adı>\2013.01.17\ScreenCapture
\LifeLogging\<Bilgisayar Adı>\2013.01.17\CameraCapture

LifeloggingLE yazılımı şu andaki aşamada bu klasörler arasında takvimde seçilen bir güne ait olan klasördeki  görüntüleri ekrana yükleyebilmekte ve kullanıcının bu görüntüler üzerinde veri panelindeki hücrelerle senkronize bir biçimde gezinmesine olanak sağlamaktadır. Kullanıcı ayarlardan ScreenCapture ya da CameraCapture seçimi yapabilmektedir. 

İzleyen aşamalarda veri girişi, çoklu görüntü seçimi ve bu seçime yönelik veri girişi gibi özellikler eklenecektir. Veri panelinde Kayıt (log), Etkinlik (Activity), Olay (Episode) ve Öykü (Story) gibi değişik düzeyde temel verilerin girilebilmesine olanak sağlanacaktır. Bunların dışında kullanıcıya ayrıca öğrenme deneyimlerine ait bilgileri girebileceği bir veri katmanı da sunulacaktır. 

Öğrenme deneyimlerinin yönetimi için yararlandığım kuramsal altyapıya ait yayınları kisiselogrenmeortamlari.blogspot.com'da yayınlayacağım. LifeLoggingLE programının sadece öğrenme deneyimlerinin yönetimi için değil, kişisel bilgi yönetimi için de geliştirilmesi mümkündür. Bu yöndeki düşüncelerimi bu blogta yayınlamaya devam edeceğim.

Görüntü verilerini birleştirme

Projede telefon, tablet ve masaüstü bilgisayarlarda elde edilen kamera ve ekran görüntülerinin bir ana bilgisayarda bir araya getirilmesi ve görüntülerin bu bilgisayarda çalışan LifeLoggingLE yazılımı ile değerlendirilmesi öngörülmektedir.

Görüntülerin diğer aygıtlardan ana bilgisayara aktarılması amacıyla bulut depolama yaklaşımı uygulanabilir mi? Bulut çözümü için aşağıdaki senaryoyu geliştirdim. 

  • Microsoft Skydrive, Google Drive ve Dropbox’da Selective Sync özelliği bulunmakta.
  • Client bilgisayarlarda (Tablet, Phone, İş bilgisayarı) “Bu bilgisayara yalnızca bazı klasörleri senkronize et” seçeneğinde sadece client bilgisayardaki \LifeLogging\ klasörü  seçilecek. 
  • Ana bilgisayarda ise tüm client bilgisayarların klasör isimleri seçilecek. Böylece dosyalar client bilgisayardan buluta, buluttan da ana bilgisayara doğru akacak. 
  • Ana bilgisayardan client bilgisayar klasörlerine herhangi bir dosya yazma/silme işlemi yapılmayacağı için veri akışı sadece client bilgisayarlardan buluta, buluttan da ana bilgisayara doğru olacak. Tersi yönde bir veri akışı oluşmayacak. 
  • LifeLoggingLE yazılımının veri dosyası ana bilgisayarda tutulacak ve bu bilgisayardaki görüntü klasörlerine erişilecek. 
  • Ana bilgisayarda aşağıdaki gibi bir klasör yapısı ortaya çıkacaktır.
...\LifeLogging\<Bilgisayar Adı1>\2013.01.17\ScreenCapture
...\LifeLogging\<Bilgisayar Adı1>\2013.01.17\CameraCapture
...
...\LifeLogging\<Bilgisayar AdıN>\2013.01.17\ScreenCapture
...\LifeLogging\<Bilgisayar AdıN>\2013.01.17\CameraCapture
  • Kullanıcının zaman çizgisi boyunca herhangi bir anda sadece bir aygıtı kullandığı varsayılacaktır. Böylece herhangi bir anda sadece bir aygıt üzerinde ekran ya da kamera görüntüsü elde edilecektir. Diğer bir deyişle yukarıdaki klasörlerin çoğu günlük deneyimde oluşturulmayacaktır. Ya da bir klasörde çok sayıda dosya varken diğer klasörlerde az sayıda dosya bulunacaktır.
  • Kullanıcı LifeLoggingLE yazılımı ile sadece ekran görüntüsü - kamera görüntüsü klasörü ve tarih seçimi değil aynı zamanda blgisayar seçimi de yapmak zorundadır.
  • Bu yaklaşım ile aktarılacak dosya sayısı, toplam depolama alanı büyüklüğü ve depolama maliyeti hesaplamaları yapılmalıdır.

Bu senaryonun uygulanabilirliği test etmek amacıyla çalışmalar yapacağım.

Design of Lifelogging Image Capture Applications - 2

Yaşamgünlüğü Görüntü Yakalama Uygulamaları Tasarımı - 2

Aralık 2012 ayı içerisinde tasarımına başladığım görüntü yakalama yazılımlarına Ocak 2013 ayı içerisinde bir takım ayarlar ve sensör bilgilerini yakalama özellikleri ekledim.

LifeLoggingSC ekran görüntüsü yakalama yazılımına eklenen özellikler

LifeLoggingSC yazılımında Image Quality, Image Size, Capture Folder, Capture Interval ve File Prefix değerleri ayarlanabilir hale getirildi. 


Böylece kullanıcı programın Settings menüsünden yararlanarak resim kaydetme aralığı, resim kalitesi (jpeg quality), ekran çözünürlüğüne göre belirlenen resim büyüklüğü ve görüntülerin kaydedildiği klasörü belirleyebilmektedir.


LifeLoggingSC'de yapılan diğer bir değişiklik ise Screen Video Recording özelliğinin kaldırılması olmuştur. Böylece programın Expression Encoder bağımlılığı sona erdirildi. Ekran yakalama yazılımını gelştirmeye ilk başladığım günlerde yazılım forumlarında masaüstünde çalışan ekran yakalama yazılımlarının Windows 8 Başlat Menüsü ve Windows Store uygulamalarına ait ekran görüntülerini kaydetmediğine ilişkin çok sayıda yorumla karşılaşmıştım. WPF 4.5 ile bir masaüstü uygulaması olarak geliştirdiğim LifeLoggingSC programında bu sorun bulunmamaktadır. Hem masaüstü hem de Windows Store ekranları kaydedilebilmektedir. 

LifeLoggingCC kamera görüntüsü yakalama yazılımına eklenen özellikler

LifeLoggingCC'de ise Capture Interval, Image Quality ve Capture Prefix seçenekleri eklendi.

  
Bu yazılımda görüntü büyüklüğü 640x480 olarak sabitlenmiştir ve görüntü kalitesi henüz değiştirilememektedir.



LifeLoggingCCPhone kamera görünütüsü yakalama yazılımına eklenen özellikler

LifeLoggingCCPhone'da ise Capture Interval seçeneği eklendi. Standart 640x480 büyüklüğünde resim kaydedilmekte ve henüz bu aşamada görüntü kalitesi ve kaydetme klasörü (CameraRoll) değiştirilememektedir. 

Sensörler

Uygulamalara eklenen diğer bir özellik ise Tarih ve Saat etiketlerinini yanısıra sensör bilgilerinin algılanması olmuştur. 

LifeLoggingCC  görüntü kaydederken aynı zaman konum bilgisi, hız bilgisi ve ışık düzeyi bilgisini de belirleyebilmektedir. LifeLoggingCC denemeleri emülatörde gerçekleştirilmektedir. Gerçek denemeler için Windows 8 yüklü bir tabletin gelmesini bekliyorum.


LifeLoggingCCPhone ise görüntü kaydederken konum ve hız bilgisini de algılamaktadır. Programın denemeleri emulatör üzerinde gerçekleştirilmekte olduğundan dolayı gerçek denemeler için bir Windows Phone 8 telefonunun gelmesini beklemekteyim.


LifeLoggingSC'ye herhangi bir sensör algılaması eklenmemiştir. Sensör bilgileri henüz bu aşamada kaydedilmemektedir.  Sensör bilgilerinin resimlere gömülebilmesi için araştırma yapacağım.

Uyku modu

Geliştirilen ekran ve kamera görüntüsü yakalama yazılımlarının sürekli çalışabilmesi için üzerlerinde çalıştıkları aygıtların uyku moduna geçmemeleri gerekmektedir. Uyku modunda yazılımlar ya son yakaladıkları görüntüyü saklamaya devm ediyorlar ya da siyah ekran kaydediyorlar. Masaüstünde uyku modunu kapatmak çok sorun yaratmaz. Tablet'te bu durum kullanım süresini etkileyecektir. Telefonda ise uyku modu iptal edilebilir mi araştırılacak. 

31 Ağustos 2012 Cuma

Yaşam Deneyimlerini Kaydetme

Yaşam Deneyimlerini Kaydetme

kisiselogrenmeortamlari.blogspot.com adresinde yaşam deneyimlerini kaydetme ile ilgili yapmış olduğum yayınları bu blogda devam ettirmeye karar verdim. kisiselogrenmeortamlari.blogspot.com'da yapmış olduğum yayınlar şunlardı:

Kişisel öğrenme deneyimlerini kaydetme ile çalışmalarım 2011 Temmuz ayından itibaren AllMyLists yazılımını geliştirme sürecimle birlikte başladı. AllMyLists yazılımı daha sonra AllMyListsWPF, AllMyListsPhone, AllMyListsMetro sürümleri ile devam etti: 
Haziran 2012'de Kişisel Bilgi Yönetimi alanında bir Wiki sayfası oluşturdum:
AllMyListsMetro yazılımının PLE Başlangıç Sayfaları hazırlamak amacıyla kullanılabileceğini AECT 2012'de (30 Ekim - 3 Kasım 2012, Louisville, ABD) sunacağım "Technological Developments Observed in the PLE Diagrams and Sustainability" isimli bir bildiride ele almayı düşünüyorum. 

AllMyListsMetro yazılımı ile yaşam deneyimlerini kaydetme konusundaki çalışmalarımı XVII. Türkiye'de İnternet Konferansı'nda (8-9 Kasım 2012, Eskişehir) sunmak amacıyla "Lifelogging (CARPE ) Uygulamaları ve Yaşam Deneyimleri Kaydedicisi İçin Bir Bilgi Mimarisi" isimli bir bildiri hazırlıyorum.

Lifelog konusundaki çalışmaları izlemek amacıyla bir wiki sayfasını oluşturdum:

Ağustos 2012'de FutureLearning 2012 Konferansı (14-15 Kasım 2012, İstanbul) için "A Mobile Information Management Framework Proposal for the Developing of Personal Learning Environments" isimli bildiri özetim kabul edildi. Gelecek hafta bildiri tam metnini göndereceğim. Bu çalışmada Yaşamçapında öğrenme deneyimlerinin kaydedilmesine yönelik bir çerçeve tasarladım. Bildiride AllMyListsMetro yazılımı hem bir PIM hem de bir PLE olarak değerlendirilmektedir.

2013 yılı içinde Microsoft SenseCam kamerası (1) (şu anda http://viconrevue.com'da satılmaktadır) ile Google Glass gözlüğü (2012 sonunda satışına başlanacaktır) edinerek AllMyListsMetro yazılımı ile özellikle öğrenme deneyimlerinin kaydedilmesine ve değerlendirilmesine yönelik ampirik çalışmalar yapmayı planlıyorum. Bu amaçla bu iki cihazın AllMyListsMetro yazılımına kayıt yapmasını sağlayacak düzenlemeler yapmam gerekiyor. Deneylerin değişik öğrenme ortamları için (informel, formel, non formel) tasarlanması gerekiyor. Deneyimlerin değerlendirilmesine yönelik bir yaklaşım geliştirmeliyim. Ayrıca bu çalışmaların bir proje kapsamında yapılabilmesi için gereksinimleri araştırmalıyım.




Siteler(1)
http://research.microsoft.com/sensecam