Friday, 17 December 2010

What's For Dinner?

I've put a bit more thought into the dinner problem, and I've come up with an idea. I thought I could create a website with a dinner sign-up list - inspired somewhat by the WoW dungeon queuing system. Only people who I've approved can sign up to dinners, but I will allow for some sort of vouching system, since I want to meet new people, too. Once you've signed up, you can make a party with other people who have signed up and "queue" for a dinner. Party size can be anywhere between 1 and 3 (because if you count me and MrMan5.5, that leaves 5, which is the magic number).

The first person/party in the queue will get a dinner invite. They will get an email saying when dinner will be, and get a chance to reply. This is when stuff like dietary requirements and things like that can be sorted out. If the party can't make it, I will either try to fill spots with smaller sized parties, or try with whoever is next on the list. You can't re-queue while you're currently in queue, and you don't leave the queue until the dinner is over. The purpose of this is to stop spam queuing. I'm not really expecting these dinners to be all that popular, but as QC pointed out, it is free food, and I don't want people who are only interested in a free meal. The point of this is to get feedback.

If nobody is interested, then that is also fine, MrMan5.5 and I will eat alone - which is probably what would have happened anyway. As gale mentioned, an important addition is the "If you do bad stuff, you are banned" rule. Bad stuff is up to my discretion, but something I wish the WoW dungeon system did have was a blacklist option. I say this rather than a feedback for others option, because I think the feedback system can be rigged if you just get your friends to thumbs up you, or thumbs down someone else. So you can create a blacklist of people you don't want to have dinner with (which only the system can see), and it will never group you with that person. That way nobody will have to find a nice way of telling me they don't like someone.

Hopefully the blacklist system will encourage people to play nice. If you are on a lot of blacklists, then it is unlikely that you will be invited to fill holes in other groups. Of course, you can circumvent that by simply always queuing in a group of three, but that may not be so easy depending on who you are friends with.

One problem I see with the blacklist idea is what if someone blacklists someone who wants to party with them? Since you can only queue once, and the system should never allow someone to be grouped with someone they've blacklisted, they would never get invited. The only reason I can see this happening, is if someone doesn't want to group with someone else, but is too polite to tell them to their face. I figure that is their problem and not mine. Is that fair?

There are a few things I'm unsure about how to solve, but I think it's easier to explain with an example:

We have some friends: Alice, Bob, Carol, Dave, Eve, Fran, Gordon, who may or may not be trying to send or intercept encrypted messages, but one thing they would like to do is have dinner at my house. Since I know them all, they are all approved to sign up. Alice is fastest off the mark, and she invites Bob and Carol to form a party. However, until Bob and Carol accept, they cannot join the queue. So in the meantime, David realises he hasn't seen Gordon in a while, so he forms a party with him. As Gordon is online at the same time, he is able to accept instantly, and so they are the first in the queue.

Eve doesn't know anybody else who has signed up, but she does know me, so even if she ends up with people she doesn't get along with, she can still catch up with me. So she queues alone. Fran is looking to meet new people, so she also queues alone. Bob and Carol finally get around to accepting their group invites, so they are queued with Alice.

Current queue: [Dave + Gordon, Eve, Fran, Alice + Bob + Carol]

I decide I want to try cooking chicken pot pie. I pick next Wednesday as the next available time and enter the details into the system. As Dave and Gordon are first in the queue, they are invited. I can accommodate for three people, so Eve is also invited. Eve is busy that day, so she declines the invitation, and Fran is invited in her place. Dave, Gordon and Fran accept. Dinner happens, they leave the queue.

So one part I'm undecided about, is what to do with Eve now. I think it's stupid to expect that everyone is keeping their schedule free for my dinners, so it seems only fair to let Eve stay at the head of the queue.

Current queue: [Eve, Alice + Bob + Carol]

Here's where I encounter my second problem. Eve is at the front of the list. The only other people on the list is a group of three people. I can either temporarily allow a party of four, or skip Eve again and only invite Alice, Bob and Carol. Let's just say I allow for a party of four, everyone is available, and we have dinner. Eve spends the entire time trying to get between Alice and Bob, which as you would expect, pisses both of them off. So dinner ends, and all are removed from the queue, but Alice and Bob blacklist Eve.

Bob is going away for work, so Alice queues alone. Eve and Carol had fun together, so they queue again. Gordon and Fran hit it off so well, that they decide they want to try it again and queue again. Dave doesn't really care who he has dinner with this time, so he also queues alone.

Current queue: [Alice, Eve + Carol, Gordon + Fran, Dave]

Alice is first, so she forms the party. Since Alice has blacklisted Eve, neither Eve nor Carol can join. So instead, Gordon and Fran get the next invitation. Gordon and Fran are invited. Fran is free, however, Gordon is not.

So the next decision I have to make is what to do with Fran and Gordon's group now? My first idea was to leave it up to Fran and Gordon. Are they OK with splitting the party up? In which case, Gordon leaves the group, and Fran is left in the queue on her own (I believe this is what the WoW dungeon system does).

Current queue: [Alice, Eve + Carol, Fran, Dave]

Dave fills the remaining gap, so Alice, Fran and Dave are invited.

So one thing it does seem to favour, is smaller groups, as you don't run the risk of the rest of your group being slow to reply. I think what I will allow, is for you to retract your invites if others are slow to accept so that you can try to form a new party if you want. However, once you are in the queue, if you decide you don't want that party, and you disband it, and queue again with a new group, you will be placed at the back of the queue (this is also what WoW does, and seems fair to me).

If there aren't enough people in the queue to fill a party, then I guess a smaller party is also fine. I think that covers all of the bases, is there anything else I didn't think of?

No comments: