Tags: взаимодействие

Письма: "Когда будет обзор и гневная критика про Windows 8?" и прочее

16:08 23.12.2012
Письма: "Когда будет обзор и гневная критика про Windows 8?" и прочее
Во-первых, большое спасибо за интерес к моему творчеству. Для начала, ответ на вопрос, вынесенный в заглавие: никогда или по крайней мере до тех пор, пока я ее себе не поставлю, а случится последнее, будьте покойны, очень нескоро. Я не могу критиковать и в целом полновесно "обзирать" нечто, с чем я лично не имел дела. Например, когда народ вокруг меня плевался от упоминаний книг Оксаны Робски, я предпочел не поддерживать это явление вслепую, а сначала помучил себя чтением одной из них ("День счастья завтра"), чтобы уже с полным правом утверждать: редкостный мрак. То же самое с Windows 8. Кое-что я все же сказать могу, ибо а) мне довольно много лет, я видел довольно много выпусков Windows и под каждый из них что-то программировал в разных объемах, так что знаю их и как пользователь, и как программист, и б) на то, чтобы я не обзаводился "8-ым" выпуском, есть довольно веские причины (кавычки здесь потому, что я не понимаю, как именно Microsoft нумерует выпуски, и несмотря на наличие уверенности в том, что где-то в Интернете это объясняется, я также уверен, что наличие объяснений далеко не всегда имеет смысл, как корреляция по цифрам далеко не всегда означает наличие причинно-следственной связи).

Когда-то при переходе с Windows 3.11 (Win16) на Windows 95 (Win32) я как программист испытал большую радость. Достаточно хорошо зная, как эта новая система работает внутри (были две замечательные книжки на эту тему: Шульман Э. Неофициальная Windows 95 - К. : Диалектика, 1995 и Питрек М. Секреты системного программирования в Windows 95 - К. : Диалектика, 1996), я был в экстазе от новой модели управления памятью и многозадачности (в частности).


При этом мне было, в общем-то, наплевать на то, как там чего выглядит, то есть на пользовательский интерфейс, который, впрочем, меня тоже вполне устраивал. Теперь же глядя на пресловутый "Start Screen" Windows 8, я вообще не понимаю, на что я смотрю. Точнее нет, понимаю (хотя меня это и не радует)... Когда-то я говорил, что для того, чтобы спрогнозировать, каким будет интерфейс следующей Windows, нужно просто посмотреть, что нового в интерфейсе последнего вышедшего Office. Эта парадигма изменилась. Теперь нужно смотреть, скорее, на XBox Live.


В целом совершенно отчетливо видна ориентировка на "хэндхельды" или, как теперь модно говорить, "гаджеты" - тут я Америки не открою. Но именно в XBox Live впервые появились... даже не знаю, как это назвать, - и не кнопки, вроде... "тыкательные области", расположенные в хрен знает каком порядке и объеме на экране. У меня с этим много проблем:
  • У меня нет touchscreen монитора, и он мне не очень нужен, хотя Microsoft и другие, конечно, сделают все возможное, чтобы он мне понадобился (как Sony в свое время сделала все, чтобы я купил сначала HD-телевизор, о чем я не жалею, а потом и 3D-телевизор, в отсутствии целесообразности которого я теперь уже не сомневаюсь).
  • Что касается гаджетов, то я ими не пользуюсь, за исключением мобильного телефона, к которому даже не подключен Интернет - просто мой "цифровой стиль жизни" сформировался несколько иначе, да и на мобильнике у меня Android, и я им доволен (это первая и на сегодняшний день последняя система, в которой я всегда с первого раза нахожу то, что мне нужно, там, где я и ожидаю это найти).
  • Как программист я лучше понимаю интерфейс на базе файлов, папок и приложений, и тут нужно кое-что пояснить: указанный интерфейс или, точнее, идеология системы машинно-ориентирована, и именно за счет этого программисту проще ее понимать - она абсолютно логична и органично вырастает из самого нижнего уровня работы компьютера. Лет 20-25 уже идут разговоры о том, что для пользователей такая схема организации взаимодействия неудобна, и я готов с этим согласиться, ибо многих обучал работе на компьютере, но давайте смотреть правде в глаза: миллионы и миллиарды пользователей с этим смирились и разобрались за все эти годы, а вот теоретики и производители ПО никак не угомонятся. Тут помимо заботы о человечестве есть еще один аспект: "тыкательно-областная" система организации взаимодействия с компьютером на основе "активностей" или документов, а не папок и файлов в большей мере управляема извне, например, производителем операционной системы. По какому принципу на Start Screen-е располагаются ссылки, в какой последовательности, какие больше, какие меньше, каких вообще нет? Все это определяется производителем операционной системы, и правила могут меняться с каждым новым обновлением по сети. Иными словами, мне всегда могут показать то, что хотят показать, вместо того, чтобы показывать то, что лично мне нужно - получается такой "мерчендайзинг" с доставкой на дом, который, если честно, я в гробу видел. С файлами и папками такой трюк не проходит, ибо они "беспристрастны", если вы понимаете, о чем я. И именно эта причина, как мне кажется, и является основной в желании от них избавиться. А ведь пользователь, работая (подчеркнем это слово) на компьютере, хочет и должен решать свои задачи, а не задачи продавцов цифрового контента по выполнению плана на прибыль. Даже Sony под девизом "все для пользователей" изменила внешний вид и функционал магазина контента для Playstation, так что он теперь выглядит как XBox Live (и грузится в 5 раз медленнее, чем раньше), в результате чего я превратился из пользователя с доминантным серфингом в пользователя с доминантным поиском.


    Раньше все материалы были разложены четко по категориям: "Новые игры", "Новые дополнения" и т. д., а теперь я ничего не вижу. Меня не интересует, что Far Cry подешевел, о чем повествует гигантский плакат в пол-экрана - я не собирался его покупать; мне неинтересно, что Call of Duty можно купить со скидкой в Рождество - я его терпеть не могу, хоть меня и тыкают в него носом который год (вот, кстати, еще одна трактовка для термина "тыкательно-областной интерфейс" - куда тебя захотели ткнуть, туда и ткнули); меня интересуют дополнительные костюмы для бойцов в Dead or Alive 5, потому что с ними веселее играть при большом стечении народа, но найти оные я могу только через поиск (тоже далекий от совершенства).
  • Я уже написал, какие эмоции и по какому поводу я испытывал при выходе Windows 95, также, когда появился .NET-framework я радовался, что это - прекрасная альтернатива OLE с его GUID-ами и замечательная новая технология (даже с философской точки зрения) - это была конструктивная радость специалиста, но все, что я слышу в последние годы - интерфейты и разрешение экранов, и это - может быть, и радость, но только для маркетолога, а я - не он. Поэтому, есть у меня компьютер с 7-ой, она меня устраивает, и на этом точка.
  • И последнее: многолетний опыт показывает, что операционные системы удаются Microsoft через одну. Это даже не проблема кармы - это бизнес-стратегия Microsoft: выдать сырой продукт с кучей непроработанных идей, собрать кучу негативных отзывов, а потом - в следующий раз, сделать что-нибудь нормальное.
Об остальном, то есть про Starcraft и прочее, коротенько. Меня мало волнует Starcraft, потому что в моем понимании, он недалеко ушел от самого первого Warcraft-а. Разумеется, разрабы со мной не согласились бы, разумеется, со мной не согласятся и те, кто играет в него по сетке и на чемпионатах: для первых важны усилия, графика и прочее, для вторых - баланс и различные варианты стратегий победы, но для меня лично, как не относящегося ни к той, ни к другой группе, - тот же Warcraft, та же общая схема, только в другом "сеттинге" с более приятной графикой. Есть юниты, есть их боевая сила и особенности, есть ресурсы, строится база, возможность строительства продвинутых зданий открывается при постройке более примитивных и так далее по той же схеме. Собственно, той же схеме отвечают и все игры из серии Command&Conquer с разницей в темпе и сеттинге. Меня же интересует эволюция игр, новые идеи и их реализация, а здесь эволюции игры, как именно игры - нету вовсе (опять-таки, на мой взгляд), есть эволюция с позиции внешней картинки и каких-то формул подсчета чего-то. Блин, да в Diablo 3 по сравнению со 2-ой частью больше изменений и новых механизмов, хотя вот там-то они как раз, по-моему, и не были нужны. И в играх "про лега человечков" (цитата) инноваций больше - в каждой игре что-то принципиально новое добавляется.

read more at АйТи-общественный блог

Жизненный путь: О СУБД и мучениях

23:14 01.10.2011
Жизненный путь: О СУБД и мучениях
Довелось тут в очередной попотеть над базой данных, а именно - над "Базой данных опасных и неблагоприятных процессов и явлений на территории Красноярского края". Бывает иногда производственная необходимость реализовать что-то не на языке программирования, а в рамках какого-то приложения (в основном это как раз приложения из группы Office - Access, Excel, Outlook, Visio). База была не то, чтобы слишком уж хитрая, но и не простейшая: пять таблиц, связи многие-ко-многим, каскады, целостность и т. д. Еще пришлось карты Google к ней подключать - для визуализации, так сказать, географического положения населенного пункта.

Обматерился. Я недавно высказался в пользу языка C# в таком ключе:

Я работал с C и С++, я работал с VB. Конечно, поскольку я не работаю в области создания ПО постоянно, а только время от времени, я многое забыл. Но того, что я помню, как раз хватает для эффективной работы в C#, поскольку он требует от меня как раз совмещения этих небольших, но системных воспоминаний. Даже удивительно...

С Access-ом ситуация другая. Я бы сказал, прямо противоположная. Кажется, ничто не способно подготовить человека к работе в Access-е: ни опыт разработки в Paradox-е, Clipper-е и FoxPro, ни знания в области теории СУБД и реляционных БД. И, что самое удивительное, опыт работы в нем самом, похоже, тоже не может подготовить к работе с ним самим. Да с Access-ом я тоже сталкиваюсь на жизненном пути время от времени, и да я и о нем многое забываю в промежутках, когда не сталкиваюсь, но все же: я читал книги, я имею опыт программерства на VBA и все такое. Тщетно. На поверку выходит какая-то аномалия: какое бы решение я ни принял, какое бы свойство ни принял за нужное мне, наличие или поведение какой бы функции я ни предполагал - каждый шаг оказывается неверным. Каждый!

Немало способствуют этому и проектировочные и конфигурационные решения, заложенные в сам Access:
  • Кому пришло в голову переводить названия свойств? То есть кто тот человек, который сказал, что в русском Access-е свойства должны называться по-русски? Ё-моё, это же VBA - туда нормальный пользователь и лезть-то не должен.
  • Ладно, нормальному пользователю помимо использования готовых форм и отчетов может понадобиться поднастроить что-то. Но контекстную справку-то можно было выпрямить под это, хотя бы? Она же кривая, как бублик Мёбиуса.
  • В Access-e есть десяток способов сделать что-то одно... а нужен один. Такое впечатление, что сидел себе программист и создавал конструктор форм и отчетов в СУБД. Через плечо ему заглянул кто-то, кому мне очень хочется зла, и сказал: "Конструктор - это, конечно, хорошо, но давай еще сделаем режим макета". Программист согласился и принялся за работу (так толком и не доделав конструктор). Потом через его другое плечо заглянул еще один товарищ, которому я тоже добра не желаю, и заметил: "Слушай, нужны еще мастера - пользователь их любит"! И снова согласился программист, и снова переключился на разработку новых фишек, не доделав режим макета (который вообще лишний, на мой взгляд). Вот в итоге и получилось: создаешь поле со списком в режиме мастера, мастер тебя спрашивает: "У вас будет фиксированный набор значений, набор значений из таблицы или значение в поле будет использоваться для поиска записи в форме"? Да ситуации, когда необходимы сразу второй и третий варианты, встречаются на каждом шагу: например, значения в списке поступают из таблицы, и на основании выбранного значения нужно сделать перезапрос в подчиненную форму. Ну ладно, думаешь, исправлю / доделаю руками. Не тут-то было. Как было сказано выше, в Access-е десяток способов сделать что-то одно (фильтры, запросы, макросы, сценарии - это так для примера, всеми этими способами можно поменять то, что отображается на форме, причем одновременно), и какой из способов выберет тот или иной мастер - неизвестно. Вот и начинаешь плутать. Плутать можно часами.
  • Сообщения об ошибках - это притча во языцых. Представьте: у вас форма с двумя вложенными друг в друга подчиненными. Что-то меняем, сохраняем, открываем в режиме формы, пытаемся что-то изменить в данных... Бац! "У вас где-то в каком-то индексе ошибка!" - радостно заливается Access. Пять таблиц, десятки полей, десятки индексов. Где искать-то? Я когда работал системным аналитиком и техписателем, в нашей системе дистанционного обучения часто выскакивало сообщение "Системная ошибка", после чего ничего не происходило. Ну, кто хорошо знает исключения или знает их не очень хорошо, тот понимает, когда появляются в превеликом множестве и непредсказуемых местах такие вот безликие ошибки. По-моему (я сам исключения ненавижу, они для меня, как парадокс Монти-Холла - я способен их постичь, но через 5 минут уже не могу сказать, почему оно работает, так что, надеюсь, более грамотные коллеги поправят меня, если я ошибаюсь), это происходит чаще всего тогда, когда в один блок try заключается здоровенный кусок кода с вызовами всяческих функций или просто текст функции main(), а в catch(...) прописано отображение вот такого сообщения. Это означает: что бы и где бы ни случилось, результат будет одинаковым и диагностировать такую ошибку с целью исправления можно только одним путем - воспроизвести ситуацию, когда ошибка возникла, что далеко не всегда легко и даже возможно, в особенности если ошибка возникла на стороне клиента. "У нас выскочила ошибка"! "Какая"? "Системная ошибка"! "А что вы делали"? И дальше рассказ о том, что делал сотрудник клиента в момент, когда появилось сообщение, что он делал до этого (с утра), и что делали все остальные сотрудники клиента. Я "в детстве" тоже любил писать код наподобие:

    Public Sub foo()
    On Error GoTo ErrorHandler
       (some action)
    ErrorHandler:
    End Sub

    но уж никак не мог предположить, что такими же вещами занимаются разработчики Microsoft Office-а.
В общем БД, конечно, была реализована, получилось довольно симпатично. Однако я серьезно думаю, какое бы средство с меньшей фунциональностью и заморочками взять в качестве платформы для разработки базы в следующий раз. Больше всего из СУБД мне, в свое время, полюбился Clipper - исключительно теплые воспоминания.

read more at АйТи-общественный блог

"ОбАндроидился"

16:16 20.08.2011
"ОбАндроидился"
Давно собирался приобрести что-нибудь на платформе Android, чтобы присмотреться к ней. Тут как раз решил сменить телефон. Вообще-то, я обычно отовариваю какие-то жутко дорогие штуки (и потом не понимаю, зачем я себе создал такую головную боль и потратил столько денег). В этот раз в обстоятельствах кризиса, протеста против культа потребления и, прямо скажем, в связи с не слишком большим заработком вкупе с серьезными размышлениями решил купить что-нибудь менее шикарное. Ну, совсем-то нешикарное я покупать не умею, остановил свой выбор на Samsung Galaxy Ace.

Дальше было что-то ужасное: контакты не захотели сразу синхронизироваться с Outlook-ом, более того, контакт при звонке отображался в виде ИОФ, а не ФИО, что в сочетании с крупным шрифтом не давало мне возможности сходу определить, какой из трех Иванов Ивановичей, имеющихся среди моих 620 контактов, решил меня побеспокоить. Началось затяжное бурчание: "Все такое непривычное, где тут настройки, где тут, вообще, что-нибудь"? По доброй традиции я проклял всех создателей этой системы и себя вместе с ними за слабость к новшествам. Это продолжалось половину суток...

Спустя эти 12 часов (6 из которых занял сон) я настроил все. Вспоминая, свои разборки с коммуникатором на базе какой-то из Windows (кстати, большую часть того, с чем я разбирался, я тут же забывал), нельзя было не отметить ощутимую разницу.

Спустя еще 12 часов я уже знал как пользоваться всеми приложениями, которые имелись в наличии, подключил безлимитный Интернет и бодро двигался по направлению к МГГУ им. Шолохова, проверяя попутно эффективность маршрута, предложенного мне картами Google.

И в этот момент я подумал: "В течение суток я настроил все, что можно, синхронизировал все, что нужно, установил все, что хотелось. Я знаю каждую функцию и каждое приложение. При этом я не читал руководств и не сильно напрягал себя поисками информации в Интернете (пару раз что-то подсмотрел, уже и не помню, что именно). Слушайте, да это же крутейшая вещь"!

Мне вспоминается фраза из известного интервью комика Louis-а C. K. (не знаю, как это правильно написать по-русски, поскольку не знаю, что в его имени означает C. K.): "Человек держит свой телефон и.... "Оно не...", "Почему оно не..."... ДА ДАЙ ЖЕ ТЫ ЕМУ СЕКУНДУ!" Действительно, мы многое воспринимаем как данность, но следует иногда удивляться и давать технологии не один шанс, а пару... или хотя бы 24 часа на то, чтобы нас впечатлить.



read more at АйТи-общественный блог