Песочные часы (курсор)
Песочные часы (курсор) — это графический элемент интерфейса операционной системы, отображаемый на экране компьютера в виде стилизованного изображения песочных часов. Он служит визуальным индикатором того, что система или приложение выполняет длительную операцию и временно не может принимать новые команды от пользователя. Данный тип курсора относится к классу «часовых» (wait cursor) или «индикаторов занятости» (busy indicator) и является одним из наиболее узнаваемых элементов графического пользовательского интерфейса (GUI) в классических операционных системах, в первую очередь в Microsoft Windows и macOS.
История
Происхождение метафоры
Идея использования песочных часов как символа ожидания восходит к ранним графическим интерфейсам, разработанным в исследовательском центре Xerox PARC в 1970-х годах. В системах Xerox Star и Apple Lisa применялись различные статические значки, указывающие на занятость системы. Однако именно в операционной системе Microsoft Windows 1.0 (1985 год) был впервые использован анимированный курсор в виде песочных часов, который быстро стал стандартом.
Эволюция в Windows
В Windows 95 анимация песочных часов была усовершенствована: изображение стало более детализированным, а пересыпание песка — плавным. В Windows 98 и Windows 2000 курсор приобрёл характерный серый фон и чёрный контур. Начиная с Windows Vista (2006 год), песочные часы были заменены на анимированное кольцо (кольцевой индикатор занятости), однако в последующих версиях (Windows 7, 8, 10) классический курсор-песочные часы остался доступен в настройках системы как альтернатива. В Windows 11 по умолчанию используется кольцевой индикатор, но песочные часы можно включить через параметры специальных возможностей.
В macOS
В операционной системе macOS (ранее Mac OS X) аналогом песочных часов является «вращающийся цветной шарик» (spinning wait cursor, неофициально — «пин-уил»). Он появился в Mac OS X 10.0 (2001 год) и представляет собой разноцветный круг, вращающийся вокруг своей оси. В более ранних версиях Mac OS (до 9) использовался статический значок в виде часов с циферблатом.
Функциональное назначение
Основная функция курсора-песочных часов — информирование пользователя о том, что система или приложение заняты выполнением операции, которая не может быть прервана. Операционная система блокирует ввод с клавиатуры и мыши (или ограничивает его) до завершения процесса. Ключевые сценарии, при которых появляется данный курсор:
- Загрузка операционной системы или приложения.
- Открытие большого файла (например, изображения высокого разрешения, видеофайла, базы данных).
- Выполнение сложных вычислений (рендеринг, компиляция, архивация).
- Ожидание ответа от удалённого сервера или внешнего устройства.
- Установка или удаление программного обеспечения.
Виды и варианты
В различных операционных системах и средах рабочего стола используются разные графические интерпретации курсора ожидания:
| Операционная система / Среда | Тип курсора | Описание |
|---|---|---|
| Microsoft Windows (до Vista) | Песочные часы | Анимированное изображение песочных часов с пересыпающимся песком. |
| Microsoft Windows (Vista/7/8/10/11) | Кольцо | Вращающееся синее кольцо (или круг), часто с точками. |
| macOS | Вращающийся цветной шарик | Разноцветный круг, вращающийся по часовой стрелке. |
| Linux (GNOME, KDE) | Часы, песочные часы или спиннер | В зависимости от дистрибутива и темы оформления — статические или анимированные часы, песочные часы, вращающийся круг. |
| Веб-браузеры (HTML/CSS) | cursor: wait | Стандартный курсор, задаваемый через CSS — обычно песочные часы или часы. |
Устройство и техническая реализация
Формат файла
В Windows курсор песочных часов хранится в виде файла с расширением .ani (анимированный курсор). Этот формат поддерживает несколько кадров (обычно от 2 до 8), которые циклически сменяют друг друга, создавая иллюзию движения. Каждый кадр представляет собой статическое изображение курсора в формате .cur (статический курсор). В macOS анимированные курсоры хранятся в виде файлов .icns или в специальных ресурсах приложений.
Анимация
Анимация песочных часов обычно состоит из двух фаз: в первой фазе песок пересыпается из верхней колбы в нижнюю, во второй фазе (если операция затягивается) — песок начинает пересыпаться обратно или курсор остаётся статичным. В современных системах анимация может быть более сложной, с использованием градиентов, теней и плавных переходов.
Взаимодействие с системой
Операционная система переключает курсор на песочные часы автоматически при вызове определённых системных функций (например, WaitCursor в Windows API). Разработчики могут также программно устанавливать курсор ожидания для своих приложений с помощью соответствующих функций (например, SetCursor в Windows, NSCursor в macOS). В веб-разработке для этого используется CSS-свойство cursor: wait;.
Значение и влияние на пользовательский опыт
Курсор-песочные часы является важным элементом обратной связи между системой и пользователем. Он выполняет несколько ключевых функций:
- Информирование: пользователь понимает, что система не зависла, а выполняет задачу.
- Управление ожиданием: визуальный индикатор снижает уровень тревожности и раздражения при длительных операциях.
- Блокировка ввода: предотвращает случайные действия пользователя, которые могут привести к ошибкам или потере данных.
Однако в современном программном обеспечении наблюдается тенденция к отказу от курсора-песочных часов в пользу более информативных индикаторов: прогресс-баров (полосок загрузки), спиннеров (вращающихся кружков) или анимированных иконок в строке состояния. Это связано с тем, что песочные часы не дают информации о времени завершения операции и не позволяют пользователю оценить прогресс.
Критика и альтернативы
Недостатки
- Отсутствие информации о прогрессе: пользователь не знает, сколько времени осталось до завершения операции.
- Блокировка интерфейса: в некоторых реализациях песочные часы блокируют весь интерфейс, не позволяя пользователю взаимодействовать с другими окнами или элементами.
- Визуальное устаревание: в современных интерфейсах, ориентированных на минимализм и плавность, песочные часы выглядят архаично.
Альтернативы
- Прогресс-бар (progress bar): отображает процент выполнения операции.
- Спиннер (spinner): вращающийся круг, не блокирующий интерфейс.
- Индикатор в строке состояния: небольшой значок в углу окна.
- Анимированная иконка: например, вращающийся значок песочных часов или часов.
Интересные факты
- В Windows 95 и 98 курсор-песочные часы был анимирован с частотой 8 кадров в секунду.
- В некоторых версиях Windows (например, Windows 2000) существовала возможность заменить песочные часы на любой другой анимированный курсор через настройки мыши.
- В macOS вращающийся цветной шарик (пин-уил) часто называют «шаром смерти» (spinning wheel of death), так как его появление обычно сигнализирует о зависании приложения.
- В Linux-дистрибутивах с оконным менеджером Xfce по умолчанию используется статический значок часов, а в GNOME — вращающийся круг.
- В некоторых играх и приложениях курсор-песочные часы заменяют на тематические анимации (например, вращающийся кристалл, песочные часы из игры).
Источники
- Microsoft Developer Network (MSDN) — документация по курсорам Windows.
- Apple Developer Documentation — описание курсоров в macOS.
- История развития графического интерфейса Xerox PARC.
- Статья «Wait cursor» в английской Википедии.
- Книга «The Design of Everyday Things» Дональда Нормана (раздел об обратной связи в интерфейсах).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →