boostorg / website-v2

New Boost website
https://boost.io
Boost Software License 1.0
9 stars 13 forks source link

Please, consider iso-8601 formatted dates in bare html #337

Open ghost opened 1 year ago

ghost commented 1 year ago

Currently, the dates look like this:

image

Which is convenient for people, but not so much for machines.

Please, consider using iso-8601 for dates 2023-05-11T10:00 in bare html, which can be then easitly converted to any format with JavaScript on the user end.

This way the original html will be machine-friendly, while still being human-readable (unlike Epoch timestamps), and the end-user would be even able to customise the dates to their liking in JS.

alandefreitas commented 1 year ago

This way the original html will be machine-friendly

In this case, what are the benefits of that?

ghost commented 1 year ago

In this case, what are the benefits of that?

I am kinda baffled by this question. Are boost users programmers, or what?

https://xkcd.com/1179/

I mean, if #336 is implemented, there is not much need to do that, but that issue is a lot of work, whereas changing an existing date is effectively equivalent to selecting a different format string in a call to .format(), which is easy.

vinniefalco commented 1 year ago

I'm a programmer during work time but when I browse the Internet I typically don't want to have to also write a JavaScript program in order to do so. That said, iso-8601 formatted dates don't really fit in with the visual motif of the website. In fact the news page is just a placeholder for the page which has not yet been designed. The actual design will show an elapsed time, e.g. "today", "yesterday", "2d", "a week", "a month", "3y" for example. And in low-contrast small text an actual date but it would be formatted client-side according to the user's locale.

ghost commented 1 year ago

The actual design will show an elapsed time, e.g. "today", "yesterday", "2d", "a week", "a month", "3y" for example.

Jesus Chris! Please, no! I have no idea who could have ever came up with such a horrible idea, but please, reconsider. It's literally the worst idea I have seen in UX ever.

When I am discussing things with teammates, I want to know whether they could have seen the message or not. "yesterday" makes this hard, and "3y" totally impossible. Moreover, "yesterday" is not even the same yesterday everywhere on Earth, and we have a distributed team.

I typically don't want to have to also write a JavaScript program in order to do so.

I didn't suggest that. I mean that this is the place where I would suggest adding a small JS scriptlet, which would replace the iso-date with something matching their locale, which could be tweaked in the user profile. And for potential bots and non-JS users, an iso date would be just a little friendlier.

Lastique commented 1 year ago

The actual design will show an elapsed time, e.g. "today", "yesterday", "2d", "a week", "a month", "3y" for example.

Please don't do this, or at least make this optional. This style of date presentation does not give the reader the knowledge on when the event happened, and the rough idea like "a week ago" isn't really useful. When I'm looking for a date (that is, when I care and need one), I'm most likely interested in a precise time point, not a general description that requires my mental effort to calculate the date and doesn't give the precise date anyway. I really hate this "frivolous" date presentation on other websites.

Regarding this issue, I too think there is value in having the dates in fixed standard machine-friendly format in the sources, so that the dates can be presented to users according to their locales or preferences (if the website is going to implement user-specific preferences at some point).

vinniefalco commented 1 year ago

there is value in having the dates in fixed standard machine-friendly format in the sources

Yeah that's doable and of course we have the data in the database. We could also show it on the card for the news item in low-contrast, off to the corner of the card. This would be in addition to the elapsed time.