Wedge

Public area => The Pub => Features => Topic started by: Arantor on January 19th, 2012, 02:23 AM

Title: Likes
Post by: Arantor on January 19th, 2012, 02:23 AM
So, we've talked about this one but all the time up to now I've been putting off implementing it because I was never thoroughly sure how to efficiently handle doing likes.

The idea of doing a big (and potentially expensive) query on thread display never appealed to me but after sitting down and examining XenForo (which does it as a core feature) and seeing how they did it, I find myself unable to find a better way of doing it.

Specifically, their method is to embed an array of entries into the posts table, in a blob[1] and pull that out as display time.

Oddly enough, that actually contains the username as well so there's no extra performance hit there, but I imagine the change of display name is expensive if that person did a lot of likes.

So, for the programmers out there, what do you reckon?

As I see it, there are four options:
1. Just store the likes/post relationship and query it at display time (optionally with caching). Smallest in the DB, no additional maintenance, but it does mean there's an extra query - and we do have to run through that query in its entirety, it's not like we can stick a limit in, because you can't do a limit per criteria: you can't get "3 rows of that criteria, 10 rows of that", so we have to evaluate all the likes on the page at once.

2. Store the list of ids who like a post into the post table, and add that list of people into the main loadMemberData call (or do a second, smaller one just for minimal since we only need the names at that point). Much quicker and more efficient, but there's still extra work being done to handle the overhead of gathering names etc. (though of course we only get the right number of names, the first 3 or so actual names and just bundle the rest together)

3. Store the list of ids and names in the post table. Consumes a lot more space than either of the other two options, however it means there's no extra effort involved other than parsing the extra item (which need only be an unserialize call, or even a json_decode call, bearing in mind that we only need the first 3 or so rows, and can discard the rest after), and of course adds to the maintenance work if a user changes their display name.

4. We store just the count of likes in the post table, and fetch the list (using the same table as in 1) AJAXively if someone asks. Much lighter than the others, but far less nice IMHO.


Thoughts?
 1. Eh, could be a text, can't think of any overwhelming differences, other than that it's harder to get a blob in a table, you have to prance around doing CAST() to get at it.
Title: Re: Likes
Post by: Nao on January 20th, 2012, 12:16 AM
Code: [Select]
Solution #3 would make more sense.

Suggestion? Instead of storing the user name, just store the ID... Then, at display time, instead of [nobbc][tt]<a href="?action=profile;u=$context[user_id]">name</a>[/tt], link to [tt]<we:$uid:$context[user_id]>[/tt]
. The idea is that PrettyURLs could search for these special cases, add the user ID to the list of searched names, and then print a link with the user name, instead of just a URL to the user page. Of course, that would require PrettyURLs to be enabled, and modified a lot... :-/ Perhaps instead display the regular link, and $name as the user name, then just before outputting, search for all $name and replace with the user name corresponding to the profile link stored right before it, or something... Then we just need to retrieve user names in addition to logins, and at prettyURL time, make a new array where profile links are associated to user name.

Or simply, don't give a damn about name changes...

Oh, bugger. Just go with solution 2. We only have to run that extra query if any names are found... (And if you don't have any friends in the like list, don't bother to show any name.)

I would personally go for solution 4, for my own taste, but I understand that it'd be seen as disappointing.
Title: Re: Likes
Post by: live627 on January 20th, 2012, 12:44 AM
I choose e: none of the above :P

Seriously, though, I'd go for a tasteful combination of 2 and 4. Maybe I'm a bit biased on this decision, because that's how I did it in a SMF mod once. I had a separate table to log all the members' likes and put a field in the messages table to aid with the number (so I could say, "Spoogs(#post_), Arantor(#post_), and 5,397 others(#post_) like this").
Title: Re: Likes
Post by: Arantor on January 20th, 2012, 12:59 AM
It does make me wonder about an option F, actually: don't have any of it in the core and make it a plugin. That way we immediately stop worrying about some of the performance issues (then I'd primarily look at option 2 with a dash of 4 anyway)

The other thing is that option 4 is kind of implied in option 2 anyway, though not directly. You still have a master log table of likes so that you can query for 'the number of times my stuff has been liked'[1] but other than that you have a list of ids - nothing says you have to pull all the ids in question, just the first ones that need to be queried, and everything else can just be totalled up with count().

Means I think I might be able to tackle this one tomorrow (implementing option 2 primarily)


The other thing that occurs to me is that when content is liked, we need to return the new like content AJAXively so that we can transform 'X and Y like this' to 'You, X and Y like this'. I still don't think there's a nice way to trigger the colouriser buffer change, is there?
 1. And if we have aspirations about displaying that on post view, we should similarly cache that in the members table.
Title: Re: Likes
Post by: live627 on January 20th, 2012, 02:54 AM
Wait, a color for the word "you"?
Title: Re: Likes
Post by: Arantor on January 20th, 2012, 03:10 AM
No, not for 'you' but for the other names.

Unless you're going to assume that no-one else has liked it in the interim between you opening the page and you pressing like, in which case you only need return the new number of likes, put 'You' in front of it and lop off the last name on the list (which should be achievable client-side). Of course, when you unlike a post, you presumably want to return back to having three names that aren't your own... so you HAVE to return the names with colours.
Title: Re: Likes
Post by: live627 on January 20th, 2012, 05:36 AM
What about reusing the DOM and just updating it?
Title: Re: Likes
Post by: Arantor on January 20th, 2012, 08:50 AM
It doesn't matter. You can't just magically wave your hand at the DOM and deal with data you simply do not have.

As standard, let's say you display 3 names of likes plus a total for everyone else. For things you haven't liked yet, that means you have 'A, B, C and X others like this'.

Now, we can handle liking this content in the DOM and convert it to 'You, A, B and (X+n) others like this' where we fix the X+n part to be a live count.

The problem comes when we try to unlike the content. 'You, A, B and X others like this' needs to become 'A, B, C and X others like this' - but you don't have C in the DOM!
Title: Re: Likes
Post by: Nao on January 20th, 2012, 11:52 AM
You would think :P
Title: Re: Likes
Post by: Arantor on January 20th, 2012, 02:25 PM
So, what you're saying is that I should always sjove A, B, C though even if the current user is on the list anyway, just on the off chance that they unlike it, as opposed to just updating the list on return?

Eh, no thanks. Don't like shoving more content through than necessary.
Title: Re: Likes
Post by: Nao on January 20th, 2012, 06:00 PM
I just don't think that it's of any importance.

Yeah, it's cool to have your friends listed in the Like section (only your friends though...), and have a link to get a list of everyone who liked something. But in the end, what happens is that people don't care much about who liked something... They'll be likely to ignore the notice, and instead rely on positioning (i.e. they'll think that if some post is better liked, then it'll be positioned to its advantage in the list.)
That's mainly for topics, though, not for individual posts...
Title: Re: Likes
Post by: Arantor on January 20th, 2012, 06:17 PM
I wasn't even going for 'friends' in the like section, simply listing the names of people who'd liked it. That way it feels less sterile than "3 people liked this".
Title: Re: Likes
Post by: Nao on January 20th, 2012, 08:03 PM
Sure, but if there are many people, you would put the emphasis on your friends, wouldn't you...?
Title: Re: Likes
Post by: Arantor on January 20th, 2012, 08:05 PM
I only wish I could think this through clearly as to whether that's actually important or not. It is in FB for example but it isn't elsewhere.
Title: Re: Likes
Post by: Nao on January 20th, 2012, 08:12 PM
Becomes critical when you have plenty of members...
Title: Re: Likes
Post by: Arantor on January 20th, 2012, 08:13 PM
Exactly, which is why I can't think it through as to what's best, and perhaps it's better to ignore preferences and just go by oldest first.
Title: Re: Likes
Post by: Nao on January 20th, 2012, 09:47 PM
Okay. Can always be changed later...!
Title: Re: Likes
Post by: Arantor on February 8th, 2012, 03:51 PM
Hmm, still can't think of a good way to actually perform the colour substitution.

I think the obsessrewrite stuff needs changing slightly to move the colour separation into its own function so it can be called independently of the full buffer rewrite.
Title: Re: Likes
Post by: Nao on February 8th, 2012, 06:36 PM
Can't this code block deal with this particular color substitution at the same time....?
Title: Re: Likes
Post by: Arantor on February 8th, 2012, 07:15 PM
That's the thing, the choice is either doing it manually or pushing a small one line string through the entire buffer...

Mind you, I suppose if it is a profile link it does have to do the PURLs replaces...
Title: Re: Likes
Post by: Nao on February 8th, 2012, 11:18 PM
Well it would...
Title: Re: Likes
Post by: Arantor on February 8th, 2012, 11:23 PM
Then it pretty much has to go through the entire output buffer replace then.

Just trying to think, would that happen before or after any wrapping in an XML container?
Title: Re: Likes
Post by: Nao on February 8th, 2012, 11:30 PM
Err... After, I suppose...? It does for JumpTo.
Title: Re: Likes
Post by: Arantor on February 8th, 2012, 11:35 PM
Ah yes, though jumpTo also manually sets up certain pretty filters :/

But yes, I can certainly look at that code and come up with something.
Title: Re: Likes
Post by: Nao on February 8th, 2012, 11:39 PM
Yes it does.
We could turn it into an automatic filter, i.e. called by Wedge upon setting a special variable or something... If it could help.
Title: Re: Likes
Post by: Arantor on February 8th, 2012, 11:40 PM
Nah, I'll call it manually, seems easier and safer to do that.
Title: Re: Likes
Post by: Nao on February 8th, 2012, 11:43 PM
Still, I have to admit it doesn't feel very natural having to manually add some filters and reset the output buffer function etc...

Okay, this time I'm really off!
Title: Re: Likes
Post by: Arantor on February 8th, 2012, 11:46 PM
Doing it in AJAX is inherently a special case and one that I'm not overly upset by, so it's all good :)
Title: Re: Likes
Post by: Arantor on March 13th, 2012, 10:31 PM
OK, so I took a bit of time out to work on this today.

So far I have the core like behaviour set up, though there's no permission check (any non-guest can like content), and there's a bunch of housekeeping that isn't being carried out either. I have also got the AJAX callback set up as well, so it can AJAXively update and return the new 'x, y, whatever likes this' string.[1]

Anyway, still to do:
* tie up the AJAX stuff so it's called AJAXively and updates as such
* implement some kind of permission
* implement caching

Here's the thing. I did some studying of what goes on elsewhere, and I found that in reality getting the like data is actually going to be very awkward, not to mention unhelpful in other respects.

As it stands, we get the message ids, the poster ids and the post times early on, but bulking that query out to fetch a text field is going to make it expensive, especially if I subsequently throw all the extra ids into the loadMemberData queries, doubly so when you consider that in most cases the names you're loading probably won't be ones you need anything for except the name.

So my plan instead is to cache the list based on a page's worth of messages - I get all the like data I actually need for a page's worth of messages, and cache that as a single unit, so I can reload it as-is. So right now all there is, is the one extra table that stores likes, and nothing else. The overhead is not actually that significant especially since it looks like it's being indexed meaningfully.[2] The only need for caching is simply because it will be queried in its entirety and the information digested appropriately, but the whole point of caching will fix the side issues with that.
 1. Though because I'm doing it through the action=like handler rather than anything else, it got... upset... I had to expressly detect for and start the gzhandler buffer otherwise the browsers all cacked themselves at the content being incorrect.
 2. The table structure is four columns: id-content, content-type, id-member, like-time. This way, likes can be extended to media or whatever else with little real effort in the DB. The trick here is that content-type is a fixed width field, currently 6 characters, which should be enough to be at least representative of content, currently only 'post' is supported but there's the foundation for hooks to be able to extend it arbitrarily. But because it's fixed width rows, with a primary key of id-content/content-type/id-member, and queried that way, it should be pretty lean.
Title: Re: Likes
Post by: Nao on March 13th, 2012, 10:52 PM
Looks complicated :P

Are you planning to implement a social stream at the same time?
Title: Re: Likes
Post by: Arantor on March 13th, 2012, 10:55 PM
It had crossed my mind, yes.

Ultimately it's not really that complicated. All this amounts to is a table that tracks something being liked, only it's more versatile than just posts. Everything beyond that is basically housekeeping.
Title: Re: Likes
Post by: Nao on March 13th, 2012, 11:00 PM
A social stream is probably not too hard to implement... Probably the only difficulty is to make it translatable, which means we have to store an action ID, as well as IDs or strings for whatever is done. Has to be done either in a table with multiple fields, or a single field with serialized arrays of whatever we want to translate... I'd go for the multiple fields because it would allow to easily filter out some message types (such as likes.)
Title: Re: Likes
Post by: Arantor on March 13th, 2012, 11:01 PM
Making it translatable is not a problem.

Consider it this way: is it really that much different to what's in the moderator log or the admin log? All you need to do is record the type of action itself (simple string), which also gives you the lookup for language string, which then just has to fill in the blanks with details.
Title: Re: Likes
Post by: Nao on March 14th, 2012, 08:20 AM
Text string? Not ideal for filtering... :(
Title: Re: Likes
Post by: Arantor on March 14th, 2012, 12:33 PM
It's actually not so much of a big deal because in every case where performance actually makes a difference (like thread display), it's using the content id first (i.e. message id), and the primary key reflects that.

The flip side is making it either an enum or some kind of integer which makes it next to impossible to extend reliably.

But in any case, caching will (when implemented) take on the bulk of it workload here.
Title: Re: Likes
Post by: Nao on March 14th, 2012, 08:17 PM
I'm counting on you!
Title: Re: Likes
Post by: Arantor on March 14th, 2012, 09:34 PM
It'll get sorted, don't worry :)

Not entirely sure we need 'Like' both next to the Quote button and in the More... menu at the same time though.
Title: Re: Likes
Post by: Nao on March 14th, 2012, 09:59 PM
Ah, yes, that's because I worked with Wireless in mind... Didn't check in Weaving itself.
I'd recommend moving it always to the Action menu, because we're not Facebook (or because I'm not very fond of the icon :P).
Dunno. More opinions maybe..? I think Quote and Modify are the two most important actions on a forum, although if Like is prominent, it might get used a lot.
Title: Re: Likes
Post by: Arantor on March 14th, 2012, 10:04 PM
I considered both approaches and concluded that I'd rather have it prominent and visible, but have no objection to moving it to the action menu for wireless.

Given that right now it's the only 'appreciation' / 'thank' / 'karma' type feature we have, it does need *some* prominence.
Title: Re: Likes
Post by: die2mrw007 on March 16th, 2012, 11:49 PM
It will be a nice feature infact, but should be optimized. Maximum of three user name should be shown in post and other should be under spoiler with text to the number of additional member "likes"
Title: Re: Likes
Post by: Arantor on March 16th, 2012, 11:50 PM
Quote
It will be a nice feature infact, but should be optimized. Maximum of three user name should be shown in post and other should be under spoiler with text to the number of additional member "likes"
Did you, in fact, TRY IT?
Title: Re: Likes
Post by: Nao on March 16th, 2012, 11:51 PM
Lol.

Well, don't scare people away Pete, everyone's entitled to being drunk from time to time ;)
Title: Re: Likes
Post by: die2mrw007 on March 16th, 2012, 11:52 PM
Quote from Arantor on March 16th, 2012, 11:50 PM
Quote
It will be a nice feature infact, but should be optimized. Maximum of three user name should be shown in post and other should be under spoiler with text to the number of additional member "likes"
Did you, in fact, TRY IT?
I couldnt see any post where there is multiple likes here...still finding it :P
I did like a post by nao in this topic to see how will it look like.
Title: Re: Likes
Post by: Arantor on March 16th, 2012, 11:54 PM
Let's just say this is the continuation of a long standing issue I have where people talk and talk without knowing what the hell they're talking about.
Quote
I couldnt see any post where there is multiple likes here...still finding it
So, instead of telling me how you think it should be optimised, why not ask first before telling me how to do my job? (Telling me how it should work, with the implication that it doesn't work like that would be fine... if you'd actually checked and verified that it is not what it should be.) It already does optimise it based on the number of people, though as yet there's no popup because it's still a WIP feature I only added quickly a couple of days ago.


(Going back to the other conversation elsewhere, it is precisely this kind of stuff that makes me think negatively of you, because you're telling me how you think it should work without finding out if in fact it did work like that already.)
Title: Re: Likes
Post by: die2mrw007 on March 17th, 2012, 12:00 AM
BTW, how about intimating the user via some kind of notification who received a like from a user  ? Like, the user should get an instant notification that "this user has liked your 'this' post"

PS: this isnt anything required, but will prove only a positive environment to engage in the conversation more in forum.
Posted: March 16th, 2012, 11:58 PM
Quote from Arantor on March 16th, 2012, 11:54 PM
Let's just say this is the continuation of a long standing issue I have where people talk and talk without knowing what the hell they're talking about.
Quote
I couldnt see any post where there is multiple likes here...still finding it
So, instead of telling me how you think it should be optimised, why not ask first before telling me how to do my job? (Telling me how it should work, with the implication that it doesn't work like that would be fine... if you'd actually checked and verified that it is not what it should be.) It already does optimise it based on the number of people, though as yet there's no popup because it's still a WIP feature I only added quickly a couple of days ago.


(Going back to the other conversation elsewhere, it is precisely this kind of stuff that makes me think negatively of you, because you're telling me how you think it should work without finding out if in fact it did work like that already.)
okay sorry, forgive me.
Title: Re: Likes
Post by: Arantor on March 17th, 2012, 12:57 AM
Quote
BTW, how about intimating the user via some kind of notification who received a like from a user  ? Like, the user should get an instant notification that "this user has liked your 'this' post"
Yay, let's copy Facebook >_> We'll see, I don't know yet.
Quote
okay sorry, forgive me.
All you had to do was *ask* how it worked, not assume it worked like things you've already seen. I'm not just copying mods already written for SMF and shoving them in, unless I'm the one who wrote the mod originally.
Title: Re: Likes
Post by: Nao on March 17th, 2012, 01:21 AM
A post with enough Likes to be able to see how it works:

http://wedge.org/pub/feats/7211/brave-new-world/

No kidding :P
Title: Re: Likes
Post by: Arantor on March 17th, 2012, 01:26 AM
Haha, yes it does indeed have the requisite number of people. And it validates what I said, it does figure out a number of names and whether you liked some content or not and only displays a limited number of names. The limit on 2 is the same as XenForo does, and for the same reason: not massively multiplying the number of language strings unnecessarily to avoid affecting translators too much.
Title: Re: Likes
Post by: die2mrw007 on March 17th, 2012, 08:31 AM
Quote from Nao on March 17th, 2012, 01:21 AM
A post with enough Likes to be able to see how it works:

http://[url]http://wedge.org/pub/feats/7211/brave-new-world/[/url]

No kidding :P
Wow, it looks cool :)
Quote from Arantor on March 17th, 2012, 12:57 AM
Yay, let's copy Facebook >_> We'll see, I don't know yet.
Not intented to copy, but the reason for this to be implemented is that, when a user likes any post of yours in a thread which contains 1000's of posts, you wont be able to find for which post the said user liked it (as it isnt either saved in your total likes count nor anywhere). Atleast the person should know for which post he got the likes.
Again, I didnt try the Likes Pro mod for SMF nor here (dont know 100% of how it is working)
I didnt purchased Likes Pro mod for SMF (all I have seen it first is in AAF forum)
It maybe already some provision there to get notified of your liked post (I dont know how exactly it is working here nor in any SMF forum where the Likes pro mod has been implemented)

I just shared my opinion for the same.


Even I have seen such thing in Xenforo forum software....similar to Facebook notifications
Quote from Arantor on March 17th, 2012, 12:57 AM
All you had to do was *ask* how it worked, not assume it worked like things you've already seen. I'm not just copying mods already written for SMF and shoving them in, unless I'm the one who wrote the mod originally.
You did a great work :)
Title: Re: Likes
Post by: Arantor on March 17th, 2012, 12:27 PM
>_> Houston we have a problem, look at the post above where it has the extra url tag in it.
Quote
Again, I didnt try the Likes Pro mod for SMF nor here (dont know 100% of how it is working)
I didnt purchased Likes Pro mod for SMF (all I have seen it first is in AAF forum)
I find it funny that that was what you first thought of in terms of behaviour (since that works exactly how you didn't want it to). But also, did you check out a user's profile on the AAF forum? There's a whole section just on liked posts.
Quote
Even I have seen such thing in Xenforo forum software....similar to Facebook notifications
Yay let's copy both XenForo AND Facebook as opposed to seeing if we can't figure out a better way.
Title: Re: Likes
Post by: die2mrw007 on March 17th, 2012, 03:06 PM
Quote
>_> Houston we have a problem, look at the post above where it has the extra url tag in it.
Hey, thatz not a problem...its been done by me.... I copy pasted the tagged quote and hence its showing such.
Quote
Again, I didnt try the Likes Pro mod for SMF nor here (dont know 100% of how it is working)
I didnt purchased Likes Pro mod for SMF (all I have seen it first is in AAF forum)
Quote
I find it funny that that was what you first thought of in terms of behaviour (since that works exactly how you didn't want it to). But also, did you check out a user's profile on the AAF forum? There's a whole section just on liked posts.
Heading towards there to study it thoroughly :D
Quote
Yay let's copy both XenForo AND Facebook as opposed to seeing if we can't figure out a better way.
LOL... copying for something better is always good. Windows copied MAC, but Windows is more popular/widely used than MAC !!
Title: Re: Likes
Post by: MultiformeIngegno on March 17th, 2012, 03:08 PM
Quote from die2mrw007 on March 17th, 2012, 03:06 PM
Quote
>_> Houston we have a problem, look at the post above where it has the extra url tag in it.
Hey, thatz not a problem...its been done by me.... I copy pasted the tagged quote and hence its showing such.
No, if I understand properly the problem is that it should have been fixed automatically (and magically) by Wedge! ;)
Title: Re: Likes
Post by: Arantor on March 17th, 2012, 03:09 PM
Quote
Hey, thatz not a problem...its been done by me.... I copy pasted the tagged quote and hence its showing such.
Quote
No, if I understand properly the problem is that it should have been fixed automatically (and magically) by Wedge! ;)
No, it is a problem, because it shouldn't be working like that. It's created things it shouldn't have done and malformed the tag as a consequence.
Quote
LOL... copying for something better is always good. Windows copied MAC, but Windows is more popular/widely used than MAC !!!
No, it just means you're prepared to accept mediocrity. Windows copied Mac but it's not more popular/more widely used because of it, it's more widely used because of things Microsoft did in the 1980s and 1990s to push Windows into offices and schools, not because it's better at what it does.
Title: Re: Likes
Post by: Nao on March 18th, 2012, 10:21 AM
Re: Bug (totally not the place...): from what I see, if you reply a post that has a direct URL in it, the quote contains the url tag followed by the link (rather than just the link). Even if you added the url tags manually, maybe Wedge should be able to see that it's a URL, and not add another set of url tags around it... Url tag nesting isn't cool. Is this a problem in SMF as well? What does SMF record in the DB?

Re: Likes, I think you'd like to know that I added a Stats section earlier this morning with the Top Liked Posts. (Only 'posts' for now, since we can't like anything else anyway.) I'd like to know if you're cool with that -- because it may encourage competition, for better or for worse. Perhaps a 'More' link would be nice, with a list of all liked posts... And of course, profiles should have top posts as well.
Title: Re: Likes
Post by: Nao on March 18th, 2012, 11:24 AM
Quote from die2mrw007 on March 17th, 2012, 03:06 PM
LOL... copying for something better is always good. Windows copied MAC, but Windows is more popular/widely used than MAC !!
"The first successful commercial GUI product was the Apple Macintosh, which was heavily inspired by PARC's work; Xerox was allowed to buy pre-IPO stock from Apple, in exchange for engineer visits and an understanding that Apple would create a GUI product." (Wikipedia, Xerox PARC page.)
Title: Re: Likes
Post by: Arantor on March 18th, 2012, 12:30 PM
Quote
Is this a problem in SMF as well? What does SMF record in the DB?
It's not a problem for SMF, somewhere we broke it. Only the bare URL should be stored unless it's already within url tags (in which case it should be left alone)

Also, like stats... cool :)
Title: Re: Likes
Post by: Arantor on March 18th, 2012, 01:06 PM
Just a couple of things...

* stats box, shouldn't it use the thumb-up icon? :P

* do we need a way to disable it?[1]

* gotta implement caching and a way of displaying the list of everyone who likes a post in a pop-up. Not sure how that should look, does it need avatars?
 1. FWIW I don't seem to be able to disable XenForo's inbuilt one...
Title: Re: Likes
Post by: spoogs on March 18th, 2012, 01:47 PM
Nope shouldn't need avatars, just a list of names should suffice, I'm sure will disagree. A certain like mod displays the avatars and it just looks a cluttered mess to me, making the popup bigger (with more scrolling) than it needs be. I'd prefer simplicity here. If avatars will be displayed I'll BEG that there be an option to not display them as well.
Title: Re: Likes
Post by: Arantor on March 18th, 2012, 01:51 PM
Actually I wasn't even thinking of a certain mod, I was actually thinking about what XenForo does; the link where you see the list of other names appears as a huge popup on the screen (even to the point of dimming out the rest of the content) with names and avatars and stuff.
Title: Re: Likes
Post by: spoogs on March 18th, 2012, 01:57 PM
Haven't really looked a XF....

Well I just took a look now and while there implementation is a lot cleaner than my reference point my overall preference would still be just the list of names. I do admit theirs is rather nice looking though.

Title: Re: Likes
Post by: Arantor on March 18th, 2012, 02:00 PM
When it's something like that, that's pretty user centric and I don't have any better ideas immediately, I'll take a look around to see what everyone else is doing as well, and while I'm not a fan of a certain mod, I can't deny that XenForo does it with style.

I know I'll be using our popup which is a lot leaner and less obtrusive, though.
Title: Re: Likes
Post by: Dismal Shadow on March 18th, 2012, 05:49 PM
Quote from die2mrw007 on March 17th, 2012, 03:06 PM
LOL... copying for something better is always good. Windows copied MAC, but Windows is more popular/widely used than MAC !!
Not anymore, have you looked at the insane amount of stock AAPL made?