Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.

ChatRoulette style app, groups or rooms?

Avatar

Level 4

Hi,

I was looking at muliple group example and thought it could be a way of putting two or more people together.

My understanding now is that muliple rooms may be a better way to go. any input would be great as i am trying to build this now for a client.

thanks.

...russ

10 Replies

Avatar

Former Community Member

Hi,

I am failing to understand your use case. If you want within a room, groups of people who have their own set of chat, notes etc and have an host who can direct them to various groups, then you should look at multiple groups.

Hope this helps.

Thanks

Hironmay Basu

Avatar

Former Community Member

Hi Russ,

How many users do you anticipate for this app? If it's going to be popular,

multiple rooms is the way to go (we can spread separate rooms across the

cluster, but not spread one big room, so it scales better for us). The big

disadvantage with groups is that only OWNERs of the room can create them, so

it's great for a classroom-style "breakout room" scenario, where there's an

authority (say, a teacher) to cause the groups to happen, but not so great

when it's just any old users.

For creating rooms on the fly, you'll need to use the server integration

libraries - there's code for most popular server languages available.

hope that helps

nigel

Avatar

Level 4

Hi guys,

First thanks for the help (and for the tweets).

My current usecase would be something in the style of a chatroullet where random students can talk to each other.

Since this is for students, we may get a good amount of traffic. I dont think stratus would work in that case.

I have been reading about templates, and that brings me to my next question.

Would it be better to create a fixed number of rooms (say 100) and randomly assign people to rooms or try to create them as needed

(I may be over thinking this)

In any case what method in the sdk lets me see how many people in a single room? (i think its getRoomInfo as I dig though the php example)

then put them in that room.

Since the webcam part is important im thinking that everyone would be a publisher.

hope that makes sense.

thanks.

...russ

Avatar

Employee

There isn't a big difference between creating rooms on the fly or keeping a pool of them.

If you have a pool of rooms already created, you'll get a little faster access to the room (one less HTTP request to run).

getRoomInfo does tell you how many users are in a room. I think right now I return a bunch of XML. For the next release I am cleaning up the method and documenting it.

Also, with the next release of the SDK you'll be able to "listen" to room and other nodes events (by registering an HTTP endpoint) so that you can have a real time view of your rooms (i.e. you can listen to user in/out events and have an updated map of your rooms, that you can sort by number of users for your use case)

Avatar

Level 4

Thanks so much,

So here is what im thinking.

Guest comes with publisher rights, my server queries for rooms. get an array back and looks for rooms with 1 person, then redirects you to that room.

Im doing the proof in php but the final will be in ruby. Im guessing the methods are the same/similar.

Does that even make sense?

thanks.

...russ

Avatar

Employee

if possible I would avoid using the listRooms() API for this, since it's a slow operation (and the more rooms you have, the slower it is)

if you create the rooms in advance and they have "predictable" names (i.e. room1 to room100) I would just assume the room exists and access it.

if you are using guid-style names and have a local database I would query your database (again, if you have created the rooms we are not going to delete them )

I would also try to limit the calls to getRoomInfo and cache the result (i.e. don't call getRoomInfo on all 100 rooms every time but assume that if you had a room with one user and assigned another user to it now that room will have two users)

Avatar

Level 4

Thanks for the note.

I'm doing the smple room names (room1 - room100)

So may be it's better to manage rooms/people on my database side

I know I have X number of rooms and just track if the number of people is less than or equal to 1 in my database.

Is there a way to remove you from a room. from my quick test. its easy to place someone in a room but from looking at the room console they are still there after i assigned them  new room. Is it that the are timed out or do i have to delete them somehow?

thank so much.

...russ

Avatar

Former Community Member

Hey guys,

I already builded pretty much the same app.

Two people who match on their search parameters meet in one room.

If you want another chat partner, you can simply switch the room.

Which room the user joins do I manage in my own database.

I would like to use this feature in my high-traffic live application but I got a big problem now.

Everytime a user switches the room it counts about 50 push messages even if he's doing nothing.

Is there any possibility to arrange a price model, which just depends on the amount of userhours and hub traffic?

I already wrote to lccs@adobe.com but didn't receive an answer so far.

Can you tell me what requirements are needed from the customers side to arrange an alternate pricing model?

So I just would like to know if there are any special requirements that I have  to meet.

Thank you very much!

Avatar

Former Community Member

Hi Manipulix,

Hmm -- not sure what happened.  I did respond to your inquiry.  Could you double check, perhaps in your SPAM folder?  It should be dated March 22nd.

I'll resend on my end, just in case.

Thanks,

Fang

Avatar

Former Community Member

Hi there,

I found a way to prevent your 50 messages on room startup problem - I've

checked it in, and it should take effect on the next service update, which

will be within a month or so.

nigel