GSoC 2009 - Mind Mapping Tool - Draft



Hi everyone,

I send my proposal draft. I would like to know the opinion of the community.
My English is not very good, you will notice. Correct me, please.

====

Mind Mapping Tool for GNOME

* What is the ultimate goal of your proposal?

  Crate an easy to use and pretty mind mapping tool for the GNOME Desktop which
  will help to manage ideas in a graphical way, and as an aids in note taking (
  classroom, work meeting, etc), planning, tasks.
 
* What components/modules will it touch/change or create?

  It seems that I will not make changes to any existing module in GNOME because
  this proposal is for a new application.
 
  This application contemplates the following components:
 
  - Brainstorm. A wizard for "New Map" with a list on it supporting add, delete,
                arrange text entries. These items will be automatically arranged
                radially around the map title.
               
  - Map Designer. Graphical editor for adding branches, pictures, emblems,
                  links. Features: curvilinear branches, colors (background,
                  lines, text, areas, borders, ...), manual arrangement.
               
  - Note Editor. Rich text editor for node's comments with simple features like
                 italic, bold, strikeout, underline, highlight, hyperlink, etc.
                
  - Outliner. Tree structure for map nodes allowing edit hierarchy, order, text.
 
  - Image Exporter. Save a snapshot of the drawing area into a image file.
 
  - Map Files. Component for loading/saving maps from/to a file. I am thinking
               in an XML file and resource directory into one archive file.
 
  Wish List
 
  - Zooming. Zoom In/Out drawing area (how hard is it?).
  - Auto-arrangement. Map editor feature for branch auto-positioning.
  - Open Clip Art Library. Support for an image library using OCAL meta-data.

* What benefits does it have for GNOME and its community?

  I find mind maps a great tool for my school/personal projects and every time
  I start one I have to switch to OS X to make my map and get back to GNOME with
  a static image and I do not like that because always there are changes while I
  am working (scope, new ideas, etc) and I can not edit the map until next
  switch. My friends have the same problem, there is one who says that because
  of this he will never migrate to Linux :-(
 
  This is one of those tools missing in GNOME and the whole community could get
  benefited. The people who use mind map everyday and who does not will have an
  option to try to them.
 
  As far as I know there is no official mind mapping application for GNOME, so
  this proposal can fill this empty space.
 
  It is true that there is Labyrinth [http://code.google.com/p/labyrinth] but I
  feel is not a very attractive application for a few reasons:
  - Its diagrams look like general purpose ones (I can get quite similar results
    using Dia [http://live.gnome.org/Dia]). I have the idea of mind maps are all
    about shape and color.
  - It is written in Python and I am not a fan of interpreted languages at least
    not in desktop development. Do not misunderstand me, I think they are great
    tools but I like more compiled ones.

  There is also FreeMind [http://freemind.sourceforge.net] but almost it is the
  same history besides to be a GNOME stranger.

* Why you'd like to complete this particular project?

  I want to get involved with a open source organization (GNOME). And Google
  Summer of Code was created with this in mind. I wanted a project with a GUI
  and drawing stuff, when I was looking for ideas I did not find any idea that
  get me more exited than my mind mapping idea.
 
  I think there is a lack of cool mind mapping tools on Linux, and according to
  Torvalds, the Linux philosophy is 'Do it yourself'.

* How do you plan to achieve completion of your project?

  I am thinking to use C language for all the programming, create a GUI based on
  GTK+ and use Cairo for drawing tasks. Clutter seems to be very popular these
  days but I do not know if it can be used for image exporting with Cairo is
  quite simple thanks to his backends.

  Milestones / Deliveries
 
  - M1: 1st Map Designer
  > All Black & White
  > Just branches with text.
  > Manual arrangement
 
  - M2: Map Files & Notes
  > Plain text notes
  > Save & Load XML files
    > Bug Fixes
   
  - M3: Image Exporter & Outliner
    > PNG support
    > Outliner
    > Bug Fixes
   
  - M4: 2nd Map Designer
    > Branch Links
    > Colors (background, lines, text, areas, borders, ...)
    > Bug Fixes
   
  - M5: 3rd Map Designer & Archive Files
    > Emblems
    > Pictures
    > Save & Load Archive files
    > Bug Fixes
   
  - M6: Brainstorm
    > New Map Wizard
    > Auto arrangement (new map, one level)
    > Bug Fixes
   
  - Final Release
    > Optimizations
    > Bug Fixes
   
* Why do you think you are be the best person to work on this project?

  I really like mind maps, I use them very frequently and I am familiar with
  related tools (Novamind, MindManager).
 
  I love open source software. My favorite distro is Gentoo Linux. So, as you
  can see I do not have any problem in investing time to get things works :-P
 
  I think I am a good programmer, my friends says so (after all they are my
  friends). I am usually known as the best of the class, specially in
  programming (not very humble from my side -_-u).
 
  I already have seven years programing. I was 15 years old when I write my
  first hello world in visual basic. I have a lot of practice in C and Java. I
  also have spent a lot of time in learning software engineering focusing on
  object oriented design using UML.
 
  Also, The idea of implementing a mind mapping tool come from me and not from
  the mentor organization ideas list. I have had the curiosity to develop a
  diagramming application for a while. Looking for ideas about GSOC I found the
  article "Mind Mapping" [http://live.gnome.org/MindMapping] and it encourages
  me to purpose this idea.

* What are your past experiences (if any) with the open source world?

  I have never developed an open source application but I am evolved in a Linux
  users group at school. I coordinate sessions every week about free software
  development, last semester I teached GCC for about 15 weeks, the programme
  was based on the book "An Introduction to GCC" and this semester I am teaching
  (learning) GTK+ following the basics of the Official GTK+ 2.0 Tutorial and
  creating a practical guide "developing a game (sokoban)".

* Why are you interested in improving GNOME?

  GNOME is my desktop for daily work/fun and any improvement to it makes my
  life nicer. I have been studying GTK+ for a few months now and I have found it
  really great. I like the GObject System, C language is my favorite and mixed
  with object oriented concepts is awesome.
 
  In the other hand, I am a mexican developer and the most famous mexican free
  software developer is Miguel de Icaza and GNOME is one of his babies. I sound
  like a groupie :-)

* Please attach a link to a bug (bugzilla.gnome.org or other Free software
  tracker) containing a patch you've written.

  I have never made a patch for any project but I reported a bug once and
  explained how to fix it with code suggestions. I was really busy that time and
  when I wanted to make the patch someone had already made it.
 
  https://xhtmlrenderer.dev.java.net/servlets/ReadMsg?listName=dev&msgNo=3858

====


.: Software is like sex: it's better when it's free.
--------------------------------------------------------------------------------------------------------------------
Eddy Zavaleta | E ezavaleta users sourceforge net | IM ezavaleta jabber org


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]