как сделать сетку предпросмотра изображений / Хабр
Всем привет. Меня зовут Марат Исаев, я фронтенд-разработчик ВКонтакте, разрабатываю решения для VK Мессенджера. В этом посте я хочу рассказать о том, как сделать сетку предпросмотра фотографий (сейчас этот вариант доступен в фастчатах ВКонтакте, но уже в ближайшее время он появится в VK Мессенджере веб-версии). На практике всё не так просто, как может показаться на первый взгляд – изображения бывают разной ориентации и с разным соотношением сторон. Иногда хочется сделать акцент на каких-то изображениях из набора, но при этом показать и другие.
Популярный подход
Пожалуй, чаще всего сетку предпросмотра делают так: описывают несколько алгоритмов, которые будут применены к альбому в зависимости от количества фотографий, соотношения их сторон и ещё каких-то специфичных для проекта параметров. Например: «Если в альбоме три фотографии и большинство из них портретной ориентации, то применить Strategy3Portrait; если фотографий от 5 до 10, то применить Strategy5_10». При этом важно сохранить порядок следования фотографий.
Давайте по-другому
Я предлагаю рассмотреть другой способ решения этой задачи. Сначала откажемся от привязки к конкретному количеству фотографий и их пространственной ориентации. Сформулируем задачу так: «Разместить N фотографий со сторонами xnyn в прямоугольнике со сторонами ab, сохранив их очерёдность».
Затем выровняем все фотографии по высоте h и начнём их «выкладывать» как кирпичи.
Если фотография не помещается в текущий ряд, то перенесём её в новый и продолжим «выкладывать».
Закончив «кладку», изменим масштаб каждого ряда таким образом, чтобы заполнить «пробелы».
Теперь проверим «кладку», чтобы ни одна картинка не оказалась слишком маленькой (минимальные размеры hmin и wmin). Если мы близки к соотношению сторон прямоугольника a*b и проверка на критические размеры пройдена, то получившуюся сетку можно считать подходящей.
Очевидно, что чем удачнее мы выберем h в диапазоне от hmin до b, тем быстрее мы получим желаемый результат. К примеру, можно подбирать h бинарным поиском. Или можно поступить ещё проще: сделать несколько «кладок» с шагом дельта от hmin до b, а затем выбрать вариант, у которого соотношение сторон ближе всего к a/b.
Сложность алгоритма
Узкое место этого алгоритма — тот самый поиск оптимального h. Если мы будем идти с шагом дельта, то сложность будет линейная, потому что количество шагов — константа. И если будем искать бинарным поиском, то сложность тоже будет линейной, константой будет диапазон b − hmin, а следовательно и log2(b − hmin).
Из мира идеального в мир реальный
Можно ли «разместить N фотографий со сторонами xnyn в прямоугольнике с размерами ab, сохранив их очерёдность»? Да. Можно ли «разместить N фотографий со сторонами xnyn в прямоугольнике с размерами ab, сохранив их очерёдность и выдержав критические размеры и оригинальные соотношения сторон»? Не всегда. Это будет зависеть от N, от соотношения сторон фотографий и от a и b. Во ВКонтакте количество изображений в предпросмотре ограничено 10. Если фотография одна, то сетка и не нужна. Значит, нам нужно как-то гарантировать хороший результат для 2—10 изображений.
Мы имеем дело с комбинаторикой. Нужно просчитать все возможные варианты и проанализировать результат. Причём для решения задачи нам нужно воспользоваться «размещением с повторениями» Ank = nk . В нашем случае n — это количество всех возможных соотношений сторон отдельных фотографий, а k — общее количество фотографий (от 2 до 10). Отсюда вывод: чтобы количество размещений было конечным, нам важно: чтобы и количество возможных соотношений сторон было конечным. Например, выберем пять соотношений: 9/16, 3/4, 1/1, 4/3 и 16/9. Тогда количество размещений рассчитывается как 5k , где k = 2, …, 10. То есть, если у нас есть в альбоме пять фотографий с пятью возможными соотношениями, то количество всех возможных вариантов их размещения равно 3125.
Описывать стратегии для всех частных случаев нет смысла, их слишком много. А если ограничиться лишь квадратами, то мы легко можем описать десять стратегий (напомню, что количество размещений в таком случае будет 1k, k = 1, …, 10). Но ведь мы хотим сделать сетку предпросмотра по возможности разнообразной, поэтому давайте подумаем, как ещё можно улучшить алгоритм.
Объять необъятное. Как просмотреть и оценить все «сетки»
Обозначив диапазон соотношений сторон, мы можем отказаться и от проверки на критические размеры hmin и wmin для каждой отдельной фотографии, так как они станут взаимосвязаны (нам достаточно знать лишь, что выбранный h ≥ hmin и h ≤ b). Скрипт для набора пула возможных размещений вы можете взять здесь.
Теперь прогоним пул через наш алгоритм и проанализируем разброс отклонений соотношений сторон получившихся сеток от эталонной a/b. Если отклонения невелики, то фиксируем hmin, a, b и значения соотношений сторон фотографий. А если отклонения велики, то корректируем их. Возможно, стоит сократить количество соотношений или изменить размеры a и b. Зачастую общую картину портит последнее изображение, которое остаётся одно в последнем ряду. В таких случаях можно принудительно объединять два последних ряда.
Допустим, нам нужно скомпоновать фотографии в сетку с соотношением сторон 4/3. Примем ширину «окна» в 360 пикселей и укажем, что минимальная высота каждой отдельной фотографии должна быть не менее 80 пикселей. Не буду приводить все диаграммы, для понимания общей картины нам достаточно посмотреть на распределение всех получившихся «сеток» по диапазонам соотношений сторон для 2, 5 и 10 фотографий.
Разброс пропорций «сетки» для 2 фотографий
Разброс пропорций «сетки» для 5 фотографий
Разброс пропорций «сетки» для 10 фотографий
Чем больше фотографий, тем больше и пространство для манёвра. Например, если рядов больше двух и последний ряд содержит единственное изображение (то о чём мы говорили выше), мы можем применить принудительное объединение последних рядов.
Разброс пропорций «сетки» для 2 фотографий
Разброс пропорций «сетки» для 5 фотографий
Разброс пропорций «сетки» для 10 фотографий
Как видите, чем больше вариантов нам доступно, тем лучше сетка поддаётся постобработке. Потом можно, например, отсекать слишком высокие «сетки» отдавая предпочтение тем, что шире. Или наоборот, если вы формируете сетки под экраны смартфонов. Таких эвристик можно придумать много.
Если же фотографий значительно больше 10 (или любого другого числа, для которого вам нужно гарантировать результат), то выбор наилучшего соотношения можно просто опустить, равно как и подбор h, указав его равным hmin.
Мы придём к гарантированному результату для любого количества фотографий за время O(n).
P.S.: Если у вас есть свой «рецепт» для сетки предпросмотра, делитесь в комментариях.
10 простых способов круто оформить пост ВКонтакте / Впостер
Вряд ли кто-то станет спорить с тем, что продажи – это целое искусство. Вот иногда зайдешь в магазин просто поглазеть, не планируя тратить деньги, но не успеешь оглянуться, как продавец-консультант успел раскрутить тебя на то, это и еще что-нибудь. Потом стоишь на улице с пакетами, читаешь сообщение о списании средств с карты и не понимаешь, как это произошло. Хотел же просто посмотреть!
С интернет-продажами ситуация немного другая. Там, к сожалению, нет такого крутого и многоопытного продавца, который подберет товар и все к нему сопутствующие, посоветует, поможет. Зато есть другие способы раскрутить покупателя.
Ну а если речь про соцсети, то там главное оружие – это контент. Именно с помощью постов мы презентуем свой продукт и стараемся сделать так, чтобы им заинтересовалась целевая аудитория. Поэтому подготовка контента – важная и ответственная часть SMM-продвижения, к которой нужно относиться очень серьезно. Прежде всего, посты должны быть разнообразными! Как в тематическом, так и в визуальном отношении. За тематическое разнообразие отвечает грамотно составленный контент-план, а вот про визуальную часть на примере ВКонтакте мы расскажем в этой статье.
Не только текст: почему плохо оформленные посты в ВК – это проблема?
Разумеется, текст был и остается ключевой частью поста, в которой сосредоточен основной смысл. В особенности это касается ВКонтакте, где, по сравнению с тем же Инстаграмом, ценность текстовой части публикации гораздо выше, а внимания к ней гораздо больше.
Но каким бы прекрасным ни был ваш текст, без интересной креативной подачи он не получит и половины тех охватов, которые мог бы получить. Особенно если текста много, а картинки нет. Или картинка невразумительная, а текст не помогает прояснить содержание поста. Посмотрите сами, остановитесь ли вы, когда увидите в ленте нечто вот такое:
Такой пост вряд ли вызовет желание заказать решетки на окна у данной компании. Цены работы нет, информации об особенностях заказа тоже, фотографий хоть и несколько (даже есть видео), но весь визуал плохого качества. И в таком формате выполнены все публикации в сообществе. Едва ли такую ленту постов можно назвать продающей… А вот другой пост в той же тематике, для сравнения:
Конечно, не идеально, но по крайней мере нет тех ошибок, что мы отметили выше. Указана модель товара и дана ссылка на сайт, где можно посмотреть детали, есть цена (изготовления и установки), есть контакт для связи, есть бонус (бесплатный замер и доставка).
Отдельный плюс за визуал, где выполненная работа показана с разных ракурсов, бонусом идет фото с котиком (очевидно от заказчика, который остался доволен работой). Посту не хватает аккуратности оформления, но в целом сделано неплохо. Конечно, можно гораздо лучше! И теперь мы готовы рассказать, как именно. 🙂
Делаем продающий контент: 10 способов красиво оформить пост ВКонтакте
На самом деле у ВКонтакте довольно много возможностей апгрейдить пост, сделать его интереснее, заставить лучше цеплять внимание в ленте. О самых полезных инструментах расскажем дальше.
Способ №1: больше картинок
Вообще, к любой публикации ВК можно прикрепить от 1 до 10 вложений. Они могут быть разными: статичные картинки, гифки, видео, опросы, аудио и др. Конечно, самый популярный вариант для промо-постов (то есть постов, которые презентуют товар или услугу) – это фотографии. И хорошо, если фотографий несколько – тогда получается коллаж, который показывает продукт с разных ракурсов:
Также через подборку картинок можно оформлять различные советы, лайфхаки и другой контент, который подходит под формат списка. Такой пост по стилю оформления ближе к инфографике и будет лучше восприниматься в соцсетях. Мы очень любим использовать этот подход в своем сообществе:
Кстати, маленький лайфхак! Фотографии можно разместить не только сеткой, но и каруселью. Это делается в режиме редактирования публикации:
Это удобно, когда нужно прикрепить несколько снимков, но хочется, чтобы каждый из них было хорошо видно. Да и в целом, если чередовать сетку и карусель, лента постов в сообществе будет выглядеть более разнообразно.
Кстати, у ВКонтакте есть встроенный фоторедактор, где с любой загруженной картинкой можно провести все базовые манипуляции: обрезать, настроить контраст, экспозицию, насыщенность цвета, нанести текст, наложить фильтр и даже приделать стикер.
Способ №2: редактор статей
Если вы часто пишете лонгриды ВКонтакте, лучше оформлять их не обычным постом, а статьей, сверстанной в специальном встроенном редакторе. У такого редактора масса возможностей для форматирования текста:
- Система заголовков и подзаголовков
- Курсивное, жирное, подчеркнутое и зачёркнутое написание
- Маркированные и нумерованные списки
- Цитирование
- Создание таблиц и опросов
- Возможность встраивания гиперссылок, в том числе на сторонние сайты
- Возможность встраивания фото-, аудио- и видеоконтента
- Возможность встраивания товарных и услуговых карточек из магазина сообщества
Короче говоря, почти полноценный Word прямо внутри ВКонтакте. И он постоянно дорабатывается! Найти его можно в режиме создания публикации:
Главное преимущество в том, что статью, сделанную через такой редактор, гораздо удобнее читать как с декстопа, так и с мобильных устройств. В ленте она тоже выглядит очень симпатично, есть кликабельная кнопка «Читать», а фото для обложки подбираете вы сами:
Обратите внимание, что все статьи можно озвучить с помощью голосового помощника ВКонтакте, причем совершенно бесплатно! Очень круто и удобно.
Кроме того, все опубликованные статьи сохраняются в отдельном разделе, на который можно оставить ссылку через витрину сообщества или быстрое меню. Еще одно преимущество перед обычными постами, которые рано или поздно всё равно уползут вниз ленты.
Способ №3: эмодзи в помощь
Если пост объемный, но не такой, чтобы делать из него полноценную статью, или вы по каким-то другим причинам не хотите использовать редактор, обязательно поработайте с текстом поста и его структурой. Лучше всего сделать его удобным для чтения можно с помощью эмодзи, удачно подобранных по смыслу. Сравните сами:
Текст один и тот же, структура проработана одинаково, но эмодзи помогают расставить акценты и сделать пост более удобным для чтения.
Чтобы вставить эмодзи в пост, нажмите на соответствующую кнопку в режиме создания публикации:
По опыту отметим, что в таком списке бывает нелегко найти нужный смайлик, поэтому удобнее пользоваться сайтом «Коды смайлов», где они разбиты по тематикам. Находите нужный смайлик, копируете его код, вставляете в текст поста и при публикации код превращается в картинку.
Только помните, если в посте есть эмодзи, вы не сможете продвинуть его с помощью таргетированной рекламы!
Способ №4: опросы
Опросы – это отличный способ не только получить обратную связь от своих подписчиков, но и прокачать активность в сообществе. У ВКонтакте функционал опросов довольно широк. Создаются они в режиме создания поста:
Максимальное количество вариантов ответа – десять, минимальное – три. Опрос может быть анонимным, с возможность выбора нескольких вариантов ответа, с ограниченным временем голосования. Ему можно сделать цветной фон, чтобы он лучше привлекал внимание.
Способ №5: граффити и постеры
Строго говоря, широкая популярность граффити ушла в прошлое, мало кто сейчас пользуется ВКонтакте этим аналогом Paint. Но если есть желание, всегда можно немного порисовать:
А вот постеры сейчас вполне востребованы. С их помощью получается делать очень яркие посты, даже если нет навыков рисования. Например, сообщество парсера TargetHunter с помощью постеров делает посты-чаты:
Редактор у постеров предельно простой, разобраться с ним можно за 5 минут, при этом возможностей у него довольно много. Обязательно используйте!
Способ №6: подкасты
В отличие от всех других инструментов, о которых мы уже успели рассказать, подкасты не доступны всем без исключения сообществам, их нужно подключать отдельно. Это бесплатно, но проверка не всегда проходит благополучно. Подробнее об этом процессе мы рассказывали вот в этой статье.
Как и статьи, все подкасты (если они у сообщества подключены) хранятся в отдельном разделе:
Сначала подкаст загружается именно в этот раздел, а уже потом может быть прикреплен к посту. Но зато после публикации подкаста на стене все подписчики получат уведомление о том, что вышел новый выпуск. Это большой плюс, так как таким образом вы получаете больше внимания и охватов.
Конечно, формат подкастов не подойдет сообществу любой тематики. Но если вы генерируете большой объем контента, то его часть можно подать в звуковом формате – еще один плюс к разнообразности вашей ленты.
Способ №7: аудиозаписи
К посту можно прикреплять как отдельные треки, так и целые плейлисты. Можно подумать, что это актуально только для сообществ музыкальной направленности, но на самом деле аудио вполне могут использовать и коммерческие группы, ведь это замечательный пример развлекательного контента:
Как правило, посты с музыкой набирают неплохую активность, а это всегда плюс для показателя вовлеченности.
Способ №8: видеозаписи
Принцип тот же, что и с аудио, но у видео есть еще своя фишка. Их можно загружать через проигрыватель ВКонтакте, и тогда они будут продвигаться в видеоленте соцсети, а можно добавлять по ссылке с YouTube, и тогда просмотры в ВК будут суммироваться с просмотрами на видеохостинге.
Конечно, с точки зрения продвижения в соцсети разумнее видео загружать напрямую в ВК, но если вы используете ВКонтакте как площадку для раскрутки своего канала, то пользуйтесь вариантом загрузки по ссылке.
Способ №9: товары и услуги
Если в вашем сообществе подключены товары или услуги (в любой из версий – базовой и расширенной), вы можете прикреплять карточки из этого раздела к постам, тем самым повышая продажи в вашем сообществе.
Чтобы не было путаницы с обычными картинками, товарные карточки, прикрепленные к посту, помечаются значком продуктовой корзины. Они являются кликабельными и переводят пользователя непосредственно в окно заказа. Это идеальный вариант для тех компаний, которые продвигаются только в соцсети, там же продают свой продукт и не имеют отдельного сайта.
Способ №10: подпись автора
Ну и на закуску маленькая хитрость для сообществ, которые специализируются на создании большого количества контента разного авторства. Если ваши подписчики ждут посты от конкретного админа, публикации можно снабжать подписями авторства:
Подпись автора указывается в настройках поста. К слову, обратите внимание, что в этом же разделе можно сделать пометку «Это реклама», если вы размещаете публикацию рекламного содержания:
Вместо вывода
Думаем, вы уже сами успели убедиться, что сделать интересную, яркую и разнообразную ленту постов ВКонтакте не так уж сложно, если знать, какой арсенал инструментов для этого предлагает социальная сеть.
Источник
Судебные иски усугубляют конфликт между акционерами из-за «российского Facebook» над бизнесом, который использовался в качестве платформы для оппозиционных групп.
Мужчина смотрит на экран компьютера с логотипами российской социальной сети ВКонтакте в офисе в Москве 24 мая 2013 года. REUTERS/Сергей Карпухин
Известная как российский ответ Facebook, ВКонтакте находится в центре борьбы за право собственности с апреля прошлого года, когда фонд United Capital Partners (UCP) купил 48 процентов акций, став на тот момент крупнейшим акционером.
Конкурент Mail.Ru, который тем временем объединился с основателем и исполнительным директором ВКонтакте Павлом Дуровым, чтобы стать крупнейшим инвестором, оспорил сделку UCP в иске, поданном дочерней компанией.
У Дурова возникли конфликты с властями за то, что они предоставили активистам оппозиции форум для организации протестов против Владимира Путина, в том числе в 2011 году, когда десятки тысяч вышли на улицы, что стало самым большим вызовом российскому лидеру.
Дуров и Mail.Ru заявляют, что имели преимущественное право на долю, которую UCP купила у соучредителей ВКонтакте в прошлом году.
За сделкой последовали месяцы трений между UCP и Дуровым, которые, по-видимому, завершились на прошлой неделе отставкой Дурова, которую он позже отозвал, заявив, что его уход поставил бы под угрозу будущее компании.
«Я неоднократно говорил и сегодня повторю, что продажа 48 процентов акций была незаконной, и UCP не является законным акционером «ВКонтакте», — написал Дуров в понедельник на своей странице в социальной сети vk.com.
VK, вторая по величине социальная сеть в Европе после Facebook, имеет 240 миллионов отдельных учетных записей пользователей и ежедневно привлекает около 60 миллионов пользователей, которые входят в систему, чтобы делиться новостями, мнениями и фотографиями.
Дуров, чей успех в создании «ВКонтакте» сравнивают с основателем Facebook Марком Цукербергом, в январе продал свои 12% акций «ВКонтакте» компании Bullion Development Limited, бенефициарным владельцем которой является соратник Усманова Иван Таврин, генеральный директор оператора мобильной связи «Мегафон».
Позже Таврин продал Bullion компании Mail.Ru, которая теперь владеет 52 процентами акций ВКонтакте.
Константин Белов, аналитик «Уралсиба», сказал, что спор, скорее всего, окажет ограниченное влияние на акции Mail. Ru, но может помешать долгосрочному развитию социальной сети.
«Учитывая, что интернет-рынок и социальные сети в частности очень быстро меняются, может ли ВКонтакте пропустить какие-то изменения на рынке из-за этого бардака?» он сказал.
В понедельник Mail.Ru’s Bullion заявила, что подала иск против двух акционеров VK, поочередно принадлежащих UCP и ее управляющему партнеру Илье Щербовичу, — Blesmir Developments Limited и Palagon Limited.
Bullion утверждает, что продажа этих фирм UCP была нарушением акционерного соглашения VK, включая требование сначала предложить акции VK другим акционерам, и пытается отменить сделку.
Представитель Bullion отказался назвать суд или сообщить, в какой юрисдикции был подан иск.
UCP заявила, что сделка была законной.
«Это не более чем неуклюжая попытка Дурова защитить себя от наших законных претензий к нему», — заявил в электронном письме партнер UCP Юрий Качуро.
Ранее в понедельник UCP заявила, что начала судебный процесс против Дурова и Mail.