Обсуждение Хака "Взаимная дружба"

Предлагаю обсудить механизм заключения дружбы. Как известно сейчас это работает таким образом:

— Заходим в профиль пользователя
— Нажимаем кнопку «добавить в друзья»
— Новый «друг» получает письмо о том, что его добавили в друзья

Каким образом лучше исправить этот механизм?

Я пока вижу следующие варианты:

1 вариант:

— Пользователь А добавляет Пользователя Б в друзья
— Б получает на почту уведомление, что его добавили в друзья и ссылку на ответное добавление
— Если Б нажимает на ссылку, то
— А добавляется в друзья Б
— А получает уведомление, что его дружба принята
— Если Б не нажимает на ссылку, то дружба остается односторонней

2 вариант:

— Пользователь А добавляет Б в друзья
— Б получает на почту уведомление, что его добавили в друзья и ссылки — на принятие дружбы и отказ в дружбе
— Если Б нажимает на ссылку «принятие дружбы», то
— А добавляется в друзья Б
— А получает уведомление, что его дружба принята
— Если Б нажимает на ссылку «отказ в дружбе», то
— Б удаляется из друзей А
— А получает уведомление, что его дружба отклонена

Это достаточно простые варианты, которые уже могут повысить возможности друзей. Но может у вас есть желание пойти немного дальше их? :-)

18 комментариев

avatar
Вот тут уже было
livestreet.ru/blog/1349.html
avatar
Это не совсем то. Я не задеваю вопрос для чего вообще нужны друзья. Этот топик о том как лучше пользователям «заводить» друзей. Можно ли кого-то добавлять в друзья если он не хочет видеть тебя другом, например?
avatar
«Согласие есть продукт непротивления сторон»
( Дворник Тихон, И.Ильф, Е. Петров «Двенадцать стульев»)
avatar
Предлагаю альтернативный вариант:

— Пользователь А добавляет Б в друзья
— Б получает на почту уведомление, что его добавили в друзья и ссылки — на принятие дружбы и отказ в дружбе
— Если Б нажимает на ссылку «принятие дружбы», то
А добавляется в друзья Б и Б добавляется к А (взаимно)
— А получает уведомление, что его дружба принята
— Если Б нажимает на ссылку «отказ в дружбе», то
— Б удаляется из друзей А покуда не будет принято предложение о дружбе — никого никуда не добавляем.
— А получает уведомление, что его дружба отклонена

На мой взгляд, в дружбе должна быть взаимность. Тот вариант, который сейчас присутствует в ЛС, демонстрирует односторонние симпатии в стиле «мне нравится этот человек». При наличии взаимности будет стимул подумать, чтобы не добавлять в друзья кого попало.

Взаимность может бвть полезна, например, когда вас отмечают в галерее на фото, когда вам направляют приглашение на встречу (чтоб не спамили все подряд) и во многих других случаях.
avatar
Так а может просто развести симпатию и дружбу? :-)

Потому как скажем я могу например симпатизировать Ort-у, а ему совершенно не до меня. Я добавляя его в друзья хочу просто иметь ссылку на его профиль под рукой, чтобы в будущем ей пользоваться (письмо написать или посмотреть его публикации).

Может сделать как раз, что односторонняя дружба — это симпатия (список симпатий можно будет посмотреть только свой личный), а когда симпатия двусторонняя, то это дружба и тогда о ней могут узнать все.

Как такой вариант? :-)
avatar
Carw, отличный вариант.
Только лучше, чтобы список симпатий был виден всем.
avatar
Проще, что-бы в профиле отображалась инфа о взаимных «дружеских отношениях», а все симпатии и антипатии «в топку паровоза» ибо сие суть глуповатый пиар и спам.
avatar
Ну так на «глупом пиаре» все и держится нет? ;-)
avatar
нет
avatar
Ну, в любом случае, это в шаблоне легко убирается, а кому-то может надо.
avatar
Использование двух вариантов затрудняется тем, что для хранения информации о дружбе желательно использовать штатные таблицы ЛС. Для того, чтобы эта информация могла свободно использоваться и модулями, созданными сторонними разработчиками. Иначе придётся хачить и эти модули, что увеличит меру энтропии в движке и размах геморроя у админа )

А в целом совместное использование могло бы быть интересны вариантом для отдельных проектов. А те, кому не надо, могли бы легко вырезать ненужное.
avatar
Ну вот, я по сути пока стараюсь двигаться по пути наименьшего изменения. Симпатия и дружба — вполне хватит стандартных таблиц ;-)
avatar
Хотя оптимальнее конечно было бы добавить еще одно поле… производительнее будет
avatar
«Отдамся за симпу» — «забеги» для «хомячков». Бред IMHO. Проще взаимность в шаблон добавить простым добавлением условия (для тех кому нужно).
avatar
Как ни странно, и для хомячков сайты тоже делают. Я думаю, что кому-то они могли бы быть полезными. Лично мне нужна только взаимность.
avatar
Категоричность — не наш метод ;-)

Наш метод — изучение вопроса с разных сторон.
avatar
Как вариант — можно пойти по пути Хабра: при получении запроса на дружбу можно отказать, разрешить и ответить взаимностью. При этом в шаблоне ничего не меняем, просто оставляем всех как друзей.
avatar
А кто на эти встречи ходит? LOL
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.