-
Notifications
You must be signed in to change notification settings - Fork 261
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
Authenticity joke #102
Authenticity joke #102
Conversation
Holding the alarm button down on the simple clock face displays CASIO, then animates to SENSOR.
Sort of legit, but I didn't bother documenting my library function :) |
Casio -> Sensor -> Hacked If you get to 'Hacked', everything is rotated and has to be read RTL upside down.
bdff30b
to
dba9719
Compare
My current plan for this is:
|
I'm so sorry I've dawdled on reviewing this PR, but I have a few concerns. First I'm sad to say that I really don't think I can merge anything that puts the word Casio on the screen. I get that this is a joke, but Casio has lawyers and lawyers aren't paid for their sense of humor. This would be using a trademarked term in a way that authentic devices use to signal authenticity, and while I get that you're using it to joke about inauthenticity, I fear that the cease-and-desist letter would come to me. 😬 If we resolve that and decide on a different word (even just “HACKED”), I would definitely prefer to do this via a different watch face, just because I'm hesitant to bake an easter egg into the default watch face that ships with everyone's board. If someone wants to opt in to the easter egg that's great, but if we put it in by default, it's an additional support burden to either document the behavior so it's known, or explain the behavior to folks who encounter it unexpectedly. Especially if it causes the characters to become inverted. When I was testing that freaked me out, and I fear folks would see that as their watch being broken if they're not in on the joke. Finally: I'm really hesitant about putting the Hope this helps and again I'm sorry for my trepidation; the morph effect looks hella cool, but the more core to the user and developer experience a thing is, the more I want to favor clarity and simplicity over the cool factor. |
👍 all these are reasonable concerns. I'll look into cleaning this up in the way you've suggested. |
240471f
to
9f0eb47
Compare
So, I've pushed it a bit more in the direction you suggested, but haven't yet moved it to a completely separate face, as I thought I'd run the '#ifdef' version past you. Please don't feel like you have to review this with urgency, or at all! I will not be offended. Issues:
|
// If there's more than one string in the easter egg array, after completion | ||
// the display will 'flip' all the characters. To undo this, start the easter | ||
// egg again (but don't let it complete). | ||
#define EASTER_EGG {" SENSOR ", " HACKED"} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- disable before merge
@@ -84,6 +84,12 @@ void watch_clear_display(void); | |||
*/ | |||
void watch_display_string(char *string, uint8_t position); | |||
|
|||
void watch_display_segment(uint8_t position, uint8_t bit_pos, bool on); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- document before merge (left for now since PR is in draft and it's unclear if we want this stuff in a "public" API)
I still run this on my watch, but every now and again it seems to hang with hacked on the screen and I need to press button to get out. Almost a feature, right? I think this is to do with some weird interaction between accidentally holding the button down (it's the one close to the wrist...) and sleep mode. Also, the seconds no longer invert on the clock since I last updated from main. Some optimisation that I haven't actually looked into, but probably an easy fix. |
Heyo! So I'm trying to tame the pull request situation and I'm afraid I'm going to have to close this one. Playing with the authenticity mark feels too spicy for my taste. Still it looks great, it's rad that you did it, and thanks for contributing! I'm afraid I just can't put it in main. |
Aw :( But it doesn't say Casio any more, just sensor! Is it worth raising the refactor of the display code as a separate PR, as this will make it easier to carry my commit in my own repo? |
@wryun one thought i had when i was working on #321 is that it should be possible to make a "proxy" face that calls out to another face except in a particular case — giving that a shot might make it easier to maintain, and would also mean people could use it on any face, not just the default clock face. Still would be up to @joeycastillo, i can understand not wanting to merge something related to the authenticity function, but perhaps something more generic than that would be acceptable, and that approach could be useful for some other things as well, even if it doesn't get merged as something that looks like this (i'm imagining a face that lets people rebind buttons on any other face, for instance, or more complex navigation UIs built as a single face to make them easier to iterate on) |
Holding the alarm button down on the simple clock face displays CASIO, then animates to SENSOR, then animates to HACKED, then all normal display is flipped (read the digits upside down, but in original direction - i.e. RTL).
Can reverse flip by holding down again up until CASIO (but not all the way to HACKED).