Skip to content

Instantly share code, notes, and snippets.

@velsa
Last active August 29, 2015 14:07
Show Gist options
  • Save velsa/577614ddf3984e5a812c to your computer and use it in GitHub Desktop.
Save velsa/577614ddf3984e5a812c to your computer and use it in GitHub Desktop.
VOI Q&A, part 1
  1. Механика чата и голосового диалога

1.1. Когда пользователь пишет в чат, сообщение сохраняется на сервере (пример - icq,hangouts когда все ушедшии сообщения доставляются получателю, даже если он в момент отправки находится в офлайне) или по механике p2p связи (пример - скайп).

Сообщения в чате видны всем и сохраняются на сервере. Пользователь также будет видеть сообщения, которые были написаны в чате до того, как он зашел в комнату.
Кроме того, нам все-таки нужен будет private чат, т.е. один на один. Такие сообщения также будут храниться на сервере и по ним будет приходить notification.

1.2. Могу ли я скинуть в диалог ссылку на другую комнату в рамках данного приложения?

Не в первой версии. Однако, пользователи могут входить в профили других участников и переходить в их комнаты.

1.3. Как вы планируете бороться с проблема последосавтельности отправки?

Что это значит ? Т.е. если у одного интернет медленный, а у другого быстрый, и первый написал сообщение раньше второго, но оно пришло позже ? Не думаю, что это серьезная проблема. Все-таки народ не на модемах сидит.

1.4. Будет ли хранится история чата? Требуется ли архивировать чат?

Думаю, да.

1.5. Что будет происходить с чатом, если я попробую отправить сообщение без подключения к интернету?

Если пропадает соединение с интернетом, пользователь должен сразу это видеть. Т.е. между ним и сервером должно бытъ постоянное соединение и, если оно отваливается, пользователь должен увидеть что-то вроде "Connection lost, attempting to reconnect..." поверх комнаты и, если соединение не удается восстановить, он должен перейти в offline режим.

1.6. Кнопка блокируется на 20 секунд и создателя (владельца комнаты) или только у ее участников?

В смысле, если говорил подряд 20 секунд ? У любого участника комнаты. В будущем, можно дать особые преференции хозяину комнаты.

1.7. Могу ли я забанить человека во всех комнатах, где я учавствую? Персонально для своего аккаунта?

Любой гостъ комнаты может забанить любого другого гостя, но не хозяина. Забаненный гость автоматом переводится в режим mute (относительно банящего) и его сообщения не показываются в чате (тому кто забанил). Соответственно, бан для этого конкретного гостя сохраняется у банящего пользователя, независимо от комнаты.
Забаненный пользователь отображается особым образом в списке гостей у банящего.
Хозяин комнаты может также "выкинуть" любого участника (без права возвращения в течение 24х часов).
  1. Механика создания комнат и регистрации в приложении

2.1. Могу я начать использовать приложение, не создавая свою комнату?

Не думаю, что это хорошая идея. Мы хотим чтобы люди были "гостеприимны" и креативны. По умолчанию, можно назвать комнату "Room of USERNAME" и назначить ей какую-нибудь стандартную картинку

2.2. Могу ли я создать аккаунт непосредстевнно в приложении, не используя аккаунт социальных сетей?

Да, хоть это и облегчает возможность анонимного использования приложения, а это, в свою очередь, снимает с полъзователей некоторую ответственность за поведение в чатах.

2.3. У многих пользователей в мобильном телефоне редко бывают картинки, кроме своих. Может отказаться на первую итерацию от добавления аватарки для группы?

Можно дать набор готовых картинок на выбор, а если захочет сам украсить комнату - закинет собственную.
На самом деле, я хочу сделать отображение списка комнат как список квартир в Airbnb: крупная картинка на всю ширину экрана, в левой нижней части – круглая аватарка пользователя, а поверх картинки - название комнаты и другая информация (кол-во гостей, хозяин в комнате/не в комнате и т.п.)

2.4. Будет ли в моем профайле информация обо мне или будет только ссылка на fb профиль?

Ссылки на fb не будет, т.к. это слишком приватная информация, но будет имя, аватарка, какой-то текст от самого пользователя и, разумеется, комната (картинка, имя, описание, сколько в ней сейчас людей и т.п.)
  1. Механика работы комнат

3.1. Какие права я имею в комнате, в которую меня кто-то пригласил?

Права у всех гостей одинаковые - писать в чате и говорить голосом

3.2. Кто может изменить эти права?

В будущих версиях я думаю добавить специальные типы комнат: частная и аудитория. В частную комнату можно будет попасть только по приглашению, а в аудитории будет один "лектор" и много "слушателей" (бльше 10-ти), лектор сможет давать право голоса некоторым слушателям. Но тут еще продумывать нужно.

3.3. Могут ли владелец комнаты замутить всех кроме себя?

Есть два типа mute:
1. Замьютить самого себя (например, если вокруг шумно), тогда другие видят, что ты выключил свой микрофон (иконка на аватарке)
2. Замьютить другого гостя, тогда ты не будешь его слышать, но будешь видеть его сообщения в чате

Мьютить всех сразу - слишком жесткая мера, не думаю, что стоит давать такой инструмент.

Самого хозяина комнаты замьютить или заблокировать нельзя.

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

Не думаю, слишком сложно. Скорее нужно будет подуматъ над механизмом анонса чего-либо в чате сразу в нескольких комнатах. Но не в этой версии.

3.5. Может ли владелец удалить комнату?

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

3.6. Как я могу пожаловаться на комнату, в которой происходит что-то не соответствующее правилам приложения?

Жаловаться нужно будет не на комнату, а на пользователя. Т.е. либо на хозяина, либо на гостя, который ведет себя неадекватно. Соответственно, должна быть кнопка в его профайле "Report this user to our abuse team"

3.7. Что происходит с моей комнатой, когда я нахожусь офлайн? Могут ли другие пользователи в ней общаться?

В принципе - да, но ее будет сложно найти, т.к. в результатах поиска она, скорее всего, будет в самом конце списка, т.к. мы будем сортировать комнаты по кол-ву гостей и по популярности. Но если люди добавили комнату себе в Избранное, то, конечно, могут зайти в нее в любой момент.

3.8. Могу ли я увидеть количество людей, которые находятся в списке ожидания?

Да, думаю это важная информация.
  1. Механика настроек приложения и логики

4.1. Учитывая постоянный поиск и работу с gps модулем - приложение будет потреблять очень много енергии и соответственно будет отключаться. Возможноно имеет смысл в виде пуша уведомлять о аткивности в какой-то группе?

Не понял. Зачем постоянно искать что-то по gps ? Этот поиск делается только при выборе Search из меню. Также, пользователь может обновить результаты поиска кнопкой Refresh.
Если пользователь уже в комнате, то мы ничего не ищем.

4.2. Где я могу посмотреть свой список замъюченных пользователей?

Не уверен, что такой список нужен. Если заходишь в комнату и видишь кого-то, кого раньше замьютил, можешь в пару кликов его размьютить.

4.3. Где я могу посмотреть свой список забанненных пользователей?

В настройках. Blocked users.

4.4. Могу ли я каким-то образом настроить автоматические уведомления о сообщениях от приоритетных пользователей?

О приватных сообщениях всегда должны приходить уведомления.
О сообщениях в чате тоже можно уведомлять, в случае, если приложение свернуто или экран выключен.

4.5. Могу ли я добавлять в избранное пользователей а не комнаты?

Да.
И, т.к. будет приватный чат (по сути аналог Скайпа или Вайбера), можно будет посылать сообщения и общаться с избранными пользователями один на один.

4.6. Что происходит, если по результату поиска я не нашел ни одной кмонаты вокруг?

Выводим грустную мордочку и рекомендуем пригласить друзей из facebook.

4.7. Могу ли я сортировать результат поиска комнат? Если да - по каким параметрам.

Да: Default / Popular / Number of guests
Default будет стараться соединить вместе популярные и комнаты с большим кол-вом гостей.

4.8. Опишите логику настроек аудио и микрофона в приложении.

На самом деле, настраивать особо нечего.
Это все делается через стандартные системные настройки.

4.9. Как вы видите процесс обратной связи в приложении?

Для начала хватит email адреса в виде ссылки.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment