Skip to content

Kalzium Beautification

March 28, 2009

Name Kashyap R Puranik
Nick kashthealien / kashyap on IRC channels and forums
Email: kashthealien (at) gmail (dot) com
Project: Kalzium Beautification.

Project Details:
Kalzium is a periodic table of elements software, which has a database of all elements. It is a widely used education tool. It has tools like the 3-D molecule viewer, plotting widget, equation balancer, molecular mass calculator, etc.

I plan to work on Kalzium beautification, this project is essential because, some parts of Kalzium have been written in HTML, and HTML tabs have been inserted in Qt widgets with a style sheet. The code in most files look lengthy and unnecessary. This can be replaced with QWidgets which will look much better. The code would then be  a lot cleaner, easier to understand and maintain for developers.

Other than that, Kalzium can really use cool plasmoid widgets. The QWidgets that will be written by replacing HTML can be reused in them. Many existing widgets / dialogs in Kalzium could be made more beautiful using plasma. Some plasmoids like the ‘did you know’ plasmoid that have already been started (but incomplete) will be completed. I plan to create the ‘Multiple choice questions’ plasmoid too. These plasmoids can be used in Avagadro as well.

The following are the tasks that will be done

* Conversion of HTML elements to the Qt model view.
* Beautification of the main table using Qt and SVGs.
(http://github.com/cryos/avogadro/blob/master/libavogadro/src/periodictableview.cpp)
I will work inside avagadro on the above mentioned code and after the completion and then port it over in Kalzium.

Cleaning up the following classes by replacing the HTML-code with QWidgets and SVG-graphics:
Detailed Info Widget
Somwidget
Time widget

* Beautification of the nuclideBoard widget and fixing of bugs in it.

* Simplified version of Kalzium where the user can choose the view from minimalistic to detailed. This can be used in schools.
This will result in an easier menu structure, also less information in the info dialog.
This can be done using configurations and settings which are easy to handle. This can be triggered on first use.

* Documentation: Code comments will be added to all files. This is not present in all files.
(Code comments and API documentation for reuse and maintenance).

* An independent plasmoid widget for Kalzium, which shows the periodic table and the detailed info widget only.
* Completion of the ‘Did you know’ plasmoid.
* Completion of the ‘Multiple Choice Question’ plasmoid.

======================================================================
Timeline
======================================================================
Stage 0: (Before May 5th)
Learning advanced Qt. I know the basics of Qt and how most of Kalzium has been written.
Going through the Kalzium + some of Avagadro source code completely to know what else needs improvement.
Stage 1: (Before May 5th)
Learning about plasma and plasmoid widgets. Making sample plasmoid widgets and testing them.

**** I will start the coding after this stage.

Stage 2: ( 1 week )
Making the main table scalable. Using the code from the URL mentioned above, completing it and porting in Kalzium.
Stage 3: ( 3 week )
Cleaning up the detailed Info widget and using Qt Model/View to recreate it.
Beautification of the nuclideBoard widget.
Elimination of HTML from somwidget and timeWidget.

**** At this point the HTML content usage will be removed.

Stage 4: (2.5 weeks )
Making a simplified version of Kalzium. Having an option to choose the detail.
Simplified menus / tables.

****

Stage 5: ( 1 week )
Completion of the ‘Did you know’ plasmoid.
Stage 6: ( 1 weeks )
Creation of the ‘Multiple choice questions’ plasmoid.

****    At this stage the plasmoids will be complete

Stage 7: (2.5 weeks )
Cleaning up of code.
Completion of documentation. ( As mentioned above )
Fixing of bugs
Beautification of the plasmoids.

**** Project duration 11 weeks.

Stage 8: If time permits
Plasmoid widget for Kalzium. (The main table + detailed Info Widget)  [ 1.5 weeks ]

Note: some of the plasmoids, code have already been started but are incomplete.
I will have buffer time of 2 weeks so that, I can use more time where I need.
Also I plan to start early (May 5th) before the announced date (May 26th). Since I already have a KDE SVN account, I can start adding code early. I have 3 months- May, June and July totally free so I can spend a lot of time on the project.

======================================================================
Introduction
======================================================================
My name is Kashyap R Puranik. I am 18 years old. I am pursuing my undergraduate degree, that is, B.Tech in the Department of Computer Science and Engineering at Indian Institute of Technology-Madras, Chennai, India. I am currently in the second year of college. I am a native of Bangalore, India. My nick is kashthealien on the IRC. I have been playing around with Kalzium for about a year. I checked out the code of Kalzium in October and started contributing for Kalzium in December. I have contributed a few patches that fixed bugs, and I have started working on some of the ideas in the TODO file. I have added a small feature using which the plot widget can selectively plot different types of elements. Also I have contributed for the Wikipedia integration of Kalzium.

I love open source software and I have used a lot of open source software for programming, web-design and other activities. I feel its my turn to stop being a free-rider and offer my contributions to the open-source world on a larger scale. I believe GSoC is the an excellent opportunity where I can do the same. I have cleared the JEE (an entrance exam) 2 years ago, where I studied a lot of chemistry. I really wanted to create a chemistry based software for calculating stuff, naming compounds based on conventions (IUPAC), etc. I did not have much knowledge of professional coding and software then. I later came across Kalzium, which does most of what I wanted. It could have been of great use to me when I was learning as a chemistry (science) student. This has brought me to Kalzium.

======================================================================
Contributions to Kalzium
======================================================================
Bug-fix -Patch for element data viewer. A bug that plots unknown values as known. http://bugs.kde.org/show_bug.cgi?id=120150
SVN commit 899243 by Cneihaus

A bug that allows negative range of elements for plotting. Bug-fix -Patch for element dataviewer
SVN commit 899885 by Cneihaus

A bug that shows no-units instead of years. Bug-fix -Patch for element parser
SVN commit 910780 by Asimha

Feature – patch for the wikipedia integration for Kalzium.
SVN commit 936674 by Cneihaus

Feature -Patch for element dataViewer. The user can select the type of elements that he wants to add.
SVN commit 936674 by Cneihaus

Feature -Patch for settings for the detailedInfoDialog. The user can select the language of their choice for wikipedia to open in.
SVN commit 941750, 941939, 941981 by kashyappuranik

Bug-fix SVN commit for elementDataViewer. Fixes a minor bug that shows elements that don’t belong to the range.
SVN commit 941944 by kashyappuranik

BUG-fix / feature SVN commit for nuclideboard , nuclideboardView, isotopeDialog.
Fixed a few bugs and added slider for zooming in nuclideboard.

I have been involved in coding for my institute’s websites which includes the website for our cultural festival, Saarang (www.saarang.org). I have been programming in C and C++ for the past 5 years. I have been learning Qt for usage in Kalzium for the last 2 months.

Advertisements
4 Comments leave one →
  1. Vinay Hegde permalink
    March 28, 2009 6:49 pm

    Here are some pointers:

    * The title should be ‘Kalzium Bea(u)tification’ 😛 or ‘Molecular Calculator’ sounded better 😛

    * ‘spawn’ should be ‘spawned’.

    * The introduction part, ‘My name is Kashyap R Puranik. I am an 18 year old student second year under-graduate computer science student from the Indian institute of technology Madras (IITM) in Chennai, India. I am a native of Bangalore. My nick is kashthealien on the IRC. I have been playing around with Kalzium for about a year. I checked out Kalzium code in October and started contributing for Kalzium in December. I have contributed a few patches that fixed bugs, and I have started working on some of the ideas in the TODO file. I have added the small feature using which the plot widget can selectively plot different types of elements. Also I have contributed for the Wikipedia integration.’

    would, I feel, sound better like this:

    ‘My name is Kashyap R Puranik. I am 18 years old. I am pursuing my undergraduate degree, that is, B.Tech in the Department of Computer Science and Engineering at Indian Institute of Technology-Madras, Chennai, India. I am currently in the second year of college. I am a native of Bangalore, India. My nick is kashthealien on the IRC. I have been playing around with Kalzium for about a year. I checked out the code of Kalzium in October and started contributing for Kalzium in December. I have contributed a few patches that fixed bugs, and I have started working on some of the ideas in the TODO file. I have added a small feature using which the plot widget can selectively plot different types of elements. Also I have contributed for the Wikipedia integration of Kalzium.’

    * ‘This brings me to Kalzium’ -> ‘This brought me to Kalzium’/ ‘This has brought me to Kalzium’ would sound better IMO.

    * ‘My other coding experiences involve coding for the websites for our college which includes the Saarang website http://www.saarang.org , our cultural festival website. I have been programming for the last 5 years in C and C ++. I have been learning basic Qt for usage in Kalzium for the last 2 months.’

    would IMO sound better as:

    ‘I have been involved in coding for my institute’s websites which includes the website for our cultural festival, Saarang (www.saarang.org). I have been programming in C and C++ for the past 5 years. I have been learning Qt for usage in Kalzium for the last 2 months.’

    * Please try not to use capital letters of the alphabet arbitrarily in the middle of sentences. Taking care of this small feature will make the write-up look clean and mature.

    All these are some of my opinions. Please feel free to differ/ argue/ ask me about these. Again, all are IMHO.

    Regards.

  2. Flo permalink
    March 31, 2009 2:40 pm

    and could you configure the RSS feed so that it includes the full post, not just a summary ?
    As far as I can tell, you’re the only blog doing so on KDE Planet, let’s not start a bad trend 🙂

  3. jacob permalink
    March 31, 2009 3:36 pm

    You are spamming KDE Planet with short messages….

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: