No, I'm not nerding out about newest Persona game, I'm nerding out about site meta! (There's the thin connection that it's about people and in the video game when a character attacks they sometimes shout "persona" because it's a jrpg). Anyway, I wanted to finish the
chat bubble-style html implementation of conversations that started here:
I did the screen grab after I started coding, so I had broken the link to the 'me' avatar, but you get the idea.
Conversation element
So some things things that weren't great about the initial implementation:
- Stretching text boxes to accommodate a 256px avatar.
- In-line chat bubbles, traditionally they're offset toward their side of the screen.
- (Unseen) support for just two people.
With some cellspan-fu, I implemented
lazy avatar placement and bubbles thats that take up 2/3 of a center area. Supporting multiple participants made the logic more complicated, but like the thumbnail/gallery view I hope to have done it and never have to change it. Also I followed the left/right paradigm where I'm on the left and others are on the right, excepting the case where I'm not in the conversation.
And here's how it looks:
| | | | |
KO
|
I always say the absence of evidence is not the evidence of absence.
|
|
|
|
What?
|
Connie
|
Simply because you don't have evidence that something does exist does not mean you have evidence of something that doesn't exist.
|
|
|
What?
|
What country are you from?
|
|
|
What?
|
'What' ain't no country I ever heard of! They speak English in 'What'?
|
|
|
What?
|
KO
|
English, motherfucker! Do you speak it?
|
|
|
Yeah.
|
Connie
|
So you understand the words I'm saying to you!
|
|
|
Yeah.
|
Well, what I'm saying is that there are known knowns and that there are known unknowns. But there are also unknown unknowns; things we don't know that we don't know.
|
|
|
What?
|
Say what again! Say 'what' again! I dare you! I double dare you, motherfucker! Say 'what' one more time!
|
|
| | | | |
Avatars
Supporting pseudos/names/avatars meant actually compiling an inital list of recurring characters in this quiet corner of life. From there, I addressed the
conversation text coloring challenge by hashing people's IDs to an RGB value. So:
"chris".hashCode() = 0xbaadcafe
0xbaadcafe % 0xffffff = #adcbb8
By brightening and darkening #adcbb8 to values closer to black and white, I came up with a per-person color palette. Of course, at these limits, a lot look similar, but different enough for the purpose.
The big retrofit
And since everyone (well not everyone yet) had an avatar and a color scheme, I figured I might as well
compile username mentions. Some things, like code changes, are easy. Others are sweat equity. This was the latter. Naturally, I automated finding names in historical markup files, but QA was all manual labor. Here is a list of people I now hate:
- People whose names are verbs, specifically Rob and Chase.
- People with the same name. Ryan and Ryan. Jamie and Jamie.
- People whose pseudos are overloaded like EA and Mouse.
Looking forward, I'm just adding the markup 'c/' to denote a person's handle.
All of this would have paid off recently when asked for neat images of certain people for an album.
Next
| | | | |
|
|
Chris, it's Fonse. Wtf, man?
|
Anonymous
|
|
|
Yeah, my husband has a neat, slightly-insulting persona, where's mine?
|
Anonymous2
|
Chris
|
They're coming, I promise!
|
|
| | | | |
I added handles for the people most mentioned these past 20 years. I still have some ground to cover.
Oh yeah
Of course, going over old stuff, I found some things to fix - not the least of which is broken external links. I added a few images to posts where I was storage-constrained, including interpretive depictions of my technology progression:
Some posts from this site with similar content.
(and some select mainstream web). I haven't personally looked at them or checked them for quality, decency, or sanity. None of these links are promoted, sponsored, or affiliated with this site. For more information, see
.
Comments