TITLE OF PAPER: Envisage - An Extensible Application Framework URL OF PRESENTATION: _URL_of_powerpoint_presentation_ PRESENTED BY: Eric Jones REPRESENTING: Enthought CONFERENCE: PyCon 2005 DATE: 3/25/2005 LOCATION: Marvin Theater -------------------------------------------------------------------------- REAL-TIME NOTES / ANNOTATIONS OF THE PAPER: {If you've contributed, add your name, e-mail & URL at the bottom} The need Envisage is a toolset for building extensible applications. Enthought works in science: geophysics, electodynamics--things that have complex, long-running simulations. They find they spend only 20% of their time on algorithms but 80% on UI development and workflow issues! Develop SciPy to deal with the scientific part of the applications Enthought Libraries Low Level Python Libs Traits - Type information for Python Kiva - A DisplayPDF renderer Python Modules PyFace Traits based MVC widget layer (wxPython-only for now) Tvtk Traits layer for VTK 3D visualization libraray Graph Dataflow Engine (similar to Java's Ptolemy, which is the 800-pound gorilla in that space) Chaco Interactive Plotting Envisage Visual Programming Plugin Mayavi Plugin - 3D visualization tools TVTK, a library for 3D Visualization "Traits-ified" interface to VTK Developed by Prabhu Ramachandran Standard VTK Inteface [example of how verbose it is to create a mesh object in 3D space] They wrapped the vertex coordinates and such to be Traits so they can notify you when they change, etc. [Demo of TVTK application] Envisage: An Integrated Science Environment Multiple Plugins. One Application Plug-ins: Optimization Visualization Computational Fluid Dynamics (CFD)/EM Integration CFD Simulator Electromagnetics Simulator So, for example, if you want to figure out what the radar cross-section of an airplane is, you may need the EM plugin to handle the radar stuff and the CFD one to see whether the plane actually flies. Having plugins does not an application make. need to do some UI design so it doesn't feel like something cobbled together [ eyechart diagram of various Envisage components ] [ Screen shots of Envisage based Geophysics Applications ] Plug-ins: The Simple Description How are they defined? Declarative portion that describes capabilities Implementation (resources, action, etc.) What do they consist of? Extensions Extension Points Dependencies Suspiciously similar to how Eclipse works Demos of Envisage-based apps Simple UI created w/ 13 plugins Graph Editor components Open SVN Repository eric@enthought.com Public Release in Q3 -------------------------------------------------------------------------- REFERENCES: {as documents / sites are referenced add them below} -------------------------------------------------------------------------- QUOTES: -------------------------------------------------------------------------- CONTRIBUTORS: {add your name, e-mail address and URL below} Erik Rose Ted Leung -------------------------------------------------------------------------- E-MAIL BOUNCEBACK: {add your e-mail address separated by commas } -------------------------------------------------------------------------- NOTES ON / KEY TO THIS TEMPLATE: A headline (like a field in a database) will be CAPITALISED This differentiates from the text that follows A variable that you can change will be surrounded by _underscores_ Spaces in variables are also replaced with under_scores This allows people to select the whole variable with a simple double-click A tool-tip is lower case and surrounded by {curly brackets / parentheses} These supply helpful contextual information. -------------------------------------------------------------------------- Copyright shared between all the participants unless otherwise stated...