WordPress.org

Make WordPress Core

Opened 5 years ago

Closed 5 years ago

#10145 closed enhancement (fixed)

Tango/GNOME smilies in core

Reported by: jdub Owned by:
Milestone: 2.9 Priority: normal
Severity: normal Version: 2.8
Component: Formatting Keywords: has-patch
Focuses: Cc:

Description

The current smilies in core are just the slightest bit icky. :-)

Soooo, I made the Tango/GNOME Smilies plugin to replace them with sexier (GPL and Public Domain) smilies from the GNOME and Tango icon themes.

After doing an update for WordPress 2.8, Anthony Cole suggested I prepare a patch for core. Here 'tis!

Not only does this replace all of the default smilies, it adds a few bonus ones. All of the icon filenames are derived from the original GNOME/Tango names, as I thought that might be easier for folks to understand if they require updates in the future. That is easily changed if you don't agree, though.

Two icons need work before this patch is applied:

  • :mrgreen: A quickly inkscaped homage to icon_mrgreen.gif based on face-smile-big.png.
  • :roll: There is no direct analogue for this icon (yet).

I'll see if any of the GNOME artists would be interested in helping with these. :-)

This depends on #10144 (due to smiley strings which contain "/" which break in 2.8).

Attachments (5)

smilies-tango-gnome-icons.diff (3.9 KB) - added by jdub 5 years ago.
smilies-tango-gnome-icons.tar.gz (19.4 KB) - added by jdub 5 years ago.
classic_smilies.php (2.8 KB) - added by Otto42 5 years ago.
Plugin to undo this terrible, terrible change with current 2.9-rare.
classic-smilies.zip (8.9 KB) - added by Otto42 5 years ago.
Plugin with smilies included. Should prevent breakage of the plugin if the classic smilies get removed from the release.
srcurl.diff (646 bytes) - added by Otto42 5 years ago.
Adds filter to source url, making smilie replacement plugins simpler

Download all attachments as: .zip

Change History (38)

comment:1 Denis-de-Bernardy5 years ago

  • Milestone changed from Unassigned to 2.9

comment:2 ryan5 years ago

  • Resolution set to fixed
  • Status changed from new to closed

(In [11685]) Tango/GNOME smilies. Props jdub. fixes #10145

comment:3 JeremyVisser5 years ago

I put a bug for this (#8027) up way back in November, but I guess it required the initiative of a patch. ;)

comment:4 Viper007Bond5 years ago

  • Resolution fixed deleted
  • Status changed from closed to reopened

I'd argue this isn't completely fixed yet. I'd really like to see a proper :roll: smilie. :P is completely different than :roll: IMO.

comment:5 follow-up: lloydbudd5 years ago

Some interesting feedback from wp.com users http://en.forums.wordpress.com/topic/new-smilies

comment:6 in reply to: ↑ 5 JeremyVisser5 years ago

Replying to lloydbudd:

Some interesting feedback from wp.com users http://en.forums.wordpress.com/topic/new-smilies

Might be worth bringing up this quote. :)

comment:7 Viper007Bond5 years ago

Personally I love the new smilies. The old ones are phpBB or whatever and from the Internet stone age. However we really need a :roll: one.

comment:8 xibe5 years ago

I myself grew fond of the old smileys set.

If the new set was at first a plugin, then the old set should now made into a plugin...

comment:9 Denis-de-Bernardy5 years ago

as much as I never use the smileys myself, I really hate the new ones too.

comment:10 Otto425 years ago

Yeah, these are freaking terrifying. I'm going to have to make a plugin to put the old ones back.

Expect people to be throwing heavy tantrums over this all over the support forums and web. When the release hits the fan, don't say I didn't warn you.

comment:11 Otto425 years ago

Plugin attached. I'll upgrade it to one actually in the Extend section if the actual files get removed from SVN at some point.

Because honestly, these smilies are just plain awful. There's nothing redeeming about them. They're ugly as sin. If you don't like that the original ones are anti-aliased or whatever, then fix them instead of trying to replace them with this garbage.

Otto425 years ago

Plugin to undo this terrible, terrible change with current 2.9-rare.

Otto425 years ago

Plugin with smilies included. Should prevent breakage of the plugin if the classic smilies get removed from the release.

comment:12 Viper007Bond5 years ago

No need to get so worked up, Otto.

Personally I really prefer these over the old ones. I hated the old ones (they scream 1990's) and the new ones actually made me enable smilies on my blog for once (I've had them off for years due to the ugly of the old ones).

Not saying these are the best smilies out there, but there's a big improvement in my book.

comment:13 follow-up: otto425 years ago

Not worked up, just highly disappointed that these made it into core without any sort of discussion, voting, anything whatsoever.

As for how they look... Well, I would support removing all smilies from the core rather than have these hideous things in there. They are simply bad, period. They look terrible.

In fact, yes, I'm going to propose that. Let's remove smilies from the core entirely. Make them a plugin. That eliminates all opinion from debate on the topic. If you're going to put horrible smilies in, then you can do it with a plugin. If you're going to be put the classic smilies in, then there's now a plugin for that. This sort of thing is really outside the scope of core anyway.

comment:14 follow-up: filosofo5 years ago

Something else to consider with the new smilies is that they have alpha transparency and so will look odd against non-white backgrounds in IE6.

comment:15 otto425 years ago

Also:
http://ottodestruct.com/blog/wordpress-plugins/classic-smilies/

Still waiting on an Extend request to finish before moving the plugin into the official repository. I'd like to see it sooner rather than later, because I'd really like to see the numbers on who installs the plugin.

comment:16 follow-up: Viper007Bond5 years ago

Smilies should be bundled IMO. You can't just drop such a widely used feature that's been in the core for years.

And it's dead easy, as proven above, to replace the smilies if you don't like the set that's in the core (whatever set that may end up being).

comment:17 in reply to: ↑ 14 JeremyVisser5 years ago

Replying to filosofo:

Something else to consider with the new smilies is that they have alpha transparency and so will look odd against non-white backgrounds in IE6.

Who cares? Alpha-blended PNGs have been mainstream for about 3 years now. There are dozens of huge websites that use them everywhere. Twitter and Wikipedia are the first to spring to mind, but I've seen tons of others.

Also, the PNGs can be tweaked so that even if they are displayed without alpha, they still have a white background. I did it once, with great results, but I don't remember how to do it any more. Should be a separate bug.

If someone really wants their smileys to work with alpha-blending in IE6, someone can just write a 10-line plugin that does the DX Alpha hack with JavaScript.

comment:18 in reply to: ↑ 16 ; follow-up: Otto425 years ago

Replying to Viper007Bond:

Smilies should be bundled IMO. You can't just drop such a widely used feature that's been in the core for years.

And it's dead easy, as proven above, to replace the smilies if you don't like the set that's in the core (whatever set that may end up being).

Well, if we're going to leave them in core, then we really need more opinions to choose what they'll be. Because, quite frankly, I detest this new set. They uniformly suck, IMO. And judging by the reactions in that thread over on wp.com, I'm not the only one. So before we go changing things that are going to affect a lot of people and which are going to be more-or-less entirely opinion based, we should have some sort of information gathering.

All I know is that I updated one of my 2.9-rare blogs and was shocked (and more than a little annoyed) to discover that a simple upgrade had changed my actual *content*. I was not happy about having to write an actual plugin to correct the problem. Before changing content on a few million blogs, we should at least ask the masses.

comment:19 greenshady5 years ago

I don't really like the idea of smilies in the core anyway, but they've been in core for too long for removal and are used by many people. But, this new set isn't something I'd replace the old ones with.

Let the plugin with the new smilies stay as a plugin. If people want a new set of smilies, let them download the plugin.

At the very least, there should be more thought and discussion on this before changing it.

comment:20 in reply to: ↑ 18 ; follow-up: Viper007Bond5 years ago

Replying to Otto42:

And judging by the reactions in that thread over on wp.com, I'm not the only one.

I'm not arguing for (or against) these particular smilies, but as the saying goes, you cannot ignore the silent majority in favor of the vocal few (or something like that). In short, lots of complaints does not necessarily mean it's the opinion of the majority. Just keep that in mind. ;)

comment:21 in reply to: ↑ 13 xibe5 years ago

Replying to otto42:

Not worked up, just highly disappointed that these made it into core without any sort of discussion, voting, anything whatsoever.

Agreed.

Newcomers will most probably be happy with the new set. Old-timers will probably not be too happy with it, what with habits and everything. Since by definition there are more old-timers than newcomers, are dare say putting this in core unilaterally is a call for a slap.

Otto is right in that the content *is* changed without even asking about it. Moreover, it seems the new ones are larger/higher than the old ones, which brings the other problem of those who careful created a theme where the text height fits nicely with the smiley's. Way to break some theme, then.

If said "vocal minority can install the old set through a plugin", why make it a pain for old-timers, when those unhappy with the old set (another vocal minority, for sure) can all the same install the existing plugin by jdub? Why break it when you can extend it? Surely this remains plugin territory.

I'm all for:

1) removing the new ones from core and putting the old ones instead, at least for now;
2) creating a poll and announcing it on the devblog, just as was the case for the whole 2.7 process. It'd be nice to gather more GPL sets rather having to choose between only two sets.

Additionally, how about putting both in core, and it leaving it to the end-users to choose whichever they prefer through a new option in the admin - the unzipping plugin is 108 Kb big, surely it's not too much of hassle to add it...

comment:22 in reply to: ↑ 20 otto425 years ago

Replying to Viper007Bond:

Replying to Otto42:

And judging by the reactions in that thread over on wp.com, I'm not the only one.

I'm not arguing for (or against) these particular smilies, but as the saying goes, you cannot ignore the silent majority in favor of the vocal few (or something like that). In short, lots of complaints does not necessarily mean it's the opinion of the majority. Just keep that in mind. ;)

Fair enough, but without actually doing some form of information gathering, replacing something that is entirely opinion based is simply going to make users angry. Even the people that like the new stuff might be upset that there was no consultation, debate, public opinion gathering.

These are entirely opinion based. There's no possible argument for changing them other than "we like these other ones better". That's it. So without some form of information gathering, you have absolutely no idea what the majority thinks.

Also, on a coding note, plugins to replace the smilies have to resort to a bit of a hack job to modify the smilies location (which is hardcoded in the replacement function). This needs to be corrected with a filter or something.

comment:23 follow-up: matt5 years ago

I suggest we go back to the old smilies in core, and have a canonical plugin for switching smilies that ships with as many open source smiley packs as possible. If we need a filter to do this more elegantly, let's add it.

comment:24 coto5 years ago

I suggest that we vote for new smilies in the core...Plugin is very confusing

comment:25 in reply to: ↑ 23 Otto425 years ago

Replying to matt:

I suggest we go back to the old smilies in core, and have a canonical plugin for switching smilies that ships with as many open source smiley packs as possible. If we need a filter to do this more elegantly, let's add it.

Goodie.

In particular, this line in translate_smiliey($smiley) in wp-includes/formatting.php needs a filter:

return " <img src='$siteurl/wp-includes/images/smilies/$img' alt='$smiley_masked' class='wp-smiley' /> ";

Having "/wp-includes/images/smilies/" hardcoded makes it difficult to use smilies that are in a plugin directory. Only way to do it is to filter the content and do a search/replace for that string, which is less than optimal, of course.

Suggest adding a "smilies_path" filter or similar on that string. Not sure whether $siteurl should be included in the filter as well though... if it is, suggest passing it as a second parameter to the filter function, to let the filter have that part of the string as well.

Given this, a plugin can be easily created to use any of a number of smiley sets. Basically it would be a simple admin screen to select a set to load and a filter to use that set. Each set would be image files in a subdirectory of the plugin, and a php file in the subdirectory could be loaded to define the set itself.

comment:26 matt5 years ago

Sure, that's cleaner. Plugins work around this already, as the Tango Smilies plugin linked in the original ticket above.

comment:27 ryan5 years ago

(In [11736]) Revert tango smilies back to old school WP smilies due to public hue and cry. see #10145

comment:28 ryan5 years ago

Back to the prehistoric smilies that everyone complains about but evidently likes better. :-) I was a fool for not appreciating the explosive topic that is smilies, my bad. It's almost as close to people's hearts as stats. :-)

Patches for filters and whatever else needed to make plugins easier appreciated.

Otto425 years ago

Adds filter to source url, making smilie replacement plugins simpler

comment:29 Otto425 years ago

Filter patch added. With this, a plugin can more easily change the path where the smilies are located. I added the image and the siteurl to the filter as extra parameters, in case it wants to build the src location in some alternate way that I can't think of.

comment:30 ryan5 years ago

(In [11738]) add smilies_src filter. Props Otto42. see #10145

comment:31 llamaXxX5 years ago

Probably not the best place for this, but might I offer an idea? Support for multiple smiley sets in the core. Like themes and plugins, they could live under /wp-content/icons/, let's say, one set per folder. An image file -> smiley mapping could be set via a text file:

happy.png :) :happy:
sad.png :( :sad:

By having the image and followed by the smiles it represents, it should be fairly easy to parse. If the user selects to use the smiley set, the mapping could be set in the database somewhere, perhaps.

Just a passing thought while reading this bug.

comment:32 tflight5 years ago

  • Cc tflight added

comment:33 janeforshort5 years ago

  • Resolution set to fixed
  • Status changed from reopened to closed

Support for multiple smilies deserves a new ticket. Closing this one, since the requested filter was added as above.

Note: See TracTickets for help on using tickets.