Стартап основанный на идеи использование JS в закладках браузера для Twitter и Facebook
Ожидает приглашения
Хочу представить вашему вниманию новый замечательный мини-сервис. В данной статье я затрону не только описание идеи сервиса, но и некоторые технические моменты.
Задача: получить возможность быстро опубликовывать тексты и картинки в Twitter и Facebook из веб-браузера за максимально короткое время и самым простым способом (без установок, скачиваний и перезапусков веб-браузеров и ПК)!
Используемые технологии для решения задачи: Nginx, FastCGI, Django, PHP, MySQL, Memcached, jQuery (это мой первый проект на Django).
При поиске самого удобного варианта было решено, что такого результата можно добиться, задействовав возможность инициализации JavaScript, записанного в закладку веб-браузера. Да-да, почему-то не все об этом слышали, но в закладках веб-браузера может быть не только URL, но и JavaScript-код. Например, JS с инициализацией нового DOM-элемента на чужом сайте, через который можно вставить свой JS файл, который после загрузки обязательно выполнится.
Первое, что было реализовано, это всплывающая плашка для отправки твиттов. Она получилась настолько потрясающей, что я даже снова начал активно использовать свой заброшенный Twitter. Пользователю достаточно просто выделить текст на странице и нажать на закладку в браузере, после чего появится такая вот плашечка с выделенным текстом.

Как видно на скриншоте, я еще умудрился прикрутить собственный сервис коротких ссылок. Это не изобретение велосипеда, просто захотелось в будущем иметь возможность предоставлять авторам коротких ссылок расширенную статистику жизни ссылок в личном кабинете на migla.com.
Тут получилась вот такая магия. Достаточно нажать на закладку в браузере, после чего выделить желаемый фрагмент текста, а потом кликнуть правой кнопкой мышки по картинке, — и сразу всплывет такая вот плашка.

Тут у вас, наверно, возникнет вопрос, а как в Twitter мы публикуем картинки. К сожалению, пока что Twitter не предоставил нам возможности делать это с их помощью. Поэтому пришлось реализовать собственный сервис закачки картинок и генерирование для картинок коротких ссылок, которые автоматически прикрепляются к Twitter и по которым тоже собирается статистика для автора поста.
Во время разработки нам больше понравилось работать с API Facebook, чем c API Twitter. Наверно, из-за того что там предусмотрена работа с закачкой картинок на стену пользователя.
С точки зрения технологии Highload я постарался разделить наиболее часто используемый функционал по разным FastCGI-серверам (закачка и обработка картинок, переход по коротким ссылкам, отправка сообщений в сервисы) — чтобы в случае экстренной необходимости их можно было быстро вынести на другие облачные сервера. В качестве хостера использую облако Оверсан-Скалакси. Кстати, по умолчанию у них можно купить сразу только четыре внешних IP-адреса. Но в случае, если нужно еще больше, их техподдержка очень быстро отвечает и увеличивает квоту.
Что у нас в планах:
P. S. Во время работы над проектом возникла мысль, как бы мог измениться наш мир, если бы у всех браузеров появился единый API разработки приложений и они распространялись, устанавливались и запускались как приложения в AppStore или Аndroid Market. Ну и соответственно, если бы сами приложения были не шуточные! Например, полноценный редактор текста на основе Google Docs (а то у меня при редактировании больших документов всё подвисает, ибо тяжело обходить в браузере большие DOM-узлы).
Сам проект находится по адресу miqla.com.
Задача: получить возможность быстро опубликовывать тексты и картинки в Twitter и Facebook из веб-браузера за максимально короткое время и самым простым способом (без установок, скачиваний и перезапусков веб-браузеров и ПК)!
Используемые технологии для решения задачи: Nginx, FastCGI, Django, PHP, MySQL, Memcached, jQuery (это мой первый проект на Django).
При поиске самого удобного варианта было решено, что такого результата можно добиться, задействовав возможность инициализации JavaScript, записанного в закладку веб-браузера. Да-да, почему-то не все об этом слышали, но в закладках веб-браузера может быть не только URL, но и JavaScript-код. Например, JS с инициализацией нового DOM-элемента на чужом сайте, через который можно вставить свой JS файл, который после загрузки обязательно выполнится.
Быстрая публикация текста
Первое, что было реализовано, это всплывающая плашка для отправки твиттов. Она получилась настолько потрясающей, что я даже снова начал активно использовать свой заброшенный Twitter. Пользователю достаточно просто выделить текст на странице и нажать на закладку в браузере, после чего появится такая вот плашечка с выделенным текстом.

Как видно на скриншоте, я еще умудрился прикрутить собственный сервис коротких ссылок. Это не изобретение велосипеда, просто захотелось в будущем иметь возможность предоставлять авторам коротких ссылок расширенную статистику жизни ссылок в личном кабинете на migla.com.
Быстрая публикация картинок с сайтов
Тут получилась вот такая магия. Достаточно нажать на закладку в браузере, после чего выделить желаемый фрагмент текста, а потом кликнуть правой кнопкой мышки по картинке, — и сразу всплывет такая вот плашка.

Тут у вас, наверно, возникнет вопрос, а как в Twitter мы публикуем картинки. К сожалению, пока что Twitter не предоставил нам возможности делать это с их помощью. Поэтому пришлось реализовать собственный сервис закачки картинок и генерирование для картинок коротких ссылок, которые автоматически прикрепляются к Twitter и по которым тоже собирается статистика для автора поста.
Во время разработки нам больше понравилось работать с API Facebook, чем c API Twitter. Наверно, из-за того что там предусмотрена работа с закачкой картинок на стену пользователя.
С точки зрения технологии Highload я постарался разделить наиболее часто используемый функционал по разным FastCGI-серверам (закачка и обработка картинок, переход по коротким ссылкам, отправка сообщений в сервисы) — чтобы в случае экстренной необходимости их можно было быстро вынести на другие облачные сервера. В качестве хостера использую облако Оверсан-Скалакси. Кстати, по умолчанию у них можно купить сразу только четыре внешних IP-адреса. Но в случае, если нужно еще больше, их техподдержка очень быстро отвечает и увеличивает квоту.
Что у нас в планах:
- Реализовать удобный раздел вывода статистики по коротким ссылкам.
- Добавить “Вконтакте”.
- Добавить Evernote.
- Объединить текстовые плашки и плашки с поддержкой картинок в одну общую.
- Авторизация через Twitter, Facebook, “Вконтакте”.
- Для Америки и Европы открытие WWW-серверов у западных хостеров — чтобы быстрее приходил ответ от сервера. Всё же в этом плане, мне кажется, они более капризны.
P. S. Во время работы над проектом возникла мысль, как бы мог измениться наш мир, если бы у всех браузеров появился единый API разработки приложений и они распространялись, устанавливались и запускались как приложения в AppStore или Аndroid Market. Ну и соответственно, если бы сами приложения были не шуточные! Например, полноценный редактор текста на основе Google Docs (а то у меня при редактировании больших документов всё подвисает, ибо тяжело обходить в браузере большие DOM-узлы).
Сам проект находится по адресу miqla.com.