• Об образах, эффективности, удовлетворенности и двух типах интерфейсов (все части)

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

      В первой части, о которой я уже писал, описана теоретическая основа исследования, посвященного тому, что определяет, будет ли пользователь удовлетворен взаимодействием.
      Во второй части описана процедура исследования и приведена первая часть результатов.
      В третьей части приведена вторая часть результатов, а также итоги и выводы.
    • 10 инструментов проверки контраста вашего дизайна для улучшения его „читабельности“

      • Перевод
      Вашему вниманию предлагается перевод статьи 10 colour contrast checking tools to improve the accessibility of your design от Roger Johansson. Перевод alexbig

      10 инструментов проверки контраста вашего дизайна для улучшения его „читабельности“



      В моей повседневной работе мы создаём графический дизайн для большинства сайтов наших клиентов, но не для всех. Некоторые из них сами или с помощью дизайн студий делают визуальный дизайн и оставляют переход на HTML + CSS + JavaScript и CMS для нас. Когда такое происходит, я практически всегда сталкиваюсь с проблемами недостаточного цветового контраста в дизайне. Иногда эти проблемы достаточно второстепенные и допустимые, но зачастую, есть области, которые необходимо скорректировать.

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

      А вы ведь, не хотите этого, верно?
    • Об образах, эффективности, удовлетворенности и двух типах интерфейсов

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

        Первая часть заметки полностью>>
      • Практический JS: проблемы innerHTML

        • Перевод
        Примечание: ниже перевод статьи Julien Lecomte «The Problem With innerHTML», в которой автор рассматривает проблемы при использовании метода innerHTML в современных браузерах и предлагает ряд советов, как ее можно избежать. Мои комментарии далее курсивом

        Свойство innerHTML крайне популярно среди веб-разработчиков в силу своей простоты и удобства, поскольку оно совершено элементарно позволяет заменить HTML-содержание у конкретного тега. Можно также воспользоваться DOM Level 2 API (removeChild, createElement, appendChild), но использование innerHTML гораздо более простой и эффективный способ для модификации DOM-дерева. Однако, есть ряд проблем при использовании innerHTML, которых следует избегать:

        • Неправильная обработка свойства innerHTML может привести к атакам, связанным со script-инъекциями (XSS) в Internet Explorer, когда HTML-строка содержит вызов <script>, помеченного как отложенный: <script defer>...</script>
        • Выставление свойства innerHTML уничтожит все текущие вложенные HTML-элементы со всеми обработчиками событий, что потенциально может вызвать утечки памяти в некоторых браузерах.


        Есть и еще несколько более мелких недостатков, которые тоже стоит упомянуть:

        • Нельзя получить ссылку на только что созданные элементы, вам приходится добавлять код для получения ссылки на них вручную (используя DOM API).
        • Вы не можете выставить innerHTML для всех HTML-элементов во всех браузерах (к примеру, Internet Explorer не позволяет выставить innerHTML для строки таблицы (tr)).


        Читать дальше →
      • Какой javascript библиотекой вы пользуетесь в большинстве своих проектов?

           

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

          Какой javascript библиотекой вы пользуетесь в большинстве своих проектов?

          • 1.7%Dojo Toolkit12
          • 4.1%YUI29
          • 30.6%Prototype216
          • 27.5%jQuery194
          • 4.3%ExtJS31
          • 1.2%MochiKit9
          • 8.6%Mootools61
          • 21.7%Другой, укажу в комментариях153
        • INFOLUST: мобильные метки

          • Перевод
          Находясь в онлайне, потребители обращаются за помощью к поисковым серверам. Однако, наряду с тем, что и Google и Yahoo стараются дать пользователям возможность мобильного поиска, всё же остаётся неохваченная территория: предметы из реального мира.

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

          Без сомнений, этот девственный рынок инфоластинговых (INFOLUST) сервисов привлекает массу инновационных решений для ‘ask and know’ («спроси и узнаешь»). Вдохновленные двумерными штрих-кодами (barcode), возникают универсальные shot-коды, SMS-коды, QR-коды и UP-коды. Эти коды прикрепляются, наклеиваются или печатаются на предметах, что должно их сделать «умнее», дав им возможность предоставлять необходимую информацию или просто отсылать человека к соответствующей веб-странице.

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



          Читать дальше →
        • Программируем стартап Веб 2.0 на PHP

            Программируем стартап Веб 2.0 на PHP
            Итак, вы воодушевлены идеей стартапа Веб 2.0. Вы полагаете, что придумали что-то оригинальное и свежее. Вам видится эффектная реализация вашей идеи. Вы верите, что ваш проект произведет революцию на рынке. Если именно такие мысли занимают вас, самое время заняться бизнес-планом. Планирование бизнеса – это отдельная дисциплина и об этом можно найти множество литературы. Впрочем, если вы не имеете опыта составления бизнес-планов, лучше прибегнуть к помощи профессионалов. Чем хуже спрогнозирован бизнес, тем выше риски его краха.

            Однако допустим, что вы располагаете привлекательным бизнес-планом, вы ожидаете самоокупаемость проекта уже через 2 года от момента его старта, и предвкушаете ежегодный 50% рост его рекламного потенциала. В MS-Visio подготовлены многообещающие схемы пользовательского интерфейса проекта. И даже более того, ваш дизайнер, вооружившись модным руководством, в рекордные сроки обозначил графический вид проекта. Так, что сверстанные в лучших традициях безтабличной верстки типовые страницы пользовательского интерфейса дожидаются своего звездного часа в вашей локальной папке проекта.
            Читать дальше →
          • Альтернативная замена popup окнам

              Класс LightWindow v2.0 (http://stickmanlabs.com/lightwindow/) предназначен для удобного визуального отображения практически любой информации (видео, flash, графика, страницы, формы ...). Работает на основе библиотеки Prototype + Scriptaculous.
              Читать дальше →
            • Индивидуализация

                Моей идеи буквально минут 5. Просматривал тут, по работе, фонты различные и подумалось мне, а почему бы не замутить стартап, где, за небольшую плату, пользователь, прислав скан своего подчерка мог бы получить свой рукописный шрифт? И, скажем, кадый в своем индивидуальном блоге мог бы делать записи «от руки».

                Скажу често, я не знаю зачем это, как на этом заработать и реально ли это, но просто идея мне показалась довольно интересной. А то, в наше время, интернет настолькой безликий и одинаковый. Да.
              • Методы в JavaScript

                  Когда-нибудь каждый JavaScript-программист осознаёт, что JS — объектно-ориентированный язык. И здесь его подстерегают некоторые опасности, происходящие от непонимания того факта, что JS — язык не классов (как Паскаль или Цэ-два-креста), а прототипов.
                  Так, уже многое написано о проблеме наследования (котого в JS нет). Я же постараюсь рассказать о менее освещённом, но едва ли не более важном подводном камне: грамотной реализации методов.
                  Программисты пытаются объявлять классы в привычной для них форме, из-за чего возникают утечки памяти и прочие неприятные вещи. На самом деле нужно всего лишь научиться использовать прототипы.
                  Эта статья предназначена прежде всего для начинающих JS-программистов.
                  Читать дальше →
                • HolyWars — 100 000 распоротых штанов

                    Об исследовании идеи социального сервиса для массовых обсуждений конфликтных ситуаций. На основе мыслей и предложений Идея соц-проекта. Рабочее название «Разборка» с интересными, но расплывчатыми очертаниями. Теперь внятней и с картинкой. :)

                    Чтобы не грузить всех подробностями привожу вначале занимательную часть. Потом идут теоретические рассуждения, читать их или нет – решайте сами. Однако замечу, что статья писалась прежде всего из-за них. Ну и среди прочего там немного о Карме и Хабрасиле, если кого интересует. :)



                    Часть 1, занимательная

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

                    Краткие пояснения по содержанию

                    В центре – тема. За нее можно голосовать. Под ней облако аргументов – мнений одной строкой, завоевавших наибольшую поддержку в
                    обсуждениях.

                    Вверху факты – информация, принимаемая сообществом как достоверная.

                    Ниже ссылки – вся остальная информация, признанная участниками достойной внимания, но не относящаяся к фактам.

                    В самом низу топики обсуждений.

                    Часть 2-я, теоретическая

                    Я пока не Лев Толстой, я только учусь...
                  • Кропотливая оптимизация PHP-приложений (рассматриваю PHP5, но большинство справедливо и для 4-й ветки)

                      Когда во сне снится «ой а если сервера не хватит...»


                      Для начала, Доброй Ночи. Пишу что-то полезное вроде впервые (если не считать разного рода полу-тестов в моём блоге). Человек я допытливый до жути, неожиданно в голову пришло, что могу помочь сэкономить кому-то много времени ;).


                      танцуем с бубном
                    • Пример использования микроформатов на «живом» проекте

                        Многие ресурсы сегодня стараются применять передовые технологии для своего развития, а иногда даже сами являются «двигателями» этих технологий. Сейчас это происходит с микроформатами. Термин еще не прижившийся, но уже вызывающий большое количество споров, которые в частности касаются как самих микроформатов, так и реализуемой ими концепции.

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

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

                        Детали смотрите далее...
                      • WSGI, Paste, Pylons — передовые веб-технологии

                          Python Logo
                          Не Rails'ом единым!

                          Цитата с sm.org.
                          Тема WSGI на Хабре не раскрыта, я постараюсь ликвидировать возможную безграмотность и просто интересно рассказать об актуальной, на мой взгляд, технологии. А заодно затрону Paste и галопом – Pylons. Но обо всё по порядку.
                          Вперёд!
                        • Прогрузка файлов через Ajax

                            Довольно интересный метод прогрузки файла, хотя думаю многие его знают.


                            Для начала создадим форму и скрытый iframe в который собственно и будет отправлятся сама форма (на это указывает атрибут target).
                            <br>
                            <br>
                              /><br>
                              /><br>
                            <br>

                            <br>

                            Когда будет нажата кнопка Submit, форма отправится в скрытый iframe, и будет вызван метод контроллера «upload_action». Теперь необходимо получить данные в контексте всей страницы (родительского окна для фрейма). Для этого используется очень интресное решение. Опишем контроллер для получения и обработки данных из этой формы:
                            <br>
                            class UploadController < ActionController::Base<br>
                            def upload_action<br>
                              responds_to_parent do<br>

                                File.open("public/files/upl_file",'wb') do |file| <br>
                                 file.write params[:upl_data].read <br>
                                end <br>
                                render :update do |page|<br>
                                 page.replace_html 'upload_frm', :partial => 'upload'<br>

                                end<br>
                              end<br>
                            end <br>
                            end<br>

                            Обращение к iframe реализовано плагином respond_to_parent. Для генерации такой формы с iframe можно использовать плагин remote_upload.

                            Решение на мой взгляд очень даже симпатичное.
                          • EXPLAIN — Самая мощная команда MySQL

                            • Перевод
                            Самая мощная команда в MySQL – это EXPLAIN. EXPLAIN может в точности рассказать вам, что происходит, когда вы выполняете запрос. Эта информация позволит вам обнаружить медленные запросы и сократить время, затрачиваемое на обработку запроса, что впоследствии может значительно ускорить работу вашего приложения.
                            Читать дальше →
                          • DDR для головы, или как работает наша память.


                                   Несколько лет назад зарубежные ученые в результате анализа результатов инструментальных исследований работы головного мозга создали новую модель работы человеческой памяти, с которой согласились большинство специалистов. Но языковый барьер стал преградой на пути распространения этой информации, и переводов и упоминаний об этом на русском практически нет.
                                   Из этой модели следует, что термин «кратковременная память» является всего лишь удобной научной абстракцией, не имеющей физиологических эквивалентов.  Он признан устаревшим, а теория Миллера (1956) о ее емкости 7+\-2 элемента считается просто абстрактной теоретической моделью для удобного объяснения результатов  его экспериментов.
                                    Новые исследования дали результаты,  позволившие создать модель для  ранее введенного термина  «рабочая память» - по аналогии с оперативной памятью компьютера.
                              Читать дальше →
                            • Объединение JavaScript и CSS в одном файле

                              • Перевод
                              Если Вы работали над оптимизацией загрузки страницы, Вы знаете, насколько дорогостоящая каждая загрузка ресурса. Чем больше число внешних ресурсов, к которым Вы обращаетесь, тем больше время требуется для загрузки страницы.
                              Как правило, веб-страницы обращаются ко многим внешним CSS и файлам JS и следовательно подвергаются многим загрузкам ресурса. Совет от гуру оптимизации в необходимости объединить все файлы CSS и все до одного файлы JS, чтобы уменьшить число ресурсов до двух. Это, без сомнения, поможет сократить время загрузки страницы.
                              Если Вы все же считаете что эти две загрузки не являются лучшим решениям, я с Вами соглашусь. В этой статье мы рассмотрим способ объединения CSS с JS и сведем количество загрузок к одной. Я обнаружил этот способ, отчаянно пытаясь оптимизировать страницы в Microsoft Office Live
                              Читать дальше →
                            • FWC: SmartSelect — тулкит для работы с компонентами форм типа select, combobox и т.д.

                                FWC:SmartSelect 2.7

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

                                когда мне всё это надоело, я написал тулкит, который решает все эти проблемы одним махом.
                                этот тулкит позволяет максимально просто создать «поддельный» выпадающий список, который на первый взгяд идентичен стандартному тегу select, но лишенный всех его недостатков.

                                кроме того он позволяет использовать некоторые очень полезные функции, крайне популярные в последнее время. например, удобный API для управления списками и пунктами (создание, редактирование, удаление), ajax-подгрузка каскадных списков (когда содержимое некоторых списков зависит от других), а также создание простых текстовых полей с автоподстановкой значений при вводе (в том числе и из серверных ресурсов, аналогично Google Suggest).

                                все настройки для компонентов smartselect описываются в отдельном xml-файле или json-строкой.

                                Читать дальше →
                              • Экономия энергии в Linux на платформе Intel

                                • Перевод
                                PowerTOP – утилита, позволяющая обнаруживать в системе компоненты, которые заставляют ваш лэптоп потреблять больше энергии, чем необходимо, во время простоя.
                                Начиная с ядра версии 2.6.21, Linux больше не имеет фиксированного времени тика в 1000 Гц. Это теоретически должно увеличить время автономной работы лэптопа, так как процессор больше времени проводит в режиме низкого энергопотребления, когда ваша система простаивает.
                                Утилита помогает выявить компоненты ядра, а также пользовательские программы, которые являются наибольшими растратчиками энергии компьютера.
                                Читать дальше →