SoC 2007 project New GUI Framework

From PanoTools.org Wiki
(Difference between revisions)
Jump to: navigation, search
(categorized)
(Deliverables, made clear on the work to be done on modules during this summer)
Line 12: Line 12:
 
#* Clear separation of the interface and implementations
 
#* Clear separation of the interface and implementations
 
#* Intuitive GUI for displaying those modules suitable for different levels of users
 
#* Intuitive GUI for displaying those modules suitable for different levels of users
# Implementations of some basic modules
+
# Designs of the modules to be implemented
#* Control-points Editor and other modules that require custom control may take long
+
#* Specifications of all the basic modules
#* Modules with a lot of parameters may be hard to come up with good organisation and layout
+
#** Implementing all the modules would be impossible during the summer
#* Should at least have examples that guide how other modules could be implemented
+
#** The whole community including myself would continue working on those implementations after the summer
 +
#** Specifications can include mock-up or illustration to guide the implementation effort
 +
#* Organisation of the modules that show where those modules will fit into
 +
#** How they will be presented to the users
 +
#** Possibly several sets of the organisation for users from different background
 +
#* Implementation of some modules to demonstrate how the new application works
 +
#** Template for the modules to be written
 +
#** At least one sample module for basic tests
 +
 
  
 
The new framework shall be constructed as such that users can edit/use various aspect of panorama project through modules (plug-ins) each of them providing one specific functions. The application should provide intuitive interface for the users to choose what to edit and display with what aspect.
 
The new framework shall be constructed as such that users can edit/use various aspect of panorama project through modules (plug-ins) each of them providing one specific functions. The application should provide intuitive interface for the users to choose what to edit and display with what aspect.
Line 22: Line 30:
  
 
Also crucial is the way those modules should be organised and presented to the users. Advanced users want to have access to every available feature, while there are many beginners and those who need access to only the basic tasks and options in simple and intuitive interface.
 
Also crucial is the way those modules should be organised and presented to the users. Advanced users want to have access to every available feature, while there are many beginners and those who need access to only the basic tasks and options in simple and intuitive interface.
 +
 +
Since it would be impossible to implement the entire application in one summer, this project should focus on laying the foundation upon which the community can then work on further implementations and improvements. Once the modular framework is set and the specifications of the required tasks are presented, anyone can work on them independently in parallel. This is also why the good modular system is so important.
  
  

Revision as of 22:48, 19 March 2007

Contents

New extensible modular GUI framework

The goal of this project is to build a highly extensible GUI framework for Panorama creation, with simple yet intuitive layouts that both beginners and advanced users would be comfortable to use. The application should stay cross-platform.


Deliverables

  1. Cross-platform Application
    • Acceptable look-and-feel with every platform's standard
    • Minimum amount of platform specific code
  2. Completely modular system for organising the functionalities
    • Clear separation of the interface and implementations
    • Intuitive GUI for displaying those modules suitable for different levels of users
  3. Designs of the modules to be implemented
    • Specifications of all the basic modules
      • Implementing all the modules would be impossible during the summer
      • The whole community including myself would continue working on those implementations after the summer
      • Specifications can include mock-up or illustration to guide the implementation effort
    • Organisation of the modules that show where those modules will fit into
      • How they will be presented to the users
      • Possibly several sets of the organisation for users from different background
    • Implementation of some modules to demonstrate how the new application works
      • Template for the modules to be written
      • At least one sample module for basic tests


The new framework shall be constructed as such that users can edit/use various aspect of panorama project through modules (plug-ins) each of them providing one specific functions. The application should provide intuitive interface for the users to choose what to edit and display with what aspect.

The modular system is crucial because the panorama stitching is consist of several steps and the community comes up with new variations of each step every year, and each of them advances with new features every month.

Also crucial is the way those modules should be organised and presented to the users. Advanced users want to have access to every available feature, while there are many beginners and those who need access to only the basic tasks and options in simple and intuitive interface.

Since it would be impossible to implement the entire application in one summer, this project should focus on laying the foundation upon which the community can then work on further implementations and improvements. Once the modular framework is set and the specifications of the required tasks are presented, anyone can work on them independently in parallel. This is also why the good modular system is so important.


Discussion

  • Choice of GUI Toolkit: QT4 is modern and has good support on most of major platforms. wxWidgets is okay, but best of all we have many lines of code that are written for wxWidgets. Scripting languages like Python may have advantages in debugging and module managements.
    • Personally, I want to give QT4 a try. Though its widgets look weird on Mac sometimes, it has more to offer outside the GUI itself. --Ippei 20:05, 17 March 2007 (CET)


Students planning to apply

Personal tools
Namespaces

Variants
Actions
Navigation
tools
Tools