Привет, Хабр!
В последнее время Яндекс изо всех сил пытается испортить свои мобильные приложения, превращая их в «суперапп», будь это слово неладно. И одно из двух приложений компании, для которых такое направление развития наиболее заметно — это такси.
Не так давно его переименовали в «Яндекс Go», допихнув заодно внутрь Еду, Лавку, общественный транспорт, кучу рекламы. И здесь-то я вероломно, без объявления войны наткнулся на проблему, которая в конечном счёте послужила идеей для написания сией микростатьи.
У меня на iPhone довольно много разных приложений, и я привык запускать те, что не размещены на первой же странице, через системный поиск Spotlight — тот, что на домашнем экране iOS. Беда в том, что с упомянутым переименованием Яндексовского приложения из его названия исчезло собственно главное ключевое слово — «такси». Найти «Яндекс Go» по нему теперь стало невозможно. Затрудняюсь предположить, насколько от этого могли пострадать статистика запусков или доходы приложения, но как минимум UX точно оказался в проигрыше, причём довольно глупом. К слову, точно так же вы не сможете найти такси «Maxim» по ключевому слову «максим», а Delivery Club не ищется по запросу «еда».
В то же время быстрый анализ проблемы показывает, что приложение «VK» нормально обнаруживается по запросу «вконтакте», iOS предлагает запустить «Инвестиции» при вводе «тинькофф», а Okko весьма уместно всплывает для ключевых слов «кино», «око» и даже «иви». Как же этого удалось добиться? На самом деле, очень просто...
Ключевые слова для Spotlight легко добавляются, если вы уже поддерживаете Handoff, то есть бесшовное переключение юзера между разными своими Apple-устройствами, или Siri Shortcuts. Достаточно лишь проставить свойство keywords
для объекта NSUserActivity
, с которым вы и так работаете.
let activity = NSUserActivity(activityType: typeID)
activity.keywords = ["слово", "или даже ключевая фраза"]
Если же с Handoff и Siri вам по каким-то причинам не по пути либо хочется поддержать Spotlight на более серьёзном уровне, используйте CoreSpotlight
.
import CoreSpotlight
let attributes = CSSearchableItemAttributeSet(contentType: .application)
attributes.title = "Заказать пиццу"
attributes.contentDescription = "Доставим в течение получаса"
attributes.thumbnailData = image.pngData()
attributes.keywords = ["еда", "закуски", "кушать"]
let searchableItem = CSSearchableItem(uniqueIdentifier: "pizza", domainIdentifier: "readyMeal", attributeSet: attributes)
CSSearchableIndex.default().indexSearchableItems([searchableItem]) { _ -> Void in }
Если всё сделали правильно, при вводе одного из переданных нами операционной системе ключевых слов получим примерно следующий результат...
Учитывайте, что чем больше ключевых слов вы скормите iOS, тем ниже она будет ранжировать ваше приложение, поэтому подбирать теги нужно аккуратно и с умом, стараясь обойтись минимально достаточным их набором.
Разумеется, хороший разработчик не просто скопирует приведённый выше код, а правильно обработает ошибки, заполнит дополнительные атрибуты и прокинет воспользовавшегося поиском юзера не просто в приложение, а непосредственно на экран заказа пиццы. Однако поскольку в Яндексе, видимо, не слышали даже о самом факте существования Spotlight, мы на сегодня пока закруглимся.
Спасибо за внимание!
Ubulto
Неужели «такси» проще написать, чем «go»?
Quillaur
Да. Сервис много лет существовал под названием такси. Да и если я хочу заказать такси, логичнее написать именно «такси», разве нет?
Ubulto
Большинство с вами согласно, но не я. Безусловно, нужно, чтобы по тегу «такси» выдавало приложение, но я все равно писал бы «go», т.к знаю, что ищу, это быстрее.
debug45 Автор
Как правило, вообще пишешь тупо на той раскладке, что первой открылась. Поэтому приложениям в поиске хорошо бы поддерживать транслитерацию.
sourbarberry
Например, Авито. Которое внезапно не ищется по слову «avito», привычному, если вводишь адрес строку браузера.
Akuma
Конкретно в Apple Store поиск вообще через жопу сделан. До гуглоплея им далеко, увы. Одну букву не так набрал и ничего не найдет.
debug45 Автор
Ну мы же не про App Store, а про Spotlight
Akuma
А, блин :)
playnet
А если стоит несколько приложений? Проще вводить одно слово и выбирать что хочется уже из пару-другой вариантов, чем помнить buzzword. А ещё у многих «не нашлось по такси? Ну видимо признали нерентабельным и закрыли, как обычно».
sourbarberry
На самом деле, когда у тебя установлено несколько сервисов для вызова такси, писать в поиске просто «такси» уже не так очевидно.
Собственно, я очень долго привыкал к тому, чтобы писать в поиске «такс..» вместо «ян..», когда ищу непосредственно Яндекс Такси (которое, почему-то называлось просто «Такси»), и вот Яндекс опять все сломал).
Впрочем, паттерн использования системного поиска ломают все суперприложения.
Ведь это довольно странно писать в поиске «такси», когда хочешь заказать пиццу или продукты домой.
debug45 Автор
Кстати, именно супераппам по идее как раз-таки наиболее важно интегрироваться в поиск, чтобы юзер мог прямо с главного экрана системы попасть в нужный ему раздел суперприложения
sovux
Ну просто людям гораздо легче думать про такси и писать в поисковую строку "такси" не забивая голову названиями приложений
tvr
Муж спрашивает у жены, где сахар.
Жена:
— Балда, сахар лежит в банке из-под кофе, на которой написано соль, которая стоит в шкафчике в ванной. Но он закончился.
GrantM
Кто-то что-то делает не так.
gecube
У меня так
iSlava
Sir, this is a Wendy’s
Возможно стоит написать напрямую в поддержку Яндекса где это хоть как-то поможет вашей проблеме? Какой смысл иметь на хабре пустой пост про нелюбовь к супераппам с недоработкой которую по содержанию можно уложить в один твит
debug45 Автор
Писал, давно. И в App Store периодически встречаются негативные отзывы на эту тему, причём на каждый Яндекс отвечает.
inqus
Писал в отзыве, Яндекс ответили, но сложилось устойчивое впечатление, что на отзыв бот ответил. Прошло ~1.5 месяца, ничего не изменилось.
maximw
Яндексовские маркетолухи наступают на те же грабли, что и разработчики Nero Burning Rom.
Antares19
А что было с Nero?
maximw
Некогда отличный «прожигатель болванок» чуть было не обзавелся своей ОС.
Zolg
Думаю, Nero загнулся не поэтому, а из-за появления бесплатных альтернатив а-ля ImgBurn. Они же скорее всего и стали причиной разработки 'собственной ОС'.
Metotron0
Под виндой до последнего использовал smallcdwriter, он не требовал установки и занимал всего килобайт 350 что ли.
А вот в Nero нравилась функция tatoo@disk или как там она звалась, чтобы на рабочей стороне надписи/картинки выводить. Под линуксом я так и не нашёл, чем это делать. Да и Nero нужен был конкретной версии с конкретным серийником.
Harwest
Она звалась лайтскраб
Zolg
это разные технологии: LightScribe — для рисования на оборотной (где обычно печатается картинка) стороне специальных болванок. DiscT@2 — на рабочей.
Busla
Нет, DiscT@2 это изобретение Yamaha, технология позволяла писать на стороне данных на любых записываемых CD, развитие идеи для DVD называлось уже LabelFlash, и на специальных дисках можно было писать в том числе с обратной стороны.
LightScribe — это технология HP для надписывания дисков только с обратной стороны. Диски нужны были специальные.
Metotron0
Под линуксом эти штуки в чём-нибудь поддерживаются, не в курсе?
Я так посмотрел, это ещё и сам привод должен уметь делать.
Впрочем, 10 болванок за 24 доллара — это совсем перебор.
Busla
Я только на виндовс экспериментировал с родным софтом LabelFlash и это было ужасно.
Akuma
О, кто-то знает про smallcdwriter :)
n0isy
Не-а. Именно потому, что Nero начала требовать «железа», перешли на ImgBurn (по-крайней мере мой и друзей кейс).
Zolg
Дайте угадаю: покупали вы неро в разделе 'варез' на руборде ?
n0isy
Пожалуй, на CD-диске ещё на барахолках. Откуда у нас в глубинке было СТОЛЬКО интернета, сколько требовал Nero.
Zolg
Как вы понимаете, вектор развития ПО определялся запросами других покупателей. А они бы не стали покупать (платить деньги) за софтину с функционалом полностью аналогичным бесплатному софту.
tvr
В отделе жы.
bkstan
Блин. Он теперь без доступа в интернет дпжп болванку записать не в состоянии. Представляете?!!!
grvelvet
Идут по пути WeChat'a
akaAzazello
Если вы вдруг поедете на авто в юго-западном направлении, где попаде на/в Украину — где Okko — сеть заправочных станций (где стабильно хороший бензин и закусочные).
Как-то будет разрешена такая коллизия имён, ведь находясь в отеле — вы можете захотеть и посмотреть фильм, и/или заправиться?
fougasse
Геолокация?
dzhidzhoev
Spotlight может просто показать несколько результатов поиска.
ferosod
При правильном указании ключевых слов разработчиками приложений, Okko, который кинотеатр, будет показываться при вводе запроса «кино», а украинское приложение Okko для заправок — при вводе запроса «заправка», и они оба — при вводе «Okko» или «окко». Как-то так мне это видится.
debug45 Автор
Spotlight покажет сразу несколько результатов, а вот сортировать их будет Siri (iOS) при помощи одной ей известных алгоритмов. Полагаю, там как раз-таки будут учитываться ваше местоположение, время суток, частота пользования тем или иным приложением и прочее тому подобное.
Dee3
Так вот как оно работает.
Огромное количество русскоязычных приложений грешит тем что не ищутся при написании в английской раскладке. Как будто у разработчиков нет пяти минут подумать «А как пользователь нас захочет найти?» Вписать 2-3 слова. Сеошника, блин, на вас нет…
Банально — avito — нет такого приложения
Tinkoff, Sber, Kinopoisk, и тд.
Усугубляет то, что некоторые бренды наоборот — имеют латиницу в названии и не ищутся по-русски
BelkaCar
Ozon
Auto.ru (этих вообще может быть 2 варианта написания, и авторы не догадываются об этом)
У Яндекса кстати ищется и «Я» и «Ya»
Гугл тоже молодец. Находит по «Диск» и по «Drive».
С точки зрения юзабилити и уважения к пользователю, все таки некрасиво вынуждать человека каждый раз вспоминать «а как оно там называется и на какую букву начинается».
Тем более, названия могут меняться как душе угодно. Тот же Яндекс.Маркет теперь называется Яндекс.Цены. Я такого продукта вообще не знаю и играть в эти игры маркетологов, если честно, не особо хочу.
Pavel1114
Та же ситуация и на android. Количество установленных приложений с каждым годом растёт и хочется простой интерфейс для поиска. Но почему то разработчики приложений не могут вписать пару ключевых фраз в манифест(или как там это делается). Никогда заранее не угадаешь в какой раскладке нужно набирать. Яндекс диск можно найти и по «яндекс» и по «yandex». А яндекс музыка вообще как будто не yandex. Хотя к яндексовым продуктам в этом отношении наименьшее количество претензий — видно они хотя бы думают об этой проблеме.
IsUnavailable
Не в тему поиска, но в темы супераппов в целом и Яндекс такси в частности.
Одна из главных проблем супераппов (на мой взгляд) это то, что с увеличением количества фич ухудшается производительность и увеличивается вес приложения (ваш кэп).
ЯТакси никогда не был суперлёгким, отзывчивым и быстрым приложением, но он был крепким хорошистом. На слабых телефонах (например redmi 5a) он худо бедно но работал. С приходом в такси еды — слабые телефоны идут лесом. Приложение стало ещё дальше открываться и сильно тормозить. И у человека, который хочет получить от сервиса заказа такси только заказ такси возникает вопрос: а мне оно зачем? Если мне нужен будет сервис для еды — установлю приложение доставки.
Но, конечно, понятно, что на пользователя всем положить. Купит телефон помощнее.
Крик души, не более.
anonymous
Не совсем. Основная масса пользователей обновляет телефон минимум раз в два года. Вот на маргиналов — да, всем положить
VolCh
Откуда дровишки? Опрос в офисе ИТ-компании, причём не заходя в бухгалтерию, кадры, уборщицам и т. п?
sourbarberry
«Класть» на значительную часть своей аудитории — не самое умное решение.
tubecleaner
Почему не поддерживать параллельно с супераппами и «легкие» версии приложений? Подозреваю, с современными методами разработки для больших компаний это не было бы проблемой. Да, маргиналов типа меня, мало, но я уже снес у себя и Сбербанк и Я.Такси.
VolCh
Это было бы проблемой для продактов, как им объяснять руководству что у супеаппа меньше пользователей такси, чем у аппа такси)
tubecleaner
У «продактов» целью должны быть общие цифры пользователей и доход, с них получаемый. По-моему, расширение пользовательской базы за счет выпуска нескольких версий приложения для разных аудиторий ( что является общепринятой практикой в других областях ) было бы разумным решением.
VolCh
Это с точки зрения топ-менеджеров, а не менеджеров конкретных продуктов. Для них соседний продукт оттягивает их пользователей, их доход. Да и сам факт появления супераппа без чёткого донесения до заинтересованных лиц планов параллеьного развития может привести и к оттоку суммарного количества и качества пользователей, и даже к демотивации команды "unix-way" сервиса.
wyfinger
А старые APK уже не работают?
debug45 Автор
Там нет новых фич. Да и даже если работают пока, то это ненадолго. Ну и на iOS нет никаких APK.
Dsp911
Прекрасно. На самсо ведройде хотел заказать такси, привычно написал такси, не нашел, пока мудохался и искал приложение, жена вызвала убер)) — 866р. Мимо кассы яндекса. Преимущества становятся все менее очевидными, кстати, пользуясь случаем, нашел, запустил таки, цена +- 20р. Раньше было интереснее. Ох уж этот ребренденг. Начали монетизацию. Ну и ожидаемо.
bolk
«Убер» в России и «Яндекс.Такси» объединились три года назад, так что это не мимо кассы «Яндекса», не переживайте. А что такое «самсо ведройд»? Догадываюсь, что очередное детсадовское обзывательство андроида, но что такое «самсо»?
debug45 Автор
Samsung, вероятно
isden
Но тем не менее, приложенька убера намного легче и приятнее.
whykeks
у меня на айфоне стоит англ. язык и яндекс еду таким образом тоже нельзя найти. При вводе eda или еда не дает результатов. :(
kirnel
Супераппы мне очень нравятся. Нравится путь по которому развивается ВКонтакте, Яндекс go. Благодаря ним я уже удалил отдельные приложения ситимобил (есть такси вконтакте, тот же сити), деливери клаб (еда вконтакте), алиэкспресс, яндекс еду (так как она есть в яндекс go). Когда все собрано в одном месте, а не по куче отдельных приложений разбросано — это, на мой взгляд и вкус, очень удобно.
Zolg
Дальнейшим развитием этой идеи будет прошивка, содержащая в себе только один суперапп, с возможностью расширения функционала установкой дополнительных модулей этого супераппа.
VolCh
Нет, с возможностью обновить прошивку. А лучше купить новый девайс.
Stinkynnov
Ось с приложениями, да?
Stinkynnov
Я так и не понял чем вариант «запустить вк и в нем запустить приложение» лучше старенького «запустить приложение».
Neikist
Ну как же, минимум на целый клик больше, дополнительная разминка пальцев.
debug45 Автор
Ну первоначальная идея, видимо, в том, что ты скорее всего и так уже внутри ВК находишься
zv347
Правильно говорить «есть» (к картинке в посте).
Мне вообще не нравится идея на каждый чих иметь «приложение». Половину моих «приложений» можно заменить ярлыком на веб-страницу без какого-либо ущерба функциональности.Zolg
а зачем вам тогда эти приложения ?
zv347
Вот зачем.
Zolg
я возможно отстал от жизни, но по-моему сделать браузерный проигрыватель музыки (играющий в том числе при выключенном экране телефона) затруднительно, нет ?
zv347
С чего это? Я даже засомневался и проверил, включил музыку в браузере, свернул браузер, выключил экран — всё играет, уже третью песню.
VolCh
Вроде нет. Часто, блин, не можешь найти какая вкладка играет и как её вырубить.
tubecleaner
Для этого придуманы «Progressive Web Apps». Правда, за все время пользования смартфоном, я встретил только одно такое — прогноз погоды от самого Google ( которым и пользуюсь ).
VolCh
Хабр же ) Правда функциональность не вся. (
tubecleaner
Вот спасибо, будет второе…
VolCh
Функциональности может и не потеряется, а вот юзабилити часто теряется.
zv347
Да просто мобильные версии сайтов пишут не особо старательно, ведь есть приложение. Если же имеется в виду, что сайтам не хватает доступа к каким-то системным функциям — это да. Ну так я и не говорю, что вообще все приложения можно заменить сайтами.
VolCh
Может быть четыре версии:
И все разные по юзабилити...
sourbarberry
Приложения для каждого чиха, разумеется не нужны.
Но вот специально усложнять себе сценарий использования наиболее востребованных вами сервисов?
Неужели открыть приложения для заказа еды и выбрать в нем заказ менее удобно, чем открыть социальную сеть, перейти на закладку с приложениями, выбрать там приложение с едой, открыть его, подождать загрузки и в этом урезанном формате осуществлять поиск нужной позиции?
zv347
Или вы не поняли, или я чего-то не понимаю.
Какую «социальную сеть»?..
С ярлыка на рабочем столе открывается сайт. Делается чего надо. Назад, вкладка закрывается. Всё.
Сайт и есть приложение. Если его, конечно, таким сделать. Часто это вполне возможно. Но все делают отдельные специальные программы. Множат сущности сверх необходимого. Все так привыкли.
Ждать загрузки бывает нужно и в нативных приложениях. И у сайтов есть кэш.
gecube
Только специализированное приложение представляет больше функционала и большую автономность, чем сайт-приложение.
Например, те же карты — для меня критична возможность их работы в оффлайн.
VolCh
У нативных приложений часто лучше интеграция с остальной системой, в том числе доступ к железу типа биометрии. И нативный интерфейс у них чаще
gecube
Ну, и чисто теоретически — они могут выполняться на конкретной платформе более эффективно, чем НЕЧТО В БРАУЗЕРЕ
TheNosorog
Жутко неудобно, что и такси и доставку объединили в одно приложение. И к тому же еще не доработали его. Ввели функцию по отслеживанию общественного транспорта, а показывает неправильно.
gecube
Гори Яндекс в аду со своим супераппом. Мне нужно такси, а не мультяшный мультитул, в котором я могу сделать все.
Я уж не говорю о том, что я офигеваю с тарифов. Тот же gett зачастую бывает дешевле Я.Такси, хотя по сути это одно и то же :-/
moscas
Причем я уже пользуюсь лавкой, не надо мне ее пихать в неудобном месте!
Medissson93
Не понимаю, что там за проблема такая с рекламой, у меня ее почти нет.
И что плохого, что в приложение включили доставку и лавку? Разве не она выручала всех, пока по домам сидели?
gecube
Еду и Лавку могли бы оставить отдельными приложениями. Хочешь — устанавливаешь и пользуешься. Не хочешь — не устанавливаешь. Рассмотрите ситуацию, что, например, еду я заказываю в приложении ресторана (Тануки, например) или в альтернативном агрегаторе (DeliveryClub)
Japet
Ущербная логика маркетолухов.
«Если мы будем везде и всюду подсовывать пользователю свой не нужный ему продукт, рано или поздно он его всё равно купит».
k_e_k_c
В iOS и правда большие проблемы с индексацией в Spotlight. Но то, что ты предлагаешь, у ребят из Яндекс Go и так сделано. Проблема лишь в том, что подобные результаты поиска ранжируются сильно ниже, чем блок с приложениями. А в iOS 14 они улетают под кнопку «Другие результаты».
В качестве небольшой рекламы видео с AppsConf на эту тему. Там я рассказываю о различных способах попасть в заветный блок с приложениями, который первый в выдаче. Может будет интересно :)
Lihachik
я уже проще в ручную найду через этот поиск…