Открыть сервис

Индикатор прогресса

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

История

Первые индикаторы прогресса появились в 1970-х годах в связи с развитием интерактивных компьютерных систем. Одним из ранних примеров является индикатор в операционной системе Xerox Alto (1973), который отображал процесс загрузки в виде полосы. В 1980-х годах, с распространением персональных компьютеров и графических интерфейсов (Mac OS, Windows), индикаторы прогресса стали стандартным элементом. В 1985 году в системе Macintosh был представлен «часы-песочные» — недетерминированный индикатор, указывающий на занятость системы. В 1990-х годах, с развитием веба, появились анимированные индикаторы загрузки страниц, а в 2000-х — индикаторы в мобильных приложениях.

Классификация

По типу отображения информации

  • Детерминированные (определённые) — отображают точный процент выполнения задачи. Используются, когда система может оценить объём работы (например, копирование файла известного размера). Обычно представляют собой полосу, заполняющуюся от 0% до 100%.
  • Недетерминированные (неопределённые) — показывают, что процесс выполняется, но без указания точного времени завершения. Применяются, когда объём работы неизвестен (например, поиск в сети, ожидание ответа сервера). Часто выглядят как бесконечно вращающееся кольцо или полоса с движущейся точкой.
  • Гибридные — сочетают элементы обоих типов: например, на начальном этапе отображается недетерминированный индикатор, а после получения оценки — детерминированный.

По форме

  • Линейные (горизонтальные) — наиболее распространённый тип. Представляют собой прямоугольную полосу, которая заполняется цветом слева направо. Используются в операционных системах (Windows, macOS), браузерах, программах для загрузки.
  • Круговые (кольцевые) — отображают прогресс в виде дуги, которая заполняется по часовой стрелке. Часто применяются в мобильных приложениях, веб-интерфейсах, а также в системах, где ограничено пространство.
  • Спиральные или волновые — редкие формы, используемые в специализированных приложениях (например, в аудиоредакторах для отображения обработки звука).
  • Текстовые — отображают прогресс в виде чисел (например, «45%») или фраз («Загрузка файла...»). Часто комбинируются с графическими индикаторами.

По контексту использования

  • Системные — встроенные в операционные системы (индикатор загрузки ОС, индикатор копирования файлов).
  • Прикладные — в программах (индикатор установки, индикатор рендеринга видео, индикатор сканирования антивирусом).
  • Веб-интерфейсы — индикаторы загрузки страниц, отправки форм, загрузки файлов на сервер.
  • Мобильные — адаптированные под сенсорные экраны (круговые, анимированные).

Устройство и принцип работы

Индикатор прогресса как программный компонент состоит из нескольких частей:

  1. Модель данных — хранит информацию о текущем состоянии операции (общий объём, выполненный объём, статус).
  2. Визуальный рендеринг — отрисовывает графическое представление (полосу, кольцо, текст) на основе данных модели.
  3. Логика обновления — периодически (обычно с частотой 10–60 раз в секунду) получает от системы новые данные и обновляет отображение.

В детерминированных индикаторах используется формула: прогресс = (выполнено / всего) * 100%. В недетерминированных — анимация, не зависящая от реальных данных (например, вращение кольца с постоянной скоростью).

Применение

Индикаторы прогресса широко используются в различных сферах:

  • Операционные системы — отображение загрузки Windows, macOS, Linux; копирование и перемещение файлов; установка обновлений.
  • Программное обеспечение — установка приложений (например, установщики Microsoft Office, Adobe Creative Suite); рендеринг видео (Adobe Premiere Pro, DaVinci Resolve); сжатие и распаковка архивов (WinRAR, 7-Zip); сканирование антивирусами (Kaspersky, Dr.Web).
  • Веб-разработка — загрузка файлов на сервер (например, через HTML5 <progress>); отправка форм; загрузка страниц (индикаторы в браузерах).
  • Мобильные приложения — загрузка контента (YouTube, VK); обновление приложений (App Store, Google Play); синхронизация данных (облачные сервисы).
  • Игры — загрузка уровней, сохранение игры, установка игровых клиентов (Steam, Epic Games Store).
  • Промышленность и наука — отображение прогресса научных расчётов (MATLAB, симуляции); загрузка данных с приборов.

Примеры

  • Windows — индикатор копирования файлов в виде зелёной полосы с процентом и оставшимся временем.
  • macOS — индикатор загрузки приложений в виде синей полосы с анимацией.
  • Веб-браузеры — индикатор загрузки страницы в виде вращающегося круга (Chrome) или полосы (Firefox).
  • Мобильные приложения — круговой индикатор загрузки видео в YouTube.
  • Игры — индикатор загрузки уровня в Cyberpunk 2077 в виде полосы с текстом.

Интересные факты

  • Первый индикатор прогресса в виде полосы был создан в 1973 году для системы Xerox Alto.
  • В 1985 году в Macintosh был представлен «часы-песочные» — недетерминированный индикатор, который стал символом ожидания.
  • В 1990-х годах появились анимированные индикаторы загрузки веб-страниц, которые часто использовали GIF-анимацию.
  • В 2000-х годах, с развитием мобильных устройств, стали популярны круговые индикаторы, так как они занимают меньше места.
  • Некоторые индикаторы прогресса могут быть «лживыми» — например, индикатор загрузки Windows, который часто «зависает» на 99% из-за особенностей системы.
  • В 2010-х годах появились индикаторы с обратным отсчётом времени (например, «Осталось 5 минут»), которые более информативны для пользователя.

Критика

Индикаторы прогресса критикуются за несколько недостатков:

  • Неточность — детерминированные индикаторы могут быть неточными, если система неправильно оценивает объём работы (например, при копировании файлов с переменной скоростью).
  • Зависание — недетерминированные индикаторы не дают информации о времени завершения, что может вызывать раздражение.
  • Ложное чувство контроля — пользователи могут считать, что индикатор влияет на скорость выполнения, хотя это не так.
  • Дизайн — неудачный дизайн (слишком маленький, неконтрастный) может снижать удобство использования.

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

Источники

  • Дон Норман, «Дизайн привычных вещей» (1988)
  • Джеф Раскин, «Интерфейс: новые направления в проектировании компьютерных систем» (2000)
  • Документация Microsoft по элементу ProgressBar (Windows)
  • Спецификация HTML5: элемент <progress>
  • Статья «The History of the Progress Bar» на сайте UX Movement (2015)
  • Материалы конференции CHI (ACM Conference on Human Factors in Computing Systems)

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →