Мне представилась возможность взять интервью у Шрея и узнать больше о том, как Quora пришла к решению использовать SMS с помощью Twilio. Вот что он рассказал:
**Как вы решили добавить SMS в Quora?**
Мы давно думали о добавлении SMS. Однажды вечером мы ужинали с представителями другого стартапа, и они упомянули, что используют Twilio для SMS, и что это довольно просто настроить и использовать. Примерно через месяц один из наших инженеров решил, что было бы интересно добавить SMS для Quora. Он начал около 11 вечера, и к рассвету полная интеграция была запущена и работала.
**Расскажите о реализации – сколько времени это заняло? Какими были самые большие трудности и самые интересные детали процесса?**
Большая часть реализации была выполнена за одну ночь, что говорит о простоте API Twilio и кодовой базы Quora. Интересные трудности при настройке были скорее связаны с продуктовыми решениями, чем с инженерией. Продукт Quora имеет множество различных аспектов, поэтому было интересно определить, какие из них релевантно включать через SMS. После той ночи команда еще какое-то время просто экспериментировала с этим и настраивала взаимодействие, пока мы не почувствовали, что готовы выпустить это для обычных пользователей Quora.
**Какой технологический стек вы используете в Quora, и как это вписалось?**
Quora использует веб-фреймворк, который мы разрабатываем внутри компании под названием webnode. Он написан на Python и построен поверх частей других открытых Python веб-фреймворков. Для отправки и получения запросов к Twilio мы используем простой, автономный веб-сервер, созданный с помощью Tornado, который использует общий код с нашего обычного веб-уровня. Это позволяет SMS-контроллерам выполнять любые действия, которые мы обычно можем выполнять через веб-сайт, без дублирования какой-либо логики. Таким образом, поиск вопросов, добавление нового вопроса и т. д. через SMS работает так же, как и при взаимодействии пользователей с веб-сайтом.
**Какой совет вы можете дать другим разработчикам, которые начинают интеграцию SMS с Twilio в свои продукты?**
Лучший совет, который я могу дать, — это начать с чего-то простого, а затем итерировать. В нашем случае мы начали с простого: смогли отправлять/получать запросы от Twilio (используя примеры из документации). После этого мы построили способ хранения состояния сессии, специфичного для Quora, поверх этого, затем логику обмена сообщениями и так далее. Это позволило нам быстро получить рабочий продукт, а затем мы могли легко дорабатывать его дизайн.