Несколькими постами ниже я ругал Инстаграм за приторность и за навязывание модной попсовой функции. Но помимо реалистичности контента есть и другой аспект — средний возраст авторов.
Я несколько раз листал Клипы ВК и вот теперь специально полистал для сравнения Instagram Reels. И вот что скажу: в Клипах по содержанию очень подростковый контент. Почти нет авторской мысли, чего-то красивого и оригинального. 10% туповатых пранков, 20% всяких кувырков на улице и 70% — школьницы, торгующие телом (Клипы просто переполнены этим). Это прям вот типичнейшая подборка для подростков на пике гормонального буйства — почти всё связано с сексом, немножко с ощущением себя крутым (кувырки на улицах — к слову сказать здесь авторы хотя бы что-то необычное умеют делать) и щепотка весьма глупых шуток, как правило связанных с унижением другого человека.
В Reels ситуация совсем другая. Там приторный Инстаграм традиционно правит балом, но при всей цветастой вылизанности контент хотя бы взрослый: красивая природа, путешествия, горы. Довольно много экспериментов фотографов. Нередко экстремальный спорт. Стоит ли говорить, что музыкальный вкус авторов в подборе саундтрека тоже на порядок лучше, чем ВК?
Конечно, можно подумать, что скорее всего система рекомендаций ВК работает плохо, а система рекомендаций Инстаграма хорошо. По другим рекомендациям это тоже видно: в тематических лентах ВК в основном ерунда, а дополнительная лента Инсты сносная (с поправкой на общую приторную специфику соцсети). Но это всё взаимосвязано: из-за рекомендаций взрослые люди видят много детского трэша и сами реже хотят что-то создавать на площадке.
#web
🚀 Вышел стабильный JavaScript движок от Google для Android
Новая стабильная библиотека Jetpack JavaScript Engine позволит разработчикам выполнять JS код в изолированной и ограниченной среде.
class MainActivity : ComponentActivity() {
// Теперь nullable, без lateinit
private var jsSandbox: JavaScriptSandbox? = null
private var jsIsolate: JavaScriptIsolate? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
if (!JavaScriptSandbox.isSupported()) {
Log.e("JS", "JavaScriptSandbox не поддерживается")
return
}
lifecycleScope.launch {
// Создаём и сохраняем в nullable-поле
jsSandbox = JavaScriptSandbox
.createConnectedInstanceAsync(applicationContext)
.await()
jsIsolate = jsSandbox?.createIsolate()
// При выполнении гарантируем, что jsIsolate != null
val result: String = jsIsolate
?.evaluateJavaScriptAsync(JS_SCRIPT_SCRING)
?.await()
?: "Ошибка: isolate не инициализирован"
Log.d("JS", "Результат выполнения: $result")
}
}
override fun onDestroy() {
super.onDestroy()
// Закрываем только если не null
jsIsolate?.close()
jsSandbox?.close()
}
}
#jetpack#js