I very much appreciate the comment from <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">crashanddie</span>,
I agreed with everything he said and have changed part of my proposal
accordingly. Here is another draft of my proposal. Further scrutiny is
welcome. :D<br><div class="im"><br>Zach<br>
<br>
<span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">Liqbase</span> Framework Development and Application Implementation<br>
-----------------------------------------------------------------------------------------------------------------------------------------<br>
<br></div>
Project Abstraction and Motivation:<br>
Assist in the development of the <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">liqbase</span> framework, and apply the <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">liqbase</span> framework as a <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">UI</span> for an interactive network/system monitoring tool. Motivations are as follows:<br>
<br>
1) Contributing: I have been a proud user and participant of the <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">Maemo</span> platform for nearly a year <br>
and a half now. For awhile now, I have been looking into contributing,
and with an opportunity given by Google Summer of Code, I know that I
can make a substantial contribution by being able to dedicate myself
full time to a project benefiting the <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">Maemo</span> Community.<br>
<br>
2) Technical: I seek to gain more experience in programming C, and to learn more about event driven and <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">UI</span> programming. My goal is to get into Unix/Linux systems programming.<br>
<br>
Project Full Description:<br>
<span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">Liqbase</span> is a highly innovative idea and project built initially for the <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">Maemo</span>
platform, it is touch based GUI geared towards speed and ease of use
even on minimal of hardware without compromising resolution or CPU
speed. With that being said, further open source development is much
needed to help Gary <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">Birkett</span> (<span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">lcuk</span>), the project's founder and administrator, to bring the development of the <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">liqbase</span> framework to the next level. One thing that the development of <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">liqbase</span>
can use more of is comments, code organization, and easy to read style.
I plan to add to this with my good organization skills, coding style,
and ability to effectively comment and document code within it's source
to benefit myself months later and other coders wishing to contribute
with relative ease to <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">liqbase</span>.
In terms of reorganization, I will strip unnecessary and redundant
code, further consolidate the code into a clear-cut API and library,
and help insure the <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">qualitity</span> of the code. This work will help structure the <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">liqbase</span> framework so that further development goes smoothly and further additions will be a breeze.<div class="im">
<br>
<br>
Furthermore, in addition to the maintenance to the status-<span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">quo</span> of <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">liqbase</span>, I plan on developing the GUI framework of <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">liqbase</span> so as to allow with ease for applications to be built on top of <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">liqbase</span>. As a proof of concept, I plan to build a Systems/Network monitor that uses the <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">liqbase</span> <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">UI</span>
framework to create a fully interactive and sleek application. This
application will use a server/client model where servers are set up on
remote machines and a client runs on one's tablet. The servers will
constantly transfer systems data to the listening clients, and the
client will display the host name of the connected server. When one
touches (clicks) the host name tile, precise and comprehensive systems
information will be displayed for that machine, including but not
limited to CPU usage, memory usage, processes and their <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">PID</span>, <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">mem</span> %, <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">cpu</span> %, and <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">uptime</span>.
Also, there will be a simple interface for securely managing aspects of
the systems such as killing that darn pidgin process that somehow has
94% CPU usage.<br>
<br>
In conclusion, my project aims to refine existing <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">liqbase</span> code, further develop the <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">liqbase</span>
framework for modular application addition, and to actually build and
document a Systems/Network monitor application so to establish a proof
of concept for other developers to write applications using the highly
interactive and innovative <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">liqbase</span> framework. :)<br>
<br>
Project tasks and <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">deliverables</span>:<br>
1) Reorganize, clean up current <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">liqbase</span> framework code.<br>
- Eliminate redundant code.<br></div>
- Add comments and documentation where necessary, such as API documentation<br><div class="im">
- Further consolidate the <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">liqbase</span> framework library and API the define a clear-cut set up library functions.<br>
</div>
- <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">Inusure</span> the <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">qualitity</span> of the code, patch major bugs if discovered<br>
- Define a clean looking coding style, a bit of polishing should benefit the <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">liqbase</span> code<br>
<div class="im">
- Help get <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">liqbase</span> ready for <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">Maemo</span> 5 <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">Fremantle</span>.<br>
2) Develop the core <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">liqbase</span> framework to allow for applications to be built on top of it.<br>
- Add to the incomplete aspects of the framework to allow for applications to be built on top.<br></div>
3) As a proof of concept, develop a visual Systems/Network monitoring application built on top of the <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">liqbase</span> GUI framework.<br>
- Develop server/client programs using the Berkeley Sockets interface<br>
- Write functions to retrieve systems information for the Systems/Network monitor.<br>
- Use the <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">liqbase</span> framework to interactively and beautifully display and manage the data on a <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">Nokia</span> tablet.<br>
4) Document the procedure for writing an application using the <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">liqbase</span> framework.<br>
- Write a tutorial or wiki page explaining how to write an application using <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">liqbase</span> as a <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">UI</span>.<br>
<br>
Project schedule:<br>
Now-May 23: Review All Code, Collaborate with <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">lcuk</span>, Submit patches where needed<br>
May 23-June 15: Project Task #1<br>
June 15-July 15: Project Task #2 full development<br>
July 15-August 17:<br>
- Project Task #3 with Task #2 refinement, testing, bug fixing<br>
- Project Task #4 writeup tutorial documentation, this shouldn't take very long