octave-maintainers
[Top][All Lists]
Advanced

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

Proposal for GSoC. (address@hidden)


From: Atul Jangra (Google Docs)
Subject: Proposal for GSoC. (address@hidden)
Date: Fri, 23 Mar 2012 17:08:06 +0000

Attached: proposal
Message from address@hidden:
Hey Maintainers
This is my sample proposal for Google Summer of Code 2012. I have included only important things. Will update it with other simple details. 
Please review this proposal and suggest me some changes that I should include. I am applying for Octave GUI Project.

Google Docs makes it easy to create, store and share online documents, spreadsheets and presentations.
Logo for Google Docs

Name:

        Atul Jangra

Email:

        address@hidden

Name of the project:

        Octave GUI Improvements and New Implementations

Summary:

Octave is currently written in C++/QT. Though it have a great UI , but as pointed out by the organisation , it is not ready for production.

The project will basically aim at improving the User Experience of the software. This can be done by following steps:

  1. Improving the MainWindow:
    Terminal and Document widget are currently in tabbed in the mainWindow. But now separate area will be assigned to both of them so that they can behave as two independent units.A large part of area will be given to the command window(by default). But user will have independence of resizing and re-arranging the widgets according to their personal preference.
  2. Improve the IRC client:(lower priority)
    Currently the UI of IRC client is not so informative .So more UI will be made more informative by adding more custom functions.This feature will be implemented only if it’s really quick.
  3. Improving the documentation browser:
    The documentation browser will be provided with new improved UI. Faster navigation,control of docs from command window will be implemented.(type "doc exam" and you will be redirected to “exam” location of manual.
    (optional)Search within browser will be implemented.Focusing on search,it will be an index based search, and will use an efficient algorithm that will be developed in c/c++.
  4. Thread-safety:
    Octave GUI is currently not thread-safe.Although interpreter and GUI are running in different threads but still there are many possibilities for improvements.Currently I am reading about debugging race conditions.
  5. Other small implementations:
    Other small functionalities such as:

a.Ability to create/delete/copy/paste files and folders in the FileExplorerDock         will be added.

b. Changing the value of a variable in the workspace by single/double click will be added.

c.Repetition of commands in the historyDockWidget will be shown as a single entry(as a TreeView which can then be expanded as a normal tree)This would make wiser use of allocated space to HistoryDockWidget.

Note: Inspiration for GUI will be mainly GUI Octave and sometime Matlab also(We can figure out the best feature and implement it).

Benefits

        Users:

        Users will have benefit of faster navigation, better and informative user interface so that it can make their task easy and fast.Improved UI , Improved IRC client will be very         helpful to the users. This will increase the user experience of GNU Octave.

        GNU Octave:

        GNU OCtave will itself be benefited as they will get a better product which will be ready for production. This project will  result in a product that will prove that hiding source is not necessary to produce a quality GUI.This will somehow aim to satisfy Matlab users who want to be shielded from the horrors of a CLI interface.

Plan:

  1. Before April 23:

                (Familiarisation period).

        I will familiarise myself with whole , code , try to fix and provide patches for the same.

                

  1. April 23 - May 21:

                (Community bonding period)

                1.Focus will be on community bonding , know about the mentor personally and discuss things related to the project.

                2.Documentation Reading.

                3.To do self coding with GNU Octave to improve my further understanding with the Core Octave and GUI.

                4.To discuss the methods for making Octave more         thread-safe.

                5.During this period I will remain in constant touch with my mentor and the GNU Octave community. I will remain active on IRC and Mailing lists to discuss and finalize on the modifications (if any) that needs to be on existing strategies  and design of new strategies.

  1. May 21 - July 8

                (Coding Period starts)
                1. Improving IRC Client.

                2.Making GUI more flexible by improving MainWindow.

                3.Improving Documentation Browser.

                4.Other small basic Implementations

  1. July 9.

                Mid-Term Evaluation

  1. July 10-July 31 :

                1.Thread safety will be considered and implemented in this time.

                2 Any other implementation which can come into consideration later either by me or by my mentor or anybody(User or other Developers) will be implemented in this period.

                3.Documentation of whole work done.

  1. July 31-August 13:

        Buffer time kept for unexceptional delays. ( And in case of no delays, we can think of more functionalities to implement or solve bugs)

        

  1. August 13:        

                Official Pen Down.

                Time for Testing  and scrubbing the code.

  1. August 20:

                Firm Pencil Down.

        --If you are unable to complete the project, are the results from part-way through still useful? How?

        Yes Each and every part is pretty independent, completion of each part

        will be useful for Octave.

        --How will everybody know whether things are on-track at the halfway evaluation point?

        If all the work stated before july 9 is completed, then I will be certainly ahead of halfway of project.But if in any unavoidable circumstances, I am not able to complete the three points before July 9, then half-way will be more than two points covered. And then the buffer time will be used

Communication

        email:address@hidden

        email:address@hidden

        Phone number: +918800106568

        Facebook: https://www.facebook.com/atuljangra

        Twitter: @atuljangra

        My Mentor(Jordi G. H.) will be able to see my progress in the code through mercurial.(or any other version control system.)

        Our communication will be based mainly on GTalk and IRC #Octave. I will prefer communication on daily basis. So that we can work out things that would be best for GNU Octave.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]