Сайт Романа ПарпалакаБлогКлючевые словаинтерфейсы

интерфейсы

* Последовательная загрузка торрентов

26 февраля 2015 года, 23:30

Самая важная функция торрентов, помимо собственно файлообмена, — это последовательное скачивание файлов.

В процессе обмена торрент-клиент сам выбирает фрагменты файлов для приема и передачи, обычно исходя из информации об их доступности. На практике это приводит к загрузке фрагментов в случайном порядке.

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

Пионер технологии uTorrent

Впервые подобная функция под названием streaming появилась в uTorrent версии 3.0. Он скачивал подряд несколько первых фрагментов и умел отдавать их через встроенный сервер потокового видео. Просматривать это потоковое видео можно было через плеер VLC. По мере просмотра зона последовательной предзагрузки продвигалась вперед, чтобы обеспечить систему достаточным для воспроизведения набором данных.

Интуиция подсказывает, что сложная схема с участием торрентокачалки, встроенного в нее сервера потокового видео и плеера VLC может заработать не так, как ожидается. И практика эти опасения подтверждает.

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

Увеличение области предзагрузки означало и увеличение времени ожидания перед началом просмотра.

Во-вторых, в этой схеме не работает перемотка видео. Вы что-то не расслышали? Вернуться на 10 секунд назад не сможете. И было бы не так страшно, если бы перемотку в принципе отключили. Но при попытке перемотать видео оно сбрасывалось к началу, что особенно печально, если вы уже посмотрели половину фильма. После сброса спасало проигрывание просмотренного фрагмента на большой скорости. Либо ожидание полного скачивания.

Потом я сообразил, что можно запустить два плеера одновременно: VLC на большой скорости без звука, чтобы обеспечить последовательную загрузку данных, и обычный плеер с незавершенным файлом. И, наконец, я выставил в параметрах мю-торрента размер области предзагрузки заведомо больше размера файла (параметр streaming.min_buffer_piece), чтобы она никогда не заполнялась.

Итоговая схема:

  • запускаешь торрент на скачивание;
  • нажимаешь на кнопку «Поток»;
  • открываешь файл в обычном плеере.

На втором шаге, благодаря завышенному размеру области предзагрузки, VLC никогда не запускался, а файл загружался последовательно. На самом деле схема чуть сложнее, потому что из-за какого-то бага на кнопку «Поток» приходилось нажимать дважды. Первого раза недостаточно, если в момент нажатия не скачался первый фрагмент.

Я использовал такую схему несколько лет. Но в прошлом году вышла версия мю-торрента 3.4, из которой потоковый просмотр фильмов по мере загрузки выпилили. Причем не до конца: пустое место от кнопки «Поток» реагировало на нажатие и запускало потоковую загрузку! Но из-за отключенной возможности регулировать размер области предазгрузки большой пользы в этом не было.

Нормальная реализация в qBittorrent

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

При последовательной загрузке торрентов не надо ждать окончания загрузки фильмов, если у вас быстрый интернет и если на торренте несколько сидов. Когда торрент раздается одним сидом (сразу после публикации), скорость загрузки определяется его исходящим каналом, и последовательное скачивание не поможет быстро начать смотреть видео.

А как вы скачиваете фильмы? Используете последовательную загрузку? Будете ли использовать?

Ключевые слова: софт, интерфейсы | Комментарии (6)

Про интерфейс почты Гугла

5 июля 2012 года, 23:36

Вот кнопки «назад» и «ответить» в веб-интерфейсе почты Гугла:

Символы на них настолько похожи, что беглый взгляд их не различает. Из-за этого я часто жму «назад» вместо «ответить».

Это самая главная проблема в текущей версии интерфейса.

Ключевые слова: интерфейсы | Комментарии (1)

Загрузка файлов перетаскиванием в Опере 12 β

26 апреля 2012 года, 22:22

Скачал и установил новую бета-версию Оперы. Среди новинок HTML5 Drag and Drop — возможность загружать файлы, перетаскивая их из проводника. Правда, в отличие от Хрома и Файерфокса, давно поддерживающих эту технологию, Опера перед загрузкой выдает модальное окно и даже не дает переключиться на другие вкладки:

На этом, однако, удивительные вещи не заканчиваются. Оказывается, кнопка «нет» в этом модальном окне предназначена не для того, чтобы предотвратить загрузку при случайном перетаскивании файла в браузер, а для того, чтобы открыть файл в текущей вкладке вместо открытой страницы. Взрыв мозга!

Надеюсь, в окончательном выпуске уберут этот костыль, обеспечивающий обратную совместимость там, где она не нужна.

Ключевые слова: браузеры, интерфейсы | Оставить комментарий

Переключатель кадров для презентаций и раздутая функциональность

26 марта 2012 года, 20:24

Не так давно я участвовал в одной конференции. Иногда выступающие путались с беспроводным переключателем кадров презентаций. Как рассказал знакомый организатор, люди нажимают «page up» вместо «page down».

Еще оказалось, что переключатель кадров совмещен с пультом управления проектором (а проектор дополнительно соединен с ноутбуком по USB). Поэтому пульт нужно направлять на проектор, а не ноутбук. Кажется, ничего сложного в этом нет.

Когда я увидел этот пульт, я испугался.

Нужные кнопки я обвел красным. Во время выступления постоянно приходилось отвлекаться от рассказа, смотреть на этот чертов пульт, чтобы случайно не нажать куда-нибудь не туда и не выключить проектор или хрен знает что с ним сделать. А еще пульт нужно держать не как попало, а направлять на проектор. И еще в другой руке держать лазерную указку. И у нее тоже есть кнопочка. Кошмар!

Вот каким должен быть переключатель кадров, совмещенный с лазерной указкой.

Достаточно всего трех кнопок: вперед, назад и лазерный луч. Ошибиться с кнопкой трудно. Даже если случайно переключить кадр, соседняя кнопка быстро исправит дело. Мне попадались подобные устройства. Ими начинаешь пользоваться практически сразу и без ошибок.

В чем мораль этой истории? В том, что продукт должен решать только одну задачу, и в него не надо включать посторонние функции. Если бы разработчики проектора разместили на пульте только кнопки включения и настройки, организаторам пришлось бы достать нормальный переключатель кадров и обеспечить выступающим комфортные условия.

Раздутая функциональность посредственного продукта не дает людям пользоваться нормальными вещами.

Ключевые слова: интерфейсы | Комментарии (3)

Восстановление текстов в новой версии S2

15 июня 2011 года, 12:49

В новой версии движка S2, которую я выпустил вчера, появилось очень важное нововведение. Теперь он умеет восстанавливать несохраненные тексты после непредвиденных ситуаций вроде зависаний или падений браузера, случайного закрытия окна и т. д.

Интерфейс простой. При следующем входе в админку выводится вот такое сообщение:

Восстановленный текст из нового окна можно затем скопировать куда угодно.

Реализация тоже крайне простая. Каждые 5 секунд содержимое редактора отправляется в HTML5-хранилище (которое localStorage) и удаляется во время сохранения. При входе в админку отображается сообщение, показанное выше, если в хранилище что-то есть.

С помощью этого способа (в отличие от автосохранения) мы оставляем пользователю контроль над тем, когда сохранять редактируемый текст, но избавляемся от проблемы утери несохраненного текста при компьютерных сбоях или непродуманных действиях пользователя.

Ключевые слова: S2, интерфейсы, веб-разработка | Комментарии (2)

Совместное редактирование без блокировок

17 мая 2011 года, 13:24

Рассмотрим ситуацию, когда над неким сайтом (или другим проектом) работает коллектив авторов, и подумаем над такой задачей: как обеспечить возможность совместного редактирования документов.

Если над такой возможностью вообще не задумываться, то в ситуации, когда два автора начинают редактировать один и тот же документ, правки одного из авторов скорее всего потеряются.

Эту проблему можно решать при помощи блокировок, как сделано, например, в движке DokuWiki. Когда документ открыт для редактирования одним пользователем, другим пользователям запрещено его редактировать.

Едва ли решение с блокировками можно признать удачным. Если автор начинает редактировать документ, а потом отвлекается, нужно отбирать блокировку по по истечению какого-либо времени (в DokuWiki, кажется, 15 минут), чтобы документ не остался заблокированным навечно. Тогда изменения отвлекшегося автора могут быть утеряны.

Я придумал другой метод, который собираюсь реализовать в своем движке сайтов S2. Этот метод особенно оправдан, если совместное редактирование возникает достаточно редко. Например, редактор должен внести небольшие исправления в документ, написанный автором.

В таких ситуациях вместо надоедливых сообщений о блокировках нужно просто проверять, изменялся ли документ другими пользователями в промежутке между открытием и сохранением. Если изменялся, мы не сохраняем документ, и выводим пользователю сообщение о том, что он должен открыть новую версию документа и самостоятельно перенести туда дописанные фрагменты текста.

Блокировки держат пользователя в напряжении (нельзя отвлекаться больше, чем на 15 минут) и не решают задачу совместного редактирования до конца: всё равно остается возможность возникновения конкурирующих правок. В моем методе ничто без надобности не отвлекает пользователя от его задач.

Ключевые слова: интерфейсы, S2 | Комментарии (4)

Запись диска

7 января 2011 года, 22:49

Экран программы записи дисков из Windows 7:

Абрам Абрамович Абрамович из села Тавтология, ага.

Ключевые слова: интерфейсы | Комментарии (1)

Google Reader

3 октября 2010 года, 23:04

На протяжении нескольких лет я читал RSS в Яндекс.Ленте. Мне приходилось пользоваться разными компьютерами, в том числе и чужими. Поэтому мне нужна была онлайн-читалка. Я выбрал Яндекс.Ленту, а не Google Reader, так как сервисами Яндекса пользовался чаще.

Иногда Я.Л глючила. То открытым текстом писала о каких-то проблемах. То говорила, что я ни на что не подписан. Впрочем, глюки исчезали достаточно быстро и возникали не так часто, чтобы доставлять неудобства.

Примерно полгода назад глюки стали более серьезными. Многократное обновление страницы не помогло. Вместо отображения подписок Я.Л настойчиво предлагала создать новую ленту. Я нажал на эту ссылку. Видимо, зря, потому что с тех пор я своих подписок больше не видел.

Я понял, что пришла пора прощаться с Яндекс.Лентой, и перебрался на Гугл Ридер. По бекапам многолетней давности, истории браузера и воспоминаниям кое-как восстановил те RSS, на которые был подписан.

Раз уж зашла речь, не могу не прокомментировать интерфейс Гугл Ридера. Сказать, что его делал программист, а не дизайнер — не сказать ничего. Любой, кто пользовался Яндекс.Лентой, легко назовет его недостатки.

(Здесь, конечно, достаточно было бы привести два скриншота, но после глюков Лента пуста, и добавлять что-либо туда мне не хочется. Придется ограничиться замечаниями.)

Во-первых, верхняя часть страницы не прокручивается. 132 пикселя бесценного расстояния по вертикали расходуются на всякие ненужные панели.

Во-вторых, под каждой записью находятся отвлекающие никому не нужные синие ссылки-кнопки. За полгода только один раз я воспользовался ссылкой «Отправить по эл. почте».

В-третьих, чтобы опознать автора записи, нужно отыскать синюю строчку под заголовком (тоже синим) и прочитать ее (а синий текст читается хуже черного). В Яндекс.Ленте слева от записей отображается аватарка автора, прописанная в RSS картинка или favicon сайта; при этом несколько идущих подряд записей с одного сайта группируются и снабжаются только одной картинкой. В таких условиях достаточно беглого взгляда на страницу, чтобы распознать авторов записей.

Сейчас к Гугл Ридеру я привык, перечисленные недостатки мешают не так, как в самом начале. Да и работает он стабильно (в отличие от Яндекс.Ленты). За всё время использования не глючил ни разу. Но всё-таки хотелось бы, чтобы у хорошего продукта был хороший интерфейс. Ведь это же несложно, не так ли?

Ключевые слова: обзор, интерфейсы | Комментарии (1)

Про мю-торрент

21 июня 2010 года, 22:12

Что-то в последних версиях мю-торрента перемудрили с интерфейсом.

Какая скорость загрузки?

Ключевые слова: интерфейсы | Оставить комментарий

Странности фотошопа

3 августа 2008 года, 20:22

Я постоянно спотыкаюсь в фотошопе на этом окне из-за нечеловеческого не принятого в Windows порядка кнопок.

Ключевые слова: интерфейсы | Оставить комментарий

Nokia PC Suite

20 мая 2008 года, 13:11

Ну почему софт, поставляемый вместе с девайсами вроде фотоаппаратов и телефонов, настолько кривой?

Press any key to continue or any other key to exit, ага.

Смотрите также:
Отключен через USB

Ключевые слова: интерфейсы | Оставить комментарий

Каким мог быть веб

26 февраля 2008 года, 13:56

В последней предпоследней статье на Спектаторе Дима Смирнов рассуждает о гипертексте и вебе. Примерно в стиле «как всё сейчас плохо и как могло бы быть хорошо». Вот, например:

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

...

Вообще же надо «пинать» не только html, но и всё в целом. Браузер по определению (browser) — средство навигации. Сейчас из навигации в браузерах есть только кнопки «вперед-назад», а крутизна браузера зависит от того, как хорошо он рендерит страницы.

Однако такие рассуждения не новы. Мысли из серии «каким мог быть веб» в большом количестве встречаются у Якоба Нильсена. Вот цитата из его книги про веб-дизайн:

Средства поиска по всему Интернету должны быть интегрированы с броузером, чтобы иметь возможность поиска по заданному набору сайтов, который предпочитает пользователь, или по страницам, которые он уже посетил. Как часто вы пытаетесь найти что-то, что вы точно видели в Интернете? Если бы вы могли сказать об этом поисковому устройству, проблема поиска заметно бы упростилась (ведь каждый отдельный пользователь может посетить от нескольких тысяч до миллиона страниц, при том, что на самом деле их миллиарды).

Технологии и сервисы не стоят на месте. Идея «поиска по посещенным сайтам» Нильсена реализована (правда, в несколько измененном виде) в Яндекс.Ленте. В этой онлайновой RSS-читалке сделан поиск по RSS-каналам, на которые подписан пользователь. Таким образом я всегда могу очень быстро найти прочитанные через Яндекс.Ленту сообщения.

Ключевые слова: www, интерфейсы | Комментарии (2)

О пульте лифта

19 сентября 2007 года, 13:08

Захожу вчера в лифт. «Продвинутый» — кнопочки с номерами этажей в нем удерживаются в нажатом состоянии, пока лифт не доедет до нужного этажа. Нажимаю кнопку четвертого этажа. Кнопка нажалась, а лифт не едет. Спустя некоторое время я понял, что произошло. Я зашел в лифт на четвертом этаже.

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

Ключевые слова: по жизни, интерфейсы | Комментарии (3)

Привет дизайнерам интерфейсов Микрософта!

24 января 2007 года, 16:56

Вот контекстное меню Excel 2007:

Контекстное меню Excel 2007

Три команды со вставкой для отсутствующих мозгов юзера — это слишком!

Смотрите также:
Улучшение качества ПО
Презентация Микрософта
MS Office 2007

Ключевые слова: интерфейсы | Комментарии (2)
Поделиться
Записи