I don't know if it's just me, but I find the fact that the rooms re-order their position slightly irritating. The active room always makes itself the first in the list (after the room list). When you select another room, the room you were just in is then pushed to the right one space. This means that the rooms are constantly re-ordering themselves based on when you last visited them.

It's only a heuristics thing, there's nothing wrong with the site, it just means you have to spend more time looking for things when you knew where it was a moment ago.

Seems a bit counter-intuitive to me, based on existing behaviour in other applications. Or am I just being picky? ;)

Additionally, is it possible to make "Community Center Chat" always the top of the room list? Seems to be the general congregation place of members :)

Recommended Answers

All 7 Replies

You're not the first to mention that. It's certainly not very intuitive as far as I'm concerned, but Dani makes the final decision. Let's see if she weighs in.

I am in agreement that it's weird that the tabs reorder themselves. However, save from listing every room you've participated in all day being listed in alphabetical order, anything else that's more intuitive would require additional database calls and/or additional information being stored in the database, which I really want to avoid in a live environment that is already so server intensive with the long polling. I really want to keep the live chat feature as lean as possible because we're already doing it an ass-backwards way using LAMP for live chat as opposed to something more conducive to push environments like Nginx or NodeJS.

I woudn't have thought you'd need to adjust the database for this kind of change. Also, is there any real need to maintain the room list once you close the window?

Could you not maintain the room state information inside the User's session instead? When the call is made to update the page you could return this result as part of the original call without needing a database hit.

Also, is there any real need to maintain the room list once you close the window?

I'll look into forcing you out of the rooms when you close the window.

Could you not maintain the room state information inside the User's session instead?

That wouldn't allow a working list of who is in each chat room.

I completely forgot this thread even existed :)

I can't remember what my reasoning was for the state information to be client side. I'm sure there was one, but it escapes me now ;)

On another note, I've been experimenting with something called SignalR. Essentially, it allows you to make calls to client side javascript from the server (websockets underneath). Removes the need for polling the database and should make it considerably more efficient ;) If the client doesn't support websockets, it will fall back onto long polling, but without the need for you (as the developer) to do anything.

If you like, I'll write you up a demonstration this weekend and you can see if it's something that you'd be interested in :)

That would be awesome :) I have no experience with it but if it downgrades nicely, I'll definitely look ingo it.

Given that I spent most of this weekend asleep and/or playing MTG, I'll do it this week :)

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.