Skip to main content

FreeMind: Özgür Yazılım Dünyasından Zihin Özgürleştirme Hareketi

Bu geleneksel bir yazı değildir.

İnsan zihni, bilişsel bilim, zihin haritaları, psikoloji, beyin fırtınası, bilgi temsilleri, yazılım geliştirme, epistemoloji, metafizik, karmaşıklıkla başa çıkmak, Java ve özgür yazılımın faydaları ilginizi çekiyorsa buyrun okuyun.



Üç Yıl Önce Türkiye´de Bir Yer

Aralık 2002. Soğuk ve yağmurlu bir gün. Dostum Kıvılcım Hindistan ile Harbiye´de buluşuyor ve Askeri Müze´ye, inet-tr '02 etkinliğine gidiyoruz. İlk girdiğimiz salondaki masada tanıdık ve yabancı yüzler bir arada. Tanıdık yüz: Görkem Çetin. İlk kez karşılaştığımız adam ise Eran Sezgin. Görkem Çetin panel konusuna dair kısa bir konuşma yaptıktan sonra sözü Eran Sezgin´e bırakıyor ve bir sunum fırtınası başlıyor.

Kim bu adam? Bir asker. Aynı zamanda bir programcı. Donanmadan. Bir deniz aşığı. Özgür yazılımdan bahsediyor. Beni şaşırtan ise bunlardan hiçbiri değil.

Karşımda bir sunum fırtınası var! Hayır, PowerPoint ya da OpenOffice.org veya ona benzer bir programla yapılmış, bol efektli, sesli ve doğrusal olarak akan bir şey değil, basbayağı bir sunum fırtınası. Bir düşünceden diğerine zıplıyoruz, bir fikir sunulurken bir anda o fikir dallanıp budaklanıyor bir ağaç gibi. Ve onlarla ilgili detaylar, anahtar kelimeler, resimler. Ana temaya geri dönüyor ve oradan başka bir fikre geçiyoruz, yine bir dallanıp budaklanma hali. Karşımdaki kişinin beyin fırtınasının sonuçları ekrana yansımış durumda, kolayca ve hep birlikte üzerinde geziniyoruz.

Sonuç: Aradan 3 yıl geçti ve söz konusu zihin haritasını hala gözümün önünde canlandırabiliyorum. Keşke daha önce görseydim bu mind mapping yöntemini. Keşke daha önce bu şekilde plan/program yapabilseydim ya da ders çalışırken faydalanabilseydim diye düşünüyorum. Zararın neresinden dönülse kârdır ve bilmemek değil öğrenmemek ayıptır deyip okumaya devam edelim.




Mind Mapping: Düşünceler Arasında Kaybolmayın, Harita Çizin


1960´lı yıllarda İngiliz psikolog Tony Buzan, üniversitede aktarılan ders materyalini geleneksel yöntemlerle çalışmanın bir hayli karmaşık ve yeterince verimli olmayan bir iş olduğunu düşündü. Buzan´a göre öğrenciler anahtar sözcüklerden, resimlerden ve grafiklerden faydalanarak; beynin her iki yarısının yeteneklerini aynı anda kullanarak aynı malzemeyi çok daha kolayca öğrenebilir, akıllarında tutabilir ve arkadaşlarına, hocalarına anlatabilirlerdi.

Karmaşık ve detaylı bilgi yığınlarını sınırlı bir alanda ve akılda kolayca kalacak şekilde göstermek üzere çalışmalarına başlayan Buzan, 1960´lı yılların sonuna doğru "Mind Map" yani "Zihin Haritası" denen bir bilgi temsil yöntemi geliştirdi. Yazdığı kitaplarla "Mind Mapping" (Zihin Haritalama) yöntemini dünyaya tanıtan Buzan pek çok kişinin işini kolaylaştıracak temel bir sistem oturttu. Temelde yaptığı şey geleneksel yöntemleri yaratıcı zihne dayatmaktan vazgeçip insan zihninin işleyişini ortama yansıtmaktı.


x Bu gelişmeden bir süre sonra, 1975 yılında, bilişsel psikoloji dalında ve insan zihninde kavramların ne şekilde bağlantılı olduğu konusunda çalışan iki bilimadamı, A.M. Collins ve E.F. Loftus "A Spreading Activation Theory of Semantic Processing" başlıklı önemli makalelerinde bir tür semantik model önerdiler. Bu modele göre insan "kırmızı" gibi bir kavramı düşünür düşünmez zihninde bu kavramla en yakın ilişkili kavramlar canlanıyor ve sonra bu ikincil kavramlar "kırmızı" ile daha uzaktan ilişkili kavramların tetiklenmesine yol açıyordu. Bu modele göre insan zihni çok kısa sürede bir kavramdan yola çıkarak yüzlercesine ulaşabiliyor ve yaratıcılık sergileyebiliyordu.





Bunca laf kalabalığından sonra haklı bir soru. "Zihin Haritalama" nedir? Kısaca:




  • Bilgiyi organize etmek için bir grafik yöntemdir.

  • Beyin fırtınasını depolamak için bir araçtır.

  • Problem çözümünde yaratıcılık imkanı sağlayan bir düşünme şeklidir.

Geleneksel Yöntemlerin Dezavantajları

Zihin haritalama tekniği neyi çözüyor, neyin çaresi? Geleneksel yöntemlerle ilgili problemler neydi ki farklı bir yöntem önerildi?

Geleneksel not tutma ve bilgiyi doğrusal olarak hatırlama/sunma yöntemlerinin dezavantajlarına göz atalım:




  • İnsan zihni doğrusal bir süreç değildir, listeler, klasik sunumlar, vb. insanı doğrusal hareket etmeye zorlayarak kısıtlar.

  • İnsan zihni özellikle bir konuda düşünürken çağrışımsal çalışır, bir kavramdan diğerine atlar.

  • Geleneksel yöntemlerle not alırken fikirler unutulabilir.

  • Geleneksel listeler ve sunumları okumak daha çok vakit alır. 2 boyutta değil tek boyutta hareket edersiniz.

  • Bu yöntemle bir şeyleri akılda tutmak daha zordur.






Zihin Haritalarının Avantajları

Yarıtıcı düşünme ve bilgiyi organize etme bağlamında insan zihni ile daha uyumlu olan zihin haritalama yönteminin avantajları ise ağağıdaki gibi sıralanabilir.




  • İnsan zihni doğrusal değil çağrışımsal çalışır, zihin haritaları bunu modeller.

  • Zihin haritaları ile hem tek tek ağaçları hem de ormanı aynı anda görebilirsiniz.

  • Grafikleri ve bağlantıları kullanarak dikkatleri/dikkatinizi bir noktaya kolayca odaklayabilirsiniz.

  • Mantıksal düzen ile görsel düzen sentezlenmiştir, hatırlamak daha kolaydır.

  • İnsan beyni grafikleri, resimleri ve bunlarla ilişkilendirilmiş anahtar sözcükleri çok daha kolay hatırlar.






Zihin Haritaları: Uygulama Alanları

Bu yöntemi nerelerde kullanabilirsiniz? Beyninizin karmaşık ve/veya yaratıcı süreçlerle iş güç yapmak zorunda kaldığı, karmaşık bilgiyi kolayca erişilebilir kılmanın elzem olduğu hemen her yerde zihin haritalarından faydalanmak mümkündür.



x Somut olarak birkaç örnek vermek gerekirse:



Bilgi Tabanı Oluşturmak: Herhangi bir konuda ana temayı belirleyip bunun alt konularını ve bunlarla ilgili detayları not etmek.



Proje Haritası: Bir proje ile ilgili alt projelerin haritası. Bir bakışta projenin ana hatlarını görebilmek. Detaylar içinde boğulmamak ama gerektiğinde bunlara kolayca erişebilmek.



Makale Planlama: Bu yazıyı yazmadan önce FreeMind zihin haritalama yazılımı ile kabataslak bir zihin haritası oluşturdum. Web bağlantılarını, aklıma gelen fikirleri, konu ile ilgili kaynaklardan derlediğim kısa kısa notları harita üzerinde gruplandırıp detaylandırdım. Haritalama işi bittiğinde yazının da %99´u bitmiş, plan kafamda gayet güçlü ve görsel şekilde canlanmıştı bile.


Sunum Planlama/Gerçekleştirme: Bu yazının başını hatırlayın. Eran Sezgin sıradışı bir sunum gerçekleştirmişti ve insanlar uzunca bir süre sonra dahi bunu hatırlıyorlardı.


Yazılım Belgeleme: Bir yazılım projesinin kavramsal haritası, işlevleri bir zihin haritası olarak gerçekleştirilebilir. Ortaya çıkan görüntü ana işlevleri gösterir, bunlarla ilgili detaylar yavaş yavaş belirir. Hatırlayalım: Hem ormanı, hem ağaçları aynı anda görme, detaylarda boğulmama ve istendiğinde detaylarla ilgili verilere ulaşabilme.




Zihin Haritası: mini-NASIL

Zihin haritalarından faydalanmak için pek çok yazılımdan faydalanabilirsiniz ve zaten biraz sonra bu yazılımlardan bir tanesine dair detaylı olarak bilgi edineceksiniz ama unutmayın, önemli olan yöntemin gücünü fark edebilmek, kullanılan yazılımlar sadece birer araç.

Dosya kağıdı olarak tabir ettğimiz A4 büyüklüğünde bir kağıt genellikle pek çok şeyi barındırabilecek bir zihin haritası için yeterlidir (bir boy büyük kağıda yani A3 ölçüsünde kağıda ihtiyacınız varsa iki kere düşünün, problemi daha basite indirgemek mümkün olabilir mi?). Renkli kalemlerinizi hazırlayın. Kağıdın tam ortasına, merkeze, üzerinde düşündüğünüz kavramı, konuyu ya da problemi özetleyen ve en fazla bir iki sözcükle ifade edilebilen bir şey yazın. Bunu bir çember ya da elips içine alın. Sonra bu konu ile ilgili aklınıza ilk gelen kavramları yine benzer şekilde anahtar sözcüklerle merkezden uzaklaşarak yazın, bunların da etrafını çizin ve kalın çizgilerle merkeze bağlayın. Anahtar sözcükler, resimler ve grafikler kullanmaktan çekinmeyin. Daha sonra aklınıza gelen detayları biraz daha uzağa yazın ve farklı renkler kullanarak, çizgi kalınlığınızı incelterek bunları da daha önce oluşturmuş olduğunuz yan kavramlara bağlayın. Fikirleriniz geliştikçe ya da aklınıza yepyeni şeyler geldikçe zihin haritanızı değiştirmekten ve gerekirse yeni baştan çizmekten çekinmeyin. Birbirinden uzak iki grup arasında bir ilişki olduğunu düşündüğünde yine renkli bir kalemle bunlar arasında birer çizgi çizerek bağlantıyı vurgulayın.

Yukarıdaki prensipleri takip ederek oluşturacağınız bir zihin haritasının küçük bir alanda geleneksel yöntemlere kıyasla çok daha fazla bilgi barındırdığını ve kolayca aklınızda kaldığını fark edeceksiniz.




Özgür Yazılım Dünyasından Bir Armağan: FreeMind

Zihin haritalarını merak ediyor ve bu teknikle not tutmak, plan program yapmak istiyorsunuz. Kağıt kalem zor geliyor ve doğal olarak bilgisayarınızdan, bu konuda size yardımcı olmak için geliştirilmiş yazılımlardan faydalanmak istiyorsunuz. İşte bu aşamada devreye özgür yazılım dünyası ve FreeMind devreye giriyor.

2004 yılının Nisan ayında keşfettiğim bu yazılım uzunca bir süredir geliştiriliyor, bir hayli aktif bir kullanıcı ve geliştirici kitlesi var. Java ile geliştirilmiş FreeMind her türlü GNU/Linux sisteminde ve MS Windows üzerinde sorunsuz olarak çalışıyor. FreeMind´ı keşfettikten sonra programın özelliklerini ve ne kadar kolay kullanılabildiğini fark edip hemen uygulama başladım. Bana ilk yardımcı olduğu nokta İstanbul Bilgi Üniversitesi´nde geliştirdiğiiz eMBA uzaktan eğitim sisteminin ders destek sistemlerinden biri olan Kanteen sitesinin yazılım belgelemesi idi. Kısa bir sürede FreeMind´ı kullanarak, geliştirdiğimiz alt yapı ile ilgili işlevselliği gösteren bir zihin haritası hazırladım. Yazılım geliştirme ekibinin diğer üyeleri ile birlikte eleştirel bir gözle ortaya çıkan prototipi değerlendirdiğimizde üzerinde gayet kolay gezindiğimiz ve detaylara kolayca ulaşabildiğimiz, arama tarama yapabildiğimiz bu belge biçiminin sisteme dair teknik bilgi edinmek isteyecek programcıların işini bir hayli kolaylaştıracağına kanaat getirdik.

FreeMind´ın bir diğer önemli ve vazgeçilmez özelliği de oluşturulmuş zihin haritasını Internet´te birebir aynı görüntüyü sunacak şekilde yayınlamaya izin vermesi. Bunun için küçük bir Java applet´i, ve zihin haritanızın URL´sini barındıran bir HTML sayfası oluşturmanız yeterli. Bunun bir örneğini görmek için: http://ileriseviye.org/stuff/psy521/cogpsy2.html

Programın dikkat çeken yanlarından biri de veriyi bir XML dosyası olarak depolaması. Bu neden bu kadar önemli? Eğer yazılım dosyalarınızı tarayan ve buradan içeriği, yorum satırlarını, vs. çeken bir sistem geliştirir ve bunları da uygun bir XML formatında bir dosyaya yazarsanız bu dosyayı FreeMind ile görüntüleyebilirsiniz. Bu bakış açısından FreeMind, karmaşık bir veriyığınını çok kolayca kavramanızı ve onun üzerinde gezmenizi sağlayan bir tür veri gezgini (Data Explorer?) gibi de düşünülebilir.

Tabii ki Internet üzerinde bulabileceğiniz yegâne zihin haritası oluşturma yazılımı FreeMind değil ancak özgür yazılım olmasının getirdiği birkaç önemli avantajın altını çizmek lazım. Sourceforge sitesinde barındırılan bu projenin geliştiricileri sürekli forumları ve hata bildirim veritabanını takip ederek kullanıcılara çok sağlam teknik destek veriyorlar. Örnek vermek gerekirse ben yazılımı kullanmaya başladıktan kısa bir süre sonra karşılaştığım hatayı yardım forumunda belirttim ve hatanın tam olarak ne olduğu anlaşıldıktan bir gün sonra bir test sürümü Internet´teki FreeMind web sunucusunda indirilebilir halde beni bekliyordu ;-)




Sonuç

Eğer FreeMind´ı bilgisayarınıza indirip test sürüşüne başlamak için sabırsızlanmaya başladıysanız bu yazı işe yaramış demektir.

Unutmayın, bir konuya odaklandığınızda beyniniz size yardımcı olmak için elinden geleni yapar ve kısa sürede pek çok şey keşfedebilirsiniz, eğer elinizdeki teknikler ve araçlar beyninizin işleyişi ile uyumlu ise maksimum verimlilikte beyin fırtınaları geliştirebilir ve anında aklınıza gelenleri kaybetme tehlikesinden uzak durur, bağlantıları görmeye başlarsınız.

Not: Zihin haritalamanın bir aşama ötesi olarak gördüğüm kavram haritalama (concept mapping) konusuna maalesef bu yazı çerçevesinde değinemedim. Benzer kaygılara çözüm olarak geliştirilmiş kavram haritalamayı merak eden okuyuculara şimdilik önerebileceğim bir Türkçe kaynak olmamakla birlikte, hızlı bir giriş yapabilecekleri bu adresi önerebilirim. Bu yöntemle yapılmış ve Java'yı saran teknolojileri özetleyen bir kavram haritasını ise bu adreste Flash tabanlı olarak görmek ve incelemek mümkün.


Kaynaklar





Emre Sevinç

eMBA Yazılım Geliştirme

İstanbul Bilgi Üniversitesi

Comments

Popular posts from this blog

DigiTurk Magazine Reader

DigiTurk is the first and only fully digital satellite television provider in Turkey. In addition to satellite TV for millions of customers in Turkey, they publish magazines and run DigiWeb portal. Like many other magazing publishers, DigiTurk saw value in using Silverlight to provide a richer reading experience. But they took the idea a step further, and built a tool which can be used by any magazine publisher to create Silverlight-based magazines. Tim Sneath sat down with the team from DigiTurk to get a demo and hear about how they built this cool solution. http://www.visitmix.com/blogs/news/digiturk/

Ajax with the ASP.NET MVC Framework

Hopefully everyone had a good few days off. Before the holiday break, I did some app-building on top of the ASP.NET MVC framework. Actually rather than building some sort of fancy app, instead I was prototyping some features on top of the framework bits slated for an initial release. I've shared out the sample code, sample app and tests - yes, sorry for another tease :-)... but stay tuned... and you'll soon have actual bits to play with as well. Until then, you can download the sample code and browse it locally, and follow along the rest of the post. In particular there are two projects within the solution: TaskList (the web app) and AjaxMVC (a class library with Ajax extensions). One of the prototypes is around bringing some basic Ajax functionality - basically to get post-back-less partial rendering and some behavior-like extensions to associate with DOM elements - sort of like ASP.NET Ajax but in a manner that fits with the pattern around how controllers and views are writte...

Oracle Forms ile Web Servislerine Erişim

Geçtiğimiz günlerde çalıştığım şirket, başka bir yazılım şirketine teknolojik destek vermek için beni görevlendirdi. Oracle Forms Developer kullanılarak geliştirilmiş bir hastane otomasyonun bazı web servislerini kullanması gerekiyordu. 3-4 günlük bir çalışmanın ardından görevimi başarıyla tamamladım çok şükür. Yalnız gerçekten bu çok kolay olmadı. Çünkü Oracle Forms direkt olarak web servislerine erişmek için bir teknoloji barındırmıyordu bünyesinde. Yaptığım araştırmalar sonucunda Oracle Forms'un Java class'larını import edip, kullanabildiğini gördüm. İşte bu durumda problemi çözmüş olduğumu hissettim. Ama yinede beni bekliyen engeller vardı. Bundan emindim çünkü hiç bilmediğim bir ortamda bilmediğim kodları yazacaktım. Ayrıca java konusunda bilgi sahibi olsamda çok tecrübeli değildim ve uzun zamandır java ile ilgilenmemiştim. Ve düşündüğüm gibi birçok problem çıktı karşıma. Ama yinede bu problemleri tek tek aşıp çözüme gitmeyi başardım. Bir Murphy kanunu: "Eğer çıkması ...