Proposals for a new GRASS GIS startup mechanism


GRASS GIS 6.4 Tcl/Tk Startup Window GRASS GIS 6.4 wxPython Startup Window GRASS GIS 7.5 Startup Window
GRASS GIS 6.4 Tcl/Tk GRASS GIS 6.4 wxPython GRASS GIS 7.5

This page is meant as a brainstorming exercise to collect ideas on how to make GRASS GIS startup more newbie-friendly. The general idea is to make initial contact easier and with a less steep learning curve.

This discussion also contains a paradigm choice: should GRASS continue to demand a choice by the user about the projection system to use, possibly making this choice easier and more transparent, or should GRASS start in an arbitrary projection system (lat-long has been suggested) and then inform the user that she might want to change system, or highlight the issue as soon as the user tries to import data which is not lat-long ? To be discussed...

Keep current paradigm, but make contact easier

Proposal 1 (Moritz): Make startup screen more newbie-friendly

In this proposal, the idea is to keep the current paradigm, but to use vocabulary that is more easily accessible to the user and to guide the user through the choices in a different way than currently.

The startup screen is organized in three tabs (but one could imagine three initial buttons that then lead to the next screens). Each tab provides a small collection of easy choices corresponding to different possible paths into a location. Locations are called 'projects' to correspond to what a user might find elsewhere.

  • Tab 1 provides easy entry into the creation of a new project. In the new project (aka location) the PERMANENT mapset is used and the interface opens up immediately:

  • Tab 2 provides access to pre-defined locations (similar to the current "Download" button). The OSM data is just a brainstorming idea to allow the user to designate a zone on a map and download main OSM layers for that zone:

  • Tab 3 provides access to existing projects (aka locations)

Proposal 2 (Gcmillar): Quick access through well-designed tabs on the side

This proposal retains similar structure to current paradigm, with idea to use tabs (on the side) designed with simple images and one-word descriptions for what they access ("New", "Recent", and "Open").

Splash Screen

GRASS startup "Splash screen"

  • Splash screen appears when users first open GRASS. It was decided this should be the first thing users see, instead of simply opening to one of the three tabs (below) so that users do not become frustrated from seeing options they do not need (e.g., user only wants to open project they have been working on in "Recent" tab, and do not care to see options for starting a new project in "New" tab (see below).
  • A better-designed image to use in splash screen may be needed.

"New" Tab

Designed for the first-time user and / or any user looking to create new Locations, Mapsets, and / or Workspaces.

GRASS startup "New" tab

  • "New Location" option opens pre-existing wizard for defining a new location.
    • Preferably when this is selected, a dialogue window asks the user, "First time using GRASS? Check out the Online Manual (linked) for tips on getting started." This can be disabled to not be shown anymore by more experienced users.
      • This message could also be shown on Splash Screen.
  • "Template 1" & "Template 2" options open simple sample datasets (e.g., county boundaries) in commonly used locations (e.g., NC) to provide new users a place to start from (especially users just looking to explore).
    • "Template 1 & 2" names are temporary, should be renamed to describe dataset they contain.
  • "More Templates" option opens wizard for browsing downloadable sample datasets.
    • Wizard could contain option to browse for more templates online.
  • "New Mapset (Existing Location)" option opens wizard for user to select a Location (that the user has previously defined / created) for which a new Mapset will be created in.
  • "New Workspace (Existing Mapset)" option opens wizard for user to select pre-existing Location & Mapset (user-defined) for which a new Workspace will be created in.
  • "More Options" option is not yet well-defined. Suggestions for what this should open are welcome.

"Recent" Tab

Designed for quick access to recently used data.

GRASS startup "Recent" tab

  • "Recent" Tab separates all recently used data into three categories: Locations, Mapsets, and Workspaces.
    • GRASS session should be able to be started with selected data from any of the three categories.
  • On the right, "Selected Data Information" displays relevant and necessary additional information about the selected data.
    • Helps inform user that the data they have selected is what they want / need to open, instead of having to reopen after discovering it wasn't the data they had in mind.
    • "More Info" radio button should display further information about the selected data (i.e., txt file is displayed, containing extended descriptions of the to-be-opened data).
  • Number of recently used data displayed in each category is not decided upon (above example shows two, but three may be better option).
  • "Database" category may be needed.

"Open" Tab

Designed for more experienced users looking to open data already on computer.

GRASS startup "Open" tab

  • "Current Database Directory" shows directory the user is currently in, and will work from when data is opened.
    • Option is given to change directory with "Change" radio button.
      • "Open Existing GRASS data" window below should then automatically refresh to display change in database.
  • "Open Existing GRASS data" displays data in database in same tree-like structure as the "Data" tab in Layer Manager.
    • Each data type (Database, Location, Mapset displayed with matching "icon") for easy identification.
    • Display of Workspaces may be needed as well (above example only uses screenshot of "Data" tab in Layer Manager).
  • "Selected Data Information" is again showed on the right (same functionality as in "Recents" tab).

Change paradigm

Proposal 1 (Moritz) : Open into a predefined lat-long location but give information message

In this proposal, GRASS GIS launches directly with layer manager and map display, and displays a world map. The location is a lat-long system with a worldwide, 1 degree-resolution region. Before the user can interact, however, a message is displayed informing about the importance of projection choice for spatial analysis. The user has the option to get out of that message to simply explore GRASS GIS in the default location, or to create a new project with her own data:

Notes from discussions

NCSU GeoForAll Lab, May 30

These are notes from members of NCSU GeoForAll Lab.

  • Similar window as now but just hide path to GRASS GIS Database. (PT) Automatically find or create the directory when started. (VP)
  • Something like tabs (4 or more) on the side from most basic on the top to most advanced at the bottom. (GM) Maybe button, not tabs. (VP)
  • Sample datasets translate to templates in other software, so they should be called templates (at least in this context). (PT)
  • The default should be "recent mapsets/workspaces" (not applicable for the first time user).
  • What came up, but is not part of the startup:
    • Different layouts of GUI (maybe just too many options)
    • Scariness of and bad associations with terminal window/command line on Windows (but consistency and most people seem to ignore it anyway)
    • Low resolution, all the time the same splash screen, e.g. Blender also includes version number (splash is the same as about box in Blender). Different image for each release can be achieved by creating a pool of ~20 images (one for each minor (x.y) release).

grass-dev mailing list: a proposal to rename location

These are notes from a discussion on mailing list.

  • The term location in GRASS GIS refers to collection of data with common CRS/SRS. (MB)
  • The term location refers to something else, more general in today's GIS world and geospatial field in general. (MB)
  • GRASS (GIS) Database (Directory) can be used as a project similarly to how Location or Mapset can be used (just depends on the user). Potentially, non-GRASS data can be stored in that directory as well. (NA)

NCSU GeoForAll Lab, June 5

These are notes from members of NCSU GeoForAll Lab.

  • What New can split to (all overlapping options):
    • new location (wizard)
    • loc from template
    • new mapset (new from recent?)
    • new from recent
    • more (options option) -> wizard
  • Word open is not properly describing what is happening. Replace it with Connect to Mapset or Open Workspace. It is perhaps open "map" (i.e. workspace or mapset) or start a new session. (PT)
  • CRS of Location should be easy to view by user (#992, #3580). I have started to just name the Location with EPSG code. Tend to use Mapsets to organize projects. The work I've been doing is all within same geographic area, so I want easy access to the same base layers and data from other projects that use same EPSG. (KM)
  • No right click in startup for additional info. "Show me more" button is better. (PT)
  • Text like map names and counts won't be enough for visually oriented people like cartographers, thumbnails of maps will be needed. (PT)
  • Workspace file (VP)
    • Save D/L/M (#3575 Associate database/location/mapset with workspace file)
    • Save CWD (#3573 Save current working directory in wxGUI workspace and use it)
  • We need the recently opened "files":
    • Recent workspaces
      • #2604 recently open workspace in wxGUI
    • Recent mapsets
      • maybe shown at the same place as workspaces in a separate list or distinguished by a graphics
      • #3584 Remember recent mapsets
    • Recent locations
      • useful for creating new mapsets or switching between mapsets
      • it might be already covered by mapsets
    • Recent or all databases
      • good for list/tree such as the one in Data tab, or selection in the current startup
      • #572 Remember recent GIS Data Directory
  • Template should have something there when opened (i.e. couple maps need to be displayed, so probably workspace needs to be opened).
  • Workspace as part of location or mapset in the sample location (aka template). (VP)
  • What came up, but is not part of the startup:
    • It is hard to "find" the Data tab (or understand its usefulness). Perhaps there should be additional path ways to find it. (KM) (This is (or at least was) a common case also for Modules tab. (VP))
    • The place where location/mapset things are in the menu might not be optimal. It is in Settings as GRASS working environment together with Preferences (e.g. which font you want to use) and Addons extensions (what extra modules you want to install). (The other two items Computational region and Projections are more related.) For example when we consider that mapset path would be stored in the workspace file (#3575), mapset could be then switched from File > Workspace and Settings > GRASS working environment > Change mapset. If database/location/mapset is the data we are using/opening/connecting to then why it is in Settings and not e.g. File menu? (VP)
    • Number of automatically displayed layers after import should be limited (import of temporal multiband leads to a really long rendering time). (VP)
  • After meeting notes:
    • Create location from file > Import file > GUI opens but it is empty. This could be solved by generating some workspace (like the mapset bound workspace) during this first start. (VP)

Anna and Vaclav, June 18

Discussion about Proposal 2 (Gcmillar): Quick access through well-designed tabs on the side.

  • The good parts:
    • Recent items
    • Quick access to a lot of options
    • Visually appealing
    • Efficient and simple design with places for additional information and metadata
    • It is a significantly redesigned GUI aiming at both new and current users
  • Splash Screen:
    • Does not seem useful enough by itself even with additional info.
    • Merge with Recent.
    • May not serve well as true splash screen since it may not be possible to load it fast enough.
  • New Tab:
    • A lot of depends on template vs sample dataset controversy.
    • First row seems overloaded: loc wizard/new location button, templates/sample datasets, shortcuts from loc wizard.
    • Second row seems empty: Only 3 options and the last one is just a placeholder.
    • New workspace button: This is basically the current state, i.e. start an empty GUI. Is this how people think about it? Do we want to promote this way?
      • It seems completely counterintuitive for current advanced users, but might be fitting to new users.
      • Making Workspace part of the hierarchy (and e.g. putting it to the Data tab tree) is problematic because db/loc/mapset are here to separate data while the workspace, although often showing subset of what is in the mapset, puts the data together rather then separates them (even from diff mapsets).
    • New mapset button: This will be also possible from the Open tab because that's where the advanced users are likely to go. It may be available also from the Recent tab.
    • New location is actually a new empty/blank location, the others are from the template, so if two words, then "Empty location".
    • New two rows suggestion:
      • First row - Empty location: Using EPSG, XY, WGS84, ..., More
        • Items from the first page of loc wizard plus few often used ones (either by everybody like WGS84 or by the user (which requires to store e.g. recently used EPSGs)), i.e. "quick access", with More button going to loc wizard.
      • Second row - From template/With data: Sample NC SPM dataset, LL World Template, ..., More
        • Sample datasets and templates (whatever the distinction is or is not, it is arguable that template without data is more the "quick access" button from above) with More button going just to a full list (of whatever was installed as template to the operating system or is available online).
      • Possibly change oder.
      • Problems:
        • No place for New Mapset which seems quite fitting (and New Workspace if we go with it)
        • Empty location part contains the "quick access" items taken from loc wizard but these include "From existing data" which possibly import existing data.
    • Recent tab:
      • Merged with the Welcome/Splash? Screen (just different content for new and returning users, but same default tab)
      • Details if present at all should be part of the item in the selection, otherwise it is not quick enough.
      • Workspaces will need a full paths. Mapsets locatons.
      • Locations here need to be reconsidered. It seems inappropriate here (similarly to database dir) because mapset needs to be created in it first. Even if we consider Workspace subitem of Mapset, an empty workspace is created without a name (file name is selected later), but Mapset always requires name to be created (similarly location would require CRS/loc wizard). On the other hand, new mapset from recent location is exactly what students need when following assignments in a course which is using one location (or couple of locations).
      • These can be in further tabs to show more (items and kinds of items), but that 1) makes it more nested 2) potentially breaks the one click advantage (but we also could remember the last tab user used)
    • Open tab:
      • Why not to have multiple databases in the first level of the tree (see e.g. #3576)?
      • Should the maps by part of the tree or of the info part?
      • It could show locked mapsets on Linux/Unix? by using a different icon.
      • Last used one could be preselected as it is now. Additionally all recent items could use different icon.
      • With the functionality of data tab/data catalog (adding new locs or mapsets), renaming, it would be similar to the current page which is great for advanced users, but it may interfere with simplicity and it may create confusion (more than one way how to do a certain thing, it is tab open, but it is actually doing management, maybe there should be only the non-destructive actions, so new and maybe rename, but no remove).
      • Might the go-to tab for advanced users, should we make it possible to show it as the default one?

Martin and Vaclav, July 12

Short comments on Proposal 2 (Gcmillar): Quick access through well-designed tabs on the side.

  • Recent:
    • Mixes Workspaces, Locations and Mapsets, confusing?
    • "Project" as mixture of Workspaces, Locations and Mapsets
  • New:
    • New Workspace only, choice of
      • New WS with New Location
      • New WS with New Mapset in existing Location
      • New WS with New Workspace in exising Mapset

NCSU GeoForAll Lab, August 28

These are notes from members of NCSU GeoForAll Lab (AP, GM, VP).

  • Splash:
    • Splash is needed for the main GUI not the startup.
  • If not splash, what is the default?
    • If new user (no recent), open the New tab.
    • If there is recent, open the Recent tab.
    • But what if we there is no recent, but there is GRASS database in one of the usual places (e.g. ~/Documents/grassdata after what installer on Windows creates it)?
      • Possibly remove that feature from the Windows installer since it is for beginners and this should superseded if not already superseded by the Download button in 7.4. This should take care of most novice cases because there is no such option on Linux).
  • Recent:
    • The info/metadata should be in the list, not after clicking.
    • However, implementing just the list is much faster, so we should start with that.
  • Workspace importance:
    • If we auto load last autosaved workspace for each mapset or e.g. its default workspace in case of sample datasets, then start with empty workspace makes more sense, i.e. is more important/needed.
  • 3-4 tabs option:
    • Recent
    • New
    • Open
    • Manage (optionally merge with open)
  • 4-button option for the New tab:
    1. New blank/empty location
      • Possible names:
        • Create location
        • New empty location
        • New blank location
        • New location
        • ...
      • Goes to location wizard
    2. New location using sample dataset (current Download button)
      • Possible names:
        • Get location
        • Download location
        • Create location from sample data
        • New location from sample data
      • Goes to selection of downloads
    3. New mapset in/from existing location
      • Divides into:
        • All locations
          • In current database? In all past or recent databases?
        • Recent locations
    4. New (blank) workspace in/from/for existing mapset
      • Divides into:
        • All mapsets in all locations which is basically whole (current main GUI) Data tab tree (datacatalog) whether we limit ourselves to one database or not.
        • Recent mapsets
    5. Additional section at the bottom could contain small buttons covering the "quick access" cases from below.
      • Advantage of one list is that the suggested downloads like NC SPM disappear after some which is probably appropriate for most users.
  • 2-3 groups option for the New tab:
    1. Blank/empty locations: WGS584, EPSG, Existing File, UTM, XY, More
      • Most of these lead to further selection.
      • Most of them are for skipping the second page in location wizard (choose method).
      • More goes to standard wizard.
      • These could dynamically change, e.g. by adding recently used EPSGs and removing UTM if option not used.
    2. Download (sample data): Full NC SPM, Basic NC SPM, ..., More
    3. New Mapset
      • Perhaps more common for 2nd time users than new location.
      • But Does not really fit here
      • Would lead to selection of locations (see above)
      • Most similar button is a New Workspace button
      • To make it a 3rd row we could show buttons for creating mapset in a recent location
  • General Data tab (datacatalog)/Manage tab functions
    • Reproject whole mapset function
    • Reproject whole location function
  • Templates versus sample data:
    • There is also create location on the fly automatically from local OSM data and other sources.
    • Although many programs have templates like office or graphical programs, sample dataset is what usually comes with analytical programs.
    • However, concept of document/project templates is still useful as an argument for not showing blank map display when opening a sample dataset.
      • We should put a sample, default or recent workspace into to each mapset.
        • There can be one recent for every mapset. Last closed g.gui wins.
        • Similar to computational region (WIND file) but autosaved by GUI.
          • There can be even an analogue to a default computation region, i.e. a default workspace in PERMANENT mapset which is used when the mapset does not have its own. This does not need a separate file as the PERMAMENT recent can be used as the default for simplicity.
        • Works well enough for opening the sample dataset for the first time.

See also

Tickets with startup component

defect type tickets:

encoding information in locale gets lost
Starting GRASS in mapset which is not owned by the user
GUI startup: encoding error if location with accent has been renamed to other name
Provide an error message pointing out that session is not active
GRASS GIS fails to start without terminal
starting French WinGRASS sometimes fails because of localisation errors
cannot launch GRASS GIS 7.4.1 gis_set error
The "Quit GRASS GIS" button does not close the GRASS shell/session

enhancement type tickets:

Change the GRASS GIS start up to more beginner friendly
grass command should read commands from stdin as an interpreter would do
Add ignore lock flag to grass command
Launching in text mode should not automaticly use location/mapset from rc file
Save current working directory in wxGUI workspace and use it
add powershell shell support to

task type tickets:

Remove legacy meaning of LOCATION variable

Tickets with startup keyword

Change the GRASS GIS start up to more beginner friendly
Remember recent GIS Data Directory
GRASS startup screen should provide metadata about available locations
associate *.gxw files with grass executable
Main GUI fails to start when g.extension fails when fetching the addons
Avoid errors in parallel creation of tempfiles
Save current working directory in wxGUI workspace and use it
Remember recent mapsets
wxgui: startup menu crunched on small display

Tickets with datacatalog keyword

GRASS startup screen should provide metadata about available locations
wxGUI datacatalog: allow actions on multiple selected files
Show recent GRASS Databases in the Data tab
Add rename and delete of Location and Mapset in Datacatalog
Add New Location action to the Datacatalog
Add New Mapset action to the Datacatalog
Show info about a Location in Datacatalog
Show info about a Mapset in Datacatalog

Tickets with workspace keyword

associate *.gxw files with grass executable
recently open workspace in wxGUI
Workspace file issue
g.gui.animation: save to workspace
Save current working directory in wxGUI workspace and use it

Last modified 14 months ago Last modified on Sep 16, 2018 9:05:29 PM

Attachments (12)

Download all attachments as: .zip