Pull to refresh

ShortenClipboard — сокращай ссылки на лету

image

Однажды вечером я в очередной раз наткнулся на очень длинную ссылку, которою необходимо было скинуть в чат с ограниченным количеством символов в сообщении. Пришлось идти на сайт какого-то сервиса и сокращать мою ссылочку.
И тут я подумал — а почему нельзя конвертировать ссылки прямо в буфере, автоматически? Так родилась идея для маленькой утилитки.

Сразу встал вопрос выбора сервиса. Основные требования: без ограничений по кол-ву запросов (при моем использовании за час может выходить до 100-150 ссылок), с удобным API (желательно без регистрации) и с хорошими пингами. Сначала был выбран Bit.ly, так как пинги до него сначала были очень даже привлекательными, а инструменты для анализа — мощными (интересно же посмотреть, чем ты интересовался в течении дня). Собственно, разработка и велась опираясь на него.

О платформе и среде разработки я особо не думал — сижу чаще всего под Windows, люблю больше всего Delphi (да да, тот самый вымерший и не актуальный язык, можно не напоминать). За один вечер был найден модуль для Bit.ly и написана первая версия утилиты. Не скрою, друзья (были избраны как потенциальные тестеры) активно рапортовали о багах, которые я оперативно фиксил. Сразу сформировалось мнение потенциальных юзеров.

Первая версия умела сокращать первую ссылку в буфере и… в общем то, все.
Вторая научилась висеть в трее, переключатся по дабл-клику, выбирать домен (Bit.ly предоставляет два: bit.ly и j.mp).
Дальше начались проблемы. Всем хотелось сокращать все ссылки в буфере. Не проблема — за еще один вечер был переписан алгоритм детектирования и сокращения ссылок. Сразу появилась пара ошибок, как дальше оказалось — из-за собственной невнимательности. Спасибо наставнику, который навел меня на их решения.

В итоге, утилита в третьей версии умела сокращать все ссылки в буфере и писАться в автозагрузку, но при нескольких ссылках время сокращения доходило до 5-10 секунд, что не является приемлемым для программы такого назначения. В связи с этим, я быстро настрочил модуль для русского сервиса 3le.ru. Он был выбран как основной по нескольким причинам: пинги еще ниже, отсутствие регистрации и каких-либо ограничений. Время сокращения нескольких ссылок сразу упало до 1-3 секунд, что является допустимым (по крайней мере, для меня). В целом, получилась возможность выбирать один из трех доменов.

Скачать результат моих трудов можно тут, тут и тут,
а забрать исходники (с необходимыми модулями) — здесь, здесь и там.

P.S. Никакого отношения к этим двум сервисам не имею, они используются лишь как инструмент.
P.P.S. Спасибо за внимание.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.