A user wrote to me thinking that "ERROR" meant "must do"... perhaps we should rename "FAIL" to "MUST" so its clearer..?
no thanks ;-)
Did the user actually see an ERROR? We're hunting these down!
I was quick to close this issue because I think renaming "FAIL" to "MUST" is a bad idea. It does not address the real issue: if FAILs were called "MUST" (or anything else, really), a user would still see ERRORs and maybe misinterpret them.
Also, we already explain to the user what each log-level mean (#2823):

But maybe we could print "System Error" instead of "ERROR", and that would help a lot indeed!
But maybe we could print "System Error" instead of "ERROR", and that would help a lot indeed!
We have had this question or confusion often, so a more detailed name could be actually helpful :)
FontBakery ERROR Could be more explicit for the users, as System could lead them to think in something about a conflict with their Operative Systems.
I think System Error is good because it could either be a FontBakery bug or a problem with the system itself such as a bad installation of one of the dependencies.
Also, it would sound redundant if FontBakery emitted a FontBakery Error.
Up to now, my understanding is that "system" was implicit whenever we said ERROR. I think we're just planning to make this explicit now.
Maybe INTERNAL_SYSTEM_ERROR or INTERNAL_SOFTWARE_ERROR
I'll stick to SYSTEM_ERROR. I won't prepend INTERNAL_ because we don't want to assume too much about the problem and we can't say it is always an "internal" matter.
just joking: we could also rename it to BORKED! ;-)
I would expect that a user would read "internal" and (naturally) understand it can't be fixed in their fonts. So, it's less about what we assume and more about what the user understands.
Is SYSTEM_ERROR really too bad? I fear we're entering bike-shedding territory.
With SYSTEM_ERROR we may end up with inexperienced users reinstalling their OS, because the system has an error.
With
SYSTEM_ERRORwe may end up with inexperienced users reinstalling their OS, because the system has an error.
This is also my reasoning/concern around this. I think INTERNAL_SOFTWARE_ERROR would be clearer for any given user.
just joking: we could also rename it to BORKED! ;-)
New word learned :D
INTERNAL_SOFTWARE_ERROR is way too long.
Are we all happy with INTERNAL_ERROR then?
Honestly, I would rather leave ERROR as it may break stuff, e.g. if other parties/foundries have implemented their own reporters or such things, and it's so fundamental, it may affect a lot places. It's also a rather big effort, and we don't know if the desired effect is created with the new wording, so I would not change it on a hunch. Not sure how to make sure a new word is actually a better word.
The original problem seems to me is not solved by a new word, maybe an interface, that says more explicitly what to do, and in what order is required (but it may feel patronizing):
Your Recipe (i.e. TODO-list):
- Report the ERRORs to us at fontbakery/issues. Sorry for the inconvenience:
- ERROR Message …
- ERROR Message …
- Fix the FAILs in your fonts:
- FAIL Message …
- FAIL Message …
- Consider if the WARNs in your fonts require action:
- WARN Message …
(etc.)
But, if a user is not reading the information we have now, I don't know if a different form of writing it down changes that.
yeah, I agree.
What about complementing the current texts? (suggestions in **)
An ERROR is something wrong with FontBakery itself, possibly a bug. *Please report it in https://github.com/googlefonts/fontbakery/issues*
A FAIL is a problem with the font that must be fixed.
A WARN is something that *could be wrong in the font please inspect and address it if necessary*.
An INFO result simply prints something useful. Typically stats.
A PASS means the font looks good for the given checking routine.
And a SKIP happens when the check does not apply to the given font.