Главная > Спецвыпуск > История одной утилиты, или взгляд в прошлое

История одной утилиты, или взгляд в прошлое

Здравствуй, дорогой дневник!

Именно так, наверное, должна начинаться эта запись. Сегодня я в лирическом настроении, и совсем не настроен писать очередные очевидности или гиковские выкрутасы. Мне вспомнился 2009-ый, когда мы только начали, и когда я только начал писать софт, который в настоящее время многие знают и используют. В те времена я ещё не обзавелся микроскопом, чтобы изучать DWM, и вовсю резал по живому. История, которую я хочу вам поведать, посвящена программе Home Basic Color Changer.

Windows 7 Домашняя Базовая несла в себе один маркетинговый трюк: имея на борту полноценное Aero, она не имела никаких средств настройки своего облика. Вот вообще никаких, даже пункта "Персонализация" в контекстном меню Рабочего стола.

Мне пришла в голову мысль как-то исправить ситуацию. Я знал, что все параметры оформления системы хранятся в реестре, и я решил начать с простого - со смены цвета окон.

Мне казалось это чертовски удачной идеей. Во-первых, программа была бы полезна всем пользователям злосчастной Home Basic, коих было немало. Во всяком случае в моем городе все прилавки были завалены девайсами с этой операционкой.Кроме того, я рассчитывал получить неплохой прирост посетителей, жаждущих оформить систему по своему вкусу (и мои ожидания таки да, оправдались).

Засев за бывшую мне в новинку Visual Studio 2008, я неспешно создал в C# вот такой ад:

Home Basic Color Changer

Самая первая версия просто писала шестнадцатеричный цвет в ColorizationColor и значение ColorizationColorBalance в ветку реестра

HKEY_CURRENT_USER\Software\Microsoft\Windows\DWM

Дабы изменения возымели эффект, требовался выход из системы (и вход).

Надо сказать, это мало кому нравилось, но альтернатив-то не было. Пипл хавал.

Чувство стыда за откровенно дерьмовую реализацию ни на минуту не покидало меня. Я без конца доставал своими терзаниями Хрюккинена, но вопросы создания свистоперделок и поныне ему интересны чуть менее, чем никак.

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

Визуально программа не претерпела никаких изменений, однако, теперь она требовала права администратора, и при применении цвета скидывала оформление окон в базовую схему, а затем возвращала назад в Aero.

Побочными эффектами такой выходки были:

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

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

Спустя какое-то время я плотно засел за изучение того, как работает чёртово Aero, и результаты были фееричными. Мне удалось разобрать все параметры реестра, и тогда мне открылось, что у DWM есть не один цвет окон, а два, что есть АПИ, которые позволяют рулить цветом окон на лету, без прав админа и перезапуска служб.

Мне казалось тогда, что то, что я делаю, это реально круто, я накатал целый трактат и создал демонстрационное приложение AeroTuner, которое рулило всеми параметрами диспетчера окон, и кроме того, шикарно работало и на Домашней Базовой:

AeroTuner

Это было первое приложение подобного рода, и оно произвело фурор. Столько народу на сайте я никогда не видел, и наверное, не увижу. Программа разлетелась по всему интернету, и хотя статью никто не читал (что было обидно), это был самый популярный материал моего "информационного"(с) и "аналитического"(р) ресурса(тм).

Полученные навыки и успех Аэротюнера определили направление деятельности Winreview на год вперед. Я преуспел в освистоперделивании Домашней Базовой и Начальной семерок настолько, что смог повторить функциональность апплета "Персонализация" в полном объеме с присущими ему покером и куртизанками.

Personalization Panel

В течение года я допиливал флагманский продукт, лицо Winreview в интернетах, программу Personalization Panel. Она тоже далеко не сразу получилась годной, но в итоге получилась. Позднее, открытый мной способ врубить прозрачность окон в Домашней базовой и заточка Personalization Panel на контроль оформления в пропатченной теме действовали как катализатор популярности программы и проекта, разнося её все дальше и дальше по неведомым просторам всемирной сети.

Home Basic Color Changer больше не требовался.

В один прекрасный день я взял и выпилил его с сайта, решив, что все пользуются Personalization Panel и аеротюнером.

Я жестоко ошибался.

Спустя несколько месяцев я увидел в статистике толпы людей, ломящихся туда, где раньше была страница его загрузки. Я решил, что надо что-то делать и подсунул туда панель. Панель пипл, приходящий за Home Basic Color Changer, брать отказывался. Появились ругательные комментарии. И это при том, сцуко, что злосчастный Home Basic Color Changer был полным говном по сравнению с панелью и функционально нищ!

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

Я взял окно настройки цвета от панели и откомпилил его в исполняемый файл. Так на свет появился Home Basic Color Changer v2:

home basic color changer v2

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

Что было дальше? Дальше настали темные времена. В недобрый час винревью переставало существовать, унося в иной мир все свои статьи и поделки, Хрюккинен пытался пинать труп, но в итоге сдался сам, да и нараставшая лавина разногласий развела нас с ним в разные углы ринга. То, что осталось от Winreview, уже никогда не будет прежним, да и чёрт с ним. Я ни о чем не жалею.

Home Basic Color Changer дал мне бесценные уроки взаимодействия с аудиторией. Я понял, во-первых, с кем я имею дело, и что мне стоит писать на сайте (а что - не писать). Он показал мне, что 99% домашних пользователей смотрят на приложения, состоящие более чем из одного окошка, как на говно. Если приложение состоит более чем из одного окна - я теряю трафик, посетителей, и интерес целевой аудитории. Такова была специфика старого винревью, и именно от неё я бежал тогда, сжигая мосты, меняя движки сайтов и споря с коллегой по цеху.

Что стало с программой? Оригинал, созданный мной, есть на Winaero. Олег Краснов, мой давний приятель и владелец сайта по оформлению системы Темы для Windows перевел программу на русский язык, с моего разрешения:

hbcc

Русская версия - это последняя реинкарнация программы, и новых, я думаю, уже не будет.

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

Winreview.ru можно найти в Вконтакте, Facebook и Twitter. Присоединяйтесь!

Комментарии

  1. myr4ik07

    Спасибо за труды. Спасибо за ПО, спасибо за ресурс. Все интересно и познавательно. Поверьте, увидев по RSS новый пост с вашего ресурса, в первую очередь "бегу" смотреть о чем он )

  2. Сергей Ткаченко

    @myr4ik07
    Спасибо на добром слове )

  3. Геннадий

    Сергей здравствуйте! Может быть напишу банальность и очередной раз вызову Ваше неудовольствие, но Ваша программа Personalization Panel стала для меня лично "родной и необходимой" с момента ее появления и до сегодняшнего дня.

    За что Вам СПАСИБО! Поясню в двух словах, почему на моей флешке с горячим софтом, есть и творение ваших рук.

    По работе (занимаюсь обслуживанием пк и восстановлением систем, спасением данных и тд) часто сталкивался с таким пожеланием клиентов - вот бы в моей системе работала персонализация... Как Вы понимаете, это был крик души пользователей 7-ки стартовой и домашней базовой.

    Благодаря Вам, несколько сотен людей стали счастливее и приобщились к прекрасному )! Особенно девушки! )

    Еще раз СПАСИБО!

    Ваши статьи и программы действительно весьма полезны и познавательны. Все написано простым и понятным языком, с толикой юмора и улыбкой. Это здорово! Буду и дальше учиться у Вас, с удовольствием читать Ваши статьи, и использовать Ваши программы!

    С уважением, Геннадий.

  4. Сергей Ткаченко

    @Геннадий
    Спасибо на добром слове!

    Надеюсь, и далее останусь для вам полезным )

Написать комментарий