Hello all,
I'm a student at the Georgia (US) Institute of Technology seeking to
participate in Google's Summer of Code for the general Linux
community. Please forgive this mass distribution, as I was very
unsure of where to send this message to. I'm thinking of sending my
proposal to the KDE, openSUSE, and Fedora communities. I know it's
kind of late to try, but I just realized that I indeed could (and
should) try with an idea I've had festering for a while. I've pasted
below an informal and abridged version of my proposal in the hopes
that I can first get some feedback and input on it. Please, any ideas
and constructive criticism are perfectly welcome and encouraged. ;)
~Nicholas (Alex) Marquez
My name is Nicholas Marquez, and I am a 19-year-old 2nd year
undergrad in CS at the Georgia Institute of Technology. (I am,
however, a 4th year by way of credits.) [I have a good bit more
biographical information to provide, but I'll do so in the formal
version of this.]
In terms of my project proposal... partition management is a bit
of a niche topic, given that it is rarely used in an active manner,
apart from the preparation of the disk in installation and the
tweaking of the disk for power users. Nevertheless, one is given a
few tools with which to do this... one of them being QTParted.
However, this was last actively developed in 2005... 3 years ago.
Worse still, GParted has been suffering from development draught for a
while, only recently gaining a much needed C++ dev. To be clear, I
mean no disrespect to either project. They are simply in need of
updating and a development surge. I do, however, feel that the need
is here for something new and more sustainable for the coming years.
What I propose is that I base something new on VisParted (a recent
GParted fork for partedmagic):
~Abstract it a tad more and adapt it to QT instead of GTKmm (which
seem quite similar).
~I also wish to add optional extra functionality to partition
operations (like block sizes and whatnot) in the form of an extension
arrow in the dialog box for the partition operation.
~If time permits, I'd also like to make it such that one can use
the program as a widget primitive of sorts (a component) to insert it
into installation wizards or any sort of program needing such
functionality.
~Perhaps make the viewing of the partitions separate from the two
panels provided and abstracting the ways that one can change the
partitions (so that one could use, for example, a popup-menu for
that), such that one could easily put it into a Plasma applet to
niftily monitor disk space. Certainly this can be done with KPart,
but I'd rather first see if one could do it in pure QT first, and then
add the option to use a KPart.
~If time permits, I'd like to make certain graphical primitives
(tabs, dialog, etc.) for VisParted and thereby allow it to use either
a QT "backend" or a GTKmm one (of course leaving it abstracted out
enough to provide even an ncurses backend). This program could
hopefully then become the de facto standard for Linux distribution
installation, by embedding it in the native toolkit inside of the
installation medium used.
~Other more minor things that could be done are the possibility
to click on the "X" (denoting lack of functionality for a certain
filesystem type in the capabilities table) which would seek the
required external program via the system's native package manager
(through pluggable scripts that individual distro's developer's can
provide).
This would all make the resulting program a very distinct fork of
VisParted and so would require its own support base and name (though
perhaps the maintainers of VisParted could be contacted and asked to
use this new version, given that it can use a GTKmm backend; thereby
keeping the name). I have indeed viewed the VisParted source and like
what is there thus far, but see far more potential. I have never used
QT before nor C++, but they appeal to me and I'd like to take this
project as a chance to learn how to use them. I do not pretend that I
am the "right person" for this task. I'm sure there are plenty of
other developers out there with more experience in this sort of thing
than I and with possibly more time to dedicate to it. I am, however,
offering myself as available and very interested and willing to
develop this application.
I can offer that I'll work likely around 10~20 hours a week on
this project, given that I plan to intern over the summer as well. (I
don't wish to lie about my availability to the community.) I am
perfectly comfortable working with a mentor through solely online
interaction. As far as where I will be over the summer... this I am
not certain of yet, but I can provide the information as soon as it
becomes available. If need be, I am also fluent in Spanish and
French, and so I can communicate with a developer of that native
language, if it is more convenient to the community. I sincerely hope
that there is interest in this idea, as GUI paritioning has been
ignored and really needed a new breath of life for a few years.
Thank you for your consideration,
Nicholas (Alex) Marquez
nmarquez3(a)gatech.edu (alias: nicholas.marquez(a)gatech.edu)