Эти тупые пользовательские интерфейсы…

Новости

Написать сегодняшний пост меня дернул курьезный случай, произошедший со мной пол часа назад. Нужно мне было пополнить счет мобильного телефона (Beeline Украина) с кошелька WMZ. Я – клиент оператора сотовой связи Life : ) . Зайдя в телепэй я по привычке ввел телефон и количество денег, которые я хочу положить на счет в гривнях ($1 = 8грн) – 40. Выбрал с какого кошелька списать (долларовый) и нажал на кнопку оплаты. Далее защитный код, кнопка “Оплатить”, потом “Платежь подтверждаю” и через минуту деньги на счету.

Все бы хорошо, но… а попробуйте ка сами сравнить интерфейс пополнения счета на лайф и на билайн:

Интерфейсы пополнения счетаА теперь самый главный вопрос: Нахрена такое делать? Это же одна и та же компания, интерфейс должен быть унифицирован. Хотя и я, конечно, ступил. Зато теперь у человека 320 грн на счету))

Если кто не понял фишки – объясняю. При пополнении счета лайф всегда указывается сумма в гривнях, при пополнении счета билайн – в эквиваленте того кошелька, с которого идет оплата.

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

Рассказывать что это такое думаю не стоит, а потому перейдем сразу к делу. Активной областью является то, что в пунктирном прямоугольнике. А значит при нажатии на кнопку вне этой области (которую, кстати, до нажатия не видно) ничего не произойдет. Конечно, это не критично, но такого быть не должно. Представьте себе на клавиатуре кнопку, например, пробел, которая будет работать только если нажать ее в определенном месте))) Приходилось работать на такой клаве – раздражает через пару нажатий. Хорошо, что с появлением поддержки XMPP протокола контакт для меня стал Jabber-сервером и файлообменником.

Вообще интерфейсам стоит уделять намного больше внимания, чем это делается обычно. Интерфейс – лицо вашей информационной системы, на которое забивать никак нельзя.

Много интересного на тему интерфейсов (какими они должны быть, и какими не должны) можно почитать у Лебедева в ководствах.

Вконтакте открывают платежную систему

Новости

Tagged Under :

Сегодня на блоге соц сети ВКонтакте была опубликована новость о том, что в считанные дни будет открыта новая платежная система. Прочитать ее оригинал вы можете перейдя по ссылке выше.

Попробую прокомментировать анонс этой системы цитируя оригинал.

<IMHO>

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

Странно, но я ни разу не чувствовал неудобств при использовании системы WebMoney. Кроме того, более-менее солидные организации генерируют платежную квитанцию, по которой можно совершить платеж в любом отделении любого банка.

Так как нам хотелось сделать эту систему максимально выгодной для Вас, мы в отличие от других подобных систем (WebMoney, Яндекс-Деньги) не будем брать комиссию и зарабатывать на наших пользователях.

На мой взгляд это ключевой пункт. Сейчас объясню почему. Ранее я был ярым поклонником свободного бесплатного программного обеспечения. Сейчас моя точка зрения изменилась. Собственно изменилась она после того, как я решил попробовать Mono как альтернативу Visual Studio. После этого эксперимента я понял, что деньги гребут мелкомягкие не просто так, и что их продукт их стоит. Та же ситуация и с другими IDEшками, офисными пакетами (OpenOffice vs. MS Office), графическими редакторами и всем всем всем. Продукт может быть хорошим только тогда, когда разработчики заинтересованы в хорошем результате. А главная мотивация все таки – деньги. Так и выходит, что платное ПО выше качеством бесплатного. Вернемся к нашим баранам. Итак…

Отсутствие комиссии говорит нам о целях создания и принципах заработка на этом проекте. Создав платежную систему Вконтакте получит некоторую сумму денег в свое распоряжение. Конечно эти средства не будут принадлежать контакту, но фактически пока их валюта будет чего-то стоить они смогут пользоваться чужими деньгами. Как сделать из денег еще больше денег? Вложить их в оборот! Либо непосредственно в свой, либо в чужой через банковский депозит.Отсутствие комиссии возможно и позитивное явление с экономической стороны, но боюсь, что могут вылезти негативные стороны, как у свободного ПО – невысокое качество продукта.

Хоть я и не в восторге от этой затеи, скорее всего я ее все-таки где-то попробую больше из любопытства.

Ну а вообще приятно, что в рунете появляются новые сервисы, и жизнь не стоит на месте.

</IMHO>

Постинкрементный оператор

Новости

Вчера в универе зашел спор на вот такую тему: чему будет равно i после выполнения этого участка кода:

int i=0;

i = i++;

Участники дискуссии разделились на 2 части (одни говорили, что значение i будет равно 0, другие – 1). Я считал, что i будет равно нулю. Нам рассказывали как работает этот оператор еще на 1м курсе. Например, если рассмотреть постинкрементный оператор как функцию с одним параметрами, то код этой функции будет таков (псевдоязык):

operator pos++(int& value){
int res =value;
value = value + 1;
return res;
}

Собственно, возвращаем мы временное значение, а не значение переменной, а в преинкременте – мы возвращаем саму переменную. Именно поэтому в С++ только 3я строка не скомпилируется:

int i = 0

++i = 5;

i++ = 5;

Дискуссия продолжалась бы долго если бы не проверили это на ноуте:

Язык программирования: Значение i
Java 0
C# 0
C++ 1 – опа…
PHP 0
JavaScript 0

С++ внезапно выдал 1 (VS 2008). Всем кто был за ноль стало интересно в какой момент времени происходит присваивание. Разбираться в декомпилированном коде никто не рвался, поэтому пришлось проверять ан примерах:

int i = 0, p = 0;
p = (i++) + (i++);
std::cout << “i = ” << i << “\n” << “p = ” << p << “\n”;

Вышеприведенный код дал результаты: p=0, i=2.

Получается, инкремент происходит после выполнения 2й строки. Для того, чтобы проверить “не тупо ли” компилятор считает инкременты и вставляет их следующей строкой был написан такой код:

int i = 0, p = 0;
p = (i++ == 0 || i++ == 1);
std::cout << “i = ” << i << “\n” << “p = ” << p << “\n”;

Здесь по краткой схеме вычисляется выражение до || и дальше не вычисляется. Прогнозируемо p = 1, и i = 1. Т.е. все не тупо.

Честно говоря, ради таких экспериментов не хочется ставить другие компиляторы С++. Если у вас есть Borland / RAD / gcc или что угодно еще – попробуйте на них выполнить данный код. Результат можно в коменты, добавлю в пост.

Сравнение скорости работы JavaScript в разных браузерах

Новости

Tagged Under : , ,

Сегодня наткнулся на вот такой забавный сайт, на котором собраны javascript программы, демонстрирующие превосходства движка WebKit. Конечно, весь сайт пронизан любовью к Chrome, но эта любовь имеет свои мотивы. Попробуйте запустить эти примеры в разных браузерах для сравнения. Я запускал сначала в Firefox, а потом в Chrome. Если в огнелисе все работает, но “немножко тормозит”, то в хроме – все летает.

Хочется отметить, что примеры собраны не такие тривиальные как ACID тесты, а выполнены на HTML5, что позволяет нам увидеть возможности новых компонентов.

Тест который как для JavaScript дает очень хорошую скорость обработки изображения (у меня результаты в Firefox и Chrome разнятся не существенно).

А вот тест, который показывает огромную разницу в скорости (в пользу Chrome). Интереснее всего смотреть на вертолет и корабль

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

В тенденциях эволюции веб-технологий происходит изменения в плане ускорения работы клиентской части: ActionScript 3 работает в разы быстрее своих предыдущих версий, новые движки обрабатывают javascript быстрее.  Возможно, теперь некоторые задачи будут перекладывать с Flash’a на HTML (графика, видео – YouTube поддерживает теперь).

Просмотр статистики текущего дня в Google Analytics

Новости

Tagged Under :

Конечно, данный пост не тянет на категорию “Палю тему”, но, возможно, кому-то будет полезен.

Я бы не писал данный пост, если бы несколько раз не видел высказываний о том, что минусом средства аналитики от Google есть то, что нет возможности просматривать информацию о текущем дне. Вообще-то я и сам не сразу заметил, что это не так.

Вот картинка, для того, чтобы было действия были наглядными:

Нужно открыть диалог выбора даты, и последней датой поставить текущую. По умолчанию крайней датой ставится вчерашняя дата.