[OSM-talk] osmeditor2, and editors in general... usability
Nick Whitelegg
nick at hogweed.org
Sun Jul 30 09:15:00 BST 2006
[Some of this is dev-related, but some is talk-related, so posted to both
lists]
I've now taken osmeditor2 as far as I want to in terms of editing features,
and with a Windows .EXE available (albeit without the ability to talk to a
GPS, though I have a way of getting round that one for the moment), I'd like
to turn my attention to usability.
What I want to do with osmeditor2 is to improve the usability to make it very
easy for new OSM users to be able to download OSM data and create new ways,
focusing on selecting from a range of predefined types e.g. footpath,
bridleway, minor road, A road, B road etc. (the list is UK-centric at the
moment, but this could be expanded - perhaps with the use of a configuration
file - to equivalents for other countries) as well as create and edit points
of interest, edit existing ways, and upload waypoints from the GPS.
With feedback on the list that the editors are regarded by some as difficult
to use, particularly for non-technical users, I'd like to focus on this
particular aspect now.
A related point, and something of interest to all editors is that the process
of way construction via the API necessitates significant complexity, with
consequent usability issues. At the moment to create a way you have to (in
pseudo-code):
Create first node
For i=2 to nnodes
Create segment
Create next node
Next i
Create way
With each step being dependent on the last, it makes the code to communicate
with the API very complex, and if there is a network error, the whole thing
fails.
It would thus be better I feel to write a new API script which takes a list of
latitudes and longitudes (the nodes of the way) plus the intended tags, and
creates the whole lot server side. This would minimise the chance of errors
in way construction and make the client-side code much less convoluted.
The question is, what format should it take? Something like the following?
<way id="0" construct="yes">
<node lat="..." lon="..." />
<node lat="..." lon="..." />
<tag k="..." v="..." />
</way>
If we can agree on a format I'll get going creating the API script.
Nick
More information about the talk
mailing list