• 58 признаков хорошего интерфейса

    • Перевод
    У хорошего интерфейса пользователя высокая конверсия и его просто использовать. То есть, он хорош и для бизнеса, и для использующих его людей. Вот список опробованных нами идей.

    1 Один столбец вместо нескольких


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

    image
    Читать дальше →
  • Правильно ли использовать сотрудников только по назначению?

      Дочитал книгу Тома Демарко и Тимоти Листера «Человеческий фактор. Успешные проекты и команды» или просто «Peopleware». Обидно то, что абсолютное большинство менеджеров эту книгу не читали и даже о ней не слышали.

      Хороший отзыв на сайте оставил один из читателей:
      Рекомендую прочитать, а потом перечитать.
      Полностью поддерживаю.

      Книгу пересказывать не буду — это займет много времени, рекомендую просто почитать, но вот как дополнение хочется рассмотреть еще одну проблему, которую я постоянно наблюдаю в наших компаниях, а именно использование сотрудников (ресурсы) ТОЛЬКО по назначению. Почему это плохо, спросите вы? Ответ простой: если ресурсы использовать только по назначению, то убивается всякое желание к креативу и развитию, а это, как вы должны понимать, частая причина смены места работы.

      Читать дальше →
    • Вкладки с внешними скруглениями

      • Перевод
      Скругленные уголки на сегодняшний день делаются тривиально с помощью border-radius. Благодаря border-radius мы можем «обрезать» блоки сообразно необходимости, но что делать, если нам нужно скруглить «внешний» угол? Проблему проще пояснить графически:

      На этой картинке показано о чем вообще идет речь
      Верхние уголки сделать не проблема, а вот нижние — посложнее. Под катом поясняем как.
      Читать дальше →
    • Codecademy: 200 тыс. юзеров, 2,1 млн уроков за первые 72 часа работы

        Невероятный успех продемонстрировал стартап Codecademy, который обучает новичков программированию на JavaScript с помощью бесплатных интерактивных уроков. Уроки осуществляются в приложении с простым и интуитивно понятным интерфейсом. Ещё одна особенность проекта — регистрация на сайте не требуется, пока вы не закончите парочку первых уроков.

        В первые три дня сайт привлёк 200+ тыс. активных пользователей (считаются те, кто зашёл на сайт и запустил приложение), количество законченных уроков составило ≈2,1 млн, пишет TechCrunch.

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

          В статье собраны всем известные методы и предельно извращенные. Эту статью я решил написать после недавнего прочтения поста в блоге Badass JavaScript и решил её дополнить своими находками.

          Первый способ


          Он всем известен — обфускация минимизаторами такими как JS Packer, JSmin, YUI Compressor, Closure compiler или можно просто пугуглить «JavaScript Obfuscator» и найдется ещё сто штук разных обфускаторов.
          Они превращают существующий код
          function MyClass(){
              this.foo = function(argument1, argument2){
                  var addedArgs = parseInt(argument1)+parseInt(argument2);
                  return addedArgs;
              }
              var anonymousInnerFunction = function(){
                  // do stuff here!
              }
          }

          В какой-то такой вид:
          function MyClass(){this.foo=function(c,b){var d=parseInt(c)+parseInt(b);return d};var a=function(){}};

          Или такой:
          var _0xd799=["\x66\x6F\x6F"];function MyClass(){this[_0xd799[0]]=function (_0xefcax2,_0xefcax3){var _0xefcax4=parseInt(_0xefcax2)+parseInt(_0xefcax3);return _0xefcax4;} ;var _0xefcax5=function (){} ;} ;

          Или вот такой:
          eval(function(p,a,c,k,e,d){e=function(c){return c};if(!''.replace(/^/,String)){while(c--){d[c]=k[c]||c}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('4 0="3 5!";9 2(1){6(1+"\\7"+0)}2("8");',10,10,'a|msg|MsgBox|Hello|var|World|alert|n|OK|function'.split('|'),0,{}))

          Но ничего не стоит его восстановить с помощью jsbeautifier.org либо просто убрать eval и получить исходный код, многое потеряем, но смысл кода восстановим. Ну и с первого взгляда мы видим, что перед нами JavaScript.

          Все это были цветочки под катом жесткие методы обфускации.
          Читать дальше →
        • Как вставить печать в документ, чтобы боги не убили котёнка

            Была у пользователей Эльбы мечта — вставлять изображения печатей и подписей в счета, акты, накладные и прочие серьезные документы. Отчего бы не порадовать мечтателей, подумали мы. Оглядевшись по сторонам, мы поняли, что обычно в таких случаях всю грязную работу сваливают на пользователя (ну, вы знаете: «картинка должна быть 300 на 400 пикселей, с высоким контрастом, хорошим разрешением и идеально белым фоном»). Но судя по опыту нашей команды, которая бывает в колл-центре, даже простая загрузка изображения с фотоаппарата повергает пользователей в глубокую депрессию, и вызволять их приходится богопротивными способами, а-ля «вставьте картинку в Ворд». Конечно, не может быть и речи о том, чтобы заставлять пользователей чистить печати в фотошопах — пусть фотографируют как умеют, а Эльба выполнит за них все остальное!



            Если вам интересно узнать, что нужно сделать с фотографией, снятой телефоном или мыльницей, чтобы получить чёткую печать и подпись с прозрачным фоном — читайте дальше.
            Читать дальше →
          • Пять причин, по которым домены становятся менее важными

            • Перевод
            Недавно в ходе обсуждения возможных названий для продукта кто-то спросил меня, наступил ли момент, когда идеальное доменное имя уже не так важно, как это было раньше. Хотя я всё ещё поклонник коротких доменов в .com, они уже кажутся менее важными и будут продолжать становится всё менее важными, по крайней мере, по пяти причинам:

            1) Google


            Было время, когда вы запоминали номера телефонов своих друзей и семьи. Возможно, было время, когда вы запоминали адреса людей, которым вы часто писали по электронной почте. И было время, когда я знал, как добраться в другой конец города без навигатора. Программное обеспечение взяло на себя эти задачи, освободив наши мозги, потому что в этом оно лучше их. В данном случае доменные имена являются такими же компьютерными идентификаторами, как номера телефонов и адреса электронной почты.
            Читать дальше →
          • Дизайн контекстных меню

            • Tutorial
            Представляю вашему вниманию перевод статьи под названием "Context Menu design" от Hagan Rivers. Перевели в компании UXDepot специально для пользователей Хабрахабра с одобрением компании Two Rivers Consulting Corporation.


            Что такое контекстное меню?


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



            Контекстное меню сообщения в Apple Mail (слева) и Windows Mail (справа).
            Читать дальше →
          • OGS Mahjong 0.7

              Не далее чем в августе прошлого года, я писал топик о разрабатываемой силами программиста kornerr и моими небольшой игре под названием OGS Mahjong.

              Будучи «проектом свободного времени», OGS Mahjong развивался медленно и неторопливо, однако за 9 месяцев его версия подросла до цифр 0.7.

              Читать дальше →
            • Обзор онлайн редакторов звука и секвенсеров

                title


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