vkoffline
vkoffline copied to clipboard
Модификаторы списка контактов
Сортировка контактов по онлайн статусу/дате
На картинке приблизительное изображение того как бы мне хотелось видеть UI:

Так как правая часть пустая там можно разместить 2 кнопки (на изображении 2 ссылки: "онлайн" и "дата").
Предлагаю вынести или продублировать возможность настройки отображения онлайн статуса. Каким образом? При активации сортировки онлайн пользователь автоматически подтверждает необходимость получения статуса онлайн о пользователях. Отключение можно сделать добавив выпадающее меню для кнопки "онлайн" или оставить функционал для страницы настроек.
Я несколько раз брался за эту задачу и так же опускал руки, поскольку год назад она была практически невыполнима. Вкратце - контакты в локальной БД содержат как друзей, так и тех, с кем вы переписывались. API ВКонтакте позволяет в один заход получить онлайн-друзей. Но вот статус остальных контактов придется получать отдельным запросом (сейчас ограничение 1000 контактов, раньше было гораздо меньше). То есть нужно будет сделать как минимум 2 запроса, после чего отсортировать данные.
Сейчас эту задачу вполне можно делать.
По поводу сортировки: планировал сделать ее стабильной основываясь на первоначальном списке в котором сортировка идет по дате последнего сообщения. Если не затруднит добавь что именно надо поправить что-бы все заработало, будет время напишу.
UPD: Кроме того, у многих, скорей всего, друзей куда меньше чем тех кому они когда-либо писали. По хорошему, надо-бы еще добавить еще 1 модификатор списка контактов, который будет отвечать за отображение определенной группы пользователей (как на http://vk.com/friends?section=all) только делить на друзей и контакты. Если вк апи предоставляет возможность получать список друзей с определенной группы его также можно добавить в это приложение.
Я так понимаю надо бы создать несколько задач под общим названием "Модификаторы списка контактов", а в этом топике обсудить что еще можно сделать и надо ли это вообще (:
Есть еще один момент: приложение все-таки legacy и я не уверен, что это стоит делать в текущей версии. Сейчас я думаю каких затрат будет стоить перевод приложения в формат packaged app, если окупится, то топик подниму.