суббота, 18 августа 2007 г.

Программер + Пользователь = GUI

Кто больше старадет от неудобного и некорректного пользовательского интерфейса? Программер или пользователь? Наерное, оба. Первый, потому что постоянно получает жалобы в той или иной форме от тех, кто пользуется его творением. Второй, потому что он, собственное, этим и пользуется.
Извечная проблема взаимодействия обеих сторон.
Она, наверное, не будет решена никогда, потому что программер никогда не сможет учесть все желания и прихоти пользователей его программы. Проблема требует решения, которое должно вылиться в некий "абсолютный интерфейс".
Похоже, что дело начинает ударяться в философию, что и не удивительно. Требуется определить некие принципы етого "абсолютного интерфейса". Т.е. суть проблемы состоит в невозможности создания данного творения. Однако, необходимые принципы все-таки можно и нужно выделить и применить.
Рассматривать интерфейс можно с различных сторон: web-интерфейс, консоль (там тоже возможна реализация GUI), программный интерфейс. Все ети три вещи по суть слишком разные, но вместе с тем они едины: их главная цель состоит в том, чтоб сделать работу с сервисом или программой максимально удобной и практичной. Так как моя деятельность связана с web-программированием, я остановлюсь подробнее именно на web-штерфейсе.
Web-интерфейс. В данное время можно разделить wtb-приложения на две части: классический и современный. Проболема классического всего лишь в одном: в том, что при совершении любого действия страница перегружается полностью, отвлекая пользователя от его основной работы. Вместе с тем его создание достаточно простое и не требует каких то больших затрат времени, сил и средств. Новые приложения, в частности построенные на технологии Ajax лишены данной проблемы: пока пользователь совершает действите, его результат создается асинхронно, в фоне, вместе с тем не отвлекая его от основной работы. Однако, данный интерфейс требует больших знаний и затрат, в следствие чего увеличивается его ресурсоемкость и стоимость.
Обе технологии имею свои + и - . Простота и неудобство против сложности и удобства (простите за тафталогию :-) ). Что применять - судить вам.
Приложения, построенные на технологии Ajax, называют переходными, однако к чему они переходные, не берется сказать никто. И современное развитие технологий web-программирования не позволяет объединить классическое и новое приложение.
Теперь я постараюсь выделить основные требования к GUI, построенному на web-технологиях.
Первое, и самое главное, - это ресурсоемкость. Современные web-приложения содержат всегда огромное количество анимации и графики, что потребляет не только большое количесвто ресурсов компьютера но и трафика (последнее почти везде основное требование). Поэтому требуется умеренное количество графики и подобных ресурсов, присутствующих на странице. Потому что, т.к. любой запрос отправляется на удаленный сервер, т.е. всегда происходит большая трата времени, неизбежная трата, связанная с большим количеством факторов: удаленность сервера, тип линии, количество задач, выполняемых на сервере и т.д. Но графика - это всего лишь часть проблемы. Другая часть - это объем страницы. Современные web-страницы содержат много JavaScript и др. программных частей, что, опять же, не только увеличивает время загрузки но и увеличивает расход ресурсов компьютера, необходимых для выполнения скрипта. Поетому, тут так же важен факт расхода трафика и время отображения страницы, к тому же, не везде стоят современные браузеры, много компьюетров, работающих на старых платформах со старым ПО, и на них просто может не быть необходимого ПО для работы с современным web-контентом. Поетому, пять же требуется умеренное применение современных технологий. В етом плане требуется хотябя альтернатива, т.е. имется возможность работы с обычным интерфейсом (классическим).
Второе, неменее важное - это, как я уже писал выше, то, что при работе с классическими web-приложениями при совершении различных действий, требуется полная перегрузка страницы, что ведет за собой простой работы, трата времени на ожидание, к тому же, работающий отвлекается от основной задачи - все это может привести к серьезным неудобствам. Однако, современное развитие технологий в сфере web-приложений позволяет устранять данный недостаток в той или иной степени. И в этом состоит большой + современных приложений перед классическими. Может показаться, что данный тип интерфейса съедает больше трафика, ресурсов, и, следовательно, времени на работу. Однако это не так, потому что динамическое web-приложение раходует больше ресурсов лишь на первой стадии работы, дальше происходит обновление лишь необходимых частей, и соответственно загрузка данных лишь по требованию, что в принципе не может быть реализовано в классическом web-приложении, потому что там при всяком действии происходит обновление станицы. Поэтому приложение, построенное например на технологии Ajax в конечном итоге все таки выиграывает у классического.
По данной теме можно проводить обсуждения сколь угодно долго, поэтому я закончу, рассмотрев лишь самые основные аспекты и высказав лишь свое мнение. Что будет дальше - посмотрим. Развитие web-технологий движется гораздо быстрее остальных систем программирования.

1 комментарий:

delayer комментирует...

многа букофф, ниасилил....
однако, самый кул интерфейс (неважно, на чем он написан), ето окошко с большой красной кнопкой "Зделать песдато!"
вот )