Содержание
Рабочий стол компьютера — ошибочная абстракция
В Windows 7 Microsoft приложила дополнительные усилия, чтобы сделать рабочий стол более удобным в использовании. Существует функция «заглянуть», которая делает все запущенные приложения временно прозрачными, когда вы наводите курсор на кнопку «Показать рабочий стол». Если вы нажмете кнопку, все приложения свернутся, чтобы вы могли взаимодействовать с рабочим столом, а если вы нажмете еще раз, они вернутся. Хорошая функция; но он не может скрыть присущие рабочему столу проблемы. Или я должен сказать проблема. Проблема в том, что рабочий стол не может быть одновременно и местом, где вы запускаете приложения, и местом, где они работают, просто потому, что работающее приложение делает рабочий стол частично или полностью недоступным.
Кнопка «Показать рабочий стол» (без Peek) также есть в XP и Vista, а также есть удобная панель инструментов «Рабочий стол», которая превращает ярлыки на рабочем столе в меню панели задач. Все достойные усилия, которые являются обходными путями для того факта, что наличие ярлыков и гаджетов за вашими запущенными приложениями — глупая идея. Рабочий стол обычно используется только один раз за сеанс — при запуске компьютера.
В этом отношении рабочий стол компьютера отличается от реального рабочего стола. Пошутите о столах, настолько загроможденных, что вы не можете видеть поверхность. Справедливо, но на моем реальном рабочем столе у меня есть телефон, у меня есть ящики, у меня есть лоток для входящих и исходящих сообщений, у меня есть ручка и бумага, и все эти вещи остаются доступными, даже когда я печатаю. Рабочий стол на экране — ошибочная абстракция.
Неадекватность рабочего стола является причиной того, что разработчики приложений так злоупотребляют областью уведомлений (ошибочно называемой системным треем) — это единственное место, куда вы можете поместить то, что вы хотите, всегда доступным и видимым. В Windows 7 панель задач приобретает больше характеристик области уведомлений со значками, которые можно накладывать на индикаторы активности, такие как индикатор выполнения загрузки IE8.
Это правда, что если вы не запускаете приложения в полноэкранном режиме, вы можете перемещать их, чтобы отобразить содержимое рабочего стола. Я считаю, что это редко работает хорошо, потому что у меня видно более одного приложения, а за одним приложением стоит другое.
Почему же тогда разработчики ОС настаивают на идее рабочего стола? Возможно, потому, что это заставляет пользователей чувствовать себя более комфортно. Я подозреваю, что это скевоморф (спасибо Филу Тейну за слово) — «производный объект, который сохраняет элементы декоративного дизайна для структуры, которая была необходима в оригинале». Например, ранние электрические чайники сохраняли приземистую форму с большим основанием, хотя логическая форма электрического чайника представляла собой тонкий кувшин, позволяющий небольшому количеству воды покрывать элемент. Причиной приземистой формы было распространение тепла при кипячении воды на плите. Прошли годы, прежде чем чайники-кувшины завоевали популярность.
Рабочий стол лучше назвать рабочим пространством и забыть о размещении на нем ярлыков и гаджетов. Это напоминает мне: почему Windows до сих пор не поддерживает несколько рабочих столов (или рабочих пространств), как это принято в Linux, а также не реализовано в Mac OS X Leopard как Spaces? В Windows есть несколько рабочих столов — вы видите один каждый раз, когда UAC запускается с диалоговым окном разрешений в Vista или при использовании функции «Переключить пользователя», — но они недоступны другим способом.
Я также понимаю, что гаджеты боковой панели были упущенной возможностью в Vista. Microsoft сделала две большие ошибки с боковой панелью. Во-первых, он оставался в фоновом режиме по умолчанию. Щелкните правой кнопкой мыши боковую панель и установите флажок «Боковая панель всегда находится поверх других окон». Тогда это имеет смысл; он ведет себя как панель задач и остается видимым. Не очень хорошо для пользователей с маленькими экранами; но они могли снять флажок. Я знаю; вам не нравится терять место на экране. Но что, если бы гаджеты были действительно полезными?
Другая ошибка заключалась в выпуске боковой панели без привлекательных гаджетов. Пользователи посмотрели, решили, что это бесполезно, и проигнорировали или отключили его. Это позор, так как это более подходящее место для многих вещей, которые попадают в область уведомлений. Если бы Microsoft поместила туда несколько предметов первой необходимости, таких как корзина, регулятор громкости и измеритель уровня сигнала Wi-Fi; и если бы команда Office установила такие вещи, как быстрый доступ к почтовому ящику Outlook, календарю и оповещениям, то пользователи поняли бы: это остается видимым по уважительной причине.
В Windows 7 гаджеты сохраняются, а боковая панель — нет. Возможно неправильное решение, хотя видимо есть хак для его восстановления. Еще не поздно — Microsoft, как насчет возможности вернуть старое поведение боковой панели?
Еще бы кнопку «концентрировать». Это скроет все, кроме текущего приложения. Максимально развернутые приложения отвечали заполнением всего экрана (без панели задач или боковой панели), за исключением кнопки «отключить», которая появлялась внизу справа. Это было бы похоже на вывешивание «Не беспокоить» за пределами вашего гостиничного номера и отключило бы все уведомления, кроме самых приоритетных (например, «вашей батарее осталось жить несколько секунд»).
Мое предложение для Windows 8 и OS 11 — отказаться от рабочего стола, сделать его только рабочим пространством. Реализуйте несколько рабочих пространств в Windows. И перестаньте поощрять нас загромождать наши экраны ярлыками на рабочем столе, от которых на практике очень мало толку.
Теги Technorati: окна, боковая панель, рабочий стол, Microsoft, Apple, OS X, Linux, пользовательский интерфейс, дизайн пользовательского интерфейса
Что такое абстракция (информатика)?
Что означает абстракция?
Абстракция — это фундаментальный принцип в некоторых областях информатики. Это ключевой аспект проектирования объектно-ориентированных языков программирования и интерфейсов прикладного программирования. Это также одна из наименее понятных идей в программировании, частично по семантическим причинам.
Абстракция обычно определяется как извлечение релевантной информации из большого набора данных, где использование абстракции позволяет инженерам и другим специалистам упростить кодовую базу.
Techopedia объясняет абстракцию
Причина, по которой это сбивает многих людей с толку, заключается в том, что абстракция «не звучит» семантически. Звучит как создание чего-то более расплывчатого, потому что именно так мы используем это в общем языке.
Однако в информатике абстракция обычно означает упрощение и отделение сигнала от шума, чтобы сделать программирование более эффективным и действенным.
Объектно-ориентированное программирование
Код
В одном из наиболее ярких примеров абстракции компьютерных наук, в объектно-ориентированном программировании, абстракция часто работает за счет использования объектов в коде. Эти объекты, как портативные контейнеры атрибутов и повторяемых структур кода, абстрагируются от функций, которые в противном случае могли бы быть запрограммированы линейным образом.
Другими словами, средством абстракции являются объекты в коде, которые берут целую кучу базового кода и делают его переносимым и воспроизводимым.
Класс
Еще одним средством абстракции в объектно-ориентированном программировании является класс. Классы объектов дополнительно стратифицируют принцип повторяющегося использования и автоматизированного распространения кода.
Например, в этом удобном руководстве для неспециалистов в Stackify автор рассказывает о том, как кофеварка является хорошим примером того, как объектно-ориентированное программирование использует абстракцию, чтобы снять с себя столько трудоемкой работы. плеч программиста.
Вместо создания виртуального объекта, такого как кофеварка, с нуля, программирования каждой строки его функций вручную, инженеры могут вместо этого вызвать объект «кофеварка» и подключить «зерна» и «кофейные чашки» и т. д., чтобы получить тот же результат с гораздо меньшими усилиями.
На самом деле, абстракция, которая работает в объектно-ориентированном программировании, — это лучший способ показать, насколько мощно эти идеи поддерживают виртуальные «миры» — когда программисты могут создавать всевозможные виртуальные объекты со своими собственными атрибутами, они могут больше эффективно моделировать реальный мир, физический мир и в то же время оптимизировать эффективность рабочего времени программиста.
Обе эти замечательные возможности, которые ООП принесли миру технологий.
Интерфейс прикладного программирования
Другой яркий современный пример абстракции иллюстрируется интерфейсом прикладного программирования (API), который так распространен в кросс-платформенных системах.
API — это ключевой способ предоставления информации об абстракции, чтобы внешним третьим сторонам не нужно было знать так много о собственной кодовой базе.