Agent Stats Format

ntzzntzz ✭✭✭
edited December 2019 in App Feedback (Archive)

Hi!

Since reading a few months ago that the new Agent Stats export was implemented, i was expecting a change for a better format, but seems that is not going to happen.

As i read, @pql prefers a format like json but as he said, it's too difficult to read for non programmer people, so now the export is based in tabs, not the best format, but it could be parsed.

What i would like to suggest is if format could change from tab's format for a comma's format, just to have a better separator that couldn't be wrongly catch like when you copy the stats to other platform that convert the tab to a space.

Maybe @NianticBrian could comment here pros and cons about it, and if could be possible.

Also appreciate that the string associated to the Time Span is relative the the local idiom, IMO, this is a bad export, maybe could change to a unique relative string in english as is the best way IMO.

Comments

  • I'd like to give a 👍️ on this...

    Please change the tabs to commas.

    The timezone issue is also very valid - unless you already know the agents timezone...

    Another idea would be to implement some simpler headers (e.g. change "Unique Portals Captured" to "pioneer") but I guess that would be too much of a BC break :P

  • I dont understand why they didn't put one item per line.

    OTOH changing it would cause more grief.

    Since the parsing code used by agent stats (etc) knows the column headings, it can actually split them even if tabs are changed to spaces.

  • well, changing to commas would cause some grief, but only one time

    using tabs would cause some parsers to break every time they introduce a new stats, specially when that stats has more than one word

    timezone is not very critical since those stats are always compared to the same agent so timezone usually does not change, but could be improved

  • vikendvikend ✭✭✭
    edited January 2020

    This change (tabs -> commas) would be very appreciated, now it's pain in the **** to parse

    Time Span Agent Name Agent Faction Date (yyyy-mm-dd) Time (hh:mm:ss) Level Lifetime AP ...
    

    to meaningful result. Example above is a string put through Telegram that, as said before, replaces tabs with spaces.

    I'm not saying that parsing cannot be done even with tab replaced by single space but it would be much easier (and IMHO faster and more accurate) to parse something with maybe comma + space separator like

    Time Span, Agent Name, Agent Faction, Date (yyyy-mm-dd), Time (hh:mm:ss), Level, Lifetime AP, ...
    

    Actually, any character that cannot be used in username or anywhere else in the export string can be used as separator, ie. ';' '*' '/' ...



    Edit: grammar is hard man

  • TSV and CSV are basically the same format, with different delimiters. I'm not sure what using CSV instead of TSV would actually gain you except to break everyone's code.

  • You aren't parsing TSVs by looking for spaces are you?

  • vikendvikend ✭✭✭
    edited January 2020

    Have you read my post at all? If I need to put data through some app (ie Telegram) before parsing, there are no tabs left. Telegram just trims them to single space. Then it's kinda hard to know where should be a space and where should be a tab.



    Have you read previous discussion at all?

  • edited January 2020

    Have you read previous discussion at all?

    Yes. It consists of "I want this change and it doesn't make any significant change." Which is a self defeating argument because by advocate's own admission:

    Why is not a very disrupting change?

    Because the unique change you would have to do as a third party developer is to split the lanes per commas instead of tabs.

    But the thing is, Tab is a protected character not allowed in any statements. Your claim:

    using tabs would cause some parsers to break every time they introduce a new stats, specially when that stats has more than one word

    Shows you don't know how to properly parse a TSV. You don't look for white space, you look for tabs. That's how you parse a "tab-separated values" dataset. There is literally no programming difference between TSVs and CSVs, except for the character (ASCII 09 vs ASCII 44).

     If I need to put data through some app (ie Telegram) before parsing, there are no tabs left. 

    Learn how to send a TSV file in Telegram then. Your choice of incompetence doesn't make it any better. Your change is a pointless waste of time, simply because you don't know how to properly write software...

    Clearly you didn't read your textbooks.

    Post edited by Perringaiden on
  • vikendvikend ✭✭✭


    Okay how did we get from discussing changing tabs to commas or whatever to my (apparently) non-existent programming skills? Nice Ad hominem you got there pal. https://en.wikipedia.org/wiki/Ad_hominem


    But back to the topic: Imagine you are writing a Telegram bot for some event to collect stats from players.


    1) Telegram replaces tabs in text for a single space --> it's kinda hard to parse string on the server side.

    2) I can't force players to first save the string to file and then send that file via Telegram or whatever when it's much easier to just paste the data to the IM-app. That's just poor UX design. (Maybe if Ingress saved stats to file instead of to clipboard? Then ok.)

    3) "Okey, then send screenshot". One would agree with me that OCR is much more CPU-demanding and/or takes much longer than simple string processing.


    How would you solve the this?


    In almost 10 years I'm interested in programming I've seen TSV like...twice? So yeah, very common format.


    It's a big change from .split('\t'); to .split(','); I can see that. /sarcasm

  • In any case, since the heading texts and their order is (mostly) known by the parsing code it can detect missing headers (stat 0) or single inserted headers even if all the tabs are converted to spaces.

  • Okay how did we get from discussing changing tabs to commas or whatever to my (apparently) non-existent programming skills? Nice Ad hominem you got there pal. 

    You were the one describing how its harder to parse TSVs. Which implies either you have no idea what you're talking about and shouldn't have made the claim OR you have programming skills and they are bad. Why on earth are you arguing with everyone telling you it's a pointless change, because you aren't going to be developing any code to interpret the TSV formatted data...

    Imagine you are writing a Telegram bot for some event to collect stats from players.

    Then I would say "Copy your stats to a text document and upload the file to the bot."

    This solves every problem you have. Telegram reformatted text is not suitable as a transfer mechanism for Agent Stats data, and your claim that you have no programming skills makes you infinitely unsuited to make any sort of claims. Even CSV will encounter difficulties as dumped Telegram text, because Telegram contains markup, and you're pasting text into it.

    If you "can't force players" to do it, then don't use Telegram as your upload method, because that is bad tool choice. You've made an inappropriate tool choice and now you want to change everything else to conform to that bad choice and compound the issue.

  • Or just write the code to parse what you've been given. Just needs some codung skills.

    Oh, and allow for people like me who refuse to give Telegram their phone number......

Sign In or Register to comment.