New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a "tile details" view accessed from the context menu #1472

Open
wants to merge 3 commits into
base: master
from

Conversation

Projects
None yet
@tomhughes
Member

tomhughes commented Mar 5, 2017

A live version of this is currently running at https://tomh.apis.dev.openstreetmap.org/ for testing.

@Firefishy

This comment has been minimized.

Show comment
Hide comment
@Firefishy

Firefishy Mar 5, 2017

Contributor

The dates, likely worth stating that they are in UTC.

Contributor

Firefishy commented Mar 5, 2017

The dates, likely worth stating that they are in UTC.

@simonpoole

This comment has been minimized.

Show comment
Hide comment
@simonpoole

simonpoole Mar 5, 2017

Contributor

Nice, perhaps add the current cache that is being used to the display (only for the standard layer).

Nitpick: I suspect "Tile details" is an order of magnitude too nerdy (wtf does OSM have to do with bathrooms :-)). "Map debug" or something along such lines would probably be better.

Small further nitpick changing the map layer should update the display- Potentially in the same vein as above comments, clearly pointing out where the map tiles originate from and who's responsible for them would be a good idea.

Contributor

simonpoole commented Mar 5, 2017

Nice, perhaps add the current cache that is being used to the display (only for the standard layer).

Nitpick: I suspect "Tile details" is an order of magnitude too nerdy (wtf does OSM have to do with bathrooms :-)). "Map debug" or something along such lines would probably be better.

Small further nitpick changing the map layer should update the display- Potentially in the same vein as above comments, clearly pointing out where the map tiles originate from and who's responsible for them would be a good idea.

@tomhughes

This comment has been minimized.

Show comment
Hide comment
@tomhughes

tomhughes Mar 5, 2017

Member

Displaying the current cache would require a source for that information - I don't really want to hit /cgi-bin/debug every time somebody loads this.

I agree that "Tile details" is a bit nerdy - that's why I added the rule off to separate nerdy options from normal ones. I've even pondered only showing it if a modifier is held down. I'm not sure that making it more vague by using "Map debug" actually helps though.

I've also considered the question of updating on layer change, but if we do that then what about zoom? or move? it's much less clear what updating would mean in those cases...

Member

tomhughes commented Mar 5, 2017

Displaying the current cache would require a source for that information - I don't really want to hit /cgi-bin/debug every time somebody loads this.

I agree that "Tile details" is a bit nerdy - that's why I added the rule off to separate nerdy options from normal ones. I've even pondered only showing it if a modifier is held down. I'm not sure that making it more vague by using "Map debug" actually helps though.

I've also considered the question of updating on layer change, but if we do that then what about zoom? or move? it's much less clear what updating would mean in those cases...

@rbovard

This comment has been minimized.

Show comment
Hide comment
@rbovard

rbovard Mar 6, 2017

There is a format issue (at least in french): 29 janvier 2017 à 19 h 5

What does it mean (19h50 or 19h05)?

rbovard commented Mar 6, 2017

There is a format issue (at least in french): 29 janvier 2017 à 19 h 5

What does it mean (19h50 or 19h05)?

@tomhughes

This comment has been minimized.

Show comment
Hide comment
@tomhughes

tomhughes Mar 6, 2017

Member

Well that's really an issue for i18n-js upstream I suspect.

Member

tomhughes commented Mar 6, 2017

Well that's really an issue for i18n-js upstream I suspect.

@tomhughes

This comment has been minimized.

Show comment
Hide comment
@tomhughes

tomhughes Mar 6, 2017

Member

Actually the issue is the time.formats.friendly string in our translations and you get the same issue with server side code - the format string is %e %B %Y à %-H h %-M and %-M is "Minute of the hour (0..59)". You would want %M to make it always two digits.

So basically if you think it should change then head over to Translatewiki (see https://wiki.openstreetmap.org/wiki/Website_internationalization#How_to_translate for more information).

Member

tomhughes commented Mar 6, 2017

Actually the issue is the time.formats.friendly string in our translations and you get the same issue with server side code - the format string is %e %B %Y à %-H h %-M and %-M is "Minute of the hour (0..59)". You would want %M to make it always two digits.

So basically if you think it should change then head over to Translatewiki (see https://wiki.openstreetmap.org/wiki/Website_internationalization#How_to_translate for more information).

@HolgerJeromin

This comment has been minimized.

Show comment
Hide comment
@HolgerJeromin

HolgerJeromin Mar 6, 2017

Contributor

Really nice. Thanks!
The details page should be blanked (or marked) after zoom. At least if we are not in the current zoom.

The Status is beeing loaded async, so we need a kind of "loading..." text.

Contributor

HolgerJeromin commented Mar 6, 2017

Really nice. Thanks!
The details page should be blanked (or marked) after zoom. At least if we are not in the current zoom.

The Status is beeing loaded async, so we need a kind of "loading..." text.

@woodpeck

This comment has been minimized.

Show comment
Hide comment
@woodpeck

woodpeck Mar 6, 2017

Contributor

@HolgerJeromin I disagree about that; I occasionally find it useful to, when tile details are shown, be able to zoom in and check exactly where the tile boundary is.

Contributor

woodpeck commented Mar 6, 2017

@HolgerJeromin I disagree about that; I occasionally find it useful to, when tile details are shown, be able to zoom in and check exactly where the tile boundary is.

@HolgerJeromin

This comment has been minimized.

Show comment
Hide comment
@HolgerJeromin

HolgerJeromin Mar 6, 2017

Contributor

I dont talk about the rect (which is great btw) but the information table.
The information shown is simply wrong after zoom.

Contributor

HolgerJeromin commented Mar 6, 2017

I dont talk about the rect (which is great btw) but the information table.
The information shown is simply wrong after zoom.

@Zverik

This comment has been minimized.

Show comment
Hide comment
@Zverik

Zverik Mar 7, 2017

Contributor

Why is the information wrong? It is about a tile, X-Y-Z and URL specify which one.
If we change the sidebar contents when zoom level changes, it won't be obvious. "I did something and all the data changed, how do I get that back". Because map zoom level is not a control that is associated with the sidebar.

Contributor

Zverik commented Mar 7, 2017

Why is the information wrong? It is about a tile, X-Y-Z and URL specify which one.
If we change the sidebar contents when zoom level changes, it won't be obvious. "I did something and all the data changed, how do I get that back". Because map zoom level is not a control that is associated with the sidebar.

@Zverik

This comment has been minimized.

Show comment
Hide comment
@Zverik

Zverik Mar 7, 2017

Contributor

Displaying the current cache would require a source for that information - I don't really want to hit /cgi-bin/debug every time somebody loads this.

Does that call require a lot of resources? I doubt too many users are going to use the tile info option.

Contributor

Zverik commented Mar 7, 2017

Displaying the current cache would require a source for that information - I don't really want to hit /cgi-bin/debug every time somebody loads this.

Does that call require a lot of resources? I doubt too many users are going to use the tile info option.

Show outdated Hide outdated app/assets/javascripts/index/tileinfo.js
}
else
{
$("#tileinfo-status").hide();

This comment has been minimized.

@Zverik

Zverik Mar 7, 2017

Contributor

I don't see this block unhidden anywhere. Do you need to add $("#tileinfo-status").show() somewhere above?

@Zverik

Zverik Mar 7, 2017

Contributor

I don't see this block unhidden anywhere. Do you need to add $("#tileinfo-status").show() somewhere above?

This comment has been minimized.

@tomhughes

tomhughes Mar 7, 2017

Member

Well the page will have been reloaded by then won't it? That will only be an issue if we start updating the details on a layer change.

@tomhughes

tomhughes Mar 7, 2017

Member

Well the page will have been reloaded by then won't it? That will only be an issue if we start updating the details on a layer change.

This comment has been minimized.

@Zverik

Zverik Mar 7, 2017

Contributor

Ah, so it adds an attribute to a loaded page element, and it is cleared every time a new sidebar content is loaded? Okay then.

@Zverik

Zverik Mar 7, 2017

Contributor

Ah, so it adds an attribute to a loaded page element, and it is cleared every time a new sidebar content is loaded? Okay then.

@pnorman

This comment has been minimized.

Show comment
Hide comment
@pnorman

pnorman Mar 7, 2017

Contributor

If we wanted to use /cgi-bin/debug I think we should first make a machine-readable version of the debug page.


User-interface wise, I like it. I tried to make it screw up by throttling my connection and doing stuff with zooming, panning, and using it on unloaded tiles, and it didn't seem to screw up.

🚢

Contributor

pnorman commented Mar 7, 2017

If we wanted to use /cgi-bin/debug I think we should first make a machine-readable version of the debug page.


User-interface wise, I like it. I tried to make it screw up by throttling my connection and doing stuff with zooming, panning, and using it on unloaded tiles, and it didn't seem to screw up.

🚢

@HolgerJeromin

This comment has been minimized.

Show comment
Hide comment
@HolgerJeromin

HolgerJeromin Mar 7, 2017

Contributor

Why is the information wrong?

The sidebar is not showing information about a tile which is displayed right now. But probably this is a good thing.

Contributor

HolgerJeromin commented Mar 7, 2017

Why is the information wrong?

The sidebar is not showing information about a tile which is displayed right now. But probably this is a good thing.

@Zverik

This comment has been minimized.

Show comment
Hide comment
@Zverik

Zverik Mar 7, 2017

Contributor

If we wanted to use /cgi-bin/debug I think we should first make a machine-readable version of the debug page.

It is much more machine readable than /status page for getting a tile freshness status. All we need is "Cache Server" and "Render Server" values, which can be extracted with a regexp.

Contributor

Zverik commented Mar 7, 2017

If we wanted to use /cgi-bin/debug I think we should first make a machine-readable version of the debug page.

It is much more machine readable than /status page for getting a tile freshness status. All we need is "Cache Server" and "Render Server" values, which can be extracted with a regexp.

@ImreSamu

This comment has been minimized.

Show comment
Hide comment
@ImreSamu

ImreSamu Mar 11, 2017

Nice improvement!

All we need is "Cache Server" and "Render Server" values, which can be extracted with a regexp.

it would be useful
Now the same tileinfo link sometimes gives different Status values
( in my example the Last Rendered, Last Accessed information is different )

From HU (Hungarian) IP

image

Via NL proxy :

image

ImreSamu commented Mar 11, 2017

Nice improvement!

All we need is "Cache Server" and "Render Server" values, which can be extracted with a regexp.

it would be useful
Now the same tileinfo link sometimes gives different Status values
( in my example the Last Rendered, Last Accessed information is different )

From HU (Hungarian) IP

image

Via NL proxy :

image

@de-vries

This comment has been minimized.

Show comment
Hide comment
@de-vries

de-vries Mar 12, 2017

I agree that "Tile details" is a bit nerdy - that's why I added the rule off to separate nerdy options from normal ones. I've even pondered only showing it if a modifier is held down. I'm not sure that making it more vague by using "Map debug" actually helps though.

The whole feature is probably useless to a lot of users who aren't nerdy enough to appreciate it.
May I suggest to only show it to logged-in users? This may prevent a few users form getting scared away on their first contact with osm.

de-vries commented Mar 12, 2017

I agree that "Tile details" is a bit nerdy - that's why I added the rule off to separate nerdy options from normal ones. I've even pondered only showing it if a modifier is held down. I'm not sure that making it more vague by using "Map debug" actually helps though.

The whole feature is probably useless to a lot of users who aren't nerdy enough to appreciate it.
May I suggest to only show it to logged-in users? This may prevent a few users form getting scared away on their first contact with osm.

@Zverik

This comment has been minimized.

Show comment
Hide comment
@Zverik

Zverik Jul 7, 2017

Contributor

Could we merge this? @gravitystorm

Contributor

Zverik commented Jul 7, 2017

Could we merge this? @gravitystorm

tomhughes added some commits Feb 24, 2017

Improve display of tile information
Make states translatable and parse dates and reformat them in a
locale sensitive way.

Also add a footnote explaining that times are UTC and that an old
time may be a deliberate change to dirty the tile.
@sommerluk

This comment has been minimized.

Show comment
Hide comment
@sommerluk

sommerluk Jul 22, 2018

Any news on this? Would be a nice enhancement…

sommerluk commented Jul 22, 2018

Any news on this? Would be a nice enhancement…

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment