[TW5] Simple emojis like this

273 views
Skip to first unread message

Mat

unread,
Jan 28, 2016, 8:22:04 AM1/28/16
to TiddlyWiki
Simple emojis - two ideas (untried), using macros or transclusions


Unicode has a lot of Emoji thingies. See also this Github for Unicode Emojis

We could probably implement macros for wikitext emojis;

/define panda() 🐼

Ideally we should be able to do:
/define :)() 

Maybe we could introduce either a character exception for macro title definitions or delimiters like:
/define ":)"() 


Unfortunately it would not be 100% as elegant to call this

<<:)>> or perhaps <<":)">>


OR simply use

Transclusions

where the Character or even image is the tiddler content.

{{panda}}

..and again, ideally:

{{:)}}

which might require some delimiter

{{":)"}}

or a wikitext implementation like

[emoji[:)]]

...but I feel this is much to long to be practical.


Obviously, the real ideal is just to type the few characters and they're parsed into the symbol.


Side idea: @name is parsed to display that individuals avatar.


<:-)

Tobias Beer

unread,
Jan 28, 2016, 8:46:25 AM1/28/16
to TiddlyWiki
Hi Mat,

I was working on a plugin called itags, which I intended for use as "inline-tags".

They would cater for two cases:

1. #hashtag like tags

with different possible prefixes, e.g. ! ? & $

2. inline tags

That would specify a category and then an item from that category. This is where I would put emoji's.

With my envisioned wikitext, the syntax would be freely definable and something like:

::the-tag::
::category|item::
::emo|smile::
::emo|sad::
::emo|angry::
::wheather|sunny::

Both the category (left) and the [optional] item (right) are freely definable via either individual tiddlers or dictionary tiddlers.
Obviously, unicode emojis would be in the form of dictionaries.

The reason why I got stuck with this is that #hashtags break palettes (grrr):

#2192 hashtags wikirule breaks stylesheets
https://github.com/Jermolene/TiddlyWiki5/issues/2192

On the other hand, Sukima might just have been a step ahead:

Best wishes,

Tobias.

Matabele

unread,
Jan 28, 2016, 12:56:07 PM1/28/16
to TiddlyWiki
Hi Tobias

Sukima is using the standard emoji popup keyboard for Mac in the animation -- found it myself shortly afterward.

With a popup keyboard like that, emoji can easily be inserted anywhere in the wiki. Tags names can easily include emoji -- but once created, it isn't easy to change the emoji (like changing an svg icon), without creating a tiddler container for the emoji (which is terribly inefficient.) Effectively the tag must be renamed -- which involves deleting all the old tags and adding new tags with the new name.

Nevertheless, the most useful feature of emoji, is to include them in titles and tag names. Simply insert them in the plain text string with a popup emoji keyboard. Much can be done with this as is.

Inserting them amongst text and wikitext is a trivial matter, hardly worth creating plain text keyboard long-cuts :-) I'm sure support for emoji keyboards will improve rapidly on newer devices and OS.

regards

Matabele

unread,
Jan 29, 2016, 1:07:36 AM1/29/16
to TiddlyWiki
Hi

Here's an emoji cheatsheet to borrow syntax from: http://sheet.shiar.nl/emoji

regards

HansWobbe

unread,
Jan 30, 2016, 5:33:15 PM1/30/16
to TiddlyWiki
Tobi:

I've been working with "Unicode values as tags" for a few years now and am having reasonable success thinking of them as a very large "alphabet".

Unfortunately (as the unicode consortium freely cautions), the order of the characters is not necessarily in the same order as expect by the users of the natural language)s) in which the letters originate.  Obviously, this can cause apparent SORT inconsistencies.

That being said, I've been quite successful in identifying long strings of characters that do have "expected" sort sequences, so I've been able to create some very long "vectors" that I can index through.  This is particularly powerful when combined with your cycleTags macro since its possible to create "mixed radix positional notation)s" that become a very powerful "Number System" that effectively creates a structure for all of the left-most values.  I have good results explaining this staring with an "odometer" analogy and then suggesting that each of the "positions" in the number can have a different base.  Canadians catch on quite quickly since our postal codes are ANA-NAN  e.g. M1C-3L3 which equates to  ...

 13X26^5 + 1x10^4 + 3x26#3 + 3x10^2 + 12x26^1 + 3x10^0

It may not be obvious how this relates to what I believe you are working on, but I would be happy to try to make it clear, if you are interested.

Cheers (and gratitude for all of your many contributions to this community),
Hans

Tobias Beer

unread,
Jan 30, 2016, 8:20:58 PM1/30/16
to TiddlyWiki
Hi Hans,
 
It may not be obvious how this relates to what I believe you are working on, but I would be happy to try to make it clear, if you are interested.

Please forgive the ignorance I felt when reading your post.
I had a very hard time understanding what you were actually suggesting
and where it could perhaps play a role and how. :D

Can you perhaps give some "real-world" example of what you suggested there
as well as how and where you see it applied?

Best wishes,

Tobias.

Mat

unread,
Jan 31, 2016, 3:26:37 AM1/31/16
to TiddlyWiki
I'm not fully sure I got Hans description right, but these are thoughts it evokes for me.. I writing them out because if they are NOT what Hans is describing, then just maybe they are another idea of value;

The idea is particularly relevant for cycling of tags where you want the tags to be similar, i.e you click on a bicycle and then comes a tricycle and then a vespa, etc... i.e it is not  bicycle then a shoe then a smiley. This is because Hans has identified chains of characters where their codenumbers follow eachother. Between the chains there are unusalbe off-characters so to avoid these, the "chain heads" are put in a vector for access.

Something like that. It's a pretty cool idea because you can in a compact way present only the few "chain heads" instead of zillions of icons.

<:-)

Matabele

unread,
Jan 31, 2016, 3:44:57 AM1/31/16
to TiddlyWiki
Hi Tobias

"Mixed radix positional notation" is simple a notation like we use to denote time: '32 weeks, 5 days, 7 hours, 45 minutes, 15 seconds'
Each position has a base unit which is a multiple of another (that's the "positional notation" part), and each position has a different base (that's the "mixed radix" part.)
In other words, emoji could be used to write a number system -- in this case for creating tags. The predictable sequence is necessary to enable sorting of the tag thus written with emoji into a predictable ordered sequence.
As a matter of interest, there's an idea circulating that thinks the next alphabet will employ emoji as its alphabet -- this promises to form the basis of the first successfully adopted international written language.

regards

Matabele

unread,
Jan 31, 2016, 4:00:12 AM1/31/16
to TiddlyWiki
P. S.

I think the expression must be a translation from a German word :-D

regards

Tobias Beer

unread,
Jan 31, 2016, 5:35:06 AM1/31/16
to TiddlyWiki
Hi Matabele, Mat, Hans,

I think I'm getting there, in how this helps encode things to short and sweet identifiers, and can actually be understood as a, dunno, pseudo-vector. I'm not sure I would call each radixed chunk a vector though... since they hardly have meaning other than representing buckets to encode ...well, symbols ...based on a predefined table / list(s), I presume.

I'm also not sure on the practicality of using this... for emojis. What would be the benefit over a simple enumeration? Or, perhaps asked differently, what do those "vectors" represent in your view?

Best wishes,

Tobias.

Mat

unread,
Jan 31, 2016, 1:05:37 PM1/31/16
to tiddl...@googlegroups.com

I'm also not sure on the practicality of using this... for emojis. What would be the benefit over a simple enumeration? Or, perhaps asked differently, what do those "vectors" represent in your view?

Perhaps;

{#34][#85][#77]
[#41][#99][#85]

The #xx is my own made up utf-encoding of an emoji
First row is the array, listing the "heads" e.g second item (#85) is a bicycle
Lower row are the "tail ends"
...i.e for bicycle+1 (i.e #85+1=#86) you get a tricycle. #87 is vespa. and so on untill #99 - then back up to #85 again.

Note that chain #85-#99 overlaps #77-#86 because #84 is a "skateboard" and in the context of #77 also bicycle (#85) fits in. But in the chain starting with #85 the skateboard is not considered fitting.

One could imagine further chain snips when they exist;

{#34][#85][#77]
[#41][#99][#85]
[#50]
[#58]

i.e there is the #34 chain that streches to 41 but then continues with 50 to 58 (then up to 34 again)

The fine point, I assume, is that you don't really store any emojis. You store a small set of utf codes (the start and end) and "mathematially" flip to any emoji between them.

Freak out idea: What if instead of only cycling to next emoji, it would open up a visual array of the chain... and when clicking an emoji, this is set to be the tag but if you click this, then this now opens up a visual array that includes all the chains it is part of! This way you could *navigate* among emojis!

<:-)

HansWobbe

unread,
Jan 31, 2016, 1:15:44 PM1/31/16
to TiddlyWiki
Let me start by saying that Matabele's explanation is a good expansion of what I was starting to express. I believe this is a relatively large topic that may be "slippery" to grasp, but I have found it to be worth the struggle.

With respect to the reference to "vectors", it may be easier to consider the individual sequences of tags to "dimensions", each increment of which is named (or represented) is an arbitrary character.  In Matabele's example: 32 weeks, 5 days, ...   I have simple recognized that ...

* There are 26 letters in our alphabet x 2 ( assuming case sensitivity) = 52 distinct symbols A-z.  I use these to "name" the weeks.  To ensure that I have unique names for each week, I simply pick a unicode range that has a different set of code points of these apparently similar 52 symbols.  Then, its very easy to create a field of these 52 symbols that cycleTags lets be increment to move items from one week to the next.  Obviously another field can have these symbols in reverse order, to decrement the values via cycleTags.

* In a hierarchical context (for "zoom" purposes), I often use a set of symbols for different levels of encapsulation. 
** e.g. Millennium, Century, Decade, Year, Quarter, Month, Fortnight, Week, Day, Hour
*** In this case I find it easiest to make use of the Chinese characters fpr Day Week (telegraphy) Month, (astronomical) Year since they are easily recognized, single characters that can even be used as leading or trailing sigils, in either the tiddler name or the tag value.

I have worked at this long enough and explained it to to enough groups that I know thus can be a bit hard to grasp.  Since it seems to come up frequently throughout my activities, I'll try to put together a minimal explanation in a TwFive file.  Unfortunately, that won't happen quickly since I am fully pre-occupied building a new house, in a new city and disposing of the current home until late spring.

I should, however, have time to participate in further in these discussions.
Reply all
Reply to author
Forward
0 new messages