[josm-dev] Thoughts for further step to modeless operation in JOSM

Matthias Julius lists at julius-net.net
Tue Aug 19 21:10:08 BST 2008


Gervase Markham <gerv at gerv.net> writes:

> David Earl wrote:
>> The two threads of recent days, in particular about the cross to add a 
>> new node, are expressing an underlying frustration about the remaining 
>> modes in JOSM. The cross is a bit of a hack to work round this. Can we 
>> do more to get rid of the modes? 
>
> I would draw the group's attention again to my modeless UI proposal -
> the section "New UI Design (by Gerv) - version 2" on
> http://wiki.openstreetmap.org/index.php/JOSM/UI
>
> As the green sections show, it's not a massive change from what we have
> now, but has the advantage of being modeless and consistent with other
> applications in the same or a similar space (e.g. vector drawing apps).

The applications I know - which are mostly CAD and barely any vector
applications - require the user to start a command to add any
feature.  And one needs to cancel the command (or start a new one) if
one wants to do something else.  The difference to JOSM is mainly
terminology - they don't call it "Mode".  And one can hit ESC to
cancel any command and be back in Edit "Mode".

I am almost happy with the way JOSM works.  This is how I would like
it:

- use double click on a node to extend/start a way from that node
- maybe use double click on segment or empty space to start way from
  there
- use <A> to add connected nodes (ways), same as now
- hitting <A> again makes JOSM forget the last node and start a new
  way (same as Shift-Click)
- use <N> to add uncennected nodes
- hitting <A> after <N> should not connect the new node to the last
  one inserted while in "Add Node" command
- <ESC> (or <S> to support old habits) or click on the last added node
  cancels any of the above but dragging the last (or any other) node
  just drags the node

I think this should make editing a pretty smooth operation.  But, most
importantly, don't call these commands "Modes" and JOSM will be
modeless. ;-)

Matthias




More information about the josm-dev mailing list