В этом небольшом цикле я хочу описать процесс создания максимально приближённого к концепции MetroUI рабочего стола для Windows 7.
Буквально после нескольких недель активного использования WP7 я полюбил все его мелочи и дико захотел оформить свой рабочий стол также. До Win8 тогда ещё было далековато, но нашёлся интересный вариант Rainmeter c темой Omnimo.

С первого взгляда – мечта идиота.
Поработав с Omnimo больше недели, я не выдержал и снёс его. Что мне не понравилось?
Почему? Банально потому, что я не хочу иметь один из двух рабочих столов метрошным. Я хочу иметь один единственный, метрошный стол.
Omnimo вытаскивала весь контент на десктоп. Этого не должно быть — десктоп должен стать Home Screen (или dashboard в каком-то смысле) и только индицировать наличие новой информации или событий.
Как один из дополнительных вариантов — написание Winows сервиса и плагинов к интересующему софту для пересылки уведомлений в Live Tiles.
Мне бы очень хотелось выложить наброски того, что хочется увидеть в итоге, но не хочется отбивать интерес сырыми и неинтересными картинками :-)
Я рассматривал 3 варианта:
Из плюсов — не нужно инсталлировать дополнительный софт и знакомый пользователю процесс подключения и настройки.
Из минусов — не сложилось у меня с этим… Честно. Слишком много проблем деплоймента во время разработки не вызвали у меня энтузиазма и напрочь отбили желание связываться с этим подходом.
Поэтому на этом варианте и остановимся.
Зачем, если скоро Win8 будет?
Буквально после нескольких недель активного использования WP7 я полюбил все его мелочи и дико захотел оформить свой рабочий стол также. До Win8 тогда ещё было далековато, но нашёлся интересный вариант Rainmeter c темой Omnimo.

С первого взгляда – мечта идиота.
Поработав с Omnimo больше недели, я не выдержал и снёс его. Что мне не понравилось?
- Сходство с Metro только визуальное. У меня сложилось впечатление о непонимании концепции MetroUI создателями – наляпанная радуга цветов, яркие hover’ы на всех тайлах, смесь тайлов и объемных квадратиков и т.д.;
- Тайлы абсолютно статичны, а те которые выполняют информационные функции – делают это совсем не Metro-way;
- Сверх гибкость программы вызывала у меня регулярные трудности при настройке под себя;
- Регулярные глюки с пропаданием части тайлов, всплыванием тайлов наверх и т.п.;
- Отсутствие анимации. Понимаю что это свистелки-перделки, но на WP они очень органично вписываются в концепцию.
Почему? Банально потому, что я не хочу иметь один из двух рабочих столов метрошным. Я хочу иметь один единственный, метрошный стол.
А теперь, то что я хочу
Максимально соответствие стилю Metro UI
Под этим я подразумеваю упор на информацию и на удобство использования. Никаких финтифлюшек в стиле aero — можно уже и отдохнуть немного от псевдо-реалистичных иконок.Omnimo вытаскивала весь контент на десктоп. Этого не должно быть — десктоп должен стать Home Screen (или dashboard в каком-то смысле) и только индицировать наличие новой информации или событий.
Live-вость тайлов
Самое приятное в концепции тайлов — это их «живость», значит и наш десктоп должен уметь получать инфу из инета, выдёргивать из доступных источников на винте/через API работающего софта.Как один из дополнительных вариантов — написание Winows сервиса и плагинов к интересующему софту для пересылки уведомлений в Live Tiles.
Красота
Все же мы стремимся к красоте, правильно? Анимация всей работы тайлов в стиле WP7 прекрасно поднимет привлекательность десктопа, при этом не будет напрягать юзера прыгающими и скачущими финтифлюшками.Расширяемость
Конечная цель – десктоп, дающий возможность добавления тайлов и полной их настройки. Весь остальной функционал (скорее можно назвать типами тайлов) — должен реализовываться исключительно с помощью подключаемых плагинов.Мне бы очень хотелось выложить наброски того, что хочется увидеть в итоге, но не хочется отбивать интерес сырыми и неинтересными картинками :-)
Как делать будем?
Я рассматривал 3 варианта:
Windows Sidebar Gadget: WPF
Довольно много времени ушло на поиск информации по работе гаджетов с WPF. Единственный адекватный вариант — WPF завёрнутый в XBAP завёрнутый в HTML.Из плюсов — не нужно инсталлировать дополнительный софт и знакомый пользователю процесс подключения и настройки.
Из минусов — не сложилось у меня с этим… Честно. Слишком много проблем деплоймента во время разработки не вызвали у меня энтузиазма и напрочь отбили желание связываться с этим подходом.
Windows Sidebar Gadget: Sivlerlight
Практически тоже самое что и предыдущий вариант, только без костылей. Да и Silverlight более-менее знаком. Вот только обрезали его слишком сильно — тоже не подходит.WPF Application с нуля
Ну… Впринципе — вполне логичный вариант. Да, пользователю придётся захламлять систему лишней софтиной. Но это наверное единственный недостаток. Всё тот-же мощный XAML, полный доступ к файловой системе, сервисам, интернету и вообще всему, что может понадобиться программе.Поэтому на этом варианте и остановимся.
Структура серии статей
- Введение
- Первая итерация – работающие тайлы на рабочем столе с примитивным конфигуратором
- Вторая итерация – реализация списка приложений помимо основных тайлов, добавление secondary tiles
- Третья итерация – механизм Live Tiles, подключаемый модуль для работы с RSS (или чем-либо другим)