Погода 2.0
Сколько бы сил мы ни вкладывали в визуальную часть погоды, если на улице с неба капает вода, а в нашем приложении светит яркое солнце — это будет делать фичу бессмысленной и скорее раздражать пользователей, чем им помогать. Поэтому первым делом поработали с тем, чтобы погода в приложении и за окном совпадали как можно чаще.
Поскольку мы не обрабатываем сырые метеорологические данные, а используем погодную информацию от Метеоновостей, у нас есть только два инструмента влияния на точность отображения погоды: изменение алгоритмов запроса и кэширования данных.
Как вы можете предположить, не вся планета равномерно покрыта метеостанциями, для некоторых точек нам доступна фактическая погода, а для некоторых только прогнозная, взятая из ближайшего населённого пункта. А ещё у нас есть механизм кеширования погоды, чтобы не засыпать провайдера данных сотнями тысяч запросов каждый час.
Это карта запросов к погоде из приложения, где пользователи получают фактическое значение погоды. В местах, где точек много, мы чаще даём информацию. В темных областях запросов мало, но данные о погоде тоже есть. Мы проверяли
В первой версии погоды время кэширования было одинаковым и для фактических значений, и для прогнозных. Из-за этого мы слишком редко обновляли реальные данные и слишком часто — прогноз, хотя значения в нём не менялись. Потом мы разделили тайминг обновлений — факт освежаем раз в час, а прогноз раз в 8 часов. Стало гораздо лучше.