Re: [Tagging] Relations (was directions)

2011-08-10 Thread Simone Saviolo
2011/8/10 Serge Wroclawski emac...@gmail.com

 On Tue, Aug 9, 2011 at 7:13 PM, Simone Saviolo simone.savi...@gmail.com
 wrote:

  if we make a system that any newcomer can
  use completely without even having to dwelve into the details, then we're
  basically dumbing it down and limiting its potential.

 I think we're venturing a bit off topic, but you're keying on to a
 difference in how various people see the project, and while I don't
 want to venture too far into navel gazing, seeing this difference
 really helps underly the differences between how we approach tagging,
 and other aspects of the project.

 First, I think it's important to remember that I don't think anyone is
 advocating removing any existing object types or object
 classifications, but rather providing feedback to the tagging process
 about how best to represent something in OSM.


To this extent and talking about the specific case, I agree with the author
of the proposal that his solution is the best available method to
represent the direction of an object. Others differ, and I accept that.
Others disagree simply because it's not a tag, and I'm not ok with that.


 In other words, no one's talking about taking relations away, but
 putting the breaks on a bit where it comes to making new relation
 types.


I agree on this. But, judging from the discussion that ensued, it seems that
no new relation should be used because it's hard to edit, and this seems a
wrong approach to me.


 Now onto your concern about dumbing down OSM.

 Honestly, I don't like that term, because it implies that simple =
 dumb. That's just not true.


I think it is true, in this case. When you make something simpler than it
was, there may be two reasons for that. The first is that the current
approach is overly complicated, and streamlining it would make it smarter,
more stable, less error prone. The second is that you just want to make it
less error prone. While this is a noble intent anyway, you have to make sure
that you're not removing flexibility, otherwise you're making it simpler AND
dumber.

Newcomers have a hard time understanding C++ templates (experts make errors
too, sometimes). Does this mean that they should be removed from the
standard? No, because, as steep their learning curve is, there's a whole lot
of stuff that couldn't be done without templates - or that could be done in
much more complicated ways.

So, what does this mean? That users should be more educated, and while
they're not they should limit themselves to easier things. Of course, the
advanced features would have to be made somehow transparent to them: if I'm
a newbie and am barely able to add a name=* tag, in case I edit an object
that is part of a relation then the editor should allow me to do so with the
minimum possible interference on the relation.

When I first got into Linux, I had to compile a new kernel when I got
 new hardware, and if I changed monitors, I had to edit the X config
 myself by hand. Now I don't do that. I'm not any dumber.


This doesn't mean that Linux got simpler. I remember having to measure the
physical size of my Full-HD monitor in order to set the correct physical
resolution into I-can't-remember-which config file. Hopefully, now the
process is *easier* because there are better tools, or because someone wrote
down the physical size of most monitors. This doesn't mean that the process
is *simpler*.

I was glad to see an installer tool with a GUI in Kubuntu: dpkg and its
options, though commonly used, were not simple at all. But the GUI is
probably just offering a visual checkbox and translates that to an option in
the command line for dpkg. This is what should be done with OSM too for
newcomers: better tools.

In his recent talk, Andy Allen presented an excellent case for why we
 need more mappers, and the value of a simple, clean interface for
 mappers:

 http://sotm-eu.org/talk?52

 When I've taught mappers, I've come to the conclusion that keeping
 things simple is the best way to encourage more mappers to map, and
 more mappers means more accuracy and more detail.


I agree to a point. Now of course I'm not going to discuss the policies on
recruitment of new mappers, but I'm not sure that lowering the learning
curve would be all good. Having to learn how to map what you're interested
in may work as a bit of lock-in: it took you one hour to learn about this on
the wiki, and you've been trying and getting feedback on your attempts for
two weeks, now tell me you're going to give up mapping because you're bored
with it! On the other hand, I know people who started mapping by drawing
lines and marking the street names, and left after a week, because they lost
their shallow interest and felt they were ok with the small contribute they
had given. Not that their contribute is to be rejected, but what's the point
in having new mappers who abandon the project in a week?

But it's not just entirely new mappers that we're talking about, but
 experienced mappers 

Re: [Tagging] Relations (was directions)

2011-08-10 Thread Tobias Knerr
Simone Saviolo wrote:
 Ok, but there are use cases where simple things don't suffice. In the
 case at hand, for example, using something like direction=forward
 doesn't work in all the use cases. And using direction=angle in
 degrees is in no way simpler (can you figure a newcomer trying to work
 out the angle? What's the reference? Should I use degrees, decimal
 degrees, radians? Should I use minutes and seconds for the fractional
 part (the horror)? Should I be content with something like direction=225
 or be more precise and use direction=221,32? You know what, nevermind,
 I'll use Streetview instead). 

Now, *this* is something that can be abstracted away by tools much more
easily than relations. The unit issue has already been neatly solved by
editors such as Potlatch 2, and I can imagine how I would design a nice
dialog for editing tags with angular values. I have no idea how to even
approach a similarly user-friendly editing tool for direction relations.

(If you are really into GUIs, you could even build some kind of rotate
node feature into the editor that lets you rotate the
traffic-sign/bench/... icon, where the rotation represents the direction
angle.)

A major advantage of tags compared with relations is that they don't
affect other objects, which has all sorts of benefits (object history
easier to understand, no unexpected side effects when I move a node of
the road, ...). Tag-based solutions also cope better with the absence of
editor support: If my editor doesn't have the nice visual rotate node
feature, I will have somewhat a harder time editing the direction tag,
but it does in no way affect my ability to edit any other tag. Editing
anything remotely associated with a relation (even if the edit is not
related to the purpose of the relation!) is annoying.

Relations should therefore be avoided in favor of tags if possible. And
I'm far from convinced that relations are necessary in the particular
example that started this thread.

-- Tobias Knerr

___
Tagging mailing list
Tagging@openstreetmap.org
http://lists.openstreetmap.org/listinfo/tagging


Re: [Tagging] Relations (was directions)

2011-08-10 Thread Simone Saviolo
2011/8/10 Tobias Knerr o...@tobias-knerr.de

 Simone Saviolo wrote:
  Ok, but there are use cases where simple things don't suffice. In the
  case at hand, for example, using something like direction=forward
  doesn't work in all the use cases. And using direction=angle in
  degrees is in no way simpler (can you figure a newcomer trying to work
  out the angle? What's the reference? Should I use degrees, decimal
  degrees, radians? Should I use minutes and seconds for the fractional
  part (the horror)? Should I be content with something like direction=225
  or be more precise and use direction=221,32? You know what, nevermind,
  I'll use Streetview instead).

 Now, *this* is something that can be abstracted away by tools much more
 easily than relations. The unit issue has already been neatly solved by
 editors such as Potlatch 2, and I can imagine how I would design a nice
 dialog for editing tags with angular values. I have no idea how to even
 approach a similarly user-friendly editing tool for direction relations.


Look at the turnrestrictions plugin for JOSM. When you use it, you can even
have no idea that there's a relation involved.

A major advantage of tags compared with relations is that they don't
 affect other objects, which has all sorts of benefits (object history
 easier to understand, no unexpected side effects when I move a node of
 the road, ...).


Yes and no. Relations exist for the exact purpose of binding objects that
are supposed to be bound. If I map a speed camera and use the relation, I'll
set a node as from and another one as to; if then I get better data and
I move those two nodes, the relation is still valid and it is automatically
updated. On the other hand, if I had used something like, for example (it's
not a real tag, just an example), distance_from_road_margin=2 to specify
where the speed camera is, I would have to move the nodes accordingly, or to
edit the value of the tag, and if I forget one of the two, or if I do it
incorrectly, I have invalid data.

As to object history, relations are above objects. A node that represents
an intersection is there because it is an intersection; it may be moved or
tags may be applied, the road may change its classification, whatever, and
all of these changes should be tracked in the history of the node. When that
node becomes the member of a turn restriction relation, what happens to the
relation should not be recorded in the history of the node. If the node is
changed and the turn restriction still applies, the history of the node will
have all the relevant information, and the history of the relation will have
all the relevant information (relevant to the relation, of course, i.e. no
change).

Regards,

Simone
___
Tagging mailing list
Tagging@openstreetmap.org
http://lists.openstreetmap.org/listinfo/tagging


[Tagging] Relations (was directions)

2011-08-09 Thread Serge Wroclawski
On Tue, Aug 9, 2011 at 10:11 AM, Ilya Zverev zve...@textual.ru wrote:

 Of course. When you get to the road you'll see its surface and lane count,

Lane count and surface are useful for many things:

For routing, for rendering, for analyzing traffic and capacity.

Tell me what direction is useful for other than 3d rendering.

 OSM offers many
 perspectives. From the perspective of routing the direction of road sign is
 important.

How?

 From the perspective of 3D rendering physical attributes and
 rotation are important. OSM has stopped being just a map the moment someone
 specified building levels count.

OSM isn't a 3d representation of the earth. It's a 2d representation,
and a rough one at that.

 The problem with a direction tag is that then suddenly every object
 has a direction relation, and we make editing the map far more
 complex.

 The problem with a name attribute is that then suddenly every object has a
 name tag, and we make editing the map far more complex. This is not a
 proposal's problem, but with relations in general, I guess?

YES!

Relations are a solution that should only be used as a last resort.
They cause many many problems. We have to use them but before we do we
should ask ourselves:

1. Is this data representable some other way? Through tagging for example?

2. What is the relationship I'm building my relation on? A relation
describes relationships. What are my objects and their role to each
other?

3. Is this something people will find useful other than me?

4. How would I code support for this? Since relations are complex,
maybe spend some time in the PL2/Josm code and think about how you'd
build a UI for it, and maybe think about how a renderer would support
it, not just in theory but in practice.

 Should we reduce their count to
 mininum, creating alternative ways to map turn restrictions, destination
 signs, surveillance cameras, public transport routes?

Yes!!!

Relations are overused in OSM, and it causes a huge amount of
difficulty in spreading mapping.

I am often editing relations that other people make; they're often
broken. They're broken because it's hard to make them correctly, and
fixing a relation isn't easy- you have to break the objects apart,
check their roles, check their construction, and reassemble the
objects.

Relations make the map hard to work with.

Let's take your example. Let's say I find a road need to be split and
fixed because of construction. Now I have to worry about the relations
on that road, and check each and every segment that's created.

I'll tell you that many mappers won't do that, which means that the
relations won't be right. What's left is bad data. It's like an
abandoned wiki.

The more I fix other's data, the more clear these problems appear.

- Serge

___
Tagging mailing list
Tagging@openstreetmap.org
http://lists.openstreetmap.org/listinfo/tagging


Re: [Tagging] Relations (was directions)

2011-08-09 Thread Pieren
On Tue, Aug 9, 2011 at 4:44 PM, Serge Wroclawski emac...@gmail.com wrote:

A big +1.
I'm afraid that people promoting relations (once they understand the
concept, they want to use it everywhere) are not the one editing often the
map data ...

Pieren
___
Tagging mailing list
Tagging@openstreetmap.org
http://lists.openstreetmap.org/listinfo/tagging


Re: [Tagging] Relations (was directions)

2011-08-09 Thread Simone Saviolo
2011/8/9 Pieren pier...@gmail.com

 On Tue, Aug 9, 2011 at 4:44 PM, Serge Wroclawski emac...@gmail.comwrote:

 A big +1.
 I'm afraid that people promoting relations (once they understand the
 concept, they want to use it everywhere) are not the one editing often the
 map data ...


-1. I use them often, and I would like to see them used more. They're not
that difficult to deal with with current editors (I'm thinking JOSM, which
automatically adds split ways to the relation and asks what to do when
joining multiple ways).

Regards,

Simone
___
Tagging mailing list
Tagging@openstreetmap.org
http://lists.openstreetmap.org/listinfo/tagging


Re: [Tagging] Relations (was directions)

2011-08-09 Thread Nathan Edgars II

On 8/9/2011 10:44 AM, Serge Wroclawski wrote:

Relations are overused in OSM, and it causes a huge amount of
difficulty in spreading mapping.

I am often editing relations that other people make; they're often
broken. They're broken because it's hard to make them correctly, and
fixing a relation isn't easy- you have to break the objects apart,
check their roles, check their construction, and reassemble the
objects.

Relations make the map hard to work with.

Let's take your example. Let's say I find a road need to be split and
fixed because of construction. Now I have to worry about the relations
on that road, and check each and every segment that's created.

I'll tell you that many mappers won't do that, which means that the
relations won't be right. What's left is bad data. It's like an
abandoned wiki.

The more I fix other's data, the more clear these problems appear.


I agree completely with this. Relations need to be used sparingly, 
redundantly wherever possible (e.g. ref/rcn_ref/etc. tags on ways for 
route relations), and it should be easy to find and fix errors.


It might be useful if the API and editing software treated relations 
'transparently' as tags, kind of like Potlatch 1 does. Any request to 
the API for an object would also return a list of the relation IDs it is 
a part of, the role it has, and the tags of the relation (but not all 
the members). (Would this significantly increase processing or 
downloading time? If so, maybe the tags on the relation could be 
dropped.) Uploading an object would also require this information, or a 
conflict would be created. JOSM needs better relation conflict 
management. I find that most relation breaking is due to splitting or 
joining ways without updating relation membership for various reasons, 
such as JOSM not knowing the relation is there or a mapper ignoring a 
conflict because it's too hard to fix.



As for the direction a sign faces, perhaps an alternate plan would be to 
map the sign as a way (this is, after all, correct in a micromapping 
sense) and define which side has the text (or if both sides have text, 
which text is on which side).


___
Tagging mailing list
Tagging@openstreetmap.org
http://lists.openstreetmap.org/listinfo/tagging


Re: [Tagging] Relations (was directions)

2011-08-09 Thread Mike N

On 8/9/2011 10:44 AM, Serge Wroclawski wrote:

Relations make the map hard to work with.


 Agree - one of the barriers to entry by new mappers is the complexity. 
 We need to do everything possible to keep it simple and usable.   And 
not just by creating ever-more-complex models and updating all the 
editors to keep pace.   3rd party companies create fancy tools and see 
that it's a good idea to have it inter-operate with OSM data, until it's 
time to dive into relations:


http://forum.openstreetmap.org/viewtopic.php?id=13377

___
Tagging mailing list
Tagging@openstreetmap.org
http://lists.openstreetmap.org/listinfo/tagging


Re: [Tagging] Relations (was directions)

2011-08-09 Thread Simone Saviolo
2011/8/9 Mike N nice...@att.net

 On 8/9/2011 10:44 AM, Serge Wroclawski wrote:

 Relations make the map hard to work with.


  Agree - one of the barriers to entry by new mappers is the complexity.  We
 need to do everything possible to keep it simple and usable.   And not just
 by creating ever-more-complex models and updating all the editors to keep
 pace.   3rd party companies create fancy tools and see that it's a good idea
 to have it inter-operate with OSM data, until it's time to dive into
 relations:

 http://forum.openstreetmap.org/viewtopic.php?id=13377


Allow me to disagree. I found it difficult to understand English when I was
at the elementary school, but this has never been a reason to remove all
those complicated things I didn't get. I learned and I got better, to the
point that I can read and write well enough to understand and make me
understand. The same goes for OSM: if we make a system that any newcomer can
use completely without even having to dwelve into the details, then we're
basically dumbing it down and limiting its potential.

I'd rather like to see a tagging philosophy that creates a two-layered
approach: a simpler model that anyone can easily use, and a more advanced,
flexible and detailed one for more experienced users.

Regards,

Simone
___
Tagging mailing list
Tagging@openstreetmap.org
http://lists.openstreetmap.org/listinfo/tagging