Emoticons for Gmail

By mike w. Last update Jun 24, 2008 — Installed 971 times. Daily Installs: 0, 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0
Script Summary:
A greasemonkey script for Gmail that transforms raw emoticons like :-) into their image-based counterparts.

Script homepage

Recently Updated TopicsPosts
Archived Comments5

this script has 1 topic, 5 posts

This script has no reviews.

This script is a work in progress, but I'm ready to gather feedback from users. If you install this version, check back soon for an updated version.

Please report any problems --- Some settings are still en flux. Works okay in FF3. The code is heavily commented and I hope this will encourage you to help me improve the script. :) If you have any suggestions or pointers, please let me know. Thanks!

Usability note:

In Thread List view: whenever Gmail checks for new messages, the emoticons that appear in message snippets revert back to text. In other words, they go stale. To mitigate this scenario, I call the addEmoticons function once every 20 seconds. So when emoticons go stale, they come back after no more than 20 seconds. If you view a page with many emoticons---e.g., the page that lists all your chats, performance can slow. I tried a variety of timeout lengths and settled on 20 seconds...for now.

Some screen shots:

Thread List view:

Conversation view:

Key for emoticons used in this script

To do list:

1- Insert a "menu" on compose page so user can click on emoticon to insert as text into document. Add link to show/hide menu.

2- Let user toggle addEmoticons function with special button. I think this is the best defense against false positives.

3- Make find and replace regExp more efficient. Find other ways to make code more efficient.

4- Solve issue in TL view rendering snippets

5- Incorporate mgmt tool into Settings page or alongside menu mentioned in #1. E.g., "never run addEmoticons on messages from this sender"

6- Convert to standalone FF plug in

7- Add options for classic and round smileys

8- Set variables at top of page so user can customize settings based on speed of his or her network

9- Determine when Gmail checks for new messages; then run addEmoticons

10- Support for keyboard shortcuts that show/hide content but don't change page view

11- Let users incoproate their own emoticons

12- Once release is stable, reduce the amount of comments :-)

13- Run function if user presses "enter" to send message

Known issues:

1- Emoticons revert back to text when Gmail has checked for new messages. 20-second polling solution included above.

2- Long (I mean very long messages) or threads or pages with lots of emoticons and messages 'freeze' momentarily. Improve regexp script to solve?

3- Sometimes emoticons don't render. Usually this can be fixed by adjusting the length of the timeout. Need to run script after certain on key events.

4- Emoticons don't render if message is opened in a new window or if message is opened in print view