Re: [GRASS-dev] Who wants GUI and who does not and why

2014-05-04 Thread Glynn Clements

Huidae Cho wrote:

 I'm not talking about the current structure. Yes, the modules are the CLI
 right now and the GUI calls the CLI modules internally. What I'm saying is
 that it would great if we could separate the logic and CLI and put the
 logic in plugins

We already do that, except that the plugins are called modules, and
the calling mechanism is program execution.

All of GRASS' significant functionality is in the modules. The
libraries are just utilities which ensure some degree of consistency
and avoid the need for modules to continually re-invent the wheel.

Splitting every single module into an interface executable and a
logic library amounts to a complete re-write of GRASS. Feel free to
start your own fork, but don't expect everyone else to jump on board.

There's also the fact that, with a persistent application, any
segfault takes down the entire application, any memory leak persists
for the lifetime of the application, etc. So you can't just separate
the code, you also have to clean it up significantly.

 Actually, even now, GRASS libs are called directly from GDAL for handling
 raster/vector maps.

That is long overdue for change.

It has been problematic ever since the r.external functionality was
added. Because now the GRASS libraries call GDAL, so the GDAL-GRASS
bridge has to be a separate plugin to avoid a circular dependency.

And if we ever removed the support for the legacy versions of the
raster format from GRASS, GDAL would automatically stop supporting
them as well.

Now that we have r.external, the ideal solution would be to move the
actual raster I/O code into GDAL itself, and perform all raster access
via GDAL.

I would have done it myself, except that it ideally needs to be done
by two people to avoid contaminating GDAL with the GPL used by
GRASS. One person would document the raster file formats, while
another would write a clean implementation based upon the
documentation.

-- 
Glynn Clements gl...@gclements.plus.com
___
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev


Re: [GRASS-dev] Who wants GUI and who does not and why

2014-05-02 Thread Rainer M Krug
Luca Delucchi lucadel...@gmail.com writes:

 On 18 April 2014 11:15, Pietro peter.z...@gmail.com wrote:
 Hi Vaclav,

 actually I'm a bit more extremist... :-)

 I would like to split GRASS in three main parts:
 - grass-lib
 - grass-cli
 - grass-gui


 I also like this idea...

I think this would be a very good idea as it would make the whole GRASS
ecosystem more transparent and easier (in my opinion) to maintain and to
use certain aspects from different applications. 

Re functionality in the GUI: 

The question would be if the split is

lib--cli--gui

or 

   |--cli
lib|
   |--gui

in other words, if the cli is just a non graphical UI or THE interface
to the lib, through which the gui operates. I think the first design
approach would be the better one.

Cheers,

Rainer



 At least should be possible to build these parts separately, leaving
 the decision to split in several packages to the package maintainer of
 each distribution (Debian, Fedora, etc.).


 I think that someone is already doing something like this.
 But I don't know more because I usually compile myself GRASS

 Regards

 Pietro


-- 
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, 
UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa

Tel :   +33 - (0)9 53 10 27 44
Cell:   +33 - (0)6 85 62 59 98
Fax :   +33 - (0)9 58 10 27 44

Fax (D):+49 - (0)3 21 21 25 22 44

email:  rai...@krugs.de

Skype:  RMkrug

PGP: 0x0F52F982
___
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev


Re: [GRASS-dev] Who wants GUI and who does not and why

2014-05-02 Thread Huidae Cho
I agree. grass-cli and grass-gui should be completely independent and at
the same level. They are simply two different UIs that directly depend on
grass-lib. The user wants either grass-cli  grass-lib or grass-gui 
grass-lib.

Now, my opinion is if we put analysis and modeling code in grass-lib,
grass-lib would be too big or, for some users, it would contain too much
irrelevant code if all they want is simply GIS operations. Very
field-specific code such as hydrology, remote sensing, ... should be
separated out from the grass-lib and put in another layer of the libraries.
grass-cli/gui will interact with that layer directly.

grass-lib - grass-plugins - grass-cli, grass-gui, other GISs: Full
analysis/modeling suite

grass-lib - other GISs: Simple GIS data manipulation very common in all
fields.

Regards,
Huidae


On Fri, May 2, 2014 at 4:32 AM, Rainer M Krug rai...@krugs.de wrote:

 Luca Delucchi lucadel...@gmail.com writes:

  On 18 April 2014 11:15, Pietro peter.z...@gmail.com wrote:
  Hi Vaclav,
 
  actually I'm a bit more extremist... :-)
 
  I would like to split GRASS in three main parts:
  - grass-lib
  - grass-cli
  - grass-gui
 
 
  I also like this idea...

 I think this would be a very good idea as it would make the whole GRASS
 ecosystem more transparent and easier (in my opinion) to maintain and to
 use certain aspects from different applications.

 Re functionality in the GUI:

 The question would be if the split is

 lib--cli--gui

 or

|--cli
 lib|
|--gui

 in other words, if the cli is just a non graphical UI or THE interface
 to the lib, through which the gui operates. I think the first design
 approach would be the better one.

 Cheers,

 Rainer

 
 
  At least should be possible to build these parts separately, leaving
  the decision to split in several packages to the package maintainer of
  each distribution (Debian, Fedora, etc.).
 
 
  I think that someone is already doing something like this.
  But I don't know more because I usually compile myself GRASS
 
  Regards
 
  Pietro
 

 --
 Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation
 Biology, UCT), Dipl. Phys. (Germany)

 Centre of Excellence for Invasion Biology
 Stellenbosch University
 South Africa

 Tel :   +33 - (0)9 53 10 27 44
 Cell:   +33 - (0)6 85 62 59 98
 Fax :   +33 - (0)9 58 10 27 44

 Fax (D):+49 - (0)3 21 21 25 22 44

 email:  rai...@krugs.de

 Skype:  RMkrug

 PGP: 0x0F52F982
 ___
 grass-dev mailing list
 grass-dev@lists.osgeo.org
 http://lists.osgeo.org/mailman/listinfo/grass-dev

___
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev

Re: [GRASS-dev] Who wants GUI and who does not and why

2014-05-02 Thread Moritz Lennert

On 02/05/14 14:29, Huidae Cho wrote:

I agree. grass-cli and grass-gui should be completely independent and at
the same level. They are simply two different UIs that directly depend
on grass-lib. The user wants either grass-cli  grass-lib or grass-gui 
grass-lib.

Now, my opinion is if we put analysis and modeling code in grass-lib,
grass-lib would be too big or, for some users, it would contain too much
irrelevant code if all they want is simply GIS operations. Very
field-specific code such as hydrology, remote sensing, ... should be
separated out from the grass-lib and put in another layer of the
libraries. grass-cli/gui will interact with that layer directly.

grass-lib - grass-plugins - grass-cli, grass-gui, other GISs: Full
analysis/modeling suite

grass-lib - other GISs: Simple GIS data manipulation very common in
all fields.



I don't think I understand: there is no such thing as grass-lib that can 
be called from either a grass-cli _or_ a grass-gui. The GUI actually 
calls grass modules. And these modules _are_ the CLI. And as many 
discussions have shown before, GRASS libs should not be called from 
anything else but GRASS modules.


Moritz

___
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev


Re: [GRASS-dev] Who wants GUI and who does not and why

2014-05-02 Thread Huidae Cho
I'm not talking about the current structure. Yes, the modules are the CLI
right now and the GUI calls the CLI modules internally. What I'm saying is
that it would great if we could separate the logic and CLI and put the
logic in plugins and let the CLI and GUI calls the logic. GUI would be
independent on CLI and directly call the logic plugin. Here, I'm saying
plugin because each module could be implemented as a mod_*.so just like
Apache modules. Then we could implement a CLI environment that can load
mod_*.so as needed dynamically. In the same way, other programs can call
mod_*.so without creating a separate process for individual modules.

Actually, even now, GRASS libs are called directly from GDAL for handling
raster/vector maps.



On Fri, May 2, 2014 at 9:58 AM, Moritz Lennert mlenn...@club.worldonline.be
 wrote:

 On 02/05/14 14:29, Huidae Cho wrote:

 I agree. grass-cli and grass-gui should be completely independent and at
 the same level. They are simply two different UIs that directly depend
 on grass-lib. The user wants either grass-cli  grass-lib or grass-gui 
 grass-lib.

 Now, my opinion is if we put analysis and modeling code in grass-lib,
 grass-lib would be too big or, for some users, it would contain too much
 irrelevant code if all they want is simply GIS operations. Very
 field-specific code such as hydrology, remote sensing, ... should be
 separated out from the grass-lib and put in another layer of the
 libraries. grass-cli/gui will interact with that layer directly.

 grass-lib - grass-plugins - grass-cli, grass-gui, other GISs: Full
 analysis/modeling suite

 grass-lib - other GISs: Simple GIS data manipulation very common in
 all fields.


 I don't think I understand: there is no such thing as grass-lib that can
 be called from either a grass-cli _or_ a grass-gui. The GUI actually calls
 grass modules. And these modules _are_ the CLI. And as many discussions
 have shown before, GRASS libs should not be called from anything else but
 GRASS modules.

 Moritz


___
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev

Re: [GRASS-dev] Who wants GUI and who does not and why

2014-05-02 Thread Huidae Cho
On Fri, May 2, 2014 at 10:03 AM, Vaclav Petras wenzesl...@gmail.com wrote:




 On Fri, May 2, 2014 at 8:29 AM, Huidae Cho gras...@gmail.com wrote:

 I agree. grass-cli and grass-gui should be completely independent and at
 the same level. They are simply two different UIs that directly depend on
 grass-lib. The user wants either grass-cli  grass-lib or grass-gui 
 grass-lib.

 This of course makes sense. However, we are very far from anything like
 this. Functionality is in the modules (i.e. CLI), not library, and even
 Python libraries contains CLI calls. I don't see any chance of changing
 this state any time soon, although it would be beneficial. The grass-lib
 would no just contain very basic things (compared to what CLI would
 provide). Consequently there cannot be any GUI without CLI now.



That's correctly. GUI is a wrapper around CLI because CLI has the logic.
Other programs that want to use GRASS capabilities should also call CLIs by
executing external programs (CLIs). Instead of calling external processes,
we could dynamically link to the logic libraries and simply call
functions if we could do further separations.



 Now, my opinion is if we put analysis and modeling code in grass-lib,
 grass-lib would be too big or, for some users, it would contain too much
 irrelevant code if all they want is simply GIS operations. Very
 field-specific code such as hydrology, remote sensing, ... should be
 separated out from the grass-lib and put in another layer of the libraries.
 grass-cli/gui will interact with that layer directly.

 As I said this is very theoretical and in fact, there was one refactoring
 which moved things from lib to modules. Anyway, it would be beneficial to
 know what would be concrete steps to do this, what are the issues this must
 solve, and, similarly to GUI, what is the general opinion on this. For
 example, the implementation of RPC interface for library (as discussed in
 another threads) would allow usage of grass-lib by any application, not
 only modules (CLI), so then GUI could depend directly on grass-lib. On the
 other hand, modules define a nice user interface for processing, so I don't
 think that GUI should define some other, it should just use the modules
 (the current state). The other question is what should be used to implement
 GUI.

 Regardless of purpose of grass-lib, there are some thing which should be
 moved to the library to be reused in more modules. Pietro recently
 suggested in some ticket that functionality of r.univar should be available
 in the library.


 grass-lib - grass-plugins - grass-cli, grass-gui, other GISs: Full
 analysis/modeling suite

 I still don't understand what do you mean by grass-plugins.


What I mean by grass-plugins is that we can separate the current CLIs (UI
and logic) into plugins (logic) and light-weight CLI that calls the
plugins. GUI would also call the plugins. Think about Apache. httpd is an
executable file that can load its modules as needed. We cannot call
individual modules directly without using httpd and individual modules have
the logic. I think that this plugin idea would make GRASS analysis/modeling
capabilities more like libraries, not external programs, while maintaining
clear separation of heavy analysis logic from the core grass-lib. And like
you said, yes, we're far from this theoretical status.

Huidae




 Vaclav


 grass-lib - other GISs: Simple GIS data manipulation very common in all
 fields.

 Regards,
 Huidae


 On Fri, May 2, 2014 at 4:32 AM, Rainer M Krug rai...@krugs.de wrote:

 Luca Delucchi lucadel...@gmail.com writes:

  On 18 April 2014 11:15, Pietro peter.z...@gmail.com wrote:
  Hi Vaclav,
 
  actually I'm a bit more extremist... :-)
 
  I would like to split GRASS in three main parts:
  - grass-lib
  - grass-cli
  - grass-gui
 
 
  I also like this idea...

 I think this would be a very good idea as it would make the whole GRASS
 ecosystem more transparent and easier (in my opinion) to maintain and to
 use certain aspects from different applications.

 Re functionality in the GUI:

 The question would be if the split is

 lib--cli--gui

 or

|--cli
 lib|
|--gui

 in other words, if the cli is just a non graphical UI or THE interface
 to the lib, through which the gui operates. I think the first design
 approach would be the better one.

 Cheers,

 Rainer

 
 
  At least should be possible to build these parts separately, leaving
  the decision to split in several packages to the package maintainer of
  each distribution (Debian, Fedora, etc.).
 
 
  I think that someone is already doing something like this.
  But I don't know more because I usually compile myself GRASS
 
  Regards
 
  Pietro
 

 --
 Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation
 Biology, UCT), Dipl. Phys. (Germany)

 Centre of Excellence for Invasion Biology
 Stellenbosch University
 South Africa

 Tel :   +33 - (0)9 53 10 27 44
 Cell:   +33 - (0)6 85 62 59 98
 Fax :   +33 - (0)9 58 10 

Re: [GRASS-dev] Who wants GUI and who does not and why

2014-05-02 Thread Blumentrath, Stefan
Hi,

if you allow me a user comment on this:
 The user wants either grass-cli  grass-lib or grass-gui  grass-lib.

Actually, the combination of CLI and GUI is extremely handy in everyday work, 
which is why I regularly introduce students quite early to this combination. 
The possibility to copy the commands from GUI is here very helpful too. I 
missed having a CLI in parallel on Windows until it came with GRASS 7. Before I 
regularly started two grass sessions. First the GUI then the command line. It 
would be a pity if this perfectly matched team would be separated (in terms of 
user experience)…

Cheers
Stefan

___
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev

Re: [GRASS-dev] Who wants GUI and who does not and why

2014-05-01 Thread Huidae Cho
I really like this idea and want to go further by splitting into four main
parts:

- grass-lib: keep the current core libraries as is. Low level GIS layer

- grass-plugins: implement raster/raster3d/vector/... whatever the current
commands implement as libraries. These libraries spit out xml for building
CLI/GUI interfaces. One plugin per module. High level modeling/analysis
layer

- grass-cli: very light xml parser. Maybe, we'll only need one command and
give a plugin name and its parameters to this command.

- grass-gui: also very light xml parser.

This way, other GIS programs can use grass-lib and grass-plugins to build
their interface from xml output without having to update their client code
heavily whenever a major GRASS GIS is released.

Regards,
Huidae



On Fri, Apr 18, 2014 at 5:15 AM, Pietro peter.z...@gmail.com wrote:

 Hi Vaclav,

 actually I'm a bit more extremist... :-)

 I would like to split GRASS in three main parts:
 - grass-lib
 - grass-cli
 - grass-gui

 often we have these things mixed to each other, for example a lot of
 GRASS modules implement functions that could be moved to grass/lib
 (e.g. r.stats). I would like to see the CLI interface just only as
 command line interface to the GRASS library, not more not less. At the
 moment each GRASS module implement it's own functions.

 The same is true for the GUI, inside the GUI libraries there are a lot
 of functions and objects that partially implement functionality that
 should be moved to lib. Again I would like a clearer distinction
 between the logic/functionality and Graphic user interface.

 These changes could help to reduce redundancy and reduce the code size
 of the GRASS project.

 Split the GRASS project in these three parts perhaps could help us to
 clearly distinguish between functionalities and interfaces
 (command/graphic),and we should re-organize the grass root
 consistently.

 Splitting the library from the CLI, should make easier other FOSS
 projects to use the GRASS processing capabilities.

 At least should be possible to build these parts separately, leaving
 the decision to split in several packages to the package maintainer of
 each distribution (Debian, Fedora, etc.).

 Regards

 Pietro
 ___
 grass-dev mailing list
 grass-dev@lists.osgeo.org
 http://lists.osgeo.org/mailman/listinfo/grass-dev

___
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev

Re: [GRASS-dev] Who wants GUI and who does not and why

2014-04-20 Thread Rashad M
Hi,

Ubuntu follows debian packaging for GRASS GIS like others. And most of the
packaging rules are copied from DebianGIS.

So for debian, and its derivaties. GRASS packaging has

grass-core, grass-gui, grass-docs, packages
grass-dev. too is there for development version.



On Sun, Apr 20, 2014 at 1:42 AM, Luca Delucchi lucadel...@gmail.com wrote:

 On 18 April 2014 11:15, Pietro peter.z...@gmail.com wrote:
  Hi Vaclav,
 
  actually I'm a bit more extremist... :-)
 
  I would like to split GRASS in three main parts:
  - grass-lib
  - grass-cli
  - grass-gui
 

 I also like this idea...

 
  At least should be possible to build these parts separately, leaving
  the decision to split in several packages to the package maintainer of
  each distribution (Debian, Fedora, etc.).
 

 I think that someone is already doing something like this.
 But I don't know more because I usually compile myself GRASS

  Regards
 
  Pietro
 

 --
 ciao
 Luca

 http://gis.cri.fmach.it/delucchi/
 www.lucadelu.org
 ___
 grass-dev mailing list
 grass-dev@lists.osgeo.org
 http://lists.osgeo.org/mailman/listinfo/grass-dev




-- 
Regards,
   Rashad
___
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev

Re: [GRASS-dev] Who wants GUI and who does not and why

2014-04-19 Thread Luca Delucchi
On 18 April 2014 11:15, Pietro peter.z...@gmail.com wrote:
 Hi Vaclav,

 actually I'm a bit more extremist... :-)

 I would like to split GRASS in three main parts:
 - grass-lib
 - grass-cli
 - grass-gui


I also like this idea...


 At least should be possible to build these parts separately, leaving
 the decision to split in several packages to the package maintainer of
 each distribution (Debian, Fedora, etc.).


I think that someone is already doing something like this.
But I don't know more because I usually compile myself GRASS

 Regards

 Pietro


-- 
ciao
Luca

http://gis.cri.fmach.it/delucchi/
www.lucadelu.org
___
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev


Re: [GRASS-dev] Who wants GUI and who does not and why

2014-04-18 Thread Pietro
Hi Vaclav,

actually I'm a bit more extremist... :-)

I would like to split GRASS in three main parts:
- grass-lib
- grass-cli
- grass-gui

often we have these things mixed to each other, for example a lot of
GRASS modules implement functions that could be moved to grass/lib
(e.g. r.stats). I would like to see the CLI interface just only as
command line interface to the GRASS library, not more not less. At the
moment each GRASS module implement it's own functions.

The same is true for the GUI, inside the GUI libraries there are a lot
of functions and objects that partially implement functionality that
should be moved to lib. Again I would like a clearer distinction
between the logic/functionality and Graphic user interface.

These changes could help to reduce redundancy and reduce the code size
of the GRASS project.

Split the GRASS project in these three parts perhaps could help us to
clearly distinguish between functionalities and interfaces
(command/graphic),and we should re-organize the grass root
consistently.

Splitting the library from the CLI, should make easier other FOSS
projects to use the GRASS processing capabilities.

At least should be possible to build these parts separately, leaving
the decision to split in several packages to the package maintainer of
each distribution (Debian, Fedora, etc.).

Regards

Pietro
___
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev


Re: [GRASS-dev] Who wants GUI and who does not and why

2014-04-18 Thread Martin Landa
Hi,

2014-04-18 11:15 GMT+02:00 Pietro peter.z...@gmail.com:
 I would like to split GRASS in three main parts:
 - grass-lib
 - grass-cli
 - grass-gui

I was thinking about splitting `grass` package at least manually for
OSGeo4W framework. This idea makes sense to me. Martin
___
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev


Re: [GRASS-dev] Who wants GUI and who does not and why

2014-04-17 Thread Michael Barton
, that creates an ecosystem of constantly evolving—and 
improving—computational tools to meet changing research needs. So it should not 
be a question of whether some, or even a lot, of the GRASS user community wants 
a GUI or not, nor whether there are good usability and analytical reasons to 
have a GUI or not.  GRASS should have a GUI if a sufficient number of users 
want such an interface and are willing to do the work of creating one, and do 
not prevent other users from accessing GRASS through a CLI.

Michael

C. Michael Barton
Director, Center for Social Dynamics  Complexity
Professor of Anthropology, School of Human Evolution  Social Change
Head, Graduate Faculty in Complex Adaptive Systems Science
Arizona State University

voice:  480-965-6262 (SHESC), 480-965-8130/727-9746 (CSDC)
fax: 480-965-7671 (SHESC),  480-727-0709 (CSDC)
www: http://www.public.asu.edu/~cmbarton, http://csdc.asu.edu




On Apr 16, 2014, at 5:22 AM, 
grass-dev-requ...@lists.osgeo.orgmailto:grass-dev-requ...@lists.osgeo.org 
wrote:

From: Yann Chemin yche...@gmail.commailto:yche...@gmail.com
Subject: Re: [GRASS-dev] Who wants GUI and who does not and why
Date: April 16, 2014 at 5:20:59 AM MST
To: Vaclav Petras wenzesl...@gmail.commailto:wenzesl...@gmail.com
Cc: GRASS developers list 
grass-dev@lists.osgeo.orgmailto:grass-dev@lists.osgeo.org
Reply-To: yann.che...@gmail.commailto:yann.che...@gmail.com


Maybe some of the earlier involved developers can share their thoughts on the 
Tcl/Tk GUI and its integration, its rise and fall, why and where this 
experience can lead the wxPython GUI now...


On 16 April 2014 08:00, Vaclav Petras 
wenzesl...@gmail.commailto:wenzesl...@gmail.com wrote:
Hi all,

I believe, I was calling for this discussion recently, and I'm calling for it 
again. It seems that there are quite different opinions on GRASS GIS GUI 
ranging from GUI is the only thing which brings us new users to no GUI 
needed.

There is no better time to discuss this: we are discussing issues with MS 
Windows support, planing to release 7, working towards compatibility of 7 with 
QGIS and gvSIG, and we also discussed WebGRASS topic recently.

Here are recent quotations from Handling of Python scripts on MS Windows 
discussion (http://lists.osgeo.org/pipermail/grass-dev/2014-April/068269.html) 
with few notes and questions but feel free to start wherever you want.


On Sun, Apr 13, 2014 at 12:52 PM, Benjamin Ducke 
bendu...@fastmail.fmmailto:bendu...@fastmail.fm wrote:
 On Sun, Apr 13, 2014 at 11:03 AM, Moritz Lennert 
 mlenn...@club.worldonline.bemailto:mlenn...@club.worldonline.be wrote:
 [Side note: The same discussion should also constantly be held about
 functionality which is specific to the GUI, because specifically
 developed for it), i.e. not just a GUI layer above command line
 functionality, something I'm afraid to see creep in more and more...]


Does this mean that you want remove everything from `gui/*` besides 
`gui/wxpython/forms/*`?

Agreed. Once more, I plead for a clean separation between GUI
and CLI developments, and a disconnection of their release cycles.

I see some advantages, for example just using same bug tracker makes difficult 
to say what is critical issue; but there are some GUI errors are tightly 
coupled to core module issues.

On the other hand, I don't see how these disconnected release cycles would 
work. Also it seems that it is impossible or very hard to create good GUI 
without the support of the processing and management tools.

The wxPython GUI can be considered a monolithic application,
and FWIW it can pull every trick in the book to integrate a
Python interpreter, and to make it all easier for Windows users.

...

I would say: Consider the wxGUI, the QGIS and gvSIG plug-ins etc.
monolithic applications and let their maintainers figure out how
to deal with this. In the gvSIG CE project, we do a lot of hair-
raising stuff to hide the complexity of GRASS and its dependencies
from the end user, and I suspect so does QGIS. But I would not
advocate the same approach to the core GRASS architecture.

Than perhaps, no wxGUI is needed because we have QGIS and gvSIG plugins. 
Managing one GUI less in

___
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev

Re: [GRASS-dev] Who wants GUI and who does not and why

2014-04-17 Thread Benjamin Ducke
(sorry for the extensive cutting)

On 17/04/14 08:41, Michael Barton wrote:

[..]

 
 So why should we abandon and discard the advances in interactive
 geospatial analysis and visualization pioneered by GRASS (e.g., the
 tightly integrated 2D and 3D interfaces, or the new interactive
 visualizations for remote sensing analysis)? If you like another GUI,
 like QGIS or gvSIG, by all means use it. Such diversity encourages
 innovations. But why advocate throwing away the software interface
 development in GRASS and relegate it to only the analytical modules that
 are plug-ins to other programs? 
 
 Finally, unlike many other programs, users can avoid the GUI altogether
 GRASS. They can run GRASS with only the command line. All GRASS
 analytical modules can be run from the CLI and are fully scriptable, so
 that they can be embedded into other programs as well as run
 interactively. Moreover, the GUI dialogs to all modules can generate the
 commands to be used in the terminal. Given this flexibility, why get rid
 of a part of the GRASS package that makes the program very attractive
 and useable to a substantial number of the community? 
 

I fear that this discussion is leading somewhere bad...
Perhaps the title of this post was a bit misleading.

At least from my point of view, we do not need to discuss
whether GRASS needs a GUI or not. As Michael correctly
states: whatever the community invests in will stay.
There are probably as many different preferences for user
interfaces as there are GRASS users, so any discussions on
whether there are enough GUIs or which one is be the best,
or whether it is better to work from the CLI, etc. are moot.

What I wanted to suggest was merely to separate the GRASS
core from the GUI development even more. Yes, it is true
that this has been done at source code level, but my wishes
would be that we end up in a situation that will:

1. Allow for the release stable versions of core GRASS without
having to wait for GUI fixes on different OS.

2. Always make people think twice about module/GUI interaction
when something doesn't work as smoothly as expected, so that we
always end up with a clean solution that works in a GUI and
CLI environment.

3. Leave the GUI developers more freedom to find hacks and
work-arounds for certain issues that are fine for a controlled,
monolithic GUI, but not for CLI GRASS.

If this is where things are heading anyway, then great.
Otherwise, I would like to nudge things more into the
direction mentioned above.

Best,

Ben


 This thread pops up from time to time, and I wonder why each time. It is
 like saying that GRASS developers should abandon work on vector
 processing modules because GRASS does such a good job at rasters, and
 other programs like ArcGIS and QGIS do vectors better. GRASS is such
 great software because, like all great open source programs, it is the
 volunteer work of many practicing scientists who are solving problems
 through computation and sharing their solutions with others. It is this
 bottom-up development, instead of a top-down business model, that
 creates an ecosystem of constantly evolving—and improving—computational
 tools to meet changing research needs. So it should not be a question of
 whether some, or even a lot, of the GRASS user community wants a GUI or
 not, nor whether there are good usability and analytical reasons to have
 a GUI or not.  GRASS should have a GUI if a sufficient number of users
 want such an interface and are willing to do the work of creating one,
 and do not prevent other users from accessing GRASS through a CLI.
 
 Michael
 
 C. Michael Barton
 Director, Center for Social Dynamics  Complexity 
 Professor of Anthropology, School of Human Evolution  Social Change
 Head, Graduate Faculty in Complex Adaptive Systems Science
 Arizona State University
 
 voice:  480-965-6262 (SHESC), 480-965-8130/727-9746 (CSDC)
 fax: 480-965-7671 (SHESC),  480-727-0709 (CSDC)
 www: http://www.public.asu.edu/~cmbarton, http://csdc.asu.edu
 
 
 
 
 On Apr 16, 2014, at 5:22 AM, grass-dev-requ...@lists.osgeo.org
 mailto:grass-dev-requ...@lists.osgeo.org wrote:
 
 *From: *Yann Chemin yche...@gmail.com mailto:yche...@gmail.com
 *Subject: **Re: [GRASS-dev] Who wants GUI and who does not and why*
 *Date: *April 16, 2014 at 5:20:59 AM MST
 *To: *Vaclav Petras wenzesl...@gmail.com mailto:wenzesl...@gmail.com
 *Cc: *GRASS developers list grass-dev@lists.osgeo.org
 mailto:grass-dev@lists.osgeo.org
 *Reply-To: *yann.che...@gmail.com mailto:yann.che...@gmail.com


 Maybe some of the earlier involved developers can share their thoughts
 on the Tcl/Tk GUI and its integration, its rise and fall, why and
 where this experience can lead the wxPython GUI now...


 On 16 April 2014 08:00, Vaclav Petras wenzesl...@gmail.com
 mailto:wenzesl...@gmail.com wrote:

 Hi all,

 I believe, I was calling for this discussion recently, and I'm
 calling for it again. It seems that there are quite different

Re: [GRASS-dev] Who wants GUI and who does not and why

2014-04-17 Thread Yann Chemin
1. Allow for the release stable versions of core GRASS without
having to wait for GUI fixes on different OS.

+1 for that !
___
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev

Re: [GRASS-dev] Who wants GUI and who does not and why

2014-04-17 Thread Moritz Lennert
I agree with what Michael and Benjamin have said, but since I was cited 
personally just a short reaction:


On 16/04/14 04:30, Vaclav Petras wrote:

Hi all,

I believe, I was calling for this discussion recently, and I'm calling
for it again. It seems that there are quite different opinions on GRASS
GIS GUI ranging from GUI is the only thing which brings us new users
to no GUI needed.

There is no better time to discuss this: we are discussing issues with
MS Windows support, planing to release 7, working towards compatibility
of 7 with QGIS and gvSIG, and we also discussed WebGRASS topic recently.

Here are recent quotations from Handling of Python scripts on MS
Windows discussion
(http://lists.osgeo.org/pipermail/grass-dev/2014-April/068269.html) with
few notes and questions but feel free to start wherever you want.


On Sun, Apr 13, 2014 at 12:52 PM, Benjamin Ducke bendu...@fastmail.fm
mailto:bendu...@fastmail.fm wrote:
  On Sun, Apr 13, 2014 at 11:03 AM, Moritz Lennert
mlenn...@club.worldonline.be mailto:mlenn...@club.worldonline.be wrote:

  [Side note: The same discussion should also constantly be held about
  functionality which is specific to the GUI, because specifically
  developed for it), i.e. not just a GUI layer above command line
  functionality, something I'm afraid to see creep in more and more...]
 

Does this mean that you want remove everything from `gui/*` besides
`gui/wxpython/forms/*`?


I don't know how you come to that conclusion from the above quote. I 
never saif I don't want the GUI. What I refered to was a recurrent 
discussion about making sur that all functionality for which this is 
possible should be available via the CLI, and not only via the GUI. Just 
to cite one example which shows some degree of divergence:


The GUI import wizards (vector and raster) allow specifying a directory 
from which to import all (or a selection) of the files. AFAIK, there is 
no command line equivalent for that, except for creating the loop 
yourself in your favorite scripting language. So, to follow my idea, we 
should have a r.in.gdal.dir/v.in.ogr.dir module which does the job on 
the command line and which the GUI builds upon.


I know: if it's an itch just scratch it yourself, but I'm just using 
this an example to illustrate the quote above. And it's not meant as a 
criticism to anyone, but rather as a reminder to ourselves to be 
vigilant about this.


The recent creation of the g.gui.* commands is a good step in the other 
direction, i.e. making small modules of specific GUI processes.




The wxPython GUI can be considered a monolithic application,
and FWIW it can pull every trick in the book to integrate a
Python interpreter, and to make it all easier for Windows users.

...

I would say: Consider the wxGUI, the QGIS and gvSIG plug-ins etc.
monolithic applications and let their maintainers figure out how
to deal with this. In the gvSIG CE project, we do a lot of hair-
raising stuff to hide the complexity of GRASS and its dependencies
from the end user, and I suspect so does QGIS. But I would not
advocate the same approach to the core GRASS architecture.


Than perhaps, no wxGUI is needed because we have QGIS and gvSIG plugins.


This is _your_ conclusion, although others have had that same conclusion 
before, but, as Michael has argued convincingly, there are sufficient 
developers who want to spend time on a specific GRASS GUI as they feel 
the need, and so the discussion is void.


I personally certainly find the GRASS GUI very useful, and have never 
been able to warm up to using QGIS or gvSIG for the task, notably 
because of the loss of explicit control over the whole location 
management (in Sextante and derivatives) which I actually find very 
useful when teaching (and using) GIS.



  I also think that some of the debate comes from the question of whether

the wxGUI should have a special status or whether it should just
be treated as one of the hundreds of modules that GRASS offers.


This is more or less the current state, there is g.gui, you can start
without it, there are g.gui.* modules. On the other hand, there is
always something spatial with GUI, e.g. if you want GUI to start when
module is started without parameters/with --ui.


All that was meant by the above statement is that specific needs of the 
wxGUI should not interfere in overall management of GRASS installation 
and compilation any more than other modules.





Or, are you satisfied with the situation as it is now?


In terms of the fact that we have a wxGUI I'm very satisfied. The 
discussion you cite has never been about abandoning the GUI, but about 
how to handle GRASS installation.


Moritz

___
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev


Re: [GRASS-dev] Who wants GUI and who does not and why

2014-04-16 Thread Yann Chemin
Maybe some of the earlier involved developers can share their thoughts on
the Tcl/Tk GUI and its integration, its rise and fall, why and where this
experience can lead the wxPython GUI now...


On 16 April 2014 08:00, Vaclav Petras wenzesl...@gmail.com wrote:

 Hi all,

 I believe, I was calling for this discussion recently, and I'm calling for
 it again. It seems that there are quite different opinions on GRASS GIS GUI
 ranging from GUI is the only thing which brings us new users to no GUI
 needed.

 There is no better time to discuss this: we are discussing issues with MS
 Windows support, planing to release 7, working towards compatibility of 7
 with QGIS and gvSIG, and we also discussed WebGRASS topic recently.

 Here are recent quotations from Handling of Python scripts on MS Windows
 discussion (
 http://lists.osgeo.org/pipermail/grass-dev/2014-April/068269.html) with
 few notes and questions but feel free to start wherever you want.


 On Sun, Apr 13, 2014 at 12:52 PM, Benjamin Ducke bendu...@fastmail.fmwrote:
  On Sun, Apr 13, 2014 at 11:03 AM, Moritz Lennert 
 mlenn...@club.worldonline.be wrote:

  [Side note: The same discussion should also constantly be held about
  functionality which is specific to the GUI, because specifically
  developed for it), i.e. not just a GUI layer above command line
  functionality, something I'm afraid to see creep in more and more...]
 

 Does this mean that you want remove everything from `gui/*` besides
 `gui/wxpython/forms/*`?


  Agreed. Once more, I plead for a clean separation between GUI
 and CLI developments, and a disconnection of their release cycles.


 I see some advantages, for example just using same bug tracker makes
 difficult to say what is critical issue; but there are some GUI errors are
 tightly coupled to core module issues.

 On the other hand, I don't see how these disconnected release cycles would
 work. Also it seems that it is impossible or very hard to create good GUI
 without the support of the processing and management tools.


 The wxPython GUI can be considered a monolithic application,
 and FWIW it can pull every trick in the book to integrate a
 Python interpreter, and to make it all easier for Windows users.

 ...

 I would say: Consider the wxGUI, the QGIS and gvSIG plug-ins etc.
 monolithic applications and let their maintainers figure out how
 to deal with this. In the gvSIG CE project, we do a lot of hair-
 raising stuff to hide the complexity of GRASS and its dependencies
 from the end user, and I suspect so does QGIS. But I would not
 advocate the same approach to the core GRASS architecture.


 Than perhaps, no wxGUI is needed because we have QGIS and gvSIG plugins.
 Managing one GUI less in OSGeo could save some work. For example, QGIS
 GRASS plugin is developed separately, so there is no need to have another
 graphical user interface for GRASS with disconnect development.

  I also think that some of the debate comes from the question of whether
  the wxGUI should have a special status or whether it should just
  be treated as one of the hundreds of modules that GRASS offers.

 This is more or less the current state, there is g.gui, you can start
 without it, there are g.gui.* modules. On the other hand, there is always
 something spatial with GUI, e.g. if you want GUI to start when module is
 started without parameters/with --ui.



 Or, are you satisfied with the situation as it is now?

 Thanks for sharing your thoughts,
 Vaclav

 ___
 grass-dev mailing list
 grass-dev@lists.osgeo.org
 http://lists.osgeo.org/mailman/listinfo/grass-dev




-- 

___
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev