7 сентября 2013 г.

Баг в Mono

Нашел один пакостный баг в Mono последней версии, который, по ходу, никто за все время и не заметил. Если вкратце, использовать класс System.Diagnostics.EventTypeFilter нет смысла, так как он ничего не фильтрует.

Завел баг в ихнем жутком багтрекере, жду ответа =)

4 августа 2013 г.

Хорошо, что не BSOD

У меня сегодня микрософтовский PDF Reader для Windows Phone 8 вылетел с такой ошибкой:


Facepalm, одним словом... Мало того, что сообщение об ошибке абсолютно ни о чем, так они еще высветили свой stack trace =) Я уже не говорю про отсутствие кнопки «send report» или, хотя бы, линк в службу поддержки. И это на фоне гайдлайнов и сотен статей по юзабилити.

Но мы же программисты, времени зря не теряем! Что у нас тут... MainViewModel, значит Microsoft использует MVVM, а еще, очевидно, разбивают солюшн по папкам и неймспейсам ViewModel и (возможно) Model. Судя по всему, папки View нет. Вызывают методы ViewModel прямо из View в обработчиках событий code-behind, минуя команды. И не сильно заморачиваются по поводу названий обработчиков событий: Bookmark_Click говорит сам за себя.

Хочется пожелать Microsoft-у побольше хороших программистов.

12 июня 2013 г.

Немного о дизайне iOS 7

Смотрел трансляцию WWDC 2013, и нахожусь сейчас в недоумении. На видео iOS 7 смотрится еще ничего, но при близком рассмотрении это какой-то тихий ужас... Как будто кто-то в спешке набросал эскизы UI в векторном редакторе, а потом случайно инвертировал все цвета. Навскидку несколько скриншотов:

Home Screen Входящий звонок
Control Center  Секундомер и Круг

Иконки уже обругали по-моему все, кому не лень, особенно жуткие у Safari, Settings и Game Center. На экране входящего звонка красный текст на белых кнопках вообще нечитаемый. Control Center вещь полезная (вызывается свайпом снизу-вверх, как панель Charms в Windows 8), но кто эти иконки рисовал? Бритва, пицца, домофон?

10 января 2013 г.

Какую версию Windows 8 выбрать?

Купил себе недавно лицензионную Windows 8, перерыв при этом гору материалов в сети, касающихся отличий разных редакций системы, лицензий и расшифровки всяких там VUP, SL и OEM. В этом посте я решил собрать всю самую важную инфу, которую получил, в том числе опытным путем. Надеюсь, кому-то она пригодится!

30 декабря 2012 г.

WPF кнопки в Windows 8

Стандартный WPF контрол Button на Windows 8 выглядит ужасно. Куда смотрели дизайнеры и тестировщики? О чем это я... Думаю всем известно, что в Windows Presentation Foundation, в простонародье «Дабью-Пи-Эф», изучением которого я занимаюсь в последнее время с помощью замечательной книги Адама Натана (да уж, немного опоздал), старый ламповый GDI, за некоторыми редкими исключениями, не используется вообще. Стало быть, внешний вид (по умолчанию) всех стандартных элементов управления — это «пародия» на родные для системы кнопки, флажки, списки и меню. По характерным внешним признакам любой .NET программист невооруженным глазом отличит родное для системы приложение от WPF. Для примера, я набросал стандартных элементов на формочки в WinForms (GDI) и WPF, и заскриншотил:

WinForms WPF

Так (справа) выглядит стандартная тема WPF на Windows 7. Неплохо, но могло быть лучше. Что здесь не так? Если вы ср**ый эстет как и я, то заметите неуместный градиент в системном меню, размытые полоски на скролл-баре, намного более светлый цвет прогресс-бара, неправильные тени при нажатии на кнопки и выпадающие списки, нестандартный цвет выделения текста. Но это, в принципе, мелочи. Пережить можно. У WinForms (слева) тоже не все так гладко как хотелось бы, отчасти из-за жуткого шрифта Microsoft Sans Serif, который достался в наследие системе чуть ли не от Windows 3.x. Согласно гайдлайнам Microsoft, в Windows 7 шрифт по-умолчанию должен быть Segoe UI, но в WinForms жуткий MS Sans Serif захардкоджен (эта проблема и пути ее решения подробно расписаны здесь и здесь).
Справедливости ради, у JavaFX, Swing и FireMonkey (клон WPF от разработчиков Delphi) дела с имитацией родных тем Windows обстоят еще хуже, чем у WPF. Но WPF делает сама Microsoft, так что с нее спрос будет повыше.

Чуть выше я упомянул про неправильные тени на кнопках в WPF. Давайте сравним кнопки WinForms и WPF на Windows 7 чуть поближе: