<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2russianfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" version="2.0"><channel><title>Блог Константина Кичинского</title><link>http://blogs.msdn.com/b/kichinsky/</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 5.6.583.20496 (Build: 5.6.583.20496)</generator><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/kichinsky" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="kichinsky" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fkichinsky" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fkichinsky" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://lenta.yandex.ru/settings.xml?name=feed&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2Fkichinsky" src="http://lenta.yandex.ru/i/addfeed.gif">?????? ? ??????.?????</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2Fkichinsky" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><item><title>Дизайн приложений для Windows Phone. Контрастность и доступность</title><link>http://blogs.msdn.com/b/kichinsky/archive/2012/01/30/windows-phone-design-contrast-and-accessibility.aspx</link><pubDate>Mon, 30 Jan 2012 05:13:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10261644</guid><dc:creator>Константин Кичинский</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/kichinsky/rsscomments.aspx?WeblogPostID=10261644</wfw:commentRss><comments>http://blogs.msdn.com/b/kichinsky/archive/2012/01/30/windows-phone-design-contrast-and-accessibility.aspx#comments</comments><description>&lt;p&gt;&lt;figure&gt; &lt;a href="http://img-fotki.yandex.ru/get/4700/25193168.f/0_54485_caa0feec_XXL.jpg"&gt;&lt;img src="http://img-fotki.yandex.ru/get/4700/25193168.f/0_54485_caa0feec_L.jpg" /&gt;&lt;/a&gt; &lt;figcaption&gt;&lt;small&gt;Цвета на экране и картинке могут отличаться от реальных и воспринимаемых.&lt;/small&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Продолжая &lt;a href="http://blogs.msdn.com/b/kichinsky/archive/2011/11/19/windows-phone-design-themes-and-accents.aspx"&gt;разговор о темах и акцентах&lt;/a&gt; в Windows Phone, самое время затронуть еще одну сторону работы с информацией &amp;mdash; ее доступность для восприятия пользователем (человеком по ту сторону экрана телефона). Надо отметить, что сама по себе задача обеспечения доступности (accessibility) информации для человека, безусловно, намного шире и включает вопросы не только считывания информации, но и ее ввода. Некоторые из таких вопросов с точки зрения обеспечения удобства пользователя освещены в инструкции по &lt;a href="http://www.microsoft.com/windowsphone/ru-ru/howto/wp7/basics/ease-of-access-on-my-phone.aspx"&gt;специальным возможностям телефона&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Сегодня я хочу остановиться только на двух моментах: 1) использовании цвета и 2) работе с текстом. За рамками данной статьи останутся непосредственно интерфейсные решения, в частности рекомендации по размерам и размещению элементов управления (это хорошая тема для отдельного разбора).&lt;/p&gt;
&lt;h2&gt;Управление цветом&lt;/h2&gt;
&lt;p&gt;Люди, так уж сложилась наша природа, по-разному видят. Многим из вас, наверняка, знакомо такое явление как &lt;a href="http://ru.wikipedia.org/wiki/%C4%E0%EB%FC%F2%EE%ED%E8%E7%EC"&gt;дальтонизм&lt;/a&gt;, при котором нарушается цветовое восприятие. По &lt;a href="http://www.colblindor.com/2006/04/28/colorblind-population/"&gt;статистике&lt;/a&gt;, той или иной форме этого нарушения зрения подвержено около 8% мужского населения и 0.5% женского. И дальтонизм, естественно, далеко не единственное возможное нарушение.&lt;/p&gt;
&lt;p&gt;Важным моментом при проектировании интерфейса является отслеживание того, чтобы вся информация оставалась различимой независимо от нарушений зрения (конечно, в определенных пределах). В случае дальтонизма особую роль играют цвет элементов управления, текста и фона и их сочетание друг с другом.&lt;/p&gt;
&lt;h3&gt;Контрастность&lt;/h3&gt;
&lt;p&gt;Ключевым практическим параметром, на который можно опираться, является соотношение яркости между двумя цветами (например, между цветом фона и цветом текста) &amp;mdash; контрастностью. Конкретный алгоритм описан в соответствующей рекомендации W3C &amp;mdash; &lt;a href="http://www.w3.org/TR/WCAG20/"&gt;Web Content Accessibility Guidelines (WCAG) 2.0&lt;/a&gt;, которая хотя формально и содержит слово "веб" в названии, во многом применима и к другим направлениям, в частности проектированию мобильных и десктопных приложений.&lt;/p&gt;
&lt;p&gt;Формула вычисления контрастности выглядит следующим образом:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;(L1 + 0.05) / (L2 + 0.05), где&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;L1 &amp;mdash; относительная яркость наиболее светлого цвета из двух,&lt;/li&gt;
&lt;li&gt;L2 &amp;mdash; относительная яркость наиболее темного цвета из двух.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Относительная яркость L определяется как взвешенная сумма линеаризованных компонент цвета (обратите внимание, что все коэффициенты различны):&lt;/p&gt;
&lt;p&gt;L = 0.2126 * R + 0.7152 * G + 0.0722 * B, где&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;R = (R&lt;sub&gt;sRGB&lt;/sub&gt; &amp;lt;= 0.03928) ? R&lt;sub&gt;sRGB&lt;/sub&gt;/12.92 : ((R&lt;sub&gt;sRGB&lt;/sub&gt; + 0.055)/1.055)&lt;sup&gt;2.4&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;G = (G&lt;sub&gt;sRGB&lt;/sub&gt; &amp;lt;= 0.03928) ? G&lt;sub&gt;sRGB&lt;/sub&gt;/12.92 : ((G&lt;sub&gt;sRGB&lt;/sub&gt; + 0.055)/1.055)&lt;sup&gt;2.4&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;B = (B&lt;sub&gt;sRGB&lt;/sub&gt; &amp;lt;= 0.03928) ? B&lt;sub&gt;sRGB&lt;/sub&gt;/12.92 : ((B&lt;sub&gt;sRGB&lt;/sub&gt; + 0.055)/1.055)&lt;sup&gt;2.4&lt;/sup&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;и R&lt;sub&gt;sRGB&lt;/sub&gt; = R&lt;sub&gt;8bit&lt;/sub&gt;/256, G&lt;sub&gt;sRGB&lt;/sub&gt; = G&lt;sub&gt;8bit&lt;/sub&gt;/256, B&lt;sub&gt;sRGB&lt;/sub&gt; = B&lt;sub&gt;8bit&lt;/sub&gt;/256.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Согласен, навряд ли, вы возьметесь каждый раз вычислять это вручную, но, думаю, вам не составит большого труда записать формулу в Excel или, скажем, небольшой js-код. Впрочем, проще всего, воспользоваться готовым &lt;a href="http://juicystudio.com/services/luminositycontrastratio.php"&gt;online-калькулятором&lt;/a&gt;, или специальным приложением &amp;mdash; &lt;a href="http://www.visionaustralia.org/info.aspx?page=628"&gt;Colour Contrast Analyser&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Указанное приложение, надо отметить, не просто позволяет вычислить контрастность, но и также умеет показывать, какой будет контрастность в различных случаях дальтонизма.&lt;/p&gt;
&lt;p&gt;Теперь, когда вы знаете, как считается контрастность, осталось понять, как ее трактовать. Прежде всего, из вида формулы должно быть понятно, что все возможные значения контрастности больше или равны 1 (записывается как 1:1). В этом случае цвет текста и фона совпадает и ничего не видно даже самому зрячему из нас. Максимальное значение (это не так очевидно) равно 21:1 и соответствует белому на черном или черному на белом. Все остальное &amp;mdash; между 1:1 и 21:1.&lt;/p&gt;
&lt;p&gt;В документе W3C выделяется два уровня контрастности. Минимальному рекомендованному (&lt;i&gt;AA&lt;/i&gt;) соответствует контрастность 4.5:1 и 3:1 для крупного текста. Улучшенному (&lt;i&gt;ААА&lt;/i&gt;) &amp;mdash; 7:1 и 4.5:1, соответственно. (Эти требования не касаются неактивных элементов интерфейса, украшательств, логотипов и других подобных элементов.)&lt;/p&gt;
&lt;p&gt;Как это знание применить при разработке интерфейса для Windows Phone? На самом деле, это достаточно просто. Давайте рассмотрим два ключевых сценария.&lt;/p&gt;
&lt;h3&gt;Темы и акценты Windows Phone&lt;/h3&gt;
&lt;p&gt;Предположим, вы используете в качестве основных цветов в своем приложении системные кисти, то есть для текста используете системный ресурс с foreground-цветом, для фона background-цвет, и для каких-то важных элементов акцентный цвет. Что будет происходить в этом случае с точки зрения контрастности интерфейса?&lt;/p&gt;
&lt;p&gt;В случае традиционного черного по белому и наоборот все будет отлично. А вот в случае акцентов, оказывается, все зависит от конкретной темы и конкретного акцентного цвета, которые выбрал пользователь. Я составил небольшую табличку:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://img-fotki.yandex.ru/get/4703/25193168.f/0_54492_2d338a5d_L.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Первое, что вам должно броситься в глаза, это наличие не только зеленых значений (выше 4.5:1), но и заметной доли желтых (выше 3:1) и красных (все, что ниже). Оказывается, что не все сочетания акцентов и тем оказываются достаточно контрастными, чтобы удовлетворить рекомендациям. Как же так?&lt;/p&gt;
&lt;p&gt;Прежде всего, неудовлетворение рекомендации, еще наверняка не означает, что у конкретного человека будет проблема с восприятием информации. Вторая важная деталь &amp;mdash; это практическая симметричность расположения цветов: есть как хорошая серединка, так и отдельные цвета, подобранные так, чтобы быть высококонтрастными (до 10:1) на одном из стандартных фонов и, как результат, получающие низкую контрастность на противоположном. Например, лаймовый цвет (lime) оказывается самым контрастным на черном и наименее контрастным на белом.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://img-fotki.yandex.ru/get/2714/25193168.f/0_54491_e0640fe2_L.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Это не только нормально, но и правильно (математику не обманешь &amp;mdash; нельзя быть высококонтрастным и на светлом, и на темном одновременно). Обратите также внимание в таблице на 4-6 колонки, в которых приведено значение контрастности тех же акцетных цветов на светлом и темном фоне, но уже в случае различных типов дальтонизма. Вы легко можете заметить, что, например, бирюзовый (teal) на белом может неожиданно стать контрастным даже по критерию ААА, что очень здорово. То же самое верно и в отношении богатых на красный оттенок красного и мадженты (magenta) &amp;mdash; их контрастность на белом в случае протанопии и дейтеранопии очень сильно повышается.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Вывод&lt;/b&gt;: если вы используете в своем приложении при задании цвета системные ресурсы (тему и акцентный цвет), вы заведомо обеспечиваете огромную гибкость в выборе наиболее контрастной схемы для конкретного пользователя. Он сам может выбрать, какое сочетанием ему наиболее комфортно &amp;mdash; и это очень важно.&lt;/p&gt;
&lt;h3&gt;Собственные темы&lt;/h3&gt;
&lt;p&gt;Второй частый сценарий заключается в том, что разработчик фиксирует в своем приложении конкретные цвета для всего интерфейса, так, что они остаются неизменными независимо от темы и акцента, выбранных пользователем в телефоне. Иногда добавляется немножко больше гибкости: внутри приложения внедряются темы (например, дневная и ночная).&lt;/p&gt;
&lt;p&gt;Про такой вариант нельзя однозначно сказать, хорошо это или плохо. С одной стороны, вы сужаете пользователю пространство для маневра, с другой, могут быть вполне разумные причины это делать, например, из-за следования корпоративным гайдлайнам (брендирование приложения). Навряд ли было бы правильным делать приложение для Facebook в зеленых оттенках, или твиттер в розовом.&lt;/p&gt;
&lt;p&gt;Как бы там ни было, полная ответственность за обеспечение достаточно контрастных решений лежит на разработчике (дизайнере) приложения. Пожалуйста, убедитесь, что вся ключевая информация во всех темах, которые вы предлагаете пользователю, остается достаточно контрастной:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://img-fotki.yandex.ru/get/5504/25193168.f/0_54493_d0881e96_XXL.jpg"&gt;&lt;img src="http://img-fotki.yandex.ru/get/5504/25193168.f/0_54493_d0881e96_L.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Вывод&lt;/b&gt;: если вы внедряете собственную тему, следите за контрастностью используемых цветов. (Это в дополнение к общей рекомендации внимательно следить за цветами, особенно когда часть из них переопределяется.)&lt;/p&gt;
&lt;h2&gt;Работа с текстом&lt;/h2&gt;
&lt;p&gt;Напомню кратко про контрастность текста, прежде, чем дать дополнительные рекомендации. Текст, как одна из основных форм передачи информации в Windows Phone должен быть контрастным. Согласно рекомендации, описанной в WCAG, есть два уровня контрастности:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Минимальный AA: 4.5:1 для обычного текста и 3.0:1 для крупного текста,&lt;/li&gt;
&lt;li&gt;Улучшенный AАA: 7:1 для обычного текста и 4.5:1 для крупного текста,&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Крупный текст &amp;mdash; это все, что выше 18pt или 14pt при использовании жирного начертания (размер в пикселях может варьироваться в зависимости от конкретного шрифта).&lt;/p&gt;
&lt;h3&gt;Текст и изображения&lt;/h3&gt;
&lt;p&gt;Часто встречается задача, когда необходимо дать подпись к картинке, расположив ее поверх. Как это сделать наилучшим образом?&lt;/p&gt;
&lt;p&gt;Давайте начнем с обратного. Как надписи размещать точно не следует? Очевидно так, что будет теряться контраст. Очень часто такая картина встречается, если изображение случайно или почти случайно (например, выбирается из некоторой достаточно большой базы) &amp;mdash; фотография к новости, обложка к альбому или книге, постер к фильму и т.д.&lt;/p&gt;
&lt;p&gt;Как только в любом из этих случаев вы размещаете напрямую текст поверх изображения, вы сильно рискуете получить комбинацию, на которой контраст пропадет. Как это исправить?&lt;/p&gt;
&lt;p&gt;Можно написать текст рядом на контрастном фоне, либо добавить подложку. На мой взгляд, хорошо смотрятся как контрастные сплошные подложки (в том числе цветные, например, акцентного цвета), так и градиенты, уводящие изображение в нужной части в светлые или темные цвета:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://img-fotki.yandex.ru/get/4402/25193168.f/0_54494_62e9c577_XXL.jpg"&gt;&lt;img src="http://img-fotki.yandex.ru/get/4402/25193168.f/0_54494_62e9c577_L.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Существуют ситуации, когда ни то, ни другое не применимо: например, при работе с панорамой. В этом случае решение проблемы сводится к в целенаправленному подбору контрастного по отношению к тексту изображения (иногда этого можно добиться применяя различные спецэффекты):&lt;/p&gt;
&lt;p&gt;&lt;a href="http://img-fotki.yandex.ru/get/2714/25193168.f/0_5449a_22b20bb3_XXL.jpg"&gt;&lt;img src="http://img-fotki.yandex.ru/get/2714/25193168.f/0_5449a_22b20bb3_L.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Размер текста&lt;/h3&gt;
&lt;p&gt;Еще один важный момент, о котором стоит помнить &amp;mdash; это размер используемого в приложении текста. Как вы уже могли понять на примере контрастности, этот параметр также хорошо влияет на восприятие (это помимо банального "мелкий текст трудно читать").&lt;/p&gt;
&lt;p&gt;Тут, собственно, нечего рассказывать кроме того, что &lt;strong&gt;минимальный рекомендуемый размер текста для Windows Phone &amp;mdash; 15pt&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Если вам удобнее рассчитывать значения в пикселях, вот небольшая схема перевода для Segoe WP (коэффициент &amp;mdash; 4/3):&lt;/p&gt;
&lt;p&gt;&lt;a href="http://img-fotki.yandex.ru/get/5502/25193168.f/0_54496_b3b5e1fa_XXL.jpg"&gt;&lt;img src="http://img-fotki.yandex.ru/get/5502/25193168.f/0_54496_b3b5e1fa_L.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Заключение&lt;/h2&gt;
&lt;p&gt;Проектируя приложения, пожалуйста, не забывайте о необходимости обеспечения хотя бы минимального уровня доступности вашего приложения для ваших пользователей. Минимальный шрифт &amp;mdash; 15pt, минимальный контраст текста &amp;mdash; 4.5:1, минимальный контраст иконок &amp;mdash; 3:1. Лучше &amp;mdash; больше.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10261644" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=_lFGVDBzyOk:SlQLxRl2Mzk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=_lFGVDBzyOk:SlQLxRl2Mzk:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=_lFGVDBzyOk:SlQLxRl2Mzk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?i=_lFGVDBzyOk:SlQLxRl2Mzk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=_lFGVDBzyOk:SlQLxRl2Mzk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/kichinsky/~4/_lFGVDBzyOk" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Design/">Design</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Windows+Phone/">Windows Phone</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Metro/">Metro</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/UX/">UX</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/accessibility/">accessibility</category></item><item><title>[#MetroLynch] Forismatic</title><link>http://blogs.msdn.com/b/kichinsky/archive/2012/01/27/metrolynch-forismatic.aspx</link><pubDate>Fri, 27 Jan 2012 18:13:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10261276</guid><dc:creator>Константин Кичинский</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/kichinsky/rsscomments.aspx?WeblogPostID=10261276</wfw:commentRss><comments>http://blogs.msdn.com/b/kichinsky/archive/2012/01/27/metrolynch-forismatic.aspx#comments</comments><description>&lt;p&gt;В шестом &lt;a href="http://blogs.msdn.com/b/kichinsky/archive/tags/_2300_metrolynch/"&gt;метро-линче&lt;/a&gt; разбирается приложение &lt;a href="http://www.windowsphone.com/ru-RU/apps/14abbe4f-0c5a-49f4-9e51-3df8cb7c1c42"&gt;Forismatic&lt;/a&gt; от &lt;a href="https://twitter.com/#!/alexandryz"&gt;Александра Заозерского&lt;/a&gt; &amp;ndash; клиент для &lt;a href="http://ru.forismatic.com/"&gt;одноименного сервиса цитат&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/0741.image_5F00_149E85E3.png" width="500" height="154" /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;small&gt;&lt;em&gt;&lt;strong&gt;Замечание&lt;/strong&gt;: я начал писать рекомендации по улучшению приложения для версии 1.1, однако, приложение на днях обновилось до версии 1.3. Поэтому некоторые из ошибок могут быть уже исправлены, а отдельные пожелания неактуальны, что впрочем, надеюсь, не делает обзор менее полезным.&lt;/em&gt;&lt;/small&gt;&lt;/p&gt;
&lt;h2&gt;Навигация&lt;/h2&gt;
&lt;h3&gt;Приоритезация действий в панели приложения&lt;/h3&gt;
&lt;p&gt;В приложении в панель вынесено три действия: обновить цитату (показать следущую), настройки и перейти в избранное:&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/7587.image_5F00_72667A5C.png" width="113" height="189" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/6012.image_5F00_57B9DE43.png" width="113" height="189" /&gt;&lt;/p&gt;
&lt;p&gt;При проектировании панели приложения нужно исходить из того, что предлагаемые действия должны быть максимально контекстыми (применимыми к текущему контексту). В панель приложения правильно выносить самые важные действия, которые пользователь может предпринять в текущий момент по отношению к текущей ситуации.&lt;/p&gt;
&lt;p&gt;Например, если я открываю почтовый клиент, в списке писем я могу: написать новое письмо (что-то добавить в список), перейти к массовому выделению писем, обновить список или поискать в списке. Если я перехожу к конкретному письму, я могу: ответить, удалить его, перейти к следующему или предыдущему письму.&lt;/p&gt;
&lt;p&gt;А сама возможность вынести что-то в панель приложения и наличие функционала, который можно вызывать в приложении еще не означают, что эти функции нужно выносить в панель.&lt;/p&gt;
&lt;p&gt;В данном случае настройки приложения &amp;ndash; это побочный (дополнительный функционал). Список избранного, в общем-то тоже. А вот возможность отправить SMS или поделиться цитатой с друзьями через социальные сети (расшарить) &amp;ndash; это как раз контекстные действия. Таким же контекстным действием является добавление цитаты в избранное, которое вынесено в отдельную кнопку в правом верхнем углу.&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/7266.image_5F00_47CA997F.png" width="113" height="189" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/0317.image_5F00_4619CDAB.png" width="113" height="189" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/5078.image_5F00_7D7FDED9.png" width="113" height="189" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/6574.image_5F00_02EE4F7E.png" width="113" height="189" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;Исправление&lt;/span&gt;&lt;/b&gt;: убрать настройки в меню приложения, перенести возможности поделиться цитатой или добавить ее в избранное в панель приложения.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color: #f79646;" color="#f79646"&gt;Рекомендация&lt;/span&gt;&lt;/strong&gt;: свести случайные цитаты и избранное в один Pivot-элемент:&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/6646.image_5F00_2F970957.png" width="240" height="198" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Замечание&lt;/b&gt;: при этом, конечно, нельзя будет повесить на страницу со случайной цитатой жест для перемотки к предыдущему посту.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Переходы между избранным и цитатами&lt;/h3&gt;
&lt;p&gt;При нажатии на кнопку перехода в избранное, открывается окно со списком добавленных туда цитат, далее при выборе конкретной цитаты открывается страница, аналогичная странице вывода случайной цитаты (подозреваю, что это она и есть, просто с другим содержимым), с которой я снова могу попасть в избранное:&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/3426.image_5F00_58BEA195.png" width="240" height="173" /&gt;&lt;/p&gt;
&lt;p&gt;Так ходить от одной страницы к другой я могу бесконечно, причем так как страницы завязаны друг на друга, история навигации будет постоянно захламляться &amp;ndash; и выйти из приложения, нажимая кнопку &amp;laquo;назад&amp;raquo; станет очень трудно:&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/3007.image_5F00_7728E27E.png" width="240" height="173" /&gt;&lt;/p&gt;
&lt;p&gt;Кстати, побочным эффектом (багом) становится то, что, переходя по экранам назад, я снова и снова прохожу через страницу со случайной цитатой, содержимое которое не обновляется вслед за переходами. То есть, если я прошел через (и)збранное, цитату (а), (и), (б), (и), (в), (и), ... &amp;ndash; и возвращаюсь назад, то я увижу экраны ... (и), (в), (и), &lt;span style="color: #ff0000;" color="#ff0000"&gt;(в)&lt;/span&gt;, (и), &lt;span style="color: #ff0000;" color="#ff0000"&gt;(в)&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;См. также мою статью &amp;laquo;&lt;a href="http://blogs.msdn.com/b/kichinsky/archive/2012/01/18/designing-apps-for-windows-phone-navigation-levels-back-and-cycles.aspx"&gt;Дизайн приложений для Windows Phone. Навигация. Уровни, назад и циклы&lt;/a&gt;&amp;raquo;.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;Исправление&lt;/span&gt;&lt;/b&gt;: при выборе конкретной цитаты из избранного открывать отдельную страницу только с этой цитатой. Для возврата в избранное будет достаточно нажать аппаратную кнопку &amp;laquo;назад&amp;raquo;:&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/5148.image_5F00_3324FE67.png" width="400" height="200" /&gt;&lt;/p&gt;
&lt;p&gt;При желании на страницу цитаты из избранного можно добавить кнопки &amp;laquo;вперед&amp;raquo;/&amp;laquo;назад&amp;raquo; для перехода по списку аналогично поведению приложения &amp;ldquo;outlook&amp;rdquo; при просмотре отдельных писем.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ffc000;" color="#ffc000"&gt;Рекомендация&lt;/span&gt;&lt;/b&gt;: кстати, попутно хорошо бы обеспечить возможность удаления цитаты из избранного. Сейчас это невозможно (в версии 1.3 это исправлено).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Настройки&lt;/h3&gt;
&lt;p&gt;Настройки и информация о программе объединены в одну панораму, хотя переход на эту страницу осуществляется только черех кнопку &amp;laquo;настройки&amp;raquo; панели приложения основного экрана:&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/1411.image_5F00_7F7C9208.png" width="115" height="191" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/3554.image_5F00_302F99B4.png" width="115" height="191" /&gt;&lt;/p&gt;
&lt;p&gt;Логика навигации должна быть однозначной: если я нажал настройки, значит, я попаду в настройки и только сюда. Чтобы почитать о приложении, я должен нажать где-то на пункт &amp;laquo;о приложении&amp;raquo;.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;Исправление&lt;/span&gt;&lt;/b&gt;: разбить pivot на две страницы, добавив в меню панели приложения пункт &amp;laquo;о программе&amp;raquo; (в дополнение к &amp;laquo;настройкам&amp;raquo;) &amp;ndash; см. картинку выше.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Дизайн&lt;/h2&gt;
&lt;h3&gt;Иконки приложения&lt;/h3&gt;
&lt;p&gt;Большая и маленькая иконки приложения сделаны с использованием градиентов, что &lt;a href="http://msdn.microsoft.com/en-us/library/hh202884(v=vs.92).aspx"&gt;не рекомендуется&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/2072.image_5F00_2EEB00D5.png" width="115" height="191" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/5518.image_5F00_6246C431.png" width="115" height="191" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/0410.image_5F00_6095F85D.png" width="115" height="191" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/8836.image_5F00_37AAE354.png" width="115" height="191" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;Исправление&lt;/span&gt;&lt;/b&gt;: сделать фон монотонным.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Замечание&lt;/strong&gt;: общая рекомендация к инонкам приложения &amp;ndash; следует избегать 3D-шрифтов, градиентов, выпуклостей, теней, скругленных уголков, черных и белых фонов (которые исчезнут в светлой или темной теме), двусмысленных пиктограмм, и прозрачных фонок с красочными изображениями (в подложку иконки гладется фон акцентого цвета).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Стартовый экран&lt;/h3&gt;
&lt;p&gt;Стартовый экран приложения (он же Splash screen) содержит явные артефакты сжатия. Возможно, это также связано с использованием градиента в сочетании с 16-битностью режима рендеринга.&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/2047.image_5F00_3D1953F8.png" width="113" height="189" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/5672.image_5F00_2D2A0F34.png" width="113" height="189" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/7206.image_5F00_19307C9E.png" width="113" height="189" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;Исправление&lt;/span&gt;&lt;/b&gt;: повысить качество фоновой картинки на стартовом экрана. Как вариант, можно просто убрать градиентный фон. См. также статью &amp;laquo;&lt;a href="http://blogs.msdn.com/b/kichinsky/archive/2012/01/26/windows-phone-apps-design-practice-gradients-and-16bits.aspx"&gt;Дизайн приложений для Windows Phone. Практика. Градиенты и 16-битность&lt;/a&gt;&amp;raquo;.&lt;/p&gt;
&lt;h3&gt;Иконки и панель приложения&lt;/h3&gt;
&lt;p&gt;В панели приложения использованы собственные иконки в различных варианциях (темах), не удовлетворяющие официальным рекомендациям.&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/6724.image_5F00_1E32BA4D.png" width="113" height="189" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/8865.image_5F00_3C9CFB36.png" width="113" height="189" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/5226.image_5F00_74030C64.png" width="113" height="189" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/5381.image_5F00_79717D08.png" width="113" height="189" /&gt;&lt;/p&gt;
&lt;p&gt;Общие требования к иконкам следущие:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Иконки представляют собой изображения 48х48px&lt;/li&gt;
&lt;li&gt;Визуальная часть иконок (foreground) должна быть белой с прозрачной подложкой, причем она должна умещаться в квадрат 26x26px, и быть ровно по центру круга.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Любые другие эффекты, в том числе цветовые решения, хотя технически возможны, не рекомендуются без веских на то оснований.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;Исправление&lt;/span&gt;&lt;/b&gt;: использовать иконки правильного размера и без лишних эффектов, как это сделано в системной теме внутри приложения:&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/7444.image_5F00_69EE6B39.png" width="115" height="191" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/3247.image_5F00_3ABC7FA2.png" width="115" height="191" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ffc000;" color="#ffc000"&gt;Рекомендация&lt;/span&gt;&lt;/b&gt;: для дополнительных тем можно настраивать цвет самой панели задач, сохраняя при этом контрастность иконок и фона панели:&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/7433.image_5F00_66F90686.png" width="400" height="195" /&gt;&lt;/p&gt;
&lt;p&gt;С цветными яркими вариантами нужно быть осторожным, так как фактический контраст может оказаться невысоким (см. например, левый нижний пример &amp;ndash; у него contrast ratio между цветом панели и белым цветом иконок 3:1, что представляется минимально достаточным для иконок в интерфейсе).&lt;/p&gt;
&lt;p&gt;Нежелательность использования спецэффектов также применима и к иконке сердечка (для добавления в избранное):&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/2146.image_5F00_04F7147B.png" width="113" height="189" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/4380.image_5F00_757402AB.png" width="113" height="189" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/4760.image_5F00_742F69CC.png" width="113" height="189" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/5355.image_5F00_5982CDB3.png" width="113" height="189" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;Исправление&lt;/span&gt;&lt;/b&gt;: убрать излишние градиенты и неоновые эффекты:&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/5758.image_5F00_3F42648F.png" width="142" height="189" /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Также, если это кнопка (а это кнопка), она должна выглядеть как кнопка в Windows Phone:&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/0143.image_5F00_1E4EF1E8.png" width="142" height="189" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color: #ffc000;" color="#ffc000"&gt;Рекомендация&lt;/span&gt;&lt;/strong&gt;: при этом, конечно, нужно исправить существующую проблему схожести значков &amp;ldquo;добавить в избранное&amp;rdquo; и перейти в избранное. В первом случае это одно сердечко, во втором, это сдвоенное сердечко. Для добавления можно добавить к сердечку значок плюса. &lt;/p&gt;
&lt;p&gt;Также стоит обратить внимание на контрастность фона приложения и цвета панели приложения в ночной теме:&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/3771.image_5F00_75D00FD3.png" width="113" height="189" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/5822.image_5F00_7B3E8077.png" width="113" height="189" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/6153.image_5F00_32A491A6.png" width="113" height="189" /&gt;&lt;/p&gt;
&lt;p&gt;В данном случае они практически сливаются, чего также быть не должно: иконки и меню не должны висеть в воздухе.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;Исправление&lt;/span&gt;&lt;/b&gt;: добавить контрастности между фоном приложения и цветом панели задач.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Контрастность текста&lt;/h3&gt;
&lt;p&gt;Следующий важный момент касается контрастности цвета текста и цвета фона. Тут, если с основным цветом все более-менее нормально (хотя в светлой теме стоит все же увеличить контрастность), то в случае указания автора цитаты, начинаются проблемы:&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/1273.image_5F00_7EFC2547.png" width="366" height="200" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-contrast.html"&gt;Рекомендуемое&lt;/a&gt; минимальное пороговое значение контрастности между текстом и фоном &amp;ndash; 4.5:1.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;Исправление&lt;/span&gt;&lt;/b&gt;: сделать цвет подписи с именем автора цитаты более контрастным.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;О программе&lt;/h3&gt;
&lt;p&gt;На странице о программе (сейчас это часть пивота) в заголовке указана версия программы. Лучше в заголовке ограничиться названием, вынеся версию в описание.&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/0513.image_5F00_3D153FF9.png" width="115" height="191" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/7041.image_5F00_3BD0A71A.png" width="115" height="191" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ffc000;" color="#ffc000"&gt;Рекомендация&lt;/span&gt;&lt;/b&gt;: добавить краткое описание, указав автора приложения. Сюда же можно перенести номер версии, дату выпуска и любые другие полезные контакты.&lt;/p&gt;
&lt;p&gt;Кнопки стоит использовать только для действий, причем название кнопки желательно делать с использованием глагола: &amp;laquo;оставить отзыв&amp;raquo; -- хорошо, &amp;laquo;сайт приложения&amp;raquo; -- плохо.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;Исправление&lt;/span&gt;&lt;/b&gt;: заменить кнопку &amp;laquo;сайт приложения&amp;raquo; на явную ссылку на сайт &lt;a href="http://forismatic.com"&gt;http://forismatic.com&lt;/a&gt;, чтобы пользователю было очевидно, что произойдет после нажатия.&lt;/p&gt;
&lt;p&gt;Также не рекомендуется делать кнопки на всю ширину экрана. Они должны занимать не более, чем нужно (исключение &amp;ndash; парные кнопки в диалоговых окнах).&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;Исправление&lt;/span&gt;&lt;/b&gt;: сделать корректный размер кнопки и расположить ее по левому краю&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/1754.image_5F00_057F7F0B.png" width="143" height="240" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Выравнивания&lt;/h3&gt;
&lt;p&gt;Весь контент нужно выровнять по левому краю с одинаковым отступом на всех экранах (рекомендуемый отступ &amp;ndash; 24px). Выравнивание по центру (в том числе вертикальное) нежелательно.&lt;/p&gt;
&lt;p&gt;Между различными однотипными экранами отступы тоже должны быть согласованы. Контролы также должны быть выровнены по левому краю. Слишком большие расстояния между связанными контролами также нежелательны.&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/6840.image_5F00_7F58326F.png" width="115" height="191" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/6433.image_5F00_64AB9656.png" width="115" height="191" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/0247.image_5F00_350D77CA.png" width="115" height="191" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/2705.image_5F00_4CC4AF30.png" width="115" height="191" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;Исправление&lt;/span&gt;&lt;/b&gt;: сделать правильные согласованные выравнивания. Сократить отступы между контролами:&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/5025.image_5F00_203B7F4A.png" width="143" height="240" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Список цитат&lt;/h3&gt;
&lt;p&gt;В списке цитат для разделения добавлены линии:&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/7288.image_5F00_378683BB.png" width="115" height="191" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/8233.image_5F00_4ED1882C.png" width="115" height="191" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/1374.image_5F00_3AD7F596.png" width="113" height="189" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/6746.image_5F00_4450B40C.png" width="113" height="189" /&gt;&lt;/p&gt;
&lt;p&gt;Обычно это излишне и визуальная граница между отдельными читатами проявляется за счет вертикальных отступов.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;Исправление&lt;/span&gt;&lt;/b&gt;: убрать вертикальные линии. Убедиться, что отступы между цитатами достаточны.&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/5076.image_5F00_103C14B9.png" width="144" height="240" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Брендинг&lt;/h3&gt;
&lt;p&gt;Приложению не хватает каких-то характерных черт, ассоциирующих его автором/названием приложения. Обычно достаточно в заголовке (по крайней мере на главном экране) указать название (см. примеры на скриншотах выше).&lt;/p&gt;
&lt;p&gt;Дополнительно можно в интерфейсе использовать характерные цвета &amp;ndash; для forismatic, судя по стартовому экрану, сайту и иконке, это оттенки голубого и синего.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Функциональность&lt;/h2&gt;
&lt;h3&gt;Информация об авторе цитаты&lt;/h3&gt;
&lt;p&gt;Насколько я понимаю, в версиях под другие платформы есть возможность посмотреть информацию об авторе из Википедии. Хорошо бы добавить такую возможность и в версии под Windows Phone.&lt;/p&gt;
&lt;h3&gt;Удаление из избранного&lt;/h3&gt;
&lt;p&gt;&lt;small&gt;(В версии 1.3 уже исправлено.)&lt;/small&gt;&lt;/p&gt;
&lt;p&gt;Я это упоминал уже выше, но также отмечу явно: добавление цитаты в избранное должно быть обратимым. Возможность удалить можно добавить как в интерфейсе просмотра цитаты, так и в списке через контекстное меню. Также можно добавить возможность целиком удалить все избранное.&lt;/p&gt;
&lt;h3&gt;Поиск&lt;/h3&gt;
&lt;p&gt;Не знаю, востребованный ли это функционал, но на мой взгляд, было бы полезным добавить возможность искать цитаты (по автору, ключевым словам/темам).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;===&lt;/p&gt;
&lt;p&gt;Это был очередной #metrolynch. Если вы хотите, чтобы ваше приложение также было подвергнуто публичному разбору, &lt;a href="http://blogs.msdn.com/b/kichinsky/archive/2011/11/01/windows-phone-apps-design.aspx"&gt;правила игры описаны тут&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;p.s. Все мои оценки и рекомендации субъективны и не являются 100% верными решениями &amp;ndash; все нужно тестировать и проверять на живых пользователях :)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10261276" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=uUEgCv-T9_w:QyeVrViPGmU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=uUEgCv-T9_w:QyeVrViPGmU:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=uUEgCv-T9_w:QyeVrViPGmU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?i=uUEgCv-T9_w:QyeVrViPGmU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=uUEgCv-T9_w:QyeVrViPGmU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/kichinsky/~4/uUEgCv-T9_w" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Design/">Design</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Windows+Phone/">Windows Phone</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/UI/">UI</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/UX/">UX</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/_2300_metrolynch/">#metrolynch</category></item><item><title>Дизайн приложений для Windows Phone. Практика. Градиенты и 16-битность</title><link>http://blogs.msdn.com/b/kichinsky/archive/2012/01/26/windows-phone-apps-design-practice-gradients-and-16bits.aspx</link><pubDate>Thu, 26 Jan 2012 05:33:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10260731</guid><dc:creator>Константин Кичинский</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/kichinsky/rsscomments.aspx?WeblogPostID=10260731</wfw:commentRss><comments>http://blogs.msdn.com/b/kichinsky/archive/2012/01/26/windows-phone-apps-design-practice-gradients-and-16bits.aspx#comments</comments><description>&lt;p&gt;Время от времени я встречаю приложения для Windows Phone, так или иначе использующие в фоне изображения с градиентами. (Такой пример &lt;a href="http://blogs.msdn.com/b/kichinsky/archive/2011/12/28/metrolynch-new-year-gifts.aspx"&gt;был в прошлом #metrolynch&lt;/a&gt;&amp;nbsp;и еще один будет в следующем.) Очень часто в таких градиентах появляются артефакты, вызванные несовпадением используемого режима рендеринга приложения и установленной битности градиента (количества бит, используемых для хранения цвета). Поверх этого накладываются особенности хранения изображений в jpg, приводящие к появлению полосок.&lt;/p&gt;
&lt;h2&gt;Хранение изображений&lt;/h2&gt;
&lt;p&gt;Давайте начнем с форматов хранения изображений. Представьте себе, что исходное изображение с градиентом выглядит так (кликабельно):&lt;/p&gt;
&lt;p&gt;&lt;a href="http://img-fotki.yandex.ru/get/4506/25193168.f/0_542d4_b3557a4_orig"&gt;&lt;img src="http://img-fotki.yandex.ru/get/4506/25193168.f/0_542d4_b3557a4_M.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;В принципе, некоторые артефакты в виде небольших полосок видны уже тут (это png), однако, смотрите, что происходит, если изображение хранится в jpg (100%, 80%, 50%):&lt;/p&gt;
&lt;p&gt;&lt;a href="http://img-fotki.yandex.ru/get/5503/25193168.f/0_542d3_19ea487a_orig"&gt;&lt;img src="http://img-fotki.yandex.ru/get/5503/25193168.f/0_542d3_19ea487a_M.jpg" /&gt;&lt;/a&gt;&amp;nbsp; &lt;a href="http://img-fotki.yandex.ru/get/5602/25193168.f/0_542d6_adb08c13_orig"&gt;&lt;img src="http://img-fotki.yandex.ru/get/5602/25193168.f/0_542d6_adb08c13_M.jpg" /&gt;&lt;/a&gt;&amp;nbsp; &lt;a href="http://img-fotki.yandex.ru/get/4602/25193168.f/0_542d5_ce26fd11_orig"&gt;&lt;img src="http://img-fotki.yandex.ru/get/4602/25193168.f/0_542d5_ce26fd11_M.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Обязательно кликните, чтобы увидеть полные версии картинок. Заметили?&lt;/p&gt;
&lt;p&gt;Теперь вопрос: если в jpg с градиентами получается хуже, зачем его использовать? Ответ кроется в двух важных аспектах. Во-первых, размер (да!) &amp;mdash; это все еще актуально, и чем меньше общий размер вашего приложения, тем быстрее оно скачается на мобильное устройство и тем меньше трафика съест, что особенно критично, если он не безлимитный. Соответственно, если можно без потери визуального качества изображения вместо png использовать jpg, делайте это. Во-вторых, это производительность: скорость обработки jpg выше скорости обработки png. Если вспомнить, что для фоновых картинок в аскетичном Metro-дизайне специально отведено только два места (что, правда, не исключает, что их можно &lt;em&gt;при необходимости&lt;/em&gt; использовать и в других): стартовый экран и фон панорамы, то станет понятно, что, учитывая критичность в обоих случаях минимизации затрат на рендеринг, выбора почти и не остается.&lt;/p&gt;
&lt;p&gt;Кстати, именно поэтому единсвенный поддерживаемый по умолчанию формат для стартового экрана &amp;mdash; это jpg. См. также раздел &lt;a href="http://msdn.microsoft.com/en-us/library/ff967560(v=VS.92).aspx#BKMK_Images"&gt;Images&lt;/a&gt; в статье &lt;a href="http://msdn.microsoft.com/en-us/library/ff967560(v=VS.92).aspx"&gt;Performance Considerations in Applications for Windows Phone&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Дизеринг&lt;/h2&gt;
&lt;p&gt;Но, при этом на градиентах в jpg мы стабильно будем получать полоски :) Впрочем, поискав в интернете по ключевым словам "banding", "gradients" и "jpg", вы легко найдете учебные статьи, рассказывающие о том, как с полосками бороться (например, &lt;a href="http://slodive.com/photoshop/how-to-correct-banding-in-your-gradients-using-photoshop/"&gt;раз&lt;/a&gt; и &lt;a href="http://trojankitten.posterous.com/suddenly-a-photoshop-tutorial-avoiding-gradie"&gt;два&lt;/a&gt;). Основной вариант решения заключается в намеренном добавлении шума на изображении (т.н. &lt;a href="http://ru.wikipedia.org/wiki/%D0%94%D0%B8%D0%B7%D0%B5%D1%80%D0%B8%D0%BD%D0%B3"&gt;дизеринг&lt;/a&gt;). Та же картинка, но с шумом (80% и 50%):&lt;/p&gt;
&lt;p&gt;&lt;a href="http://img-fotki.yandex.ru/get/4700/25193168.f/0_542eb_8f089a1b_orig"&gt;&lt;img src="http://img-fotki.yandex.ru/get/4700/25193168.f/0_542eb_8f089a1b_M.jpg" /&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://img-fotki.yandex.ru/get/4400/25193168.f/0_542ea_1ec70f84_orig"&gt;&lt;img src="http://img-fotki.yandex.ru/get/4400/25193168.f/0_542ea_1ec70f84_M.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Windows Phone: 16 и 32 бит&lt;/h2&gt;
&lt;p&gt;Вторая существенная причина, заключается в используемом режиме рендеринга графики. По умолчанию в целях повышения производительности Windows Phone использует 16-битный режим, в то время как большинство изображений по умолчанию сохраняются графическим редактором в 32-битном формате (по 8 бит на канал).&lt;/p&gt;
&lt;p&gt;Тут надо отдельно остановиться на причинах такого различия. 32-битный формат для изображений с прозрачностью (или 24-битный при отсутствии прозрачности) сегодня является практически стандартом индустрии, за исключением случаев намеренной оптимизации с использованием индексированной палитры или, например, использования черно-белых изображений с 16-битным серым.&lt;/p&gt;
&lt;p&gt;16-битный режим в Windows Phone в свою очередь является разумным "железячным" решением, вызванным острой необходимостью оптимизации производительности, потребления памяти и энергии, а также уменьшения стоимости устройств. Подумайте: переход от 32 к 16 битам &amp;mdash; это, к примеру, в два раза меньше памяти для хранения в видео-буфере и в два раза меньше данных для загрузки и передачи для периодического обновления фреймов.&lt;/p&gt;
&lt;p&gt;В итоге, с одной стороны, минимальным требованием к устройствам на базе Windows Phone является как раз поддержка 16-битного режима рендеринга, что, кстати, подкрепляется практическим осознанием того факта, что в большинстве сценариев этого более чем достаточно.&lt;/p&gt;
&lt;p&gt;А с другой стороны, иногда получается, что оригинальная картинка, на которой и так могли начать проявляться артефакты, вызванные форматом хранения, на Windows Phone получает еще и добавку сверху:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://img-fotki.yandex.ru/get/4507/25193168.f/0_542ec_7ad35189_orig"&gt;&lt;img src="http://img-fotki.yandex.ru/get/4507/25193168.f/0_542ec_7ad35189_M.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Кстати, XNA для Windows Phone по умолчанию тоже использует 16-битный режим (со вторичным буфером в R5G6B5), что приводит к аналогичным артефактам при использовании градиентных текстур. Поэтому в играх тоже надо думать о том, чтобы 1) использовать 16-битные текстуры и 2) для градиентов использовать оптимизацию с применением дизеринга. См. также статью &lt;a href="http://konaju.com/?p=33"&gt;16-bit Textures with Dithering&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;h2&gt;Лечение&lt;/h2&gt;
&lt;p&gt;Это можно "лечить" двумя способами. Первый вариант: можно "форсировать" рендеринг приложения в 32-битном режиме. Для этого достаточно выставить в манифесте приложения параметр BitPerPixel="32":&lt;/p&gt;
&lt;p&gt;&lt;img src="http://img-fotki.yandex.ru/get/4601/25193168.f/0_542ee_c7d7cb5b_L.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Я не привожу результат, но поверьте: он будет примерно таким, как вы ожидали, конечно, с учетом особенностей начального изображения. То есть если полоски были изначально, то они останутся, если их не было, то все будет в порядке.&lt;/p&gt;
&lt;p&gt;Второй вариант: изначально готовить изображение, которое будет хорошо смотреться в 16-битном режиме (не путать с режимом 16 бит на канал вместо традиционных 8). Это не самая тривиальная задача, но можно найти более-менее работающие готовые решения, например, специальный скрипт (action) для Photoshop: &lt;a href="http://nerdplusart.com/photoshop-action-for-windows-phone-7-dithering"&gt;Photoshop Action for Windows Phone 7 Dithering&lt;/a&gt;. Схема работы такого скрипта в общем-то сводится ко все тому же добавлению шума для сглаживания границ, но предварительно делается "коррекция" изображения с тем, чтобы уменьшить количество используемых цветов.&lt;/p&gt;
&lt;p&gt;Для удобства, &lt;a href="http://twitter.com/Sc4Freak"&gt;Adrian Tsai&lt;/a&gt; написал &lt;a href="http://adtsai.blogspot.com/2011/03/high-quality-dithering-for-windows.html"&gt;небольшую утилиту&lt;/a&gt;, которая делает практически то же самое, но без необходимости наличия Photoshop. C png результаты явно получаются лучше (png слева и jpg справа), что в общем-то объяснимо, учитывая особенности алгоритма сжатия:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://img-fotki.yandex.ru/get/5600/25193168.f/0_542f0_b248fb52_orig"&gt;&lt;img src="http://img-fotki.yandex.ru/get/5600/25193168.f/0_542f0_b248fb52_M.jpg" /&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://img-fotki.yandex.ru/get/5600/25193168.f/0_542ef_77264c76_orig"&gt;&lt;img src="http://img-fotki.yandex.ru/get/5600/25193168.f/0_542ef_77264c76_M.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Тут вы можете подумать, что проще использовать первый вариант, потому что все делается автоматически. На самом же деле, "это автоматически, &lt;i&gt;но за вас&lt;/i&gt;". Именно за вас: в зависимости от устройства и драйверов это может быть не просто 32-битный режим, а некоторый алгоритм схожий с дизерингом, применяемый к кистям (brush) и изображениям. Вспомните также, с чего я начал обсуждение 16-битности? Она выгоднее с точки зрения производительности и общих соображений экономии ресурсов! Поэтому на практике, если в ваших изображениях для приложений на Windows Phone вы сталкиваетесь с подобными проблемами, вызванными переходом к 16-битному режиму, постарайтесь сделать максимум возможного, чтобы все-таки остаться именно в этом режиме.&lt;/p&gt;
&lt;h2&gt;Итоги&lt;/h2&gt;
&lt;p&gt;1. Если без потери качества можно использовать jpg, используйте именно этот формат (очевидно, кроме изображений с прозрачностью). В то же время не забывайте и про размер файлов &amp;mdash; иногда для png он может быть заметно меньше.&lt;/p&gt;
&lt;p&gt;2. Чтобы уменьшить эффект полосок в градиентах, используйте дизеринг. Обычно, для этого достаточно применить фильтр, добавляющий шум (noise) &amp;mdash; 1-2% для Photoshop.&lt;/p&gt;
&lt;p&gt;3. Старайтесь оптимизировать изображения с градиентами под использование в 16-битном режиме, а не наоборот. То есть без острой необходимости, не стоит форсировать приложение работать в 32-битном режиме.&lt;/p&gt;
&lt;p&gt;4. Помните о принципах Metro-дизайна &amp;mdash; и не используйте градиенты без острой на то необходимости. То есть просто градиенты ради градиентов делать явно не стоит.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10260731" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=BdgeDSje2DM:flyyTKQK4PM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=BdgeDSje2DM:flyyTKQK4PM:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=BdgeDSje2DM:flyyTKQK4PM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?i=BdgeDSje2DM:flyyTKQK4PM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=BdgeDSje2DM:flyyTKQK4PM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/kichinsky/~4/BdgeDSje2DM" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Design/">Design</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Windows+Phone/">Windows Phone</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/16bit/">16bit</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Gradients/">Gradients</category></item><item><title>Дизайн приложений для Windows Phone. Навигация. Уровни, назад и циклы</title><link>http://blogs.msdn.com/b/kichinsky/archive/2012/01/18/designing-apps-for-windows-phone-navigation-levels-back-and-cycles.aspx</link><pubDate>Wed, 18 Jan 2012 07:56:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10257964</guid><dc:creator>Константин Кичинский</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/kichinsky/rsscomments.aspx?WeblogPostID=10257964</wfw:commentRss><comments>http://blogs.msdn.com/b/kichinsky/archive/2012/01/18/designing-apps-for-windows-phone-navigation-levels-back-and-cycles.aspx#comments</comments><description>&lt;p&gt;Проектирование навигации в Windows Phone &amp;mdash; это интересная и... иногда нетривиальная задача. Предполагаю, что то же самое можно сказать и для любых других платформ. Однако в случае WP есть одно важное отличие: наличие &lt;i&gt;аппаратной&lt;/i&gt; кнопки "назад".&lt;/p&gt;
&lt;p&gt;&lt;img alt="Back button on WP" src="http://img-fotki.yandex.ru/get/2708/25193168.e/0_53c9d_44d12af5_L.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;О ней можно спорить, ее можно обсуждать, она может нравиться или не нравиться. Как правило, для тех, кто только начинает пользоваться Windows Phone, например, перейдя с iPhone, ее наличие оказывается непривычным: первым делом пользователи начинают искать программную реализацию возможности вернуться назад или перепрыгнуть на первую страницу (экран) приложения. Впрочем, верно и обратное: разобравшись с поведением телефона на Windows Phone и взяв в руки трубку на iOS, невольно начинаешь нажимать на пустующее место слева от центральной аппаратной кнопки.&lt;/p&gt;
&lt;p&gt;Как бы там ни было, важный момент заключается в том, что аппаратная кнопка "назад" представляет собой неотъемлемую часть дизайна (и функционала) платформы Windows Phone: именно она отвечает за обратные переходы вверх по иерархии экранов и в целом возвраты к предыдущему состоянию в приложении.&lt;/p&gt;
&lt;p&gt;И, учитывая столь важную роль этой кнопки, крайне важно, чтобы все приложения, разрабатываемые под Windows Phone, использовали ее схожим образом и вообще следовали общим принципам построения навигации. Собственно, в некоторых аспектах проектирования навигации с учетом кнопки "назад" мы сегодня и постараемся разобраться.&lt;/p&gt;
&lt;h3&gt;Метро-принципы&lt;/h3&gt;
&lt;p&gt;Прежде, чем двигаться дальше и погружаться в гущу ситуаций и рассуждений о них, не могу не напомнить несколько принципов метро-дизайна, которые надо держать в голове при проектировании навигации.&lt;/p&gt;
&lt;p&gt;Интерфейс должен быть надежным и безопасным. Характер навигации должен быть предсказуемым (интуитивно понятным), то есть опыт пользователя должен быть переносимым от одного приложения к другому. Ориентируйтесь на системные и популярные приложения, старайтесь не придумывать неожиданных решений.&lt;/p&gt;
&lt;p&gt;Контент должен ставиться во главу угла. Это означает две вещи:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;во-первых, непосредственно сам контент представляет собой путь для погружения в детали (content not chrome) &amp;mdash; для этого не нужны дополнительные обертки и кнопки вроде "прочитать подробнее";&lt;/li&gt;
&lt;li&gt;во-вторых, нужно стараться избегать явных навигационных элементов, если это возможно. К примеру, не стоит переносить в мобильные приложения на Windows Phone аналогии навигационных меню сайта.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Проектируйте, расставляя приоритеты: самое важное и основное должно быть легко доступным, любые детали и подробности &amp;mdash; только если у пользователя есть свободное время.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;People will do the least amount of work possible to get a task done. It is better to show people a little bit of information and let them choose if they want more details. The fancy term for this is progressive disclosure.&lt;/p&gt;
&lt;p&gt;&amp;mdash; &lt;a href="http://uxmag.com/readers/susan-weinschenk"&gt;Susan Weinschenk&lt;/a&gt;, &lt;i&gt;The Psychologist&amp;rsquo;s View of UX Design&lt;/i&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Не забывайте о переходах. Движение при переходе с одного на экрана на другой и обратно помогает пользователю понять, что происходит и где он оказался.&lt;/p&gt;
&lt;p&gt;Смотрите также мою статью про &lt;a href="http://blogs.msdn.com/b/kichinsky/archive/2011/06/26/wp7-apps-design-metro.aspx"&gt;metro-подход в дизайне приложений&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Информационная карта, граф приложения и уровни&lt;/h2&gt;
&lt;p&gt;Важную роль при проектировании навигации играет информационная карта приложения, показывающая какие у вас есть экраны, и как они связаны между собой. Как попасть в тот или иной экран? Через сколько промежуточных уровней нужно пройти? Как вернуться назад? Как связана между собой различная информация? На все эти вопросы отвечает информационная карта.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Information map sample" src="http://img-fotki.yandex.ru/get/2712/25193168.e/0_53c9e_3ac38dcc_L.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Она же позволяет наглядно увидеть всю структуру вашего приложения и понять, где есть проблемные места. Если у вас еще нет информационной карты вашего приложения, обязательно сделайте! (Вообще говоря, это должно быть одним из первых шагов при проектировании приложения.)&lt;/p&gt;
&lt;p&gt;На что нужно обратить внимание в информационной карте? Прежде всего, на иерархию экранов. В принципе, тут можно даже на мгновение забыть о конкретном содержимом. Например, у вас может быть довольно простая иерархия в виде такого дерева:&lt;/p&gt;
&lt;p&gt;&lt;img alt="Navigation tree sample" src="http://img-fotki.yandex.ru/get/5501/25193168.e/0_53ca0_141cf21e_L.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Чем более сложное приложение, чем больше в нем сущностей и чем больше разного (связанного) контента вы предлагаете, тем больше будет дерево. Иногда в нем могут быть перекосы: появляться огромные увесистые ветви или наоборот какие-то ветви будут становится слишком тонкими и сводиться к одной длинной линии с узлами. С перекосами нужно бороться: длинные тонкие ветви укорачивать, слишком ветвистые узлы разделять на несколько. Могут и быть маленькие веточки, например, для настроек &amp;mdash; это нормально.&lt;/p&gt;
&lt;h3&gt;Граф&lt;/h3&gt;
&lt;p&gt;На практике оказывается полезным еще больше абстрагироваться от идеи экранов и смотреть на эту схему как направленный граф:&lt;/p&gt;
&lt;p&gt;&lt;img alt="Navigation graph sample" src="http://img-fotki.yandex.ru/get/6003/25193168.e/0_53ca1_4cb93b75_M.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;В таком представлении становится отчетливо видным, какова максимальная глубина погружения в приложении:&lt;/p&gt;
&lt;p&gt;&lt;img alt="Navigation levels" src="http://img-fotki.yandex.ru/get/2710/25193168.e/0_53ca2_deca4ec3_L.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;В большинстве случаев, приложение для Windows Phone должно проектироваться так, чтобы все переходы были только однонаправленными, то есть можно было бы только погрузиться в дополнительные детали или перейти к связанной информации. Все обратные переходы реализуются путем нажатия аппаратной кнопки "назад". Учитывая, что обратные переходы с одного экрана на другой фактически означают переход с нижнего уровня на верхний, количество уровней погружения с точностью до 1 равно количеству нажатий кнопки "назад", необходимых, чтобы вернуться с самого нижнего уровня на самый верхний. Например, на картинке выше уровней 4, соответственно, будет необходимо 3 раза нажать на кнопку "назад".&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Вывод:&lt;/strong&gt; максимальная глубина погружения должна быть ограничена. Рекомендуемый максимум: 6 уровней. Это означает, что чтобы добраться до любого экрана нужно максимум 5 переходов, и чтобы вернуться на самый первый экран нужно не более 5 нажатий кнопки "назад". (И уж точно это должно быть верно для всех основных сценариев использования приложения.)&lt;/p&gt;
&lt;p&gt;Повторю, &lt;em&gt;максимум&lt;/em&gt;. На практике желательно обходиться 3-4 уровнями глубины.&lt;/p&gt;
&lt;h3&gt;Уменьшение глубины&lt;/h3&gt;
&lt;p&gt;Если в вашем приложении максимальная глубина больше &amp;mdash; это хороший повод задуматься:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;действительно ли пользователю в мобильном сценарии нужно столько информации, и&lt;/li&gt;
&lt;li&gt;можно ли оптимизировать расположение информации так, чтобы уменьшить глубину.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Часто оказывается, что дополнительная информация, которую вы зачем-то запихнули в приложение и не нужна вовсе, а нужна только самая суть, чтобы быстро разобраться в ситуации и не съесть много мобильного трафика. Во многих случаях дополнительные детали из хвостов можно эффективно перестроить в pivot- или panorama-контролы.&lt;/p&gt;
&lt;p&gt;Например, представьте, что фрагмент вашей схемы имеет такой вид:&lt;/p&gt;
&lt;p&gt;&lt;img alt="Too long navigation stack" src="http://img-fotki.yandex.ru/get/2712/25193168.e/0_53cc0_975fb9e8_L.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Вам стало понятно, что у вас слишком много уровней в приложении и пользователю трудно выбраться наружу. Скорее всего, зайдя слишком глубоко, чтобы добраться до начальной страницы, часть пользователей может даже решить, что проще заново войти в приложение вместо того, чтобы 6 раз нажимать кнопку назад. (И они будут расстроены!) Что делать? В зависимости от конкретного содержимого, постарайтесь перестроить приложение:&lt;/p&gt;
&lt;p&gt;&lt;img alt="Corrected navigation" src="http://img-fotki.yandex.ru/get/2712/25193168.e/0_53cc1_a0b7da13_L.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Что-то можно убрать, что-то объединить в pivot. Изменения, кстати, могут быть не только на нижних уровнях, но и в промежуточных, и вплоть до стартовой страницы. Часто, если начальный экран представляет собой одиночную страницу, его легко можно расширить ��о pivot или panorama, что сразу уменьшит глубину некоторых ветвей (особенно это актуально для ключевых сценариев использования.&lt;/p&gt;
&lt;h3&gt;Важно направление!&lt;/h3&gt;
&lt;p&gt;Вообще говоря, надо понимать, что в большинстве случаев информационная карта приложения должна представлять собой дерево (связанный ациклический граф). Однако ключевый момент здесь не в том, что это дерево, а в том, что, как я уже написал выше, все возможные переходы являются однонаправленными от верхнего уровня к нижнему. Это, например, означает, что в вашем приложении может быть и несколько путей, чтобы попасть на один и тот же экран (возможно, и с разным фактическим содержимым):&lt;/p&gt;
&lt;p&gt;&lt;img alt="Multiple pathes sample" src="http://img-fotki.yandex.ru/get/2708/25193168.e/0_53ca3_358f7c8f_L.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;И это уже не совсем дерево.&lt;/p&gt;
&lt;p&gt;Как это может быть возможным? Очень просто! Например, у вас приложение для продажи носков: на главной странице у вас может быть продвигаемый контент (featured content) &amp;mdash; мега популярные носки и возможность перехода к поиску носков или выбору из каталога. Соответственно, вы можете перейти на конкретную модель как с главной страницы, так и через поиск &amp;mdash; и далее погрузиться в детали: узнать побольше о производителе или найти ближайший магазин.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Socks app navigation sample" src="http://img-fotki.yandex.ru/get/5501/25193168.e/0_53cae_b139832f_L.jpg" /&gt;&lt;/p&gt;
&lt;h3&gt;Резюме&lt;/h3&gt;
&lt;p&gt;Суммирая описанное, в вашей голове должны уложиться две вещи, применимые к &lt;i&gt;большинству&lt;/i&gt; сценариев:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Во-первых, любой переход между экранами может быть только однонаправленным в сторону дополнительных деталей (погружение в контент). Большинство приложений представляет собой дерево (или обобщая &amp;mdash; направленный ациклический граф). Обратные переходы делаются кнопкой назад.&lt;/li&gt;
&lt;li&gt;Во-вторых, есть рекомендуемое ограничение максимальной глубины: 6 уровней, или 5 переходов. Все что больше, нужно нещадно сокращать и перестраивать.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Циклы&lt;/h2&gt;
&lt;p&gt;Теперь давайте посмотрим на еще один важный аспект: появление циклов. Я уже выше сказал, что в большинстве сценариев никаких циклов быть не должно, однако, это не означает, что они не могут быть в принципе.&lt;/p&gt;
&lt;p&gt;Давайте сначала разберем простой сценарий создания цикла "на пустом месте".&lt;/p&gt;
&lt;h3&gt;Домой, домой!&lt;/h3&gt;
&lt;p&gt;Представьте себе, что у вас есть приложение с достаточно длинной максимальной навигацией. Например, в приложении про носки вы решили, что переход к магазинам должен быть не напрямую со страницы деталей о модели носков, а, например, через карту или отдельный список. Потом в информации о магазине вы добавили еще уровень с отзывами, потом с возможностью комментировать и т.д.:&lt;/p&gt;
&lt;p&gt;&lt;img alt="Socks long navigation sample" src="http://img-fotki.yandex.ru/get/4611/25193168.e/0_53cc5_69ab7503_XXL.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Сделать длинную навигацию довольно легко ;) Вопрос в том, что с ней делать дальше. В порыве заботы о пользователе, желающем вернуться к поиску носков или на самую первую страницу вы можете решить, что было бы неплохо дать возможность вернуться домой из любого места в приложении:&lt;/p&gt;
&lt;p&gt;&lt;img alt="Wrong solution for socks long navigation" src="http://img-fotki.yandex.ru/get/6005/25193168.e/0_53cce_41f3c3db_XL.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Начинает выглядеть сложным? Так и есть. Ключевая проблема заключается в том, что всего лишь добавив пару кнопок с быстрым переходом мы сделали страшную вещь: внесли в нашу навигацию по приложению циклы.&lt;/p&gt;
&lt;h3&gt;Циклы в стеке навигации&lt;/h3&gt;
&lt;p&gt;По мере перехода пользователя внутри приложения с одного экрана на другой формируется стек навигации, позволяющий вернуться на предыдущий экран нажатием на кнопку "назад".&lt;/p&gt;
&lt;p&gt;&lt;img alt="Navigation stack" src="http://img-fotki.yandex.ru/get/6004/25193168.e/0_53cd1_fc878c3a_L.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Теперь вы добавили в этот стройный процесс хак:&lt;/p&gt;
&lt;p&gt;&lt;img alt="Hacking navigation stack" src="http://img-fotki.yandex.ru/get/2714/25193168.f/0_53cd2_51a4692f_L.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Кажется нормальным? Проблема возникнет тогда, когда пользователь в следующий раз нажмет кнопку "назад". Вместо того, чтобы выйти из приложения (привычное поведение), он попадет на предыдущий экран:&lt;/p&gt;
&lt;p&gt;&lt;img alt="Hacked navigation does not work as expected" src="http://img-fotki.yandex.ru/get/2708/25193168.f/0_53cd4_9c5fb91a_L.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Поэтому перепрыгивать через стек навигации плохо.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Правильное решение&lt;/strong&gt;: вместо того, чтобы добавлять кнопку "домой", нужно приложить максимум усилий, чтобы уменьшить количество уровней в приложении и тем самым упростить навигацию.&lt;/p&gt;
&lt;h3&gt;Но мне нужен быстрый переход!&lt;/h3&gt;
&lt;p&gt;Впрочем, жизнь может оказаться сложнее &amp;mdash; и сама суть вашего приложения такова, что вы просто не можете отказаться от возможности быстрого перехода на нужную страницу. Например, основная задача вашего приложения &amp;mdash; помочь найти правильные носки. Поэтому вам просто необходимо после того, как пользователь добрался, скажем, до отзывов дать быструю возможность поискать другие носки:&lt;/p&gt;
&lt;p&gt;&lt;img alt="I made my best but still have to return to home page" src="http://img-fotki.yandex.ru/get/5501/25193168.e/0_53cca_5b4a6d57_XXL.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Что делать в такой ситуации?&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Вернуться назад и подумать еще раз, можно ли что-то упростить и соптимизировать.&lt;/li&gt;
&lt;li&gt;Пофиксить стек навигации, разворачивая историю переходов назад при перепрыгивании.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Что это значит? Фактически это означает, что вам нужно так изменить стек навигации в приложении, чтобы этот ваш прыжок был эквивалентен последовательным возвратам назад:&lt;/p&gt;
&lt;p&gt;&lt;img alt="Correct navigation hack" src="http://img-fotki.yandex.ru/get/2708/25193168.f/0_53cd5_92f3c4ef_L.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Это похоже на быструю перемотку назад по истории навигации.&lt;/p&gt;
&lt;h3&gt;Естественные циклы&lt;/h3&gt;
&lt;p&gt;Мой рассказ был бы неполным без рассмотрения еще одного сценария появления циклов: иногда они появляются естественным образом.&lt;/p&gt;
&lt;p&gt;Природа таких циклов кроется во множестве отношений один ко многим между сущностями вашего приложения. Например, это приложение с информацией о фильмах: в фильме снимается несколько актеров, актер снимается в нескольких фильмах. Или приложение о музыкальных композициях: у автора несколько альбомов, в альбоме несколько композиций, у альбомов и композиций есть автор(ы). А еще могут быть связанные вещи, к примеру, в приложении о книгах &amp;mdash; другие рекомендуемые книги на эту же тему.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Cycles, cycles, cycles" src="http://img-fotki.yandex.ru/get/6003/25193168.f/0_53cd6_8ba2ce6b_L.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Все такие сценарии, предполагающие большие возможности исследования контента, автоматически приводят к появлению не то что циклов, а целых клубков в истории навигации!&lt;/p&gt;
&lt;p&gt;Означает, ли это, к примеру, что в таких сценариях нужно добавлять кнопку "домой" или, скажем, "искать", чтобы вернуться к одному из предыдущих экранов? Вообще говоря, нет! На самом деле, надо внимательно разобраться в двух моментах:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Во-первых, надо четко осознать, насколько глубоко пользователь запутывается в клубке и зачем он это делает? Возможно, суть приложения в исследовании контента и возвращаться полностью назад &amp;mdash; это достаточно редкая потребность. К примеру, если ключевой сценарий всегда выглядит как "ввести запрос, ходить долго по клубку" &amp;mdash; это одна история, а если это "ввести запрос, побродить; ввести новый запрос, побродить еще; ввести еще запрос..." &amp;mdash; то тут уже надо думать.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://img-fotki.yandex.ru/get/2708/25193168.f/0_53cd9_771332ec_L.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;В частности, если на практике типовой сценарий выглядит как последовательность коротких погружений, то дополнительных каналов для возврата наверх, скорее всего, и не требуется:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://img-fotki.yandex.ru/get/6004/25193168.f/0_53cda_13da50ed_L.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Типичное поведение пользователей можно понять, например, в процессе юзабилити-тестирования приложения или по обобщенным данным телеметрии. Например, если вы видите, что пользователь, чтобы вернуться в начало, выходит из приложения и заходит снова, это верный признак, что есть проблемы.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Во-вторых, надо понять, можно ли действие, ради которого пользователь возвращается наверх, перенести непосредственно в клубок? К примеру, два приложения социальной направленности: facebook и twitter. Оба имеют социальный граф и фактически предоставляют возможность довольно глубоко погружаться в клубке социальных связей.&lt;/p&gt;
&lt;p&gt;Однако между ними есть разница, которая проявляется и в навигации. Twitter проще и более расположен к погружению в твиты, ретвиты, ленты и т.д. &amp;mdash; все располагает к общению, поэтому в сценарии глубокого погружения всегда доступны функции написания сообщения, ответа и ретвита. Facebook выглядит тяжеловеснее и совсем глубокое погружение в нем маловероятно, хотя, например, комментирование доступно и тут. Что в результате? В Facebook есть возможность вернуться на первую страницу (главную панораму), а в твиттере большой необходимости в этом нет:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://img-fotki.yandex.ru/get/4611/25193168.f/0_53cdb_46d7038a_L.jpg" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Еще один маленький нюанс: надо аккуратно продумать, где именно может располагаться заветная кнопка перехода и насколько она будет (или не будет) конфликтовать со своим окружением. Например, рекомендация для использования панели приложени�� в Windows Phone такова, что в нее желательно выносить только контекстные действия: поиск в текущем контексте, залайкать текущий элемент контента, ответить на последнее сообщение и т.д. В таком окружении кнопка "домой" может смотреться чужеродно, или, скажем, кнопка "поиск" может восприниматься некорректно как "поиск в текущем контексте".&lt;/p&gt;
&lt;p&gt;В поисках решения можно обратить внимание на то, как работают популярные приложения, в которых такое запутанное поведение возникает естественным образом. Например, упомянутое приложение для Facebook, в котором можно бесконечно ходить между пользователями, использует решение, традиционное для многих сайтов: кнопкой перехода домой является логотип. На внутренних страницах он показывается в маленькой полоске наверху (достаточной, чтобы на логотип можно было нажать). (Впрочем, это не означает, что вам нужно делать именно так ;)&lt;/p&gt;
&lt;p&gt;В целом разрешение проблем навигации в подобных сценариях с помощью кнопки "домой" или любой аналогичной с точки зрения переходов наверх можно признать допустимым и разумным. Со все той же оговоркой касательно раскручивания истории навигации.&lt;/p&gt;
&lt;h3&gt;Резюме&lt;/h3&gt;
&lt;p&gt;Если в вашем приложении появляются циклы, постарайтесь сделать две вещи:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Сделать все возможное, чтобы их избежать, особенно в сценариях, когда циклы создаются намеренно.&lt;/li&gt;
&lt;li&gt;Если вы предоставляете возможность выйти из клубка или длинной навигации на один из верхних уровней, озаботьтесь тем, чтобы распутать историю навигации.&lt;/li&gt;
&lt;/ol&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10257964" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=UZpFjIDzdGM:LUqKVrk_XE4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=UZpFjIDzdGM:LUqKVrk_XE4:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=UZpFjIDzdGM:LUqKVrk_XE4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?i=UZpFjIDzdGM:LUqKVrk_XE4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=UZpFjIDzdGM:LUqKVrk_XE4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/kichinsky/~4/UZpFjIDzdGM" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Design/">Design</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Windows+Phone/">Windows Phone</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/UI/">UI</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Metro/">Metro</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/UX/">UX</category></item><item><title>[#MetroLynch] New Year Gifts</title><link>http://blogs.msdn.com/b/kichinsky/archive/2011/12/28/metrolynch-new-year-gifts.aspx</link><pubDate>Wed, 28 Dec 2011 10:06:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10251448</guid><dc:creator>Константин Кичинский</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/kichinsky/rsscomments.aspx?WeblogPostID=10251448</wfw:commentRss><comments>http://blogs.msdn.com/b/kichinsky/archive/2011/12/28/metrolynch-new-year-gifts.aspx#comments</comments><description>&lt;p&gt;Праздник к нам приходит, Праздник к нам приходит… Пятый &lt;a href="http://blogs.msdn.com/b/kichinsky/archive/tags/_2300_metrolynch/"&gt;метро-линч&lt;/a&gt; разбирает новогоднее приложение &lt;a href="http://www.windowsphone.com/ru-RU/apps/dbffc8f7-f980-41cb-93f4-4ab14b1ded57"&gt;New Year Gifts&lt;/a&gt; от &lt;a href="http://twitter.com/#!/artmosby"&gt;ArtMosby&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/7181.image_5F00_7DC66F3B.png" width="500" height="146" /&gt;&lt;/p&gt;  &lt;h2&gt;Навигация&lt;/h2&gt;  &lt;h3&gt;Добавление людей и подарков&lt;/h3&gt;  &lt;p&gt;Ни подарков, ни людей — именно так встречает приложение пользователя.&lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/5432.image_5F00_3B072403.png" width="113" height="189" /&gt;&amp;#160;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/5531.image_5F00_70503668.png" width="113" height="189" /&gt;&amp;#160;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/7587.image_5F00_6A28E9CD.png" width="113" height="189" /&gt;&lt;/p&gt;  &lt;p&gt;На самом деле, проблема не только в пустом экране, но и в визуально скрытом механизме добавления подарко-получателей. Кнопка добавления спрятана в спрятанной панели приложения, хотя ее можно было бы показать целиком.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ff0000"&gt;Исправление&lt;/font&gt;&lt;/b&gt;: сделать панель приложения изначально видимой, перенести about в меню (прозрачность сохранить — иначе фон будет прыгать).&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ffc000"&gt;Рекомендация&lt;/font&gt;&lt;/b&gt;: скрыть пустую страницу с подарками до тех пор, пока не появится хотя бы один подарок, либо — сразу ее чем-нибудь наполнить (см. ниже), либо на пустой странице написать какую-нибудь приободряющую надпись:&lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/2474.image_5F00_204A621D.png" width="144" height="240" /&gt;&amp;#160;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/8737.image_5F00_7DA623A1.png" width="144" height="240" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ffc000"&gt;Рекомендация&lt;/font&gt;&lt;/b&gt;: добавить в список образец подарков, например, для себя любимого. В принципе, аналогичная идея применима и к другим праздниками: например, цветы маме на 8 марта. В конце концов, можно рекомендовать купить приложения для Windows Phone :)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Контакты&lt;/h3&gt;  &lt;p&gt;На странице About (о приложении) для обратной связи приведено несколько возможностей (письмо, отзыв и твиттер):&lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/1385.image_5F00_2BCFF98F.png" width="113" height="189" /&gt;&lt;/p&gt;  &lt;p&gt;Кнопки предназначены для совершения действий, поэтому надписи на кнопках лучше формулировать в виде действий (глаголов) и, в любом случае, единообразно. В текущем виде неочевидно, к чему приведет нажатие на кнопку “Twitter” (откроется страница твиттера автора).&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ff0000"&gt;Исправление&lt;/font&gt;&lt;/b&gt;: лучше всего, 1) вместо кнопки написать просто ссылку — твиттер: &lt;a href="http://twitter.com/artmosby"&gt;@artmosby&lt;/a&gt; и 2) сделать кнопку «рассказать друзьям», которая будет запускать стандартный ShareTask (ShareLinkTask или ShareStatusTask).&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Адресат подарка&lt;/h3&gt;  &lt;p&gt;И вот, я решил добавить новый подарок... И при заведении подарка я могу указать адресата... Стоп! В том-то все и дело, что не могу!&lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/3463.image_5F00_22278B59.png" width="113" height="189" /&gt;&lt;/p&gt;  &lt;p&gt;Подозреваю, что здесь должно быть если не текстовое поле, то список с выбором из числа тех людей, кого я завел в число подарко получателей. В принципе, вполне реалистичен даже сценарий, в котором я нашел прикольный подарок — и теперь решаю, кому же его вручить :)&lt;/p&gt;  &lt;p&gt;Возможно и обратное: никакого выбора не подразумевалось, так как эта страница открывается в явном контексте конкретного адресата.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ff0000"&gt;Исправление&lt;/font&gt;&lt;/b&gt;: в первом случае должен быть выбор, возможно, списком. Во втором случае это не должно быть сделано в виде текстового поля — просто текст, причем если необходимо как-то выделить, это можно сделать размером шрифта, цветом (например, акцентным) или как-либо еще, но никак не в виде textbox.&lt;/p&gt;    &lt;h3&gt;Переход к людям&lt;/h3&gt;  &lt;p&gt;При нажатии на человека в списке адресатов подарков не происходит никакой реакции, а сам переход выполнен просто в виде смены одного экрана другим:&lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/5078.image_5F00_26BD9613.png" width="113" height="189" /&gt;&amp;#160;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/7723.image_5F00_72A8F6BF.png" width="113" height="189" /&gt;&lt;/p&gt;  &lt;p&gt;В Windows Phone в этом контексте рекомендуется, чтобы элементы, с которыми можно взаимодействовать были отзывчивыми, а переходы между экранами помогали понять, что происходит.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ff0000"&gt;Исправление&lt;/font&gt;&lt;/b&gt;: элементы списка должны реагировать на нажатие, для элементов списка рекомендуется использовать небольшие наклоны (tilt-анимация):&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/4812.image_5F00_27F20925.png" width="479" height="189" /&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ffc000"&gt;Рекомендация&lt;/font&gt;&lt;/b&gt;: для погружения в детали также следует использовать соответствующие переходы (continuum-анимация):&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/8306.image_5F00_318A518E.png" width="474" height="189" /&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;b&gt;Замечание&lt;/b&gt;: для обоих примеров — см. как работает outlook.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Ввод данных&lt;/h3&gt; Страницы ввода адресатов и данных о подарках прерывисто «прыгают» при начале ввода (установке фокуса на текстовом поле). Возможно, это связано с наличием изображения.  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/2746.image_5F00_40054DB3.png" width="113" height="189" /&gt;&amp;#160;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/3414.image_5F00_4C26C7DA.png" width="113" height="189" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ffc000"&gt;Рекомендация&lt;/font&gt;&lt;/b&gt;: убрать со страниц ввода данных фоновое изображение.&lt;/p&gt;  &lt;p&gt;Второй важный момент — это процесс ввода данных, который довольно неудобен, особенно это заметно при добавлении подарка. Чтобы перейти к следующему полю, мне нужно нажать где-то вне текущего поля, после чего нажать на то, которое мне нужно.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ff0000"&gt;Исправление&lt;/font&gt;&lt;/b&gt;: сделать возможность быстрого переходя от одного поля к другому прокруткой всей области ввода и переход к следующему полю по нажатию return (см. как работает добавление новых контактов в people).&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ffc000"&gt;Рекомендация&lt;/font&gt;&lt;/b&gt;: также стоит явно указать, что цена по умолчанию — 0 руб. Для этого надо вписать это значение в поле с ценой и выделять его полностью, при переводе фокуса на поле, чтобы его можно было легко изменить без необходимости выделения или посимвольного стирания.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;Дизайн&lt;/h2&gt;  &lt;h3&gt;Выступающие хвосты слева&lt;/h3&gt;  &lt;p&gt;На некоторых экранах панорамы с левой стороны страницы выступают окончания предыдущей страницы:&lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/8272.image_5F00_4356BF8E.png" width="119" height="189" /&gt;&amp;#160;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/3005.image_5F00_20B28113.png" width="119" height="189" /&gt;&lt;/p&gt;  &lt;p&gt;В панораме должен выступать справа только фрагмент следующей страницы.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ff0000"&gt;Исправление&lt;/font&gt;&lt;/b&gt;: убрать сдвиг слева. Скорее всего, достаточно поправить только используемый шаблон.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;О приложении&lt;/h3&gt;  &lt;p&gt;Помимо озвученной выше проблемы с кнопками, страница «о приложении» также располагает свое содержимое, используя центральное выравнивание:&lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/4555.image_5F00_57AC5F4C.png" width="113" height="189" /&gt;&amp;#160;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/7776.image_5F00_0A2FBCBF.png" width="113" height="189" /&gt;&lt;/p&gt;  &lt;p&gt;В Windows Phone рекомендуется выравнивать весь контент по левому краю для создания явной иерархии. В данном случае два способа выравнивая явно конфликтуют между собой.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ff0000"&gt;Исправление&lt;/font&gt;&lt;/b&gt;: выровнять весь контент, включая кнопки, по левому краю.&lt;/p&gt;    &lt;h3&gt;Светлая тема&lt;/h3&gt;  &lt;p&gt;Приложение не вполной мере переопределяет дефолтные значения цветов для системных контролов (поля ввода в активном состоянии, неактивные чекбоксы, панель приложения):&lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/6523.image_5F00_3F78CF24.png" width="113" height="189" /&gt;&amp;#160;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/3058.image_5F00_42CA40FF.png" width="113" height="189" /&gt;&amp;#160;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/8838.image_5F00_4523C2FD.png" width="113" height="189" /&gt;&lt;/p&gt;  &lt;p&gt;По умолчанию все системные контролы автоматически подстваиваются под выбранные пользователем тему и акцентный цвет (см. мою статью «&lt;a href="http://blogs.msdn.com/b/kichinsky/archive/2011/11/19/windows-phone-design-themes-and-accents.aspx"&gt;Дизайн приложений для WP7. Темы и акценты&lt;/a&gt;»). &lt;/p&gt;  &lt;p&gt;Как только в своем приложении вы решаете внедрять собственную тему, независимо от выбора пользователя (это не плохо само по себе!), на ваши плечи также ложится и контроль, что приложение будет выглядеть одинаково хорошо при всех сочетаниях тем и акцентов (см. например, статью “&lt;a href="http://www.windowsphonegeek.com/articles/Windows-Phone-Mango-Custom-application-Theme-Step-by-Step"&gt;Windows Phone Mango Custom application Theme Step by Step&lt;/a&gt;”).&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ff0000"&gt;Исправление&lt;/font&gt;&lt;/b&gt;: использовать кастомную тему для системных контролов.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Карточка человека&lt;/h3&gt;  &lt;p&gt;На странице адресата для подарков приведен список подарков, которые необходимо купить и упаковать. Иконки для управления подарками выстроены в виде таблицы с общим заголовком для всего списка («куплен» и «упакован»):&lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/4213.image_5F00_4306C434.png" width="113" height="189" /&gt;&amp;#160;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/8741.image_5F00_2EA0FEA9.png" width="113" height="189" /&gt;&lt;/p&gt;  &lt;p&gt;При детальном рассмотрении оказывается, что надписи размещены несбалансированно: «куплен» смещена относительно иконки влево, «упакован» — вправо, а подпись к удалению вообще отсутствует.&lt;/p&gt;  &lt;p&gt;Скорее всего, проблема изначально растет из неполной очевидности иконок (что делает галочка?) и далее необходимости добавления подписей, которая столкнулась с тем, что слово «упакован» слишком большое.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ff0000"&gt;Исправление&lt;/font&gt;&lt;/b&gt;: я бы исходил из начально проблемы: как обозначить покупку подарка? Очевидно, деньгами или корзинкой. Как обозначить деньги? Монетами, купюрами, символами валют:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/1067.image_5F00_7A8C5F55.png" width="144" height="240" /&gt;&lt;/p&gt;    &lt;p&gt;В таком варианте (или любом похожем) нет явной необходимости добавлять подписи (тут важно помнить, что символ рубля является локальным для России).&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ffc000"&gt;Рекомендация&lt;/font&gt;&lt;/b&gt;: если подписи все же нужны, то размер надписей необходимо уменьшить, сравните экраны с адресатом и общим списком подарков (оба в одном масштабе):&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/3527.image_5F00_199F5669.png" width="113" height="189" /&gt;&amp;#160;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/5280.image_5F00_25C0D090.png" width="113" height="189" /&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Выравнивание и отступы&lt;/h3&gt;  &lt;p&gt;Продолжая традиционную тему отступов и выравниваний... Хотя в данном приложении с выравниванием по одной линии по левому краю все более-менее хорошо, все же тут тоже есть над чем поработать (см. также несколько комментариев ниже).&lt;/p&gt;  &lt;p&gt;Во-первых, это внутренние текстовые отступы в списках — они разные для разных элементов:&lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/8308.image_5F00_31E24AB7.png" width="113" height="189" /&gt;&amp;#160;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/3527.image_5F00_6F8F3273.png" width="113" height="189" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ff0000"&gt;Исправление&lt;/font&gt;&lt;/b&gt;: сделать одинаковые отступы между категорией и значением для разных полей.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ffc000"&gt;Рекомендация&lt;/font&gt;&lt;/b&gt;: я бы переименовал «для кого» в «кому», тогда, к слову, и значения полей будут на одном уровне.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Во-вторых, это вертикальные отступы между элементами списка и внутренними строчками. Первые — маленькие, поэтому приходится вводить вертикальные линии. Вторые — несбалансированы, поэтому заголовок слегка повисает в воздухе:&lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/5265.image_5F00_1EFDA140.png" width="113" height="189" /&gt;&amp;#160;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/7206.image_5F00_55F77F79.png" width="113" height="189" /&gt;&amp;#160;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/4251.image_5F00_79D03106.png" width="113" height="189" /&gt;&amp;#160;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/2514.image_5F00_377D18C3.png" width="113" height="189" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ff0000"&gt;Исправление&lt;/font&gt;&lt;/b&gt;: убрать линии и увеличить немного отступы между элементами списка:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/5635.image_5F00_03687970.png" width="144" height="240" /&gt;&lt;/p&gt;    &lt;p&gt;Это же сглаживает проблему с внутренними отступами.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;В-третьих, это висящие посередине элементов списка кнопки для управления состояниями подарков:&lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/3162.image_5F00_0C08D1FC.png" width="113" height="189" /&gt;&amp;#160;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/6470.image_5F00_09EBD333.png" width="113" height="189" /&gt;&lt;/p&gt;  &lt;p&gt;Все бы хорошо, кроме одного момента — заголовок (название подарка) тяготеет над кнопками. Что особенно хорошо видно при длинном названии: нижняя граница текста �� верхняя граница кнопки пересекаются.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ffc000"&gt;Рекомендация&lt;/font&gt;&lt;/b&gt;: сгладить эту проблему можно очень просто, убрав необходимость такого «перевешивающего» выравнивания. Для этого достаточно атрибуты подарка написать в одну строчку, кстати, пояснения можно тоже убрать, так как они понятны из контекста:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/5226.image_5F00_34E3C138.png" width="144" height="240" /&gt;&amp;#160;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/7853.image_5F00_7290A8F4.png" width="144" height="240" /&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h3&gt;&amp;#160;&lt;/h3&gt;  &lt;h3&gt;Фон&lt;/h3&gt;  &lt;p&gt;В качестве фона, скорее всего, используется 32-битное изображение, хотя по умолчанию приложения на Windows Phone работают в 16-битном графическом режиме. В результате появляются хорошо заметные артефакты в градиентах:&lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/2161.image_5F00_375CCD29.png" width="113" height="189" /&gt;&amp;#160;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/3730.image_5F00_4D6338BB.png" width="113" height="189" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ff0000"&gt;Исправление&lt;/font&gt;&lt;/b&gt;: либо использовать 16-битную графику, либо явно прописать в манифесте приложения необходимость использования 32 бит (см. например, заметку “&lt;a href="http://www.j2i.net/blogEngine/post/2011/11/04/Enable-32-bit-Color-if-Your-Application-Supports-It.aspx"&gt;Enable 32-bit Color if Your Application Supports It&lt;/a&gt;”).&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ffc000"&gt;Рекомендация&lt;/font&gt;&lt;/b&gt;: кстати, заодно стоит закольцевать фон, чтобы не было заметно перехода между последней и первой страницами.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Время до Нового года&lt;/h3&gt;  &lt;p&gt;Помимо работы со списками подарков, приложение радует (и мотивирует) пользователя счетчиком оставшихся дней до Нового года. Тут интересно несколько аспектов. &lt;/p&gt;  &lt;p&gt;Во-первых, я снова про выравнивания:&lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/8510.image_5F00_5120DD8B.png" width="113" height="189" /&gt;&amp;#160;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/1565.image_5F00_0E619253.png" width="113" height="189" /&gt;&amp;#160;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/3113.image_5F00_05255712.png" width="113" height="189" /&gt;&lt;/p&gt;  &lt;p&gt;Помимо того, что время не выровнено с заголовком, оно также фактически имеет разный визуальный отступ для дней, часов, минут и секунд. В итоге получается лесенка, которая также лесенкой выступает справа на экране со списком подарков.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ff0000"&gt;Исправление&lt;/font&gt;&lt;/b&gt;: выровнять с заголовком по одной линии.&lt;/p&gt;  &lt;p&gt;Во-вторых, хотя, безусловно, я тоже оценил маневр с елочкой в фоне и временем, на практике это забавно, но не функционально. То есть считывать время, оставшееся до Нового года, просто напросто неудобно.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ffc000"&gt;Рекомендация&lt;/font&gt;&lt;/b&gt;: использовать более традиционное представление времени. Например, оставаясь примерно в том же дизайне, обратный отсчет можно было бы показать более информативно. Можно даже добавить календарик:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/4774.image_5F00_30F5AB01.png" width="144" height="240" /&gt;&amp;#160;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/6837.image_5F00_7ECE5AB6.png" width="144" height="240" /&gt;&lt;/p&gt;    &lt;p&gt;Над выравниванием календарика здесь, конечно, надо еще подумать.&lt;/p&gt; &lt;/blockquote&gt;    &lt;h2&gt;Функциональность&lt;/h2&gt;  &lt;h3&gt;Упаковка некупленных подарков&lt;/h3&gt;  &lt;p&gt;Вот оно! Настоящее новогоднее волшебство! Конечно, можно предположить, что подарок уже может иметься из каких-либо других источников, давно куплен или вообще сделан своими руками, но... Есть в этом что-то неправильное:&lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/4375.image_5F00_6C55E434.png" width="113" height="189" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ffc000"&gt;Рекомендация&lt;/font&gt;&lt;/b&gt;: подумать над соблюдением логики «наличие подарка -&amp;gt; упаковка подарка», особенно, если указана цена подарка, отличная от 0.&lt;/p&gt;    &lt;h3&gt;Новые подарки в списке подарков&lt;/h3&gt;  &lt;p&gt;Насколько я могу судить, свеже добавленные подарки не сразу попадают в список — требуется какое-то дополнительное обновление.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ff0000"&gt;Исправление&lt;/font&gt;&lt;/b&gt;: отследить момент обновления списка.&lt;/p&gt;    &lt;h3&gt;Редактирование подарков&lt;/h3&gt;  &lt;p&gt;Редактировать подарки нельзя, хотя иногда хочется: поменять фактическую цену или название. К слову, «погружение» в подарок имеет смысл и для того, чтобы хотя бы посмотреть целиком название, если оно длиннее, чем отведенное для него место в интерфейсе.&lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/5342.image_5F00_662E9799.png" width="113" height="189" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ff0000"&gt;Исправление&lt;/font&gt;&lt;/b&gt;: добавить возможность редактировать подарки полностью, а не только флаги покупки и упаковки.&lt;/p&gt;    &lt;h3&gt;Перебор бюджета&lt;/h3&gt;  &lt;p&gt;Приложение спокойно позволяет перебрать отведенный бюджет:&lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/7485.image_5F00_6F3B231A.png" width="113" height="189" /&gt;&amp;#160;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/0243.image_5F00_339B145A.png" width="113" height="189" /&gt;&lt;/p&gt;  &lt;p&gt;Вообще говоря, понятно, что на счастье не экономят, но, возможно, с этим все же стоит что-то делать...&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ffc000"&gt;Рекомендация&lt;/font&gt;&lt;/b&gt;: ввести контроль расхода средств с мягкой нотификацией о перерасходе относительно отведенного бюджета (его, кстати, изменять тоже нельзя!).&lt;/p&gt;  &lt;p&gt;Например, в случае превышения заложенного бюджета его можно как-нибудь подсвечивать или показывать отдельно перерасход.&lt;/p&gt;    &lt;p&gt;===&lt;/p&gt;  &lt;p&gt;Это был очередной #metrolynch. Если вы хотите, чтобы ваше приложение также было подвергнуто публичному разбору, &lt;a href="http://blogs.msdn.com/b/kichinsky/archive/2011/11/01/windows-phone-apps-design.aspx"&gt;правила игры описаны тут&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;p.s. Все мои оценки и рекомендации субъективны и не являются 100% верными решениями – все нужно тестировать и проверять на живых пользователях :)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10251448" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=Dr2Yv-GVmog:5ZM9WrRgJ7Q:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=Dr2Yv-GVmog:5ZM9WrRgJ7Q:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=Dr2Yv-GVmog:5ZM9WrRgJ7Q:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?i=Dr2Yv-GVmog:5ZM9WrRgJ7Q:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=Dr2Yv-GVmog:5ZM9WrRgJ7Q:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/kichinsky/~4/Dr2Yv-GVmog" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Design/">Design</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Windows+Phone/">Windows Phone</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/_2300_metrolynch/">#metrolynch</category></item><item><title>Иконки рубля и гривны для приложений на Windows Phone</title><link>http://blogs.msdn.com/b/kichinsky/archive/2011/12/28/rubles-icon-for-windows-phone.aspx</link><pubDate>Tue, 27 Dec 2011 22:19:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10251305</guid><dc:creator>Константин Кичинский</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/kichinsky/rsscomments.aspx?WeblogPostID=10251305</wfw:commentRss><comments>http://blogs.msdn.com/b/kichinsky/archive/2011/12/28/rubles-icon-for-windows-phone.aspx#comments</comments><description>&lt;p&gt;Я тут подумал, что было бы неплохо иметь иконку рубля для Windows Phone и, за неимением онной, быстренько нарисовал:&lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="rubles-wp" border="0" alt="rubles-wp" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/3581.rubles_2D00_wp_5F00_7C5F5EB2.png" width="500" height="115" /&gt;&lt;/p&gt;  &lt;p&gt;В комплекте файлик для Expression Design и готовые иконки, которые можно использовать в приложении.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Rubles-w.png&lt;/em&gt; можно использовать в панели приложения:&lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/5670.image_5F00_6C7019EE.png" width="144" height="240" /&gt;&amp;#160;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/2746.image_5F00_43F137DA.png" width="146" height="240" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Скачать: &lt;a href="http://narod.ru/disk/35781907001/rubles-wp.zip.html"&gt;http://narod.ru/disk/35781907001/rubles-wp.zip.html&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;upd: &lt;/strong&gt;Попросили добавить иконку для гривны:&lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/2500.image_5F00_54AAA770.png" width="500" height="116" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Скачать: &lt;a title="http://narod.ru/disk/35784234001/Grivna-wp.zip.html" href="http://narod.ru/disk/35784234001/Grivna-wp.zip.html"&gt;http://narod.ru/disk/35784234001/Grivna-wp.zip.html&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10251305" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=BgKjWUZ1gQs:h580p6ycH7Q:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=BgKjWUZ1gQs:h580p6ycH7Q:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=BgKjWUZ1gQs:h580p6ycH7Q:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?i=BgKjWUZ1gQs:h580p6ycH7Q:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=BgKjWUZ1gQs:h580p6ycH7Q:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/kichinsky/~4/BgKjWUZ1gQs" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Design/">Design</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Windows+Phone/">Windows Phone</category></item><item><title>HTML5INSIGHT #3</title><link>http://blogs.msdn.com/b/kichinsky/archive/2011/12/24/html5insight-3.aspx</link><pubDate>Fri, 23 Dec 2011 23:47:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10250777</guid><dc:creator>Константин Кичинский</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/kichinsky/rsscomments.aspx?WeblogPostID=10250777</wfw:commentRss><comments>http://blogs.msdn.com/b/kichinsky/archive/2011/12/24/html5insight-3.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://img-fotki.yandex.ru/get/4425/25193168.d/0_525fe_88c92ac3_L.jpg"&gt;&lt;img style="max-width: 550px;" border="0" alt="" src="http://img-fotki.yandex.ru/get/4425/25193168.d/0_525fe_88c92ac3_L.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Я кажется, давно не давал ссылки на новые статьи по HTML5, так что вот они:&lt;/p&gt;
&lt;p&gt;CSS3&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://html5insight.ru/post/13201220407/css3-mastering-shadows-box-shadow"&gt;CSS3. Работа с тенями. Часть 1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://html5insight.ru/post/14110995457/css3-mastering-shadows-text-shadow"&gt;CSS3. Работа с тенями. Часть 2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://html5insight.ru/post/14680089149/7-shadow-effects-for-your-text"&gt;7 мега-эффектов с тенями для текста, которые вы просто не можете пропустить&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Canvas &amp;amp; Web APIs&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://html5insight.ru/post/13822470326/drawing-on-canvas-with-web-sockets"&gt;Рисование по Canvas через WebSockets, или как работала наша демка на HTML5 Camp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://html5insight.ru/post/13790863511/t-p-canvas-and-offset"&gt;T&amp;amp;P. Canvas и Offset&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://html5insight.ru/post/13773171872/working-with-binary-data-using-typed-arrays"&gt;[Z-Я] Работа с бинарными данными с использованием типизированных массивов&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Размышления о HTML5&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://html5insight.ru/post/12736416435/html5-and-browser-transformation"&gt;HTML5 и трансформация браузера&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://html5insight.ru/post/11649519692/sailing-with-html5"&gt;На парусах HTML5. Как новые технологии меняют современный веб&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Приятного чтения!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10250777" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=6Y9G-_YVS68:aWIuI2rIW5M:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=6Y9G-_YVS68:aWIuI2rIW5M:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=6Y9G-_YVS68:aWIuI2rIW5M:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?i=6Y9G-_YVS68:aWIuI2rIW5M:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=6Y9G-_YVS68:aWIuI2rIW5M:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/kichinsky/~4/6Y9G-_YVS68" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/html5/">html5</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/css3/">css3</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Canvas/">Canvas</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/HTML5INSIGHT/">HTML5INSIGHT</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/file+api/">file api</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/web+sockets/">web sockets</category></item><item><title>[#MetroLynch] .Phone Dialer</title><link>http://blogs.msdn.com/b/kichinsky/archive/2011/12/22/metrolynch-phone-dialer.aspx</link><pubDate>Thu, 22 Dec 2011 12:10:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10250301</guid><dc:creator>Константин Кичинский</dc:creator><slash:comments>3</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/kichinsky/rsscomments.aspx?WeblogPostID=10250301</wfw:commentRss><comments>http://blogs.msdn.com/b/kichinsky/archive/2011/12/22/metrolynch-phone-dialer.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/kichinsky/archive/tags/_2300_metrolynch/"&gt;Метро-линчи&lt;/a&gt; входят в предновогодний сезон, четвертой жертвой стало приложение &lt;a href="http://www.windowsphone.com/ru-RU/apps/a009a72c-9741-43e5-b057-bc2ba6a8ba93"&gt;.phone dialer&lt;/a&gt; от &lt;a href="http://twitter.com/#!/alexeystrakh"&gt;Алексея Страха&lt;/a&gt; и &lt;a href="http://twitter.com/#!/alexsorokoletov"&gt;Александра Сороколетова&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/3000.image_5F00_76BFA530.png" width="500" height="192" /&gt;&lt;/p&gt;
&lt;p&gt;Напомню, если вы хотите, чтобы ваше приложение также было подвергнуто публичному разбору, &lt;a href="http://blogs.msdn.com/b/kichinsky/archive/2011/11/01/windows-phone-apps-design.aspx"&gt;правила игры описаны тут&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Навигация&lt;/h2&gt;
&lt;h3&gt;Настройки, о программе и меню&lt;/h3&gt;
&lt;p&gt;Экран настроек, помимо непосредственно настроек, предлагает также оставить отзывы и связаться с авторами, что также продублировано в разделе &amp;laquo;о программе&amp;raquo; и частично в меню приложения.&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/4188.image_5F00_69791C1D.png" width="115" height="191" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/4111.image_5F00_130CE751.png" width="115" height="191" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/8306.image_5F00_7F7F87AF.png" width="115" height="191" /&gt;&lt;/p&gt;
&lt;p&gt;Хотя я понимаю стремление авторов получить как можно больше отзывов, для чего кнопки для связи расставляются так, что на них просто нельзя не наткнуться, лично у меня это вызывает некоторый дискомфорт и растерянность. Если я могу сделать одно и тоже разными способами (в разных местах), это определенно заставляет меня задуматься, где правильно и в чем разница (хотя бы и подсознательно).&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #f79646;" color="#f79646"&gt;Рекомендация&lt;/span&gt;&lt;/b&gt;: убрать из настроек все, что не относится к настройкам.&lt;/p&gt;
&lt;p&gt;С практической точки зрения, возможно, тут стоит еще посмотреть статистику (и составить таковую, если ее нет) переходов пользователей. Либо напрямую через подсчет переходов в приложении, либо косвенно, внедряя флаги в сообщения для авторов, твиты и т.п. (к сожалению, в ревью, вставить флаги не получится).&lt;/p&gt;
&lt;h2&gt;Дизайн&lt;/h2&gt;
&lt;h3&gt;Выравнивали, выравнивали, да не выровняли&lt;/h3&gt;
&lt;p&gt;Я проверяю это очень просто: в угол скриншота ставится квадратик 24x24px и по его правой границе проводится линия. (Ну либо можно просто сетку с шагом в 12 или 24px сделать :)) Сразу видно, где правильно, а где надо поработать:&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/4604.image_5F00_6BF2280E.png" width="115" height="191" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/7737.image_5F00_3534CD0A.png" width="113" height="189" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/3036.image_5F00_285A76EC.png" width="115" height="191" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;Исправление&lt;/span&gt;&lt;/b&gt;: сделать везде левый отступ в 24px.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Иконка приложения&lt;/h3&gt;
&lt;p&gt;Надо начать с того, что иконка в магазине приложений не совпадает с тем, что можно увидеть в самом приложении, и в целом отдельные элементы явно стоит поправить:&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/6761.image_5F00_51EE421F.png" width="240" height="112" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #f79646;" color="#f79646"&gt;Рекомендация&lt;/span&gt;&lt;/b&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div align="left"&gt;Убрать подпись &amp;ldquo;wp7&amp;rdquo;, так как очевидно, что это приложение для Windows Phone, раз оно находится в Windows Phone Marketplace.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="left"&gt;Перерисовать иконку, убрав лишние эффекты и полутона, например, вот так: &lt;br /&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/6366.image_5F00_770B8C8B.png" width="240" height="111" /&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Постараться свести все иконки к некоторому единому знаменателю &amp;mdash; очевидно, они не обязаны выглядеть полностью одинаковыми и отличаться только размером, но все-таки выдержать их в одном духе.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Далее, с иконкой приложения уже в самом телефоне тоже есть некоторые интересные нюансы, которые лучше поправить.&lt;/p&gt;
&lt;p&gt;Во-первых, круг вокруг иконки с трубкой &amp;mdash; это традиционно используемая &lt;i&gt;кнопка&lt;/i&gt;, чтобы звонить по тому или иному номеру. То есть, она не только сильно напоминает иконку встроенного приложения для звонков, но и использует неправильную метафору, просто потому, что любая &lt;a href="http://blogs.msdn.com/b/kichinsky/archive/2011/12/18/why-do-we-have-circles-around-icons-in-the-windows-phone-app-bar_3F00_.aspx"&gt;иконка в круге &amp;mdash; это кнопка&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/1884.image_5F00_27526142.png" width="113" height="189" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/1805.image_5F00_13C501A1.png" width="113" height="189" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/0827.image_5F00_38E24C0D.png" width="115" height="191" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/3157.image_5F00_62761740.png" width="115" height="191" /&gt;&lt;/p&gt;
&lt;p&gt;Во-вторых, круг. Круг &amp;mdash; это не квадрат. Круглая иконка сильно выбивается на фоне всех остальных квадратных. Круглые иконки и иконки с круглыми краями делать не рекомендуется.&lt;/p&gt;
&lt;p&gt;Наконец и в-третьих, сочетание белого фона и &amp;laquo;круглости&amp;raquo; иконки плохо сказывается в светлой теме, когда фон иконки сливается с общим фоном и пропадает.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ffc000;" color="#ffc000"&gt;Рекомендация&lt;/span&gt;&lt;/b&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Сменить иконку.&lt;/li&gt;
&lt;li&gt;Убрать круг.&lt;/li&gt;
&lt;li&gt;Разобраться с фоном. &lt;br /&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/3073.image_5F00_40AA3EAF.png" width="229" height="175" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/7268.image_5F00_4CCBB8D6.png" width="227" height="174" /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h3&gt;Настройки&lt;/h3&gt;
&lt;p&gt;Кнопка для обновления индекса контактов содержит в себе данные о последнем обновлении индекса, причем в русском интерфейсе форматирование даты некорректное:&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/5633.image_5F00_244CD6C2.png" width="115" height="191" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;Исправление&lt;/span&gt;&lt;/b&gt;: для русского языка выводить дату в формате 22.12.2011г. 23:45 или любом другом близком. Главное: никаких AM/PM и даты только через точку.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #f79646;" color="#f79646"&gt;Рекомендация&lt;/span&gt;&lt;/b&gt;: вынести из кнопки дату последнего обновления, добавив соответствующую подпись:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/6204.image_5F00_62D22468.png" width="145" height="240" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/5226.image_5F00_4F44C4C7.png" width="145" height="240" /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;(Над конкретным решением еще надо подумать, но важно донести до пользователя две вещи: дать осознать, что индекс мог устареть, и предоставить очевидную кнопку для обновления индекса &amp;mdash; максимально конкретную.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Я также уже писал выше, что из настроек нужно вынести все посторонние функции, но также хочу обратить тут внимание на еще одном аспекте с точки зрения дизайна: неправильно разносить кнопки вертикально по пространству, пытаясь занять все доступное место.&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/1411.image_5F00_78D88FFA.png" width="115" height="191" /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;&lt;strong&gt;Исправление&lt;/strong&gt;&lt;/span&gt;: даже если делать с тремя или двумя кнопками как сейчас, их нужно в общем порядке располагать одну под другой с нормальным отступом:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/8875.image_5F00_654B3059.png" width="145" height="240" /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Это же верно и для раздела &amp;laquo;О программе&amp;raquo; (см. ниже).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;О программе&lt;/h3&gt;
&lt;p&gt;Тут также видна озвученная выше проблема с излишними отступами между кнопками, но я также хочу обратить внимание на другой аспект. Кнопки занимают всю ширину экрана и имеют центральное выравнивание:&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/0456.image_5F00_3CCC4E45.png" width="115" height="191" /&gt;&lt;/p&gt;
&lt;p&gt;В Windows Phone есть несколько видов кнопок. Среди них в данном контексте нам интересны два: обычные и командные.&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/8875.image_5F00_293EEEA4.png" width="106" height="189" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/8863.image_5F00_611132C7.png" width="107" height="189" /&gt;&lt;/p&gt;
&lt;p&gt;Обычные кнопки содержат в себе просто название действие и имеют соответствующий названию размер. Командные занимают всю ширину и помимо названия действия включают в себя также текст с пояснением. Обратите внимание, что весь текст выровнен по левому краю.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;Исправление&lt;/span&gt;&lt;/b&gt;: заменить кнопки на обычные, либо для кнопок с пояснением использовать схему размещения текста для командных кнопок:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/8688.image_5F00_18E376EB.png" width="145" height="240" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/8204.image_5F00_77179E59.png" width="145" height="240" /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h3&gt;Меню приложения&lt;/h3&gt;
&lt;p&gt;Фон меню приложения кажется слишком прозрачным, из-за чего текст становится трудно читать:&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/1832.image_5F00_554BC5C8.png" width="115" height="191" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;Исправление&lt;/span&gt;&lt;/b&gt;: повысить непрозрачность фона.&lt;/p&gt;
&lt;h3&gt;История звонков&lt;/h3&gt;
&lt;p&gt;После попытки позвонить на набранный номер он неожиданно повис в списке без видимых способов убрать:&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/7230.image_5F00_41BE6627.png" width="113" height="189" /&gt;&lt;/p&gt;
&lt;p&gt;Авторы подсказали, что это история (журнал) звонков.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;Исправление&lt;/span&gt;&lt;/b&gt;: добавить явную подпись, что это история или журнал звонков, тогда будет понятно, что это и не будет навязчивого желания что-то удалять:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/2018.image_5F00_2E310686.png" width="144" height="240" /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Функциональность&lt;/h2&gt;
&lt;h3&gt;Рассказать&lt;/h3&gt;
&lt;p&gt;Один из пунктов меню приложения предлагает расскать друзьям пользователя о замечательном приложении .phone dialer:&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/1351.image_5F00_0C652DF5.png" width="115" height="191" /&gt;&lt;/p&gt;
&lt;p&gt;Правда, делает он это всегда на английском.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #f79646;" color="#f79646"&gt;Рекомендация&lt;/span&gt;&lt;/b&gt;: для русского интерфейса выдавать текст на русском.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Звонок на набранный номер&lt;/h3&gt;
&lt;p&gt;Я сначала с большим опасением думал, куда же будет звонить кнопка с трубкой в панели задач. Оказалось, она пытается звонить на набранный в поле ввода номер или имя. Причем, если в результатах поиска остается один номер, она все равно будет звонить именно на то, что находится в поле ввода, а не один оставшийся номер.&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/8625.image_5F00_63E64BE0.png" width="115" height="191" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/0602.image_5F00_0D7A1714.png" width="113" height="189" /&gt;&lt;/p&gt;
&lt;p&gt;Противоречие происходит из того, что фактически поле ввода выполняет две функции: набор номера для звонка и поиск номера или человека, причем кнопка звонка в панели приложения завязана именно на первую функцию.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;Исправление&lt;/span&gt;&lt;/b&gt;: прежде всего, не давать звонить на текстовые номера &amp;mdash; это все равно бессмысленно, если это не конкретный человек из списка.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #f79646;" color="#f79646"&gt;Рекомендация&lt;/span&gt;&lt;/b&gt;: продумать более интуитивное поведение кнопки &amp;laquo;звонить&amp;raquo; в панели приложения. Например, если остался один номер, звонить именно на него.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Можно также пойти на компромисс, четко обозначив, что звонок всегда будет на первый номер в списке или, если список пустой, на то, что набрано в поле ввода:&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/0218.image_5F00_082B3063.png" width="144" height="240" /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;===&lt;/p&gt;
&lt;p&gt;Это был очередной #metrolynch. Если вы хотите, чтобы ваше приложение также было подвергнуто публичному разбору, &lt;a href="http://blogs.msdn.com/b/kichinsky/archive/2011/11/01/windows-phone-apps-design.aspx"&gt;правила игры описаны тут&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;p.s. Все мои оценки и рекомендации субъективны и не являются 100% верными решениями &amp;ndash; все нужно тестировать и проверять на живых пользователях :)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10250301" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=w6Gc6gcB748:IcMlGtTovYU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=w6Gc6gcB748:IcMlGtTovYU:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=w6Gc6gcB748:IcMlGtTovYU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?i=w6Gc6gcB748:IcMlGtTovYU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=w6Gc6gcB748:IcMlGtTovYU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/kichinsky/~4/w6Gc6gcB748" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Design/">Design</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Windows+Phone/">Windows Phone</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Metro/">Metro</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/_2300_metrolynch/">#metrolynch</category></item><item><title>Монетизация приложений — где деньги лежат, или почему это все реклама?</title><link>http://blogs.msdn.com/b/kichinsky/archive/2011/12/21/apps-monetization.aspx</link><pubDate>Tue, 20 Dec 2011 22:06:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10249753</guid><dc:creator>Константин Кичинский</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/kichinsky/rsscomments.aspx?WeblogPostID=10249753</wfw:commentRss><comments>http://blogs.msdn.com/b/kichinsky/archive/2011/12/21/apps-monetization.aspx#comments</comments><description>&lt;div class="content"&gt;&lt;img src="http://img-fotki.yandex.ru/get/5114/25193168.d/0_52538_d553c6b0_L.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Один из самых частых запросов от разработчиков мобильных приложений, который мы слышим на своих мероприятиях, это запрос на доклады по монетизации. Всем интересны истории успеха о том, как кто-то заработал миллионы долларов. Всем тоже хочется. &lt;br /&gt;&lt;br /&gt;Всем хочется кушать.&lt;br /&gt;&lt;br /&gt;Мы видим споры и метания между тем, какой способ заработка лучше. Что выбрать: платные приложения, бесплатные, но с рекламой, или бесплатные, но с внутренними платежами или платой за дополнительный функционал. Триалы, пожертвования&amp;hellip;&lt;br /&gt;&lt;br /&gt;&amp;laquo;Платные или бесплатные с рекламой?&amp;raquo; &amp;mdash; традиционно поднимаемый вопрос. И не случайно! Многие из нас помнят старые добрые времена, когда были десктопные приложения со встроенной рекламой &amp;mdash; и сегодня они почти исчезли (как класс). Реклама в приложении кажется нонсенсом и неуважением к пользователю. К рекламе на веб-сайтах мы привычны, причем привычны настолько, что в основном привычны ее игнорировать &amp;mdash; и воспринимаем как вполне нормальное проявление стремления владельцев сайта заработать на нем или, скажем, окупить хостинг.&lt;br /&gt;&lt;br /&gt;Но реклама в (мобильном) приложении? &amp;laquo;Фу!&amp;raquo; &amp;mdash; наверняка, скажете вы (&lt;i&gt;как пользователь&lt;/i&gt;). &lt;br /&gt;&lt;br /&gt;Рекламщики, предоставляющие различные API/SDK для вставки рекламных блоков, конечно, говорят, что рынок растет и у них прямо очередь из желающих разместить рекламу в ваших приложениях.&lt;br /&gt;&lt;br /&gt;И они спрашивают у разработчиков, почему же те не вставляют рекламу. А разработчики говорят, что считают её противоестественной и им проще зарабатывать на платных приложениях. (Честно-честно, примерно так все и происходит.) А рекламщики в ответ: &amp;laquo;Нууу, давайте считать...&amp;raquo; &lt;br /&gt;&lt;br /&gt;А если платно нельзя, потому что тут же сто тыщщ разработчиков наштампуют то же самое, но бесплатно, а с рекламой противоестественно, то на чем, в конце концов, деньги делать?&lt;br /&gt;&lt;br /&gt;Или это все предубеждения и пора уже осваивать вставку рекламы в мобильных приложениях? Или платные приложений действительно тоже активно покупают?&lt;br /&gt;&lt;br /&gt;Или, вот, скажем, этот вечный спор между продажей продуктов и сервисов? Продавать готовый продукт или пытаться построить сервис с подпиской или микроплатежами, который будет приносить доход с каждого пользователя постепенно. И об этом много дискуссий.&lt;br /&gt;&lt;br /&gt;Или, тоже интересный вопрос, делать две параллельные версии: платную и бесплатную с рекламой или ограниченным функционалом, &amp;mdash; или одну триальную, но с возможностью купить дополнительные возможности? Эта проблема чисто техническая или в ней есть и практическая бизнес-составляющая?&lt;br /&gt;&lt;br /&gt;Таких вопросов много. И, кстати, они будут все более и более актуальны не только в свете мобильных приложений, но и далее приложений планшетных и десктопных и любых других.&lt;br /&gt;&lt;br /&gt;Знаете, что я о них думаю? Я думаю, что все эти споры и альтернативы, &amp;mdash; они, на самом деле, об одном и том же, &amp;mdash; о рекламе.Это все рекламаПрежде всего, надо сказать, что какой бы способ заработка на приложениях вы ни выбрали &amp;mdash; это всегда будет вопрос рекламы. Как только вы соглашаетесь, что это вопрос рекламы, все альтернативы начинают играть в совершенно другом свете.&lt;br /&gt;&lt;br /&gt;Смотрите!&lt;/div&gt;
&lt;h3 class="content"&gt;Бесплатное и расширенное платное&lt;/h3&gt;
&lt;div class="content"&gt;&lt;img src="http://img-fotki.yandex.ru/get/1/25193168.d/0_52524_13c65d72_L.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Давайте начнем с классической истории. Делается две версии приложения: бесплатная с ограниченным функционалом и платная с расширенными возможностями. Вы можете называть первую lite-версией или вторую pro-версией, или вообще называть их разными приложениями &amp;mdash; это все маркетинговая шелуха.&lt;br /&gt;&lt;br /&gt;Важно другое: вы зарабатываете на том, что кто-то все же покупает у вас платную версию. Возможно, конечно, часть этих людей покупает сразу платную версию, потому что это именно то, что им нужно. Но, скорее всего, вы делаете ставку на то, что некоторые пользователи бесплатной версии решат, что им этого мало, захотят большего &amp;mdash; и тут вы предлагаете платную.&lt;br /&gt;&lt;br /&gt;И, если задуматься, оказывается, что все ваши вложения в бесплатную версию &amp;mdash; это реклама платной версии. Реклама может быть прямой (в приложении) или опосредованной через название приложения в магазине или, скажем, через сайт.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img-fotki.yandex.ru/get/4527/25193168.d/0_52525_292e280b_L.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Если вы в этот момент раздвоитесь &amp;laquo;на себя, делающего бесплатную версию,&amp;raquo; и &amp;laquo;себя, делающего платную версию&amp;raquo;, то должно быть понятно, что &amp;laquo;первый вы&amp;raquo; зарабатывает на рекламе &amp;laquo;второго вас&amp;raquo;, в то время как &amp;laquo;второй&amp;raquo; зарабатывает на непосредственных продажах.&lt;br /&gt;&lt;br /&gt;Возможно, вам даже будет проще думать о своих творениях не в терминах приложения &amp;ldquo;A&amp;rdquo; и расширенного &amp;ldquo;A+&amp;rdquo;, а в терминах приложений &amp;ldquo;A&amp;rdquo; и &amp;ldquo;B&amp;rdquo;, в одном из которых вы продаете рекламу другого.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img-fotki.yandex.ru/get/4426/25193168.d/0_52526_78ca5578_L.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Бесплатная версия &amp;mdash; это фундаментальная инвестиция, в которую нужно вкладывать часть (будущих) доходов от платной, ее тоже нужно продвигать и поддерживать в актуальном состоянии. Бесплатное приложение рекламирует пользователю идею о том, как ему будет хорошо (еще лучше) с платной версией.&lt;br /&gt;&lt;br /&gt;Это похоже на запуск рейсов с экономическим и бизнес-классами. Вам в любом случае придется вложиться в самолет и вы будете одновременно обслуживать пассажиров обоих классов, надеясь, что часть экономических когда-нибудь перейдет в бизнес. Но на плохом самолете, если есть альтернативы, не будут летать даже в экономе.&lt;/div&gt;
&lt;h4 class="content"&gt;Пример&lt;/h4&gt;
&lt;div class="content"&gt;&lt;a href="http://www.windowsphone.com/ru-RU/apps/7b8bedd5-4368-e011-81d2-78e7d1fa76f8"&gt;gMaps&lt;/a&gt; и &lt;a href="http://www.windowsphone.com/ru-RU/apps/c83aade5-5191-e011-986b-78e7d1fa76f8"&gt;gMaps Pro&lt;/a&gt; &amp;mdash; популярные картографические приложения на базе сервисов Google Maps. Первое из них бесплатное с рекламой, второе платное без рекламы и с расширенным функционалом.&lt;br /&gt;&lt;img src="http://img-fotki.yandex.ru/get/3415/25193168.d/0_52539_3c3fa89d_L.jpg" /&gt;&lt;/div&gt;
&lt;h3&gt;Триалы и дополнительный функционал&lt;/h3&gt;
&lt;div class="content"&gt;&lt;img src="http://img-fotki.yandex.ru/get/3417/25193168.d/0_52527_4c0b6fc1_L.jpg" /&gt;&lt;br /&gt;Второй сценарий &amp;mdash; похожий, но отличающийся в деталях (в частности, в деталях реализации), &amp;mdash; вместо двух приложений делать одно с расширяемым функционалом. &lt;br /&gt;&lt;br /&gt;Вы даете пользователю возможность поиграться с вашим приложением или игрушкой, войти во вкус и, возможно, даже решать свои основные задачи&amp;hellip; Еще чуть-чуть и он попадется в ваши ловкие затягивающие сети &amp;mdash; и он заплатит вам свою денежку, чтобы получить весь тот волшебный функционал, который вы так хотели ему предоставить, но стеснялись.&lt;br /&gt;&lt;br /&gt;Возможности приложения могут быть ограничены, скрыты или скрыты со временем. Вы можете сделать триал с интеграцией оплаты через маркет или предоставить пользователю возможность докупать возможности через какой-либо другой сервис. Вы даже можете сделать свой механизм подписки для приложения. В сущности, в контексте наших размышлений, нет большой разницы, ограничивать время или ограничивать функции. &lt;br /&gt;&lt;br /&gt;Если вы задатитесь вопросом, в чем ключевая роль триальной версии, то окажется, что она нужна именно для того, чтобы рекламировать платный функционал &amp;mdash; продвигать в голове пользователя идею продолжать использовать ваше приложение неограниченно или купить дополнительные возможности.&lt;br /&gt;&lt;br /&gt;В примере с самолетами это похоже на один общий класс, но с возможность доплаты да дополнительные услуги: питание, алкоголь и т. д., которые услужливые и милые стюардессы рекламируют во время полета. Другая интересная аналогия: строительство бесплатной дороги с заработком на сопутствующей инфраструктуре (отели, кафешки, заправки, стоянки). &lt;br /&gt;&lt;br /&gt;Триал &amp;mdash; это способ попасть на вашу дорогу.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img-fotki.yandex.ru/get/4425/25193168.d/0_52528_cdea733a_L.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Повторю: весь базовый функционал существует только потому, что он рекламирует платные возможности или снятие ограничений. Как и в случае с моделью бесплатной и платной версий, это фундаментальная инвестиция, от которой никуда не деться, в которую также нужно вкладывать ресурсы.&lt;br /&gt;&lt;br /&gt;На практике могут быть различные психологические нюансы и различия между тем, как вы расставляете акценты и что именно рекламируете. Если вы даете пользователю триал на 30 дней, &amp;mdash; это одна ситуация, сразу формирующая у пользователя ожидание, что в конце-концов придется платить определенную сумму. &lt;br /&gt;&lt;br /&gt;Если вы дайте основу бесплатно и предлагаете заплатить за дополнительный функционал, то тут ожидания другие: независимо от того, сколько вы вложили усилий в базовый функционал, для пользователя он бесплатен &amp;mdash; и он подсознательно уже оценивает стоимость дополнительного функционала, а не полного приложения. Поэтому, особенно если на рынке есть альтернативы, надо искать баланс между важностью дополнительного функционала и его ценой.&lt;br /&gt;&lt;br /&gt;В чем разница между платой за функционал и free+paid версиями? Ну помимо чисто технических различий реализации? На мой взгляд, есть два ключевых момента. С одной стороны, это как раз нюанс, указанный выше: бесплатное + платное более четко разделает, за что платит пользователь. Если вы оцениваете ваше полное приложение, скажем, в $2, то в случае триала это будет $2 за дополнительный функционал, а в случае платного &amp;mdash; $2 за все приложение. С другой стороны, реализация в виде единого приложения со встроенной возможностью докупить функционал заметно ближе к пользователю, чем отдельное приложение с полным функционалом, и это должно давать большую конверсию.&lt;br /&gt;&lt;br /&gt;На практике надо экспериментировать.&lt;/div&gt;
&lt;h4 class="content"&gt;Пример&lt;/h4&gt;
&lt;div class="content"&gt;Игра &lt;a href="http://www.windowsphone.com/ru-RU/apps/34e0f2e7-7bc7-41c0-9431-399e7ceddd2f"&gt;Doodle God&lt;/a&gt; предоставляет триальную версию с ограниченным количеством уровней и некоторым заблокированным в триале функционалом (например, достижения, которые, кстати, напоминают о возможности купить платную версию).&lt;br /&gt;&lt;img src="http://img-fotki.yandex.ru/get/1/25193168.d/0_5253a_68307118_M.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Подробнее о создании триальных приложений для Windows Phone &lt;a href="http://msdn.microsoft.com/en-us/library/ff967554(v=VS.92).aspx"&gt;читайте на MSDN&lt;/a&gt;.&lt;/div&gt;
&lt;h3 class="content"&gt;Продажа контента&lt;/h3&gt;
&lt;div class="content"&gt;&lt;img src="http://img-fotki.yandex.ru/get/4424/25193168.d/0_52529_2e4e8337_L.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Третий популярный сценарий касается встроенной в приложение продажи какого-то дополнительного контента. В общем-то, не имеет большого значения, что именно вы продаете: мандарины, статьи, книги, музыку или мечи, щиты и виртуальные подарки для друзей.&lt;br /&gt;&lt;br /&gt;Вы можете тут возразить, что одно дело делать социальную игру со встроенной продажей ништячков и совсем другое, когда ваше приложение &amp;mdash; это, к примеру, оболочка и мазагин для книг, мультиков или статей. И мол не надо их приравнивать&amp;hellip;&lt;br /&gt;&lt;br /&gt;Да-да-да. Но в каждом из этих случаев основная роль, которую выполняет ваше бесплатное приложение, &amp;mdash; это реклама возможности что-либо купить. &lt;br /&gt;&lt;br /&gt;Вы, может быть, делаете безумно прекрасную и классную игру, но цель этой игры есть не что иное как реклама платного контента. Возможно, даже технически у вас 90% усилий уйдет на разработку самой игры, а оставшиеся 10% на сервис продаваемого контента, &amp;mdash; это уже не важно, ваша игра стала рекламной площадкой для щитов, мечей, доспехов, волшебного зелья&amp;hellip; или что там сейчас модно? Капуста, морковка, свинюшки?&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img-fotki.yandex.ru/get/2/25193168.d/0_5252a_800fad23_L.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Ваше приложение всей своей сутью рекламирует возможность получить дополнительное счастье: получив контент, ништячки или экономию времени на выращивании картошечки.&lt;/div&gt;
&lt;h3 class="content"&gt;Продажа сервиса&lt;/h3&gt;
&lt;div class="content"&gt;&lt;img src="http://img-fotki.yandex.ru/get/3416/25193168.d/0_5252b_59c0670e_L.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Часто бесплатное приложение выступает в роли клиента к сервису. Пользователь платит за дополнительные услуги самого сервиса. Например, за лишние гигабайты, вычислительные мощности, надежность, поддержку или дополнительный функционал самого сервиса.&lt;br /&gt;&lt;br /&gt;Вы тут снова скажете, что это всего лишь клиент для сервиса &amp;mdash; и будете правы, но&amp;hellip;&lt;br /&gt;&lt;br /&gt;Но ваш клиент есть не что иное, как реклама вашего сервиса. Чем больше пользователь пользуется вашим приложением, тем больше он пользуется сервисом и тем больше у него зависимость от сервиса и желание получить от него больше &amp;mdash; и в этот момент он несет вам денюжку.&lt;br /&gt;&lt;br /&gt;Даже сам факт наличия лиента к вашему сервису в магазине приложений есть самое что ни на есть реклама сервиса. &lt;br /&gt;&lt;br /&gt;&lt;img src="http://img-fotki.yandex.ru/get/4424/25193168.d/0_5252c_671eaaf1_L.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Получая так или иначе доход от своих облачков, часть средств вы вкладываете в рекламу сервиса в виде клиентов для различных платформ, которые также повышают пользование вашим сервисом и, например, заполняемость бесплатно доступного места.&lt;/div&gt;
&lt;h4 class="content"&gt;Пример&lt;/h4&gt;
&lt;div class="content"&gt;&lt;a href="http://www.windowsphone.com/ru-RU/apps/db21927d-f292-e011-986b-78e7d1fa76f8"&gt;Evernote&lt;/a&gt; &amp;mdash; клиент к популярному одноименному сервису для ведения заметок, зарабатывающему на пользователях, покупающих премиум сервис, с расширенными возможностями.&lt;br /&gt;&lt;img src="http://img-fotki.yandex.ru/get/2/25193168.d/0_5253b_3f57d162_M.jpg" /&gt;&lt;/div&gt;
&lt;h3 class="content"&gt;Использование пользовательской базы&lt;/h3&gt;
&lt;div class="content"&gt;Теперь, когда мы рассмотрели основные сценарии монетизации приложений за счет &lt;i&gt;саморекламы&lt;/i&gt; чего-либо своего, самое время перейти к классическим рекламным сценариям, когда, фактически, вы продаете доступ к своим пользователям.&lt;br /&gt;&lt;br /&gt;Как тут не вспомнить: &amp;laquo;если вам что-то дали бесплатно, вполне вероятно, что продают не вам, а вас&amp;raquo;.&lt;br /&gt;&lt;br /&gt;Вы, наверное, уже гадаете, что я тут могу нового рассказать, кроме вставки традиционных рекламных блоков, которые мы обсуждали в самом начале? Сейчас, сейчас&amp;hellip;&lt;/div&gt;
&lt;h4 class="content"&gt;Сценарий 1. Классика&lt;/h4&gt;
&lt;div class="content"&gt;Вы вставляете внутри своего приложения рекламу других предложений. Фактически вы сдаете в аренду место, рекламную площадь &amp;mdash; и это классическая реклама, например, вставленная каким-нибудь рекламным блоком с помощью SDK от той или иной рекламной сети.&lt;br /&gt;&lt;br /&gt;Но могут быть и более интересные повороты: например, вы можете вставлять рекламу других приложений! Это может показаться странным, но на самом деле иногда это бывает довольно осмысленно, особенно, если реклама продвигает не конкурентов, а какие-то комплиментарные решения, возможно, даже никак напрямую не связанные с вашей областью. &lt;br /&gt;&lt;br /&gt;Например, вы делаете геотаргетированный сервис, тогда ваше приложение может предлагать приложения, связанные с тем или иным местом (приложение конкретного ресторана, музея и т.д.). &lt;br /&gt;&lt;br /&gt;&lt;img src="http://img-fotki.yandex.ru/get/3417/25193168.d/0_5252d_2bb62256_L.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Геотаргетинг и в целом контекстный таргетинг &amp;mdash; это чрезвычайно богатая тема, и на рынке приложений нам всем еще только предстоит пройти большой путь по осваиванию этой области. Мобильный форм-фактор интересен тем, что можно &amp;laquo;продать&amp;raquo; не просто пользователя, а пользователя &amp;laquo;здесь и сейчас&amp;raquo;. &lt;br /&gt;&lt;br /&gt;(И&amp;hellip; если закрыть глаза на некоторые технические аспекты, по сути это ничем не отличается от рекламы внутри вашего бесплатного приложения вашего же, но платного.)&lt;/div&gt;
&lt;h4 class="content"&gt;Пример&lt;/h4&gt;
&lt;div class="content"&gt;Для вставки рекламы в приложение можно использовать как собственные, возможно, более контекстные и адаптированные специально под вашу аудиторию решения, так и готовые платформы вроде &lt;a href="http://create.msdn.com/en-US/education/basics/ads"&gt;Microsoft Advertising&lt;/a&gt; (&lt;a href="http://www.microsoft.com/download/en/details.aspx?id=8729"&gt;SDK&lt;/a&gt;, &lt;a href="http://msdn.microsoft.com/en-us/library/advertising-mobile-windows-phone-7-sdk(v=msads.20).aspx"&gt;справка&lt;/a&gt;) или российского &lt;a href="http://wp7.begun.ru/"&gt;Begun&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Это классика жанра. Думайте, это все? Как бы ни так!&lt;/div&gt;
&lt;div class="content"&gt;&amp;nbsp;&lt;/div&gt;
&lt;h4 class="content"&gt;Сценарий 2. Брендирование и интеграция&lt;/h4&gt;
&lt;div class="content"&gt;Помните про триальные версии и продажу дополнительного функционала? Как на счет продажи дополнительного &amp;laquo;чужого&amp;raquo; функционала? Вы можете думать об этом как о плагинах или расширениях.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img-fotki.yandex.ru/get/5114/25193168.d/0_5252e_bed9257f_L.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Ваше популярное приложение предлагает базовый функционал и возможности для внедрения (интеграции) функционала, продвигающего другие сервисы или другие компании. Например, вы можете делать дополнительные пакеты уровней в своей игре, как это делает Angry Birds под разными платформами. Этакие спонсорские пакеты-расширения или просто брендирование.&lt;br /&gt;&lt;br /&gt;Но для начала, конечно, вам потребуется популярное приложение или, что более вероятно, популярная игрушка.&lt;br /&gt;&lt;br /&gt;Или, например, вы можете сделать платформу для организации мероприятий и продавать пользователям либо организаторам кастомизацию под конкретный эвент (площадка, расписание и т.д. &amp;ndash; все внутри вашего приложения дополнительными расширениями).&lt;/div&gt;
&lt;div class="content"&gt;&amp;nbsp;&lt;/div&gt;
&lt;h4 class="content"&gt;Сценарий 3. Магазин контента&lt;/h4&gt;
&lt;div class="content"&gt;Как на счет продажи чужого контента в вашем приложении с соответствующими отчислениями?&lt;br /&gt;&lt;br /&gt;Что? Вы уже продаете чужой контент, так как мы это уже обсудили несколько минут назад? Нет-нет. Мы говорили про ваш собственный контент. А вот что вы думаете именно о площадке с вашими пользователями для предоставления места для чужого контента?&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img-fotki.yandex.ru/get/4425/25193168.d/0_5252f_1374d483_L.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Например, это могут быть просто статьи популярных изданий или не очень популярных, которые хотят расширить свою аудиторию, но не готовы писать собственное приложение, а вы можете предложить их подачу в интересном формате. Или вы можете сделать мобильную площадку для нераскрученных, но талантливых музыкантов или фотографов.&lt;br /&gt;&lt;br /&gt;Шире ассортимент &amp;mdash; больше пользователей. И наоборот.&lt;br /&gt;&lt;br /&gt;(И, само собой, сюда входят вообще любые магазины для перепродажи чужого контента.)&lt;br /&gt;&lt;br /&gt;Учитывая мобильность, вы можете развить разные интересные контекстные сценарии: фотографии достопримечательностей, которые я вижу, путеводители к музею, в котором я нахожусь, рецепт к тому, что я сейчас ем, музыку или слова к тому, что я сейчас слушаю.&lt;br /&gt;&lt;br /&gt;Избитая тема &amp;laquo;сервисов такси&amp;raquo; &amp;mdash; это тоже перепродажа чужого контента: информации об услугах перевозок, рекламирующих тех или иных таксистов или таксомоторные парки.&lt;br /&gt;&lt;br /&gt;А могут быть и просто брендированные морковки для огорода&amp;hellip;&lt;/div&gt;
&lt;h4 class="content"&gt;Пример&lt;/h4&gt;
&lt;div class="content"&gt;&lt;a href="http://www.windowsphone.com/en-US/apps/48195fb4-ee0e-e011-9264-00237de2db9e"&gt;Amazon Kindle&lt;/a&gt; &amp;mdash; бесплатный клиент (к сожалению, в российском маркете пока не доступен) для электронных книг, продаваемых через сервис Amazon, фактически выступающего в роли издателя и магазина продаж. Amazon предлагает авторам публиковать книги в электронном виде прямо в kindle-устройства и приложения для разных платформ.&lt;br /&gt;&lt;img src="http://img-fotki.yandex.ru/get/4527/25193168.d/0_5253c_326cee88_M.jpg" /&gt;&lt;/div&gt;
&lt;div class="content"&gt;&amp;nbsp;&lt;/div&gt;
&lt;h4 class="content"&gt;Сценарий 4. Эксплуатация сервисов и бартер&lt;/h4&gt;
&lt;div class="content"&gt;(Оглядываясь назад...) Мы уже продали чужую рекламу, дополнительный &amp;laquo;чужой&amp;raquo; функционал и построили площадку для чужого контента. Чувствую, вы уже догадались, о чем будет четвертый сценарий? &lt;br /&gt;&lt;br /&gt;Правильно, вы можете предлагать свою аудиторию, особенно если она большая, сторонним сервисам. &lt;br /&gt;&lt;br /&gt;Интерес представляет то, что многие интернет-сервисы предоставляют API для разработчиков с тем, чтобы они могли на базе этих сервисов или их комбинаций писать свои собственные решения. Это открывает дорогу как для создания собственных клиентов (возможно, платных или с рекламой) к этим сервисам, так и для расширения функционала своих приложений за счет сторонних сервисов (например, путем внедрения социальных механизмов Facebook).&lt;br /&gt;&lt;br /&gt;Важный, однако, вопрос заключается в том, кто и кому платит за сервис, потому что, если за сервис платите вы, то это уже другая история&amp;hellip;&lt;br /&gt;&lt;br /&gt;Чаще всего, внешний сервис зарабатывает на пользователях двумя способами:&lt;/div&gt;
&lt;div class="content"&gt;
&lt;ul&gt;
&lt;li&gt;пользователи платят премиум-услуги &amp;mdash; например, увеличение сетевого хранилища (классика жанра &amp;mdash; Dropbox),&lt;/li&gt;
&lt;li&gt;пользователи самого сервиса видят рекламу и/или сервису нужна дополнительная аудитория или постоянное взамодействие с аудиторией (например, Twitter).&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;В обоих случаях, сервис выставляет для разработчиков бесплатный API в обмен на привлечение пользователей и генерацию дополнительных контактов с сервисом.&lt;br /&gt;&lt;img src="http://img-fotki.yandex.ru/get/3416/25193168.d/0_52530_79772a0d_L.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Фактически, это бартер: отдавая пользователей, вы будете экономить на своих затратах и получать заветный функционал, но ваше приложение выступает рекламой внешнего сервиса.&lt;br /&gt;&lt;br /&gt;Возможно, есть какие-то интересные примеры, когда сервис будет вам доплачивать за использование его API, но мне такие примеры (кроме, собственно, вставки рекламы ) неизвестны. Если знаете, расскажите мне!&lt;br /&gt;&lt;br /&gt;Надеюсь, теперь вы верите мне, что вся монетизация строится вокруг рекламы?&lt;/p&gt;
&lt;h3&gt;Бонус!&lt;/h3&gt;
&lt;p&gt;Бонусная тема &amp;mdash; реклама своих услуг. Хорошие приложения, даже бесплатные часто оказываются неплохой рекламой самого разработчика или компании, предоставляющей соответствующие услуги.&lt;br /&gt;&lt;br /&gt;В этом случае монетизация самого приложения &amp;mdash; это уже не ваша головная боль. Вы получаете деньги за поток приложений:&lt;br /&gt;&lt;img src="http://img-fotki.yandex.ru/get/4425/25193168.d/0_52531_6bf9b8b_L.jpg" /&gt;&lt;/p&gt;
&lt;h3&gt;Табличка&lt;/h3&gt;
&lt;p&gt;Суммирая все сказанное выше, вот небольшая табличка:&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;Свое&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;Чужое&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Место&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;Free+ Paid: бесплатное приложение рекламирует платное.&lt;/td&gt;
&lt;td&gt;Приложение рекламирует чужие приложения или предложения.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Функционал&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;Триальная версия рекламирует платный функционал.&lt;/td&gt;
&lt;td&gt;В приложение интегрируется дополнительный &amp;laquo;чужой&amp;raquo; функционал, рекламирующий спонсора или необходимый пользователю.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Контент&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;Приложение продвигает дополнительный контент: статьи, книгу, морковку.&lt;/td&gt;
&lt;td&gt;Приложение является площадкой для продажи чужого контента.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Сервис&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;Приложение рекламирует платный уровень вашего сервиса.&lt;/td&gt;
&lt;td&gt;Приложение использует бесплатно чужой сервис, получая дополнительную ценность, или получает доход от продвижения сервиса.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Приложения&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;Разработка приложений для продвижения себя как разработчика приложений: трудойстройство или разработка приложений на заказ.&lt;/td&gt;
&lt;td&gt;Магазин приложений с заработком на доле от продажи приложений или рекламы.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;На практике конкретное приложение может зарабатывать деньги, применяя только один способ или комбинацию нескольких:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img-fotki.yandex.ru/get/4424/25193168.d/0_52532_fe4b9298_M.jpg" /&gt; &lt;img src="http://img-fotki.yandex.ru/get/2/25193168.d/0_52534_30b93fc0_M.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Например, в одном приложении может сочетаться свой и чужой контент или ваш сервис может использовать только в вашем приложении или также быть доступным и снаружи для других разработчиков:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img-fotki.yandex.ru/get/3415/25193168.d/0_52533_f2e1923d_M.jpg" /&gt; &lt;img src="http://img-fotki.yandex.ru/get/3415/25193168.d/0_52535_f1e92eb8_M.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;И, конечно, вы можете рассказать о себе с помощью магазина приложений, обзоров приложений или специальных ресурсов вроде &lt;a href="http://appsprofessionals.ru/"&gt;appsprofessionals.ru&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img-fotki.yandex.ru/get/4527/25193168.d/0_52536_bb67daf4_M.jpg" /&gt; &lt;img src="http://img-fotki.yandex.ru/get/3416/25193168.d/0_52537_87f16b5d_M.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;(Вообще говоря, и сам магазин приложений можно рассматривать как заработок на рекламе &amp;mdash; рекламе приложений, размещаемых в магазине.)&lt;/p&gt;
&lt;h3&gt;Заключение&lt;/h3&gt;
&lt;p&gt;Ну и заключительная ремарка. Иногда различные подходы могут комбинироваться между собой, грань между функционалом, сервисом и контентом, равно как и между своим и чужим может быть весьма условной, стираться или отсутствовать напрочь. &lt;br /&gt;&lt;br /&gt;Что именно и как конкретно делать? На этот вопрос вам никто не даст достоверного ответа. Все познается только в практике, но надо подразумевать, что для разных типов приложений и решаемых ими задач подходят разные способы монетизации. Что-то подходит для ленивых, а что-то требует капитальных вложений и серьезной работы. Что-то дает отдачу быстро и довольно большими кусками, а что-то можно доить долго, медленно и маленькими порциями. Где-то нужно ориентироваться на число пользователей, а где-то на число возвратов. Мир сложен.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10249753" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=US-7xI1o9Sc:KPnvb7siJzw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=US-7xI1o9Sc:KPnvb7siJzw:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=US-7xI1o9Sc:KPnvb7siJzw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?i=US-7xI1o9Sc:KPnvb7siJzw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=US-7xI1o9Sc:KPnvb7siJzw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/kichinsky/~4/US-7xI1o9Sc" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Windows+Phone/">Windows Phone</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Money/">Money</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Monetization/">Monetization</category></item><item><title>Интервью Steve Kaneko /Microsoft Design Director/ о дизайне в Microsoft</title><link>http://blogs.msdn.com/b/kichinsky/archive/2011/12/21/steve-kaneko-microsoft-design-director-microsoft.aspx</link><pubDate>Tue, 20 Dec 2011 22:03:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10249751</guid><dc:creator>Константин Кичинский</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/kichinsky/rsscomments.aspx?WeblogPostID=10249751</wfw:commentRss><comments>http://blogs.msdn.com/b/kichinsky/archive/2011/12/21/steve-kaneko-microsoft-design-director-microsoft.aspx#comments</comments><description>&lt;p&gt;&lt;iframe height="315" src="http://www.youtube.com/embed/wg05sTUC66A" frameborder="0" width="560" allowfullscreen=""&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10249751" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=Qv81Up5HCVw:lb5Ouzz3378:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=Qv81Up5HCVw:lb5Ouzz3378:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=Qv81Up5HCVw:lb5Ouzz3378:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?i=Qv81Up5HCVw:lb5Ouzz3378:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=Qv81Up5HCVw:lb5Ouzz3378:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/kichinsky/~4/Qv81Up5HCVw" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Design/">Design</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Windows+Phone/">Windows Phone</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Metro/">Metro</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Windows/">Windows</category></item><item><title>Книга-курс: Designing for Windows Phone</title><link>http://blogs.msdn.com/b/kichinsky/archive/2011/12/18/designing-for-windows-phone.aspx</link><pubDate>Sun, 18 Dec 2011 19:47:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10248980</guid><dc:creator>Константин Кичинский</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/kichinsky/rsscomments.aspx?WeblogPostID=10248980</wfw:commentRss><comments>http://blogs.msdn.com/b/kichinsky/archive/2011/12/18/designing-for-windows-phone.aspx#comments</comments><description>&lt;p&gt;Содержание:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;METRO Design&lt;/li&gt;
&lt;li&gt;Building WP7 Assets&lt;/li&gt;
&lt;li&gt;Layout Controls in Expression Blend&lt;/li&gt;
&lt;li&gt;Creating Animation &amp;amp; Basic Interactivity&lt;/li&gt;
&lt;li&gt;Working with the Visual State Manager&lt;/li&gt;
&lt;li&gt;Adding Data to your Application&lt;/li&gt;
&lt;li&gt;Creating the Flickr4Fun app&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Качать тут: &lt;a href="https://www.facultyresourcecenter.com/curriculum/pfv.aspx?ID=8825&amp;amp;c1=en-us&amp;amp;c2=0&amp;amp;Login"&gt;https://www.facultyresourcecenter.com/curriculum/pfv.aspx?ID=8825&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10248980" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=r6orznumFaw:7VzI3qkK1Ho:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=r6orznumFaw:7VzI3qkK1Ho:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=r6orznumFaw:7VzI3qkK1Ho:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?i=r6orznumFaw:7VzI3qkK1Ho:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=r6orznumFaw:7VzI3qkK1Ho:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/kichinsky/~4/r6orznumFaw" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Design/">Design</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Windows+Phone/">Windows Phone</category></item><item><title>Почему иконки в панели приложения Windows Phone имеют круг вокруг?</title><link>http://blogs.msdn.com/b/kichinsky/archive/2011/12/18/why-do-we-have-circles-around-icons-in-the-windows-phone-app-bar_3F00_.aspx</link><pubDate>Sun, 18 Dec 2011 16:34:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10248957</guid><dc:creator>Константин Кичинский</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/kichinsky/rsscomments.aspx?WeblogPostID=10248957</wfw:commentRss><comments>http://blogs.msdn.com/b/kichinsky/archive/2011/12/18/why-do-we-have-circles-around-icons-in-the-windows-phone-app-bar_3F00_.aspx#comments</comments><description>&lt;p&gt;У меня об этом тоже спрашивают -- и вот вам &lt;a title="ответ  " href="http://ux.artu.tv/?p=176"&gt;ответ&lt;/a&gt; от &lt;b&gt;&lt;a title="Arturo Toledo" href="http://twitter.com/arturot"&gt;Arturo Toledo&lt;/a&gt; &lt;/b&gt;(Sr. User Experience Designer at Microsoft for the Windows Phone Design &lt;br /&gt;Studio):&amp;nbsp;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Мы смотрим на них как на&amp;nbsp;кнопки, а не иконки -- хотя я понимаю, что это не вопрос терминологии :) Это кнопки с маленькими иконками внутри. Метро-язык дизайна, предлагаемый Microsoft, несет в себе последовательный подход к отображению контролов-кнопок. Будь это обычная кнопка (Push Button), переключаемая кнопка (Toggle Button), командная кнопка (Command Button), кнопки медиа-плеера или кнопки-иконки (Icon Buttons) -- все они в метро-языке для Windows Phone имеют рамку, задающую их границу. Таким образом, кнопки-иконки в панели приложения просто следуют тому же языку, как и другие типы кнопок.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://img-fotki.yandex.ru/get/4422/25193168.d/0_52446_526ec07a_orig"&gt;&lt;img style="max-width: 500px;" border="0" alt="" src="http://img-fotki.yandex.ru/get/4422/25193168.d/0_52446_526ec07a_L.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10248957" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=sZVHZd4Hpqo:e2VKZvmVLo0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=sZVHZd4Hpqo:e2VKZvmVLo0:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=sZVHZd4Hpqo:e2VKZvmVLo0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?i=sZVHZd4Hpqo:e2VKZvmVLo0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=sZVHZd4Hpqo:e2VKZvmVLo0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/kichinsky/~4/sZVHZd4Hpqo" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Design/">Design</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Windows+Phone/">Windows Phone</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Metro/">Metro</category></item><item><title>Мы запустили Metro-хаб на MSDN</title><link>http://blogs.msdn.com/b/kichinsky/archive/2011/12/02/we-launched-metro-hub-on-msdn.aspx</link><pubDate>Fri, 02 Dec 2011 13:34:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10243719</guid><dc:creator>Константин Кичинский</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/kichinsky/rsscomments.aspx?WeblogPostID=10243719</wfw:commentRss><comments>http://blogs.msdn.com/b/kichinsky/archive/2011/12/02/we-launched-metro-hub-on-msdn.aspx#comments</comments><description>&lt;p&gt;&lt;img src="http://img-fotki.yandex.ru/get/4714/25193168.c/0_51d7b_2ed48032_L.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Друзья! Видя большой интерес к платформе Windows Phone и повышенный спрос на дизайнерские ресурсы, мы решили запустить отдельный &lt;a href="http://msdn.microsoft.com/ru-ru/hh680827"&gt;центр на MSDN, посвященный именно вопросам metro-дизайна&lt;/a&gt; (короткая ссылка: &lt;a href="http://bit.ly/metrodesignhub"&gt;bit.ly/metrodesignhub&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;Сегодня мы выложили ссылки на основные видео-материалы, гайдлайны и шаблоны. В планах дополнительные статьи по отдельным аспектам дизайна для Windows Phone и Windows.&lt;br /&gt;&lt;br /&gt;Расскажите нам, что бы вы хотели видеть в данном хабе и какой информации по дизайну вам не хватает.&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10243719" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=6VBE2vhPyN0:D2x9dhSSJFw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=6VBE2vhPyN0:D2x9dhSSJFw:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=6VBE2vhPyN0:D2x9dhSSJFw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?i=6VBE2vhPyN0:D2x9dhSSJFw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=6VBE2vhPyN0:D2x9dhSSJFw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/kichinsky/~4/6VBE2vhPyN0" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Design/">Design</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Windows+Phone/">Windows Phone</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Metro/">Metro</category></item><item><title>[#MetroLynch] Biorhythmics</title><link>http://blogs.msdn.com/b/kichinsky/archive/2011/12/02/metrolynch-biorhytmics.aspx</link><pubDate>Fri, 02 Dec 2011 09:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10243660</guid><dc:creator>Константин Кичинский</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/kichinsky/rsscomments.aspx?WeblogPostID=10243660</wfw:commentRss><comments>http://blogs.msdn.com/b/kichinsky/archive/2011/12/02/metrolynch-biorhytmics.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/kichinsky/archive/tags/_2300_metrolynch/"&gt;Метро-линчи&lt;/a&gt; продолжаются &amp;ndash; и третьей жертвой стало приложение &lt;a href="http://www.windowsphone.com/ru-ru/apps/edf930ac-8056-e011-854c-00237de2db9e?wa=wsignin1.0"&gt;Biorhythmics&lt;/a&gt; от &lt;a href="http://www.oogsoft.com/"&gt;Oogway&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/6724.image_5F00_33A655B4.png" width="500" height="166" /&gt;&lt;/p&gt;
&lt;p&gt;Напомню, если вы хотите, чтобы ваше приложение также было подвергнуто публичному разбору, &lt;a href="http://blogs.msdn.com/b/kichinsky/archive/2011/11/01/windows-phone-apps-design.aspx"&gt;правила игры описаны тут&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Навигация и управление&lt;/h2&gt;
&lt;h3&gt;Список профилей&lt;/h3&gt;
&lt;p&gt;В списке профилей отдельные плашки с профилем выглядят так, что на них хочется нажать, чтобы погрузиться в детали, хотя, фактически, никаких деталей нет, а нажимаемой является только кнопка редактирования.&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/1033.image_5F00_58576D2B.png" width="115" height="191" /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ffc000;" color="#ffc000"&gt;Рекомендация&lt;/span&gt;&lt;/b&gt;: рассмотреть вариант, при котором нажатие на всю плашку будет сразу переводить пользователя на страницу редактирования. Возможно, это будет удобнее.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Подтверждение изменений в профиле&lt;/h3&gt;
&lt;p&gt;При редактировании или создании профиля в панели приложения появляются три кнопки: сохранение, отмена и удаление профиля.&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/5635.image_5F00_5712D44C.png" width="113" height="189" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/5722.image_5F00_27E0E8B5.png" width="115" height="191" /&gt;&lt;/p&gt;
&lt;p&gt;Общая рекомендация заключается в использовании автосохранения вносимых изменений и автоматическом применении устанавливаемых настроек. Хотя, безусловно, должен быть баланс между автоприменением и обратимостью изменений, особенно, в сложных ситуациях, когда это является критичным (например, если изменение каких-то параметров в силу своей природы не является обратимым).&lt;/p&gt;
&lt;p&gt;В данном контексте случайное изменение параметров профиля является маловероятным и в любом случае легко обратимо.&lt;/p&gt;
&lt;p&gt;Также следует обратить внимание на отказ от вносимых изменений &amp;ndash; для этого рекомендуется использовать просто переход назад к предыдущему состоянию по нажатию на соответсвующую кнопку &amp;laquo;назад&amp;raquo;. Например, в &amp;ldquo;Messaging&amp;rdquo; (&amp;ldquo;Сообщения&amp;rdquo;) при нажатии на кнопку создания сообщения открывается страница редактирования нового сообщения, отказ от создания происходит при нажатии &amp;laquo;назад&amp;raquo;, а отправка (фактически, создание) нового сообщения уже требует явного подтверждения.&lt;/p&gt;
&lt;p&gt;Наконец, следует вдвойне осторожно относиться к одновременному использованию нескольких &amp;laquo;разрушительных&amp;raquo; действий. В данном случае это отмена (крестик) и удаление (корзина) &amp;mdash; оба символа часто используются для обозначения операции удаления.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ffc000;" color="#ffc000"&gt;Рекомендация&lt;/span&gt;&lt;/b&gt;: рассмотреть альтернативный механизм подтвеждения действий: при создании нового профиля оставить только кнопку сохранения, а при редактировании нового профиля автоматически сохранять изменения (фактически, убрав функционал отмены) и оставить только кнопку удаления.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Изменение &amp;laquo;даты для отображения&amp;raquo;&lt;/h3&gt;
&lt;p&gt;(Оставляя за рамками ревью выбор названия &amp;laquo;дата для отображения&amp;raquo;...)&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/5810.image_5F00_7BC3EBC3.png" width="113" height="189" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/5226.image_5F00_4C92002C.png" width="113" height="189" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/7360.image_5F00_3970D380.png" width="113" height="189" /&gt;&lt;/p&gt;
&lt;p&gt;Для того, чтобы изменить опорную дату при отображении биоритмов необходимо проделать несколько действий: нажать на иконку с датой в панели приложения, нажать на поле выбора даты и далее выбрать дату. Соответственно, для ввода даты нужно сделать целых два подтверждения!&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;Исправление&lt;/span&gt;&lt;/b&gt;: после нажатия на кнопку выбора даты сразу предлагать интерфейс с выбором опорной даты (3), перенеся в панель приложения кнопку выбора текущей даты из промежуточного экрана.&lt;/p&gt;
&lt;p&gt;Также стоит обратить внимание на то, что кнопка для выбора даты содержит некоторое число &amp;ndash; это вводит пользователя в заблуждение, особенно учитывая, что для кнопки выбора даты и выбора текущей даты по внешнему виду совпадают.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;Исправление&lt;/span&gt;&lt;/b&gt;: для выбора даты использовать иконку календаря &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/5314.image_5F00_382C3AA1.png" width="16" height="18" /&gt;, для выбора сегодняшей даты в идеале надо использовать решение, аналогичное выбору даты в приложении &amp;ldquo;Calendar&amp;rdquo; (Календарь) с отображением именно текущей даты.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Добавление первого профиля&lt;/h3&gt;
&lt;p&gt;При начале работы с приложением (или просто отсутствии людей в списке) пользователя встречает предложение добавить людей: &amp;laquo;Необходимо добавить хотя бы одного человека. Изменить список людей&amp;raquo;.&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/1106.image_5F00_37C007AC.png" width="113" height="189" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/1007.image_5F00_61C005D4.png" width="113" height="189" /&gt;&lt;/p&gt;
&lt;p&gt;Тут есть три интересных момента. Во-первых, понятно, что &amp;laquo;необходимо&amp;raquo;, поэтому вместо длинного объяснения достаточно просто поставить кнопку &amp;laquo;добавить профиль&amp;raquo;. Как вариант, можно нарисовать иконку человека с иконкой &amp;laquo;+&amp;raquo;.&lt;/p&gt;
&lt;p&gt;Во-вторых, &amp;laquo;изменить&amp;raquo; список людей не получится, потому что менять нечего &amp;mdash; можно только добавить пользователей в список. Кстати, ссылку в данном случае тоже использовать некорректно.&lt;/p&gt;
&lt;p&gt;В-третьих, при отсутствии хотя бы одного профиля теряется смысл в &amp;laquo;дате для отображения&amp;raquo;, &amp;laquo;списке людей&amp;raquo; и &amp;laquo;настройках&amp;raquo;.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;Исправление&lt;/span&gt;&lt;/b&gt;: убрать все лишнее и акцентирование внимание на необходимости добавления профиля. В качестве одного из вариантов можно рассмотреть такой: положить в подложку изображение интерфейса программы при наличии профиля, а сверху через затенение иконку для добавления нового профиля:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/7455.image_5F00_4F0B0C1D.png" width="113" height="189" /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Или все то же самое, но без подложки.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Также в текущем решении при пустом списке и нажатии на ссылку &amp;laquo;изменить список людей&amp;raquo; происходит переход на список людей, хотя очевидно, что нужно сразу открывать создание нового профиля.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;Исправление&lt;/span&gt;&lt;/b&gt;: убрать промежуточный переход.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ffc000;" color="#ffc000"&gt;Рекомендация&lt;/span&gt;&lt;/b&gt;: также, возможно, для первого профиля было бы удобно автоматически подставлять имя хозяина телефона.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Дизайн&lt;/h2&gt;
&lt;h3&gt;Выравнивание элементов&lt;/h3&gt;
&lt;p&gt;При дизайне приложений для Windows Phone рекомендуется выравнивать элементы по левому краю со стандартным отступом в 24px.&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/0508.image_5F00_34CAA2F9.png" width="113" height="189" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/5466.image_5F00_33860A1A.png" width="113" height="189" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/2158.image_5F00_3241713B.png" width="113" height="189" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/4380.image_5F00_0A2EC21C.png" width="113" height="189" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/1072.image_5F00_492042B7.png" width="113" height="189" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;Исправление&lt;/span&gt;&lt;/b&gt;: выровнять элементы на всех экранах, включая различные ориентации.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Выбор среза: плитки, список&lt;/h3&gt;
&lt;p&gt;Для выбора среза биоритмов (физический, эмоциональный и т. д.) предлагается два варианта отображения: списком и плитками. Хотя разнообразие и наличие выбора обычно приятно, ни одно из решений не умещается в экран (включая портретный режим):&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/4774.image_5F00_0811C353.png" width="113" height="189" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/5270.image_5F00_58DFD7BB.png" width="113" height="189" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/2046.image_5F00_579B3EDC.png" width="113" height="189" /&gt;&lt;/p&gt;
&lt;p&gt;Кажется, что все варианты занимают слишком много места и их можно расположить более компактно в любом из вариантов представления.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ffc000;" color="#ffc000"&gt;Рекомендация&lt;/span&gt;&lt;/b&gt;: сделать элементы списка и плитки более компактными, чтобы в каждом из вариантов они целиком умещались на странице.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/7827.image_5F00_6B482870.png" width="144" height="240" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/4375.image_5F00_10D1A5D2.png" width="144" height="240" /&gt;&lt;/p&gt;
&lt;p&gt;В принципе, лучше даже убрать целиком подложку у неактивных элементов.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h3&gt;Отображение выбранного среза&lt;/h3&gt;
&lt;p&gt;Выбранный срез в списке или среди плиток отмечается акцентным цветом, в том время как на графике просто более жирной линией &amp;mdash; в этом наблюдается некоторое противоречие. Было бы намного легче считывать, если бы линия тоже была акцентного цвета.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ffc000;" color="#ffc000"&gt;Рекомендация&lt;/span&gt;&lt;/b&gt;: сделать линию акцентным цветом.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Отображение текущего уровня&lt;/h3&gt;
&lt;p&gt;Можно поиграться с отображением текущего уровня в более понятном виде. Сейчас они отображаются (помимо графика) смайлом и числом в некотором непонятном диапазоне, включая отрицательные значения.&lt;/p&gt;
&lt;p&gt;Если не вдаваться в теорию биоритмов, отрицательный уровень любого состояния &amp;mdash; это большая непонятность. В идеале лучше делать нормировку от 0 до 100 или до 10.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ffc000;" color="#ffc000"&gt;Рекомендация&lt;/span&gt;&lt;/b&gt;: постараться улучшить инфографику и легкость считывания текущей информации. Например, можно сделать так (&lt;em&gt;нарисовано на скорую руку&lt;/em&gt;):&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/8475.image_5F00_619FBA3A.png" width="144" height="240" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/1220.image_5F00_0729379C.png" width="240" height="63" /&gt;&lt;/p&gt;
&lt;p&gt;Или без динамичного заполнения подложки, но с полной заливкой:&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/3364.image_5F00_182D657F.png" width="144" height="240" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/8156.image_5F00_2BDA4F13.png" width="240" height="63" /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3&gt;Человек в фоне&lt;/h3&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/8463.image_5F00_55DA4D3B.png" width="113" height="189" /&gt;&lt;/p&gt;
&lt;p&gt;В фоне приложения нарисован странный человек (на картинка выше специально сделана более контрастной, чем в самом приложении). Самое интересное в нем то, что это анимация &amp;mdash; внизу вращается радиус.&lt;/p&gt;
&lt;p&gt;Большого смысла в этой фишке нет, но внимание она отвлекает.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ffc000;" color="#ffc000"&gt;Рекомендация&lt;/span&gt;&lt;/b&gt;: убрать человека в фоне :)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Иконка приложения&lt;/h3&gt;
&lt;p&gt;Иконка приложения что-то напоминает :)&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/1108.image_5F00_2DC79E1C.png" width="176" height="69" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ffc000;" color="#ffc000"&gt;Рекомендация&lt;/span&gt;&lt;/b&gt;: сделать иконку более соответствующей решаемым задачам. Было бы хорошо сделать живой тайл с отображением текущих показателей биоритмов.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Загрузочный экран&lt;/h3&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/5808.image_5F00_618F946D.png" width="113" height="189" /&gt;&lt;/p&gt;
&lt;p&gt;Загрузочный экран всем своим видом говорит о том, что я загружаю приложение OOGWAY.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;Исправление&lt;/span&gt;&lt;/b&gt;: разместить на загрузочном экране название приложения, характерную иконку или графику, сместив название компании-разработчика на второй план.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Функциональность&lt;/h2&gt;
&lt;h3&gt;Прокрутка биоритмов&lt;/h3&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/6404.image_5F00_5A042500.png" width="113" height="189" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/8547.image_5F00_58BF8C21.png" width="113" height="189" /&gt;&lt;/p&gt;
&lt;p&gt;Возможность прокрутки отображения биоритмов ограничена. Единственный способ посмотреть, как я себя буду чувствовать, скажем, на новый год &amp;ndash; это поменять опорную дату, но тогда я не могу легко сравнить свое состояние с текущей датой.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ffc000;" color="#ffc000"&gt;Рекомендация&lt;/span&gt;&lt;/b&gt;: сделать прокрутку потенциально бесконечной в обе стороны.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ffc000;" color="#ffc000"&gt;Рекомендация&lt;/span&gt;&lt;/b&gt;: для облегчения сравнения состояния относительно опорной даты, особенно, когда она выходит за границы экрана, возможно, стоит как-то подсказывать это пользователю. Например, можно добавить небольшой маркер:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/2766.image_5F00_577AF342.png" width="144" height="240" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/4403.image_5F00_6812EE30.png" width="144" height="240" /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3&gt;Биоритмы в дату рождения&lt;/h3&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/3833.image_5F00_54858E8F.png" width="113" height="189" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/1258.image_5F00_2553A2F8.png" width="113" height="189" /&gt;&lt;/p&gt;
&lt;p&gt;Возможно, так и должно быть, но если &amp;laquo;дата для отображения&amp;raquo; совпадает с датой рождения, то все уровни состояния по различным срезам равны нулю, в то время как на графике отчетливо видны отличные от нуля значения.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;Исправление&lt;/span&gt;&lt;/b&gt;: найти, в чем ошибка и исправить.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Дата для отображения&lt;/h3&gt;
&lt;p&gt;На мой взгляд, это не самый очевидный функционал в то время, как постоянно видеть все параметры в текущую дату было бы намного логичнее. Это не исключает возможности назначения дополнительной даты для заглядывания в будущее или прошлое.&lt;/p&gt;
&lt;p&gt;Кстати, было бы интересно узнать у пользователей, нужен ли им дополнительный функционал вроде календаря удачных и неудачных дней, или биоритмов в свой день рождения или в любую другую дату в разные годы.&lt;/p&gt;
&lt;p&gt;===&lt;/p&gt;
&lt;p&gt;Это был очередной #metrolynch. Если вы хотите, чтобы ваше приложение также было подвергнуто публичному разбору, &lt;a href="http://blogs.msdn.com/b/kichinsky/archive/2011/11/01/windows-phone-apps-design.aspx"&gt;правила игры описаны тут&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;p.s. Все мои оценки и рекомендации субъективны и не являются 100% верными решениями &amp;ndash; все нужно тестировать и проверять на живых пользователях :)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10243660" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=mk36zbfeh9U:jK6V3b0pLHg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=mk36zbfeh9U:jK6V3b0pLHg:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=mk36zbfeh9U:jK6V3b0pLHg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?i=mk36zbfeh9U:jK6V3b0pLHg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=mk36zbfeh9U:jK6V3b0pLHg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/kichinsky/~4/mk36zbfeh9U" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Design/">Design</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Windows+Phone/">Windows Phone</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Apps/">Apps</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/_2300_metrolynch/">#metrolynch</category></item><item><title>Дизайн приложений для WP7. Темы и акценты</title><link>http://blogs.msdn.com/b/kichinsky/archive/2011/11/19/windows-phone-design-themes-and-accents.aspx</link><pubDate>Sat, 19 Nov 2011 16:47:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10238815</guid><dc:creator>Константин Кичинский</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/kichinsky/rsscomments.aspx?WeblogPostID=10238815</wfw:commentRss><comments>http://blogs.msdn.com/b/kichinsky/archive/2011/11/19/windows-phone-design-themes-and-accents.aspx#comments</comments><description>&lt;p&gt;Продолжая тему дизайна приложений для Windows Phone, сегодня мы поговорим о темах и акцентах.&lt;/p&gt;
&lt;p&gt;Темы и акценты &amp;mdash; это важная составляющая платформы Windows Phone, вместе с тайлами, социальностью и другими элементами делающая возможным персонализацию телефона под конкретного человека, его настроение и личные предпочтения.&lt;/p&gt;
&lt;p&gt;Скажем, сегодня у меня светлое весеннее настроение &amp;mdash; и мой Windows Phone сегодня в белом с лаймовым акцентом. Или, скажем, вы девушка, сегодня вы в красном с темными оттенками &amp;mdash; таким же может быть и ваш телефон &amp;mdash; темным с красном акцентом.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://img-fotki.yandex.ru/get/5413/25193168.c/0_4d377_b788419a_L.jpg" height="300" title="Light theme + Lime accent + Spring by morning_rumtea@flickr" alt="Light theme + Lime accent + Spring by morning_rumtea@flickr" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://img-fotki.yandex.ru/get/4525/25193168.c/0_4d378_16306833_L.jpg" height="300" title="Woman in Red by eva.p&amp;eacute;bar@flickr + Dark theme + Red accent" alt="Woman in Red by eva.p&amp;eacute;bar@flickr + Dark theme + Red accent" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;small&gt;Отображение цвета на экране монитора и экране телефона может отличаться.&lt;/small&gt;&lt;/p&gt;
&lt;p&gt;Эта персонализация темой и акцентом является сквозной для всей платформы: от цвета тайлов до цвета системных контролов и ссылок. Стоит вам сменить цвет с magenta на teal &amp;mdash; и многие элементы внутри Windows Phone подстроятся под ваше предпочтение. Это делает платформу живой и адаптивной.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://img-fotki.yandex.ru/get/4419/25193168.b/0_4d36d_20a0278e_L.jpg" title="Controls adaptations for various accents" alt="Controls adaptations for various accents" /&gt;&lt;/p&gt;
&lt;p&gt;Хозяин телефона может выбрать темную или светлую тему и один из доступных акцентов:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://img-fotki.yandex.ru/get/4713/25193168.b/0_4d363_5c15dec9_M.jpg" title="Dark theme" alt="Dark theme" /&gt; &lt;img src="http://img-fotki.yandex.ru/get/4614/25193168.b/0_4d362_dfeec1f3_M.jpg" title="Light theme" alt="Dark theme" /&gt; &lt;img src="http://img-fotki.yandex.ru/get/5312/25193168.b/0_4d361_a00f3a2a_M.jpg" title="Accents" alt="Accents" /&gt;&lt;/p&gt;
&lt;h2&gt;Доступные акценты&lt;/h2&gt;
&lt;p&gt;Акценты подобраны так, чтобы оставаться контастными при различных сочетаниях темы и акцента. Всего доступно 10 стандартных акцетных цветов:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="color: #fff; background: #1BA1E2; padding: 2px 5px; display: inline-block; border: 1px solid #eee;"&gt;Blue&lt;/span&gt; &amp;mdash; rgb(27,161,226), hex(#FF1BA1E2)&lt;/li&gt;
&lt;li&gt;&lt;span style="color: #fff; background: #A05000; padding: 2px 5px; display: inline-block; border: 1px solid #eee;"&gt;Brown&lt;/span&gt; &amp;mdash; rgb(160,80,0), hex(#FFA05000)&lt;/li&gt;
&lt;li&gt;&lt;span style="color: #fff; background: #339933; padding: 2px 5px; display: inline-block; border: 1px solid #eee;"&gt;Green&lt;/span&gt; &amp;mdash; rgb(51,153,51), hex(#FF339933)&lt;/li&gt;
&lt;li&gt;&lt;span style="color: #fff; background: #A2C139; padding: 2px 5px; display: inline-block; border: 1px solid #eee;"&gt;Lime&lt;/span&gt; &amp;mdash; rgb(162,193,57), hex(#FFA2C139)&lt;/li&gt;
&lt;li&gt;&lt;span style="color: #fff; background: #D80073; padding: 2px 5px; display: inline-block; border: 1px solid #eee;"&gt;Magenta&lt;/span&gt; &amp;mdash; rgb(216,0,115), hex(#FFD80073)&lt;/li&gt;
&lt;li&gt;&lt;span style="color: #fff; background: #F09609; padding: 2px 5px; display: inline-block; border: 1px solid #eee;"&gt;Mango&lt;/span&gt; &amp;mdash; rgb(240,150,9), hex(#FFF09609)&lt;/li&gt;
&lt;li&gt;&lt;span style="color: #fff; background: #E671B8; padding: 2px 5px; display: inline-block; border: 1px solid #eee;"&gt;Pink&lt;/span&gt; &amp;mdash; rgb(230,113,184), hex(#FFE671B8)&lt;/li&gt;
&lt;li&gt;&lt;span style="color: #fff; background: #A200FF; padding: 2px 5px; display: inline-block; border: 1px solid #eee;"&gt;Purple&lt;/span&gt; &amp;mdash; rgb(162,0,255), hex(#FFA200FF)&lt;/li&gt;
&lt;li&gt;&lt;span style="color: #fff; background: #E51400; padding: 2px 5px; display: inline-block; border: 1px solid #eee;"&gt;Red&lt;/span&gt; &amp;mdash; rgb(229,20,0), hex(#FFE51400)&lt;/li&gt;
&lt;li&gt;&lt;span style="color: #fff; background: #00ABA9; padding: 2px 5px; display: inline-block; border: 1px solid #eee;"&gt;Teal&lt;/span&gt; &amp;mdash; rgb(0,171,169), hex(#FF00ABA9)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="http://img-fotki.yandex.ru/get/4418/25193168.b/0_4d372_96298edd_L.jpg" title="Accent colors with Colorotate.org" alt="Accent colors with Colorotate.org" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Важно&lt;/strong&gt;: производитель телефона имеет возможность добавлять дополнительный акцентный цвет, который будет работать внутри вашего приложения наравне с остальными, поэтому не стоит писать код, который будет перебирать только 10 стандартных цветов и далее что-то делать. Наличие дополнительного цвета может привести к нежелательным последствиям, если ваш код об этом не подозревает.&lt;/p&gt;
&lt;h2&gt;Разработка и дизайн&lt;/h2&gt;
&lt;p&gt;С точки зрения разработки важно понимать две вещи:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Системные контролы автоматически умеют адаптироваться под тему и акцентный цвет, выбранные пользователем.&lt;/li&gt;
&lt;li&gt;Внутри вашего приложения вы можете ссылаться на текущие системные ресурсы, включая настройки темы и акцента, чтобы использовать их в различных элементах вашего собственного приложения. Например, какие-то элементы инфографики вы можете сделать именно акцентного цвета.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Дизайнеру тоже есть над чем подумать:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Никто не обязывает вас использовать в вашем приложении текущую тему и акцентный цвет &amp;mdash; это возможность подстроиться под приложение, но не догма и обязанность. Например, если вы посмотрите на офицальное приложение twitter, то независимо от настроек темы и акцента оно всегда выглядит одинаково &amp;mdash; &lt;span style="color: #33ccff; background: #fff; padding: 2px 5px; border: 1px solid #eee;"&gt;#33cсff&lt;/span&gt; (он же новомодный цвет твиттера) на белом. Каждый раз это ваше личное решение в поиске баланса между брендбуком или какими-либо другими ограничениями и стремлением к согласованности с персональными предпочтениями пользователя и интергацией в экосистему Windows Phone.&lt;/li&gt;
&lt;li&gt;Если в дизайне вашего приложения вы начинаете использовать ваши собственные (фиксированные) настройки цвета, то это ваша личная обязанность: убедиться, что при разных настройках темы и акцента приложение остается удобным в работе (например, обеспечен достаточный контраст цвета).&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Неудачная отсылка на системные цвета и вообще невнимательное переопределение цветов могут привести к нежелательным последствиям, когда отдельные элементы потеряют контраст и, например, текстовые блоки или надписи на кнопках станут нечитаемыми:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://img-fotki.yandex.ru/get/4420/25193168.b/0_4d36e_c73b314f_L.jpg" title="Custom colors, themes and accents" alt="Custom colors, themes and accents" /&gt;&lt;/p&gt;
&lt;p&gt;С точки зрения инструментов обратите внимание на два важные возможности, которые вам предоставляет Expression Blend для работы с цветами.&lt;/p&gt;
&lt;p&gt;Во-первых, работая с цветом тех или иных элементов, вы легко можете получить доступ к ресурсам приложения через вкладку&amp;nbsp;Brush Resources, используя которые вы можете завязаться на системные цвета, которые динамически будут изменяться в зависимости от настроек пользователя.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://img-fotki.yandex.ru/get/5313/25193168.b/0_4d36f_f60a8223_L.jpg" title="Brush resources in Expression Blend" alt="Brush resources in Expression Blend" /&gt;&lt;/p&gt;
&lt;p&gt;Во-вторых, прямо в Expression Blend в режиме дизайна вы можете переключаться между различными темами и акцентами без необходимости запуска эмулятора или загрузки приложения на реальное устройство:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://img-fotki.yandex.ru/get/4524/25193168.b/0_4d371_b1fb6a2b_L.jpg" title="Theme and accent settings in Expression Blend" alt="Theme and accent settings in Expression Blend" /&gt;&lt;/p&gt;
&lt;p&gt;Конечно, тестирование через эмулятор и на физическом устройстве тоже не стоит забывать.&lt;/p&gt;
&lt;h2&gt;Работа с тема��и и акцентами из кода&lt;/h2&gt;
&lt;p&gt;Если вам необходимо определять текущую тему и акцент из кода, например, для динамической генерации каких-то элементов или изменения тех или иных параметров, это также возможно.&lt;/p&gt;
&lt;p&gt;Например, если необходимо понять, какая тема используется пользователем в настоящий момент, это можно определить через видимость системных ресурсов приложения:&lt;/p&gt;
&lt;pre class="prettyprint lang-csharp"&gt;// Determine the visibility of the dark background.
Visibility darkBackgroundVisibility = 
    (Visibility)Application.Current.Resources["PhoneDarkThemeVisibility"];

// Write the theme background value.
if (darkBackgroundVisibility == Visibility.Visible)
{
    currentThemeTB.Text = "background = dark";
}
else
{
    currentThemeTB.Text = "background = light";
}            &lt;/pre&gt;
&lt;p&gt;Аналогично, можно вытащить текущий акцентный цвет:&lt;/p&gt;
&lt;pre class="prettyprint lang-csharp"&gt;// Determine the accent color.
Color currentAccentColorHex = 
    (Color)Application.Current.Resources["PhoneAccentColor"];
&lt;/pre&gt;
&lt;p&gt;Описание доступных системных ресурсов, можно найти в MSDN в статье &lt;a href="http://msdn.microsoft.com/en-us/library/ff769552(v=vs.92).aspx#BKMK_BrushResources"&gt;Theme Resources for Windows Phone&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Тайлы&lt;/h2&gt;
&lt;p&gt;Еще одна интересная тема &amp;mdash; персонализация тайлов под акцентный цвет. Иконка, используемая в списке приложений, или иконка тайла, выносимого на стартовый экран, &amp;mdash; обе могут нарисованы с рассчетом на адаптацию под выбранный пользователем акцент.&lt;/p&gt;
&lt;p&gt;Чтобы это сделать, достаточно в нужных местах иконки указать прозрачный цвет (подложка для иконок имеет акцентный цвет):&lt;/p&gt;
&lt;p&gt;&lt;img src="http://img-fotki.yandex.ru/get/4524/25193168.c/0_4d374_3cf86a75_L.jpg" title="App icon with accent color" alt="App icon with accent color" /&gt;&lt;/p&gt;
&lt;p&gt;Экспериментируя с прозрачностью, вы можете добиться разных интересных эффектов:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://img-fotki.yandex.ru/get/4713/25193168.c/0_4d375_352aed10_L.jpg" title="App icon with various accents" alt="App icon with various accents" /&gt;&lt;/p&gt;
&lt;h2&gt;Резюме&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Используйте тему и акцентные цвета для добавления персональности и интеграции с платформой&lt;/li&gt;
&lt;li&gt;Системные контролы имеют встроенную поддержку тем и акцентов&lt;/li&gt;
&lt;li&gt;Вы можете использовать системные ресурсы, чтобы получить доступ к текущим настройкам цветов&lt;/li&gt;
&lt;li&gt;Если вы изменяете (фиксируете) цвета, тестируйте разные комбинации тем и акцентов&lt;/li&gt;
&lt;li&gt;Тайлы также могут адаптироваться под акцентный цвет&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;#metrosovet&lt;/h3&gt;
&lt;p&gt;&lt;img src="http://img-fotki.yandex.ru/get/5818/25193168.b/0_4d373_c4f975ef_L.jpg" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10238815" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=9S42Z7evcJc:OOXmxg7XFSE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=9S42Z7evcJc:OOXmxg7XFSE:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=9S42Z7evcJc:OOXmxg7XFSE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?i=9S42Z7evcJc:OOXmxg7XFSE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=9S42Z7evcJc:OOXmxg7XFSE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/kichinsky/~4/9S42Z7evcJc" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Design/">Design</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Windows+Phone/">Windows Phone</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Metro/">Metro</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/themes/">themes</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/accents/">accents</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/colors/">colors</category></item><item><title>[#MetroLynch] Radar</title><link>http://blogs.msdn.com/b/kichinsky/archive/2011/11/07/metrolynch-radar.aspx</link><pubDate>Mon, 07 Nov 2011 05:54:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10234481</guid><dc:creator>Константин Кичинский</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/kichinsky/rsscomments.aspx?WeblogPostID=10234481</wfw:commentRss><comments>http://blogs.msdn.com/b/kichinsky/archive/2011/11/07/metrolynch-radar.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/kichinsky/archive/tags/_2300_metrolynch/"&gt;Метро-линчи&lt;/a&gt; (переименовал с подачи &lt;a href="http://twitter.com/mixen"&gt;@mixen&lt;/a&gt;) продолжаются – и второй жертвой стало приложение &lt;a href="http://www.windowsphone.com/ru-RU/apps/a7478d11-4563-4894-a178-2eb8f4cf7c56"&gt;Radar&lt;/a&gt; (Радар) от &lt;a href="http://sibity.com/"&gt;Sibity&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Напомню, если вы хотите, чтобы ваше приложение также было подвергнуто публичному разбору, &lt;a href="http://blogs.msdn.com/b/kichinsky/archive/2011/11/01/windows-phone-apps-design.aspx"&gt;правила игры описаны тут&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/6761.image_5F00_219AAACB.png" width="500" height="167" /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h1&gt;Навигация и управление&lt;/h1&gt;  &lt;h2&gt;Панель приложения&lt;/h2&gt;  &lt;p&gt;Панель приложения содержит редко используемые функции, не относящиеся напрямую к взаимодействию с содержимым радара: настройки и информацию о приложении.&lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/8836.image_5F00_2DBC24F2.png" width="115" height="191" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#f79646"&gt;Рекомендация&lt;/font&gt;&lt;/b&gt;: вынести эти кнопки в меню панели приложения, чтобы они не занимали свободное пространство.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;Настройки&lt;/h2&gt;  &lt;p&gt;Экран настроек требует подтверждения изменений, хотя в идеале все изменения должны применяться сразу.&lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/7343.image_5F00_0C5C7F56.png" width="115" height="191" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ff0000"&gt;Исправление&lt;/font&gt;&lt;/b&gt;: убрать кнопки подтверждения изменений. Сохранять изменения сразу. (Это также позволит показать, что внизу экрана есть еще один пункт, который можно настраивать.)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;Авторы и ссылки на авторов&lt;/h2&gt;  &lt;p&gt;Содержание раздела «Авторы» не вполне соответствует названию, начиная с того, что изначально информация об авторах спрятана под скромно заигрывающим «кто они?», и заканчивая тем, что помимо информации об авторах, здесь есть информация о приложении и кнопки для сбора отзывов и выставления оценок.&lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/5102.image_5F00_4B4DFFF1.png" width="115" height="191" /&gt;&amp;#160;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/7245.image_5F00_233B50D2.png" width="115" height="191" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#f79646"&gt;Рекомендация&lt;/font&gt;&lt;/b&gt;: заменить название раздела (включая ссылку из главного меню) на «О приложении», привести содержание в соответствие с названием. &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Для раздела «Авторы» надо сразу показывать информацию об авторах, как вариант, раздел «О приложении» можно разбить на три вкладки пивота «О приложении» - «Авторы» - «Справка».&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Список авторов надо сделать сразу раскрытым. В текущем вариант не очевидно, что элементы списка куда-либо ведут. На самом деле, нажатие на одного из авторов приводит к открытию внешней страницы на Facebook. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ff0000"&gt;Исправление&lt;/font&gt;&lt;/b&gt;: заменить имена авторов с текста на ссылки:&lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/2465.image_5F00_21F6B7F3.png" width="145" height="240" /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;Кнопки для ссылок&lt;/h2&gt; На экране «Авторы» кнопки используются для ссылок на внешний функционал – «обратная связь» (отправляется email) и «оставить отзыв» (открывается marketplace). Это вводит пользователя в заблуждение, так как кнопки должны обозначать действия совершаемые внутри приложения.  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/7652.image_5F00_20B21F14.png" width="115" height="191" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#f79646"&gt;Рекомендация&lt;/font&gt;&lt;/b&gt;: заменить кнопки на ссылки (&lt;i&gt;HyperlinkButton&lt;/i&gt;) и выровнять по левому краю, например, так:&lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/6366.image_5F00_3F8892F2.png" width="145" height="240" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Замечание&lt;/b&gt;: здесь появился небольшой конфликт в цветовом решении, так как акцентный цвет используется также в тексте наверху страницы — это можно легко исправить, заменив последний на черный/белый.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Замечание&lt;/b&gt;: также важно отметить, что надписи на кнопках не согласован — в первом случае это название некотого раздела (обратная связь), а во втором — действие (оставить отзыв). Для кнопок предпочтительнее действие, то есть использование глагола в названии.&lt;/p&gt;    &lt;h2&gt;Отправка сообщения об ошибке после сбоя&lt;/h2&gt;  &lt;p&gt;После сбоя (если о, ужас, такое случается) приложение предлагает рассказать о проблеме. Однако, кнопки «Ок» и «Отмена» не отвечают на вопрос «Хотите отправить отчет об ошибке?»&lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/3122.image_5F00_6C314CCB.png" width="115" height="191" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ff0000"&gt;Исправление&lt;/font&gt;&lt;/b&gt;: изменить названия кнопок на «Да» и «Нет» или «Отправить отчет» и «Закрыть» — в общем, сделать их более понятными пользователю, либо адаптировать текст под варианты ответа.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Замечание&lt;/strong&gt;: скорее всего, в данном случае используется стандартный системный диалог. &lt;/p&gt;  &lt;h4&gt;&amp;#160;&lt;/h4&gt;  &lt;h2&gt;Сообщения для пользователя&lt;/h2&gt;  &lt;p&gt;Некоторые сообщения для пользователя носят заведомо навязчивый характер. Например, сообщение о недостаточной точности GPS. Самое печальное, что пользователь ничего не может с этим сделать, кроме как согласиться с тем, что это действительно так. &lt;/p&gt;  &lt;p&gt;Также стоит отметить, что нотификация всплывающим окном на самом деле не требует от пользователя никаких действий — он может только согласиться с тем, что есть проблема.&lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/7331.image_5F00_441E9DAC.png" width="115" height="191" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ff0000"&gt;Исправление&lt;/font&gt;&lt;/b&gt;: данное сообщение возникает, когда система не может позволить пользователю установить цель из-за низкой точности GPS, а пользователь все равно пытается это сделать. Решение проблемы лежит в области деактивации интерфейса до тех пор, пока приложение не соединится нормально со спутником. &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Надо выводить текущий статус подключения, чтобы пользователь понимал, что происходит, и дать ему четко понять, что установить цель в текущий момент нельзя.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Также стоит иметь в виду, что нотификации внизу приложения не являются привычным механизмом для получения информации о текущем состоянии приложения. Используемая активная форма с подложкой акцентого цвета побуждает к нажатию, однако не является нажимаемой.&lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/8836.image_5F00_5BD5D512.png" width="115" height="191" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ff0000"&gt;Исправление&lt;/font&gt;&lt;/b&gt;: лучше использовать другие механизмы, например, просто и ненавязчиво показывать текущий статус:&lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/3146.image_5F00_5A913C33.png" width="145" height="240" /&gt;&amp;#160;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/2553.image_5F00_594CA354.png" width="127" height="83" /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h1&gt;Дизайн&lt;/h1&gt;  &lt;h2&gt;Выравнивание элементов&lt;/h2&gt;  &lt;p&gt;Весь контент должен быть выстроен в строгую иерархию, это означает что внутреннее содержание не должно выходить за визуальную границу заголовка (слева). Сейчас на некоторых экранах контент уехал влево относительно заголовка. &lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/1882.image_5F00_3139F435.png" width="115" height="191" /&gt;&amp;#160;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/1464.image_5F00_44E6DDC9.png" width="115" height="191" /&gt;&amp;#160;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/6266.image_5F00_43A244EA.png" width="115" height="191" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ff0000"&gt;Исправление&lt;/font&gt;&lt;/b&gt;: необходимо выровнять элементы слева по заголовкам страниц. Рекомендуемый отступ от границы экрана — 24px.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;На экране «Авторы» содержимое также необходимо выровнить по левому краю, это касается как надписи «кто они?», так и кнопок (про кнопки также см. дальше).&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#f79646"&gt;Рекомендация&lt;/font&gt;&lt;/b&gt;: на экране с радаром также желательно выдержать правый отступ от границы экрана в 24px.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Замечание&lt;/b&gt;: желательно также обновить скриншоты в marketplace: в доступном мне скриншоте экрана «Цели» выравнивание слева сделано верно в отличие от того скриншота, что размещен в магазине приложений. И наоборот: на экране с радаром отступы на скриншоте в маркетплейсе правильные в отличие от реального приложения.&lt;/p&gt;  &lt;p&gt;На экране «Цели» пункты выбора новой цели должны быть визуально выровнены по вехнему краю со своими иконками.&lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/7652.image_5F00_6DA24312.png" width="115" height="191" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ff0000"&gt;Исправление&lt;/font&gt;&lt;/b&gt;: визуально иконки необходимо выровнить с названиями цели (см. также дальше про иконки на этой странице).&lt;/p&gt;  &lt;p&gt;На экране «Справка» пункты и текст должны быть визуально выровнены, как с заголовком экрана, там и между собой:&lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/4201.image_5F00_014F2CA7.png" width="115" height="191" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ff0000"&gt;Исправление&lt;/font&gt;&lt;/b&gt;: подвинуть текст первого уровня вправо, пункты выровнять по левому краю с содержанием первого уровня и по верхнему краю с содержанием второго уровня. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;Замечание&lt;/b&gt;: на мой взгляд, наличие справки является плохим признаком J В любом случае, чем длиннее текст, тем меньше людей будет его читать.&lt;/p&gt;    &lt;h2&gt;Иконки целей&lt;/h2&gt;  &lt;p&gt;Для иконок целей на странице «Цели» используется характерное изображение объекта в черном/белом круге. В Windows Phone такая визуальная схема распложения иконок используется для кнопок (см. например, кнопки в панели приложения). В итоге текущий вариант вводит пользователя в заблуждение — нажать можно на весь пункт, а не только на «кнопку с иконкой».&lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/1067.image_5F00_521D410F.png" width="115" height="191" /&gt;&lt;/p&gt;  &lt;p&gt;Также при нажатии на пункт с целью применяется небольшая анимации покачивания, однако, из-за большой иконки с кругом левая часть круга иногда обрезается.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ff0000"&gt;Исправление&lt;/font&gt;&lt;/b&gt;: убрать круг вокруг иконок и выровнять иконки с заголовками. В идеале, высота иконок должна совпадать с высотой названий целей:&lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/3122.image_5F00_50D8A830.png" width="145" height="240" /&gt;&lt;/p&gt;  &lt;p&gt;Для установленных целей иконка цели заменяется на иконку компаса, показывающую направление и расстояние. Хотя подобная визуализация кажется полезной (компас и время подсказывают, что текущая цель активирована), она нарушает целостность всей композиции.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ff0000"&gt;Исправление&lt;/font&gt;&lt;/b&gt;: не заменять иконку цели на компас. Для отображения компаса и расстояния найти другой вариант — например, трансформировать текущую идею круга вокруг иконки в отображение направления к цели.&lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/4617.image_5F00_4F940F51.png" width="145" height="240" /&gt;&amp;#160;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/6761.image_5F00_6340F8E5.png" width="201" height="76" /&gt;&amp;#160;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/7737.image_5F00_61FC6006.png" width="115" height="115" /&gt;&lt;/p&gt;  &lt;h2&gt;&amp;#160;&lt;/h2&gt;  &lt;h2&gt;Экран настроек&lt;/h2&gt;  &lt;p&gt;На экране настроек отступы между различными пунктами меню отличаются: см. расстояние между «Единицы измерения» и «Определять направление по» и далее отступ между «Показывать путь» и «Звук».&lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/7824.image_5F00_3A55E3DC.png" width="115" height="191" /&gt;&amp;#160;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/8420.image_5F00_6455E204.png" width="115" height="191" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ff0000"&gt;Исправление&lt;/font&gt;&lt;/b&gt;: сделать все вертикальные отступы одинаковыми. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;Замечание&lt;/b&gt;: также нежелательно делать подписи в две строчки (см. «службы определения местоположения»).&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;Наложение целей на экране радара&lt;/h2&gt;  &lt;p&gt;При отображении более одной цели вполне вероятна ситауция, при которой визуально цели будут накладываться одна на другую. Хотя для иконок это кажется нормальным, для подписей с расстоянием до целей получается сплошная каша.&lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/6354.image_5F00_63114925.png" width="115" height="191" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#f79646"&gt;Рекомендация&lt;/font&gt;&lt;/b&gt;: разнести в таких случаях подписи с расстояниями так, чтобы они не накладывались. Например, можно попробовать их выстроить вдоль радиуса в порядке удаленния от текущего положения.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h1&gt;Функциональность&lt;/h1&gt;  &lt;h2&gt;Добавление целей&lt;/h2&gt;  &lt;p&gt;Активирование цели происходит по нажатию на одну из доступных целей. Хотя понятно, что представленный набор целей покрывает довольно большое количество сценариев, также понятно и то, что есть много случаев, когда этого недостаточно. Наличие пункта «Другая цель» говорит как раз об этом. &lt;/p&gt;  &lt;p&gt;«Другая цель» — это роспись в собственном бессилии указать все возможные цели.&lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/7331.image_5F00_0FBA02FF.png" width="115" height="191" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ff0000"&gt;Исправление&lt;/font&gt;&lt;/b&gt;: на самом деле, указать все возможные цели нельзя, однако, можно разрешить пользователю создавать свои собственные цели и менять их названия. Тогда задача сведется к тому, что пользоват��ль может вывести на экран целей те, которые интересуют именно его и сможет их активировать, деактивировать и удалять.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;Удаление целей&lt;/h2&gt;  &lt;p&gt;Удаление цели требует подтверждения данного действия. По возможности следует избегать таких диалогов и необходимости подтвеждения пользователем своих действий, так как это вызывает только раздражение.&lt;/p&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/3122.image_5F00_0E756A20.png" width="115" height="191" /&gt;&lt;/p&gt;  &lt;p&gt;Это также оказывается неочевидным — данный диалог возникает при повторном нажатии на цель, и, хотя пользователь может догадываться, что произойдет при нажатии, у него нет явных подсказок о том, что произойдет в следующий момент! Отсюда возникает проблема, что пользователь может нажать на цель случайно.&lt;/p&gt;  &lt;p&gt;По существу, корни проблемы изначально растут из того, что в текущей логике работы приложения цели необходимо активировать и удалять, причем, последнее действие — разрушительное, поэтому хочется, чтобы пользователь не мог сделать этого случайно.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ff0000"&gt;Исправление&lt;/font&gt;&lt;/b&gt;: чтобы исправить такую ситуацию, надо просто сделать так, чтобы выключение цели или назначение новой цели (точнее даже нового положения для цели в списке) перестало быть полностью разрушительным. Разрушение — это затирание памяти, значит, нужно, чтобы предыдущее положение сохранялось и к нему можно было вернуться.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;У каждой цели должна быть история, по которой можно перемещаться, тогда пользователь не будет бояться, что он затрет ее случайным нажатием. При этом, конечно, надо будет переработать интерфейс управления целями, но это уже другая история.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Также стоит отметить, что диалог подтвеждения не согласован по используемым языкам. (В данном случае выбран русский в приложении + английский как язык интерфейса в системе.)&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#f79646"&gt;Рекомендация&lt;/font&gt;&lt;/b&gt;: локализовать все диалоги в соответствии с выбранным пользователем языком.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;===&lt;/p&gt;  &lt;p&gt;Если вы хотите, чтобы ваше приложение также было подвергнуто публичному разбору, &lt;a href="http://blogs.msdn.com/b/kichinsky/archive/2011/11/01/windows-phone-apps-design.aspx"&gt;правила игры описаны тут&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10234481" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=-lKMED6hhZ0:mqN9o59ol4E:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=-lKMED6hhZ0:mqN9o59ol4E:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=-lKMED6hhZ0:mqN9o59ol4E:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?i=-lKMED6hhZ0:mqN9o59ol4E:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=-lKMED6hhZ0:mqN9o59ol4E:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/kichinsky/~4/-lKMED6hhZ0" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Design/">Design</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Windows+Phone/">Windows Phone</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Apps/">Apps</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/_2300_metrolynch/">#metrolynch</category></item><item><title>[#MetroLynch] TranslateThis</title><link>http://blogs.msdn.com/b/kichinsky/archive/2011/11/02/wp7-apps-design-lynch-translatethis.aspx</link><pubDate>Wed, 02 Nov 2011 14:27:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10232488</guid><dc:creator>Константин Кичинский</dc:creator><slash:comments>6</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/kichinsky/rsscomments.aspx?WeblogPostID=10232488</wfw:commentRss><comments>http://blogs.msdn.com/b/kichinsky/archive/2011/11/02/wp7-apps-design-lynch-translatethis.aspx#comments</comments><description>&lt;p&gt;Друзья, первой жертвой разбора дизайна стало приложение &lt;a href="http://www.windowsphone.com/ru-ru/apps/3107b64f-7f25-e011-854c-00237de2db9e"&gt;TranslateThis&lt;/a&gt; &lt;a href="http://twitter.com/#!/kazarindn"&gt;Дмитрия Казарина&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/6281.image_5F00_1C7CCB33.png" width="500" height="165" /&gt;&lt;/p&gt;
&lt;h1&gt;Навигация&lt;/h1&gt;
&lt;h2&gt;Экран настроек&lt;/h2&gt;
&lt;p&gt;Переключение &amp;ldquo;Internet access&amp;rdquo; (помимо того, что непонятно, что оно делает) сейчас конфликтует по используемым жестам с переключением вкладок Pivot.&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/0827.image_5F00_68682BDF.png" width="115" height="191" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;Исправление&lt;/span&gt;&lt;/b&gt;: заменить toggleSwitch на чекбокс.&lt;/p&gt;
&lt;h1&gt;Дизайн&lt;/h1&gt;
&lt;h2&gt;Экран загрузки&lt;/h2&gt;
&lt;p&gt;Сейчас используется стандартный экран загрузки. Хотя это вполне допустимо, намного лучше, если используется кастомный экран, например, с логотипом приложения.&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/5040.image_5F00_3FE949CB.png" width="113" height="189" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #f79646;" color="#f79646"&gt;Рекомендация&lt;/span&gt;&lt;/b&gt;: добавить собственный экран загрузки с логотипом или названием приложения.&lt;/p&gt;
&lt;h2&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2&gt;Панель приложения&lt;/h2&gt;
&lt;p&gt;В панели приложения использует полупрозначный фон, однако, выставленный уровень прозрачности (непрозрачности -- opacity) делает панель в развернутом состоянии малоконтрастной, что мешает восприятию, особенно если в поле вывода (output) есть какой-то текст.&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/1488.image_5F00_7108846B.png" width="115" height="191" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;Исправление&lt;/span&gt;&lt;/b&gt;: убрать прозрачность совсем или уменьшить уровень прозрачности.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Выравнивание элементов&lt;/h2&gt;
&lt;p&gt;Весь контент должен быть выровнен по левому краю с заголовками страниц для создания правильного восприятия иерархии. Сейчас на всех экранах с этим большие проблемы:&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/1411.image_5F00_5D0EF1D5.png" width="115" height="191" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/3157.image_5F00_34900FC1.png" width="115" height="191" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/7840.image_5F00_2102B020.png" width="115" height="191" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/8838.image_5F00_06C246FC.png" width="115" height="191" /&gt;&amp;nbsp;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/1884.image_5F00_5E4364E7.png" width="115" height="191" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;Исправление&lt;/span&gt;&lt;/b&gt;: выровнять элементы по левому краю на всех страницах.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Для экранов &amp;ldquo;history&amp;rdquo; и &amp;ldquo;favorites&amp;rdquo; оригинальный текст и перевод нужно также выровнять по левому краю.&lt;/li&gt;
&lt;li&gt;Для экрана &amp;ldquo;gratitudes&amp;rdquo; сделать внутреннее выравнивание контента также по левому краю, выделив заголовок размером текста (двоеточние нужно убрать).&lt;/li&gt;
&lt;li&gt;Иконка проигрывания текста на экранах &amp;ldquo;history&amp;rdquo; и &amp;ldquo;favorites&amp;rdquo; должна быть выровнена по верхнему краю с блоками текста, а не посередине как сейчас.&lt;/li&gt;
&lt;li&gt;Подписи к текстовым блокам должны прилипать к ним, например, надписи &amp;ldquo;input text&amp;rdquo; и &amp;ldquo;result&amp;rdquo; надо опустить ниже &amp;mdash; ближе к полям ввода.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Названия полей ввода&lt;/h2&gt;
&lt;p&gt;Поля ввода в приложении имеют гиковские названия input, output, result.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #f79646;" color="#f79646"&gt;Рекомендация&lt;/span&gt;&lt;/b&gt;: переименовать их в более привычные для обычного пользователя (см. например, google translate или bing translate: from, to.&lt;/p&gt;
&lt;p&gt;См. также следующий пункт.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Иконка воспроизведения текста на экране &amp;ldquo;translate&amp;rdquo;&lt;/h2&gt;
&lt;p&gt;Она располагается напротив заголовка поля ввода или вывода результата, хотя относится к содержимому самого поля. К тому же она располагается ровно между предыдущими полями и теми к которым относится (и даже чуть ближе к первому), что тоже неправильно:&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/4532.image_5F00_7CADA5D0.png" width="115" height="191" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;Исправление&lt;/span&gt;&lt;/b&gt;: как минимум иконку нужно опустить ниже. Также ее можно разместить справа от поля ввода/вывода результата:&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/2475.image_5F00_26417104.png" width="200" height="331" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Экран &amp;ldquo;History&amp;rdquo;&lt;/h2&gt;
&lt;p&gt;Я бы ожидал, что элементы списка должны выглядеть ровным счетом наоборот: сначала оригинал, потом перевод. Встречаются повторы. Если я использовал перевод на более чем двух языках, становится трудно понять, где какой результат, если я не знаю хорошо используемые языки.&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/7752.image_5F00_3262EB2B.png" width="115" height="191" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;Исправление&lt;/span&gt;&lt;/b&gt;: изменить отображение элементов списка. Схлопывать одинаковые запросы. Объединять переводы одного и того же слова на разные языки. Отображать языки перевода. Например:&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/8233.image_5F00_4A1A2291.png" width="200" height="333" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #f79646;" color="#f79646"&gt;Рекомендация&lt;/span&gt;&lt;/b&gt;: также надо сделать менее навязчивым вывод вариантов перевода из разных сервисов, особенно если они не отличаются.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Замечание&lt;/b&gt;: аналогично можно делать для экрана &amp;ldquo;favorites&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Слишком длинные тексты для перевода&lt;/h2&gt;
&lt;p&gt;Если текст для перевода слишком длинный, он не умещается и нет прокрутки. Особенно это заметно, если включен вывод результатов из нескольких сервисов, или если сервис предлагает слишком много вариантов.&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/2860.image_5F00_3F994E71.png" width="115" height="191" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;Исправление&lt;/span&gt;&lt;/b&gt;: сделать размер поля с выводом результата динамическим, чтобы его можно было просмотреть целиком прокруткой страницы.&lt;/p&gt;
&lt;p&gt;Длинные тексты также неадекватно отображаются в &amp;ldquo;history&amp;rdquo; и &amp;ldquo;favorites&amp;rdquo;, так как выводятся целиком, с повторами и большим шрифтом:&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/4606.image_5F00_19FFAB43.png" width="115" height="191" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;Исправление&lt;/span&gt;&lt;/b&gt;: см. выше в &amp;laquo;Экран &amp;ldquo;history&amp;rdquo;&amp;raquo;. Рекомендую попробовать выводить только первую строчку на языке оригинала и при разворачивании элемента списка показывать уже текст целиком.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Как вариант также можно рассмореть вариант, когда элементы списка являются кликабельными и по нажатию выводится новая страница с результатами перевода и сопутствующими деталями. &lt;br /&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/5265.image_5F00_345F9E5A.png" width="400" height="268" /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;Функциональность&lt;/h1&gt;
&lt;h2&gt;Проигрывание текста голосом&lt;/h2&gt;
&lt;p&gt;Повторное нажатие на кнопку проигрывания приводит к запуску воспроизведения текста голосом поверх уже проигрываемого. Аналогично с проигрыванием текста в истории или избранном.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;Исправление&lt;/span&gt;&lt;/b&gt;: не запускать повторное воспроизведение до окончания проигрывания текущего ролика.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #f79646;" color="#f79646"&gt;Рекомендация&lt;/span&gt;&lt;/b&gt;: также может оказаться полезным заменить иконку спикера &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/0804.image_5F00_597CE8C6.png" width="21" height="20" /&gt;&amp;nbsp; на иконку запуска проигрывания или остановки воспроизведения (иконки желательно разместить в кружочке -- &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/2134.image_5F00_18DA9C57.png" width="20" height="21" /&gt; ). Это также может быть полезным, если пользователь хочет остановить проигрывание.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Замечение&lt;/b&gt;: это желательно протестировать на пользователях прежде, чем внедрять.&lt;/p&gt;
&lt;p&gt;p.s. Google звучит как &amp;ldquo;Гоогле&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Проигрывание текста на неподдерживаемых языках&lt;/h2&gt;
&lt;p&gt;Некоторые языки не поддерживаются для воспроизведения голосом. В этом случае вываливается непонятное пользователю сообщение об ошибке:&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/3034.image_5F00_49F9D6F7.png" width="115" height="191" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;Исправление&lt;/span&gt;&lt;/b&gt;: как минимум выдавать человеческие сообщения об ошибке, лучше предусмотрительно не позволять воспроизводить текст на неподдерживаемых языках.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Ввод текста&lt;/h2&gt;
&lt;p&gt;Клавиатура содержит кнопку &amp;ldquo;return&amp;rdquo;, по нажатию на которую очевидно должно что-то происходить, но ничего не происходит.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;Исправление&lt;/span&gt;&lt;/b&gt;: либо сделать переход на новую строку в поле ввода, либо заменить клавиатуру на аналогичную той, которая используется при поиске с кнопкой со стрелкой вправо вместо return. Тогда нажатие на нее должно автоматически запускать перевод.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Панель приложения&lt;/h2&gt;
&lt;p&gt;В панели приложения используется иконка сохранения для добавления в избранное. Для избранного традиционно используется другая иконка.&lt;/p&gt;
&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/5661.image_5F00_217AF4E3.png" width="115" height="191" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #f79646;" color="#f79646"&gt;Рекомендация&lt;/span&gt;&lt;/b&gt;: либо &amp;ldquo;favorites&amp;rdquo; &amp;mdash; это не избранное, а список сохраненных переводов, либо должна быть другая иконка (звездочка)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="color: #f79646;" color="#f79646"&gt;Рекомендация&lt;/span&gt;&lt;/b&gt;: возможно, стоит подумать над тем, чтобы добавить возможность поделиться переводом с друзьями &amp;ndash; см. &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.phone.tasks.sharestatustask(v=VS.92).aspx"&gt;ShareStatusTask&lt;/a&gt;. &amp;laquo;Поделиться с друзьями&amp;raquo; или &amp;laquo;отправить перевод&amp;raquo; вполне можно вынести в панель приложения соответствующей иконкой.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;===&lt;/p&gt;
&lt;p&gt;Если вы хотите, чтобы ваше приложение также было подвергнуто публичному разбору, &lt;a href="http://blogs.msdn.com/b/kichinsky/archive/2011/11/01/windows-phone-apps-design.aspx"&gt;правила игры описаны тут&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10232488" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=C177OF5sLmw:vNYjRJhScz4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=C177OF5sLmw:vNYjRJhScz4:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=C177OF5sLmw:vNYjRJhScz4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?i=C177OF5sLmw:vNYjRJhScz4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=C177OF5sLmw:vNYjRJhScz4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/kichinsky/~4/C177OF5sLmw" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Design/">Design</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Windows+Phone/">Windows Phone</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Apps/">Apps</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Lynch/">Lynch</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/_2300_metrolynch/">#metrolynch</category></item><item><title>[Windows Phone #MetroLynch] Правила игры</title><link>http://blogs.msdn.com/b/kichinsky/archive/2011/11/01/windows-phone-apps-design.aspx</link><pubDate>Tue, 01 Nov 2011 18:29:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10232171</guid><dc:creator>Константин Кичинский</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/kichinsky/rsscomments.aspx?WeblogPostID=10232171</wfw:commentRss><comments>http://blogs.msdn.com/b/kichinsky/archive/2011/11/01/windows-phone-apps-design.aspx#comments</comments><description>&lt;p&gt;Друзья! У нас тут родилась прекрасная идея делать публичные ревью дизайна и удобства приложений для Windows Phone для тех, кто не боится правды и хочет сделать свое приложение лучше. Мне быстро сказали, что это "линч" и что это жутко интересно и полезно, поэтому идею решено воплотить.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Самое главное правило&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Весь процесс должен быть полезным не только вам лично, но и обществу. Это означает, что&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;я не обещаю, что сделаю ревью каждой присланной заявки, если&amp;nbsp;все, что я могу сказать, уже было разобрано в&amp;nbsp;предыдущих линчах (пожалуйста, читайте гайдлайны и делайте как минимум правильное выравнивание, чтобы я не писал об этом в каждом ревью),&amp;nbsp;&lt;/li&gt;
&lt;li&gt;если вы присылаете приложение на ревью, то ревью, &lt;em&gt;если оно будет (см. п.1)&lt;/em&gt;,&amp;nbsp;обязательно будет опубликовано в моем блоге&amp;nbsp;и оно будет публично, и&lt;/li&gt;
&lt;li&gt;ваше приложение должно быть &lt;em&gt;уже&lt;/em&gt; доступно в marketplace (хотя бы и в бета или закрытом режиме).&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Что нужно от вас&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Для разбора приложения мне нужно само приложение -- ссылка для установки из marketplace. Также мне нужны будут скриншоты всех экранов, либо xap-файл, чтобы эти скриншоты можно было удобно сделать.&lt;/p&gt;
&lt;p&gt;Если приложение требует регистрации (кроме популярных социальных сетей), мне будет нужен тестовый аккаунт.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Что вы получаете&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;На выходе я составлю обзор ошибок дизайна и неудачных решений&amp;nbsp;в&amp;nbsp;приложении, ухудшающих удобство работы с ним, и, что самое важное, там будут&amp;nbsp;рекомендации по их исправлению, чтобы соответствовать гайдлайнам, принципам гуманности и в целом метро-стилю, -- все это&amp;nbsp;в виде статьи в блоге.&lt;/p&gt;
&lt;p&gt;Перед публикацией я дам вам ознакомиться с черновиком статьи, чтобы&amp;nbsp;вы могли прояснить свои решения,&amp;nbsp;прокомментировать советы (например, что-то может оказаться&amp;nbsp;для вас трудно реализуемым или я могу быть не знаком с деталями предметной области)&amp;nbsp;и начать исправлять ошибки. Это не отменяет неизбежности публикации статьи :)&lt;/p&gt;
&lt;p&gt;После обновления вашего приложения я готов обновить статью, чтобы указать, что все недочеты исправлены и доступна свежая (или публичная) версия.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Как я буду работать&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Заявки на линчевание принимаются на konkich [at] microsoft.com с темой "[WP7 App Lynch] Название вашего приложения"&lt;/li&gt;
&lt;li&gt;Заявки принимаются только от авторов -- мне не интересно рассматривать чужие приложения без возможности пообщаться с автором, который может&amp;nbsp;внести изменения&lt;/li&gt;
&lt;li&gt;Я буду публиковать&amp;nbsp;3-4 обзора в месяц (при наличии желающих и времени), возможно чаще.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;p.s. П��авила могут меняться на основании ваших отзывов.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10232171" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=BtMUoKZuDtQ:LKtFQspQQaY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=BtMUoKZuDtQ:LKtFQspQQaY:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=BtMUoKZuDtQ:LKtFQspQQaY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?i=BtMUoKZuDtQ:LKtFQspQQaY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=BtMUoKZuDtQ:LKtFQspQQaY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/kichinsky/~4/BtMUoKZuDtQ" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Design/">Design</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Windows+Phone/">Windows Phone</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/_2300_metrolynch/">#metrolynch</category></item><item><title>Запись мастер-класса по дизайну приложений для Windows Phone</title><link>http://blogs.msdn.com/b/kichinsky/archive/2011/10/30/windows-phone.aspx</link><pubDate>Sun, 30 Oct 2011 14:37:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10231431</guid><dc:creator>Константин Кичинский</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/kichinsky/rsscomments.aspx?WeblogPostID=10231431</wfw:commentRss><comments>http://blogs.msdn.com/b/kichinsky/archive/2011/10/30/windows-phone.aspx#comments</comments><description>&lt;p&gt;Ура-ура! У нас готова запись моего мастер-класса по дизайну-приложений для Windows Phone.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://img-fotki.yandex.ru/get/5821/25193168.b/0_4c0c0_78015492_L.jpg"&gt;&lt;img style="max-width: 550px;" border="0" alt="" src="http://img-fotki.yandex.ru/get/5821/25193168.b/0_4c0c0_78015492_L.jpg" /&gt;&lt;/a&gt;&lt;a href="http://img-fotki.yandex.ru/get/5821/25193168.b/0_4c0c0_78015492_L.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Запись в двух частях:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Часть 1 (&lt;a href="http://www.techdays.ru/videos/3831.html"&gt;techdays&lt;/a&gt;, &lt;a href="http://www.youtube.com/watch?v=TPQtarcuR68"&gt;youtube&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Часть 2 (&lt;a href="http://www.techdays.ru/videos/3832.html"&gt;techdays&lt;/a&gt;, &lt;a href="http://www.youtube.com/watch?v=Rr2mm1b4mag"&gt;youtube&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://narod.ru/disk/27704198001/WP%20Apps%20Design%20Master%20Class.pptx.html"&gt;Презентация&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10231431" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=prV5Sl2ZhUY:jNIMxdiwU1o:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=prV5Sl2ZhUY:jNIMxdiwU1o:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=prV5Sl2ZhUY:jNIMxdiwU1o:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?i=prV5Sl2ZhUY:jNIMxdiwU1o:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=prV5Sl2ZhUY:jNIMxdiwU1o:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/kichinsky/~4/prV5Sl2ZhUY" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Design/">Design</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Windows+Phone/">Windows Phone</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/UI/">UI</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/UX/">UX</category></item><item><title>Где взять иконки для Windows Phone приложений?</title><link>http://blogs.msdn.com/b/kichinsky/archive/2011/10/24/where-to-get-icons-for-windows-phone.aspx</link><pubDate>Sun, 23 Oct 2011 23:18:07 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10229101</guid><dc:creator>Константин Кичинский</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/kichinsky/rsscomments.aspx?WeblogPostID=10229101</wfw:commentRss><comments>http://blogs.msdn.com/b/kichinsky/archive/2011/10/24/where-to-get-icons-for-windows-phone.aspx#comments</comments><description>&lt;p&gt;Если вы разрабатываете приложения для Windows Phone, наверняка, вы сталкиваетесь с задачей подбора иконок в панели задач для вашего приложения. Если так, тогда вот вам несколько ресурсов в помощь.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/5265.image_5F00_36F68F38.png"&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/8802.image_5F00_thumb_5F00_5156824F.png" width="325" height="56" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h2&gt;Стандартные иконки&lt;/h2&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/2045.image_5F00_7AEA4D82.png"&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/3124.image_5F00_thumb_5F00_78CD4EB9.png" width="500" height="147" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Прежде всего, если под вашу задачу подходит одна из стандартных иконок, используйте именно их. Все эти иконки доступны напрямую непосредственно из Expression Blend. &lt;/p&gt;  &lt;p&gt;Если вам требуется слегка изменить одну из стандартных иконок или вы хотите использовать их как фрагменты для ваших собственных, вы можете найти их в виде растра и вектора (ai) в папке C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v7.1\Icons.&lt;/p&gt;    &lt;h2&gt;Project: Windows Phone Icons&lt;/h2&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/1067.image_5F00_2C291216.png"&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/8715.image_5F00_thumb_5F00_756BB711.png" width="500" height="310" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://templarian.com/project_windows_phone_icons/"&gt;Windows Phone Icons&lt;/a&gt; – проект, цель которого собрать в одном месте иконки для Windows Phone, лицензируемые под Сreative Сommons. На текущий момент пакет содержит около 300 различных иконок. &lt;/p&gt;  &lt;p&gt;Также дла вашего удобства доступны исходники, которые вы сможете редактировать в Expression Design. Кстати, на сайте проекта вы также найдете &lt;a href="http://templarian.com/2011/08/06/tutorial_creating_an_icon/"&gt;учебник по созданию собственных иконок&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;The Noun Project&lt;/h2&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/6266.image_5F00_7276525E.png"&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/6242.image_5F00_thumb_5F00_755B9144.png" width="500" height="185" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://thenounproject.com/"&gt;The Noun Project&lt;/a&gt; – это открытый для участия всех желающих проект, цель которого – собрать бесплатную коллекцию иконок, понятных каждому. Хотя данные иконкци и не предназначены сами по себе для Windows Phone, многие из них замечательно могут подойти.&lt;/p&gt;  &lt;p&gt;Иконки в данном проекте доступны в виде SVG-файлов, которые можно открыть для редактирования во многих векторных редакторах. Так как иконки заведомо векторные, они хорошо масштабируются (хотя и не стоит забывать, что для маленьких иконок иногда нужна ручная доводка).&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;MetroStation Icons Pack&lt;/h2&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/3515.image_5F00_5A42C236.png"&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/7725.image_5F00_thumb_5F00_0C966FE9.png" width="500" height="302" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://yankoa.deviantart.com/art/MetroStation-183210118"&gt;MetroStation&lt;/a&gt; – проект Yanko Andreev (из Болгарии). Пакет иконок содержит около 200 различных иконок, выдержанных в metro-стиле для Windows Phone. Учтите, что иконки содержат круглую рамку и для использования напрямую непосредственно в панели задач не подходят.&lt;/p&gt;  &lt;p&gt;(Для коммерческого использования иконок свяжитесь с автором.)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;WP7.1 Application Bar Icons&lt;/h2&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/6232.image_5F00_753B45AA.png"&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-11-84-metablogapi/5165.image_5F00_thumb_5F00_5871AAC8.png" width="500" height="300" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.pedrolamas.com/2011/09/12/wp7-1-application-bar-icons/"&gt;WP7.1 Application Bar Icons&lt;/a&gt; -- коллекция иконок от Pedro Lamas, которые “извлечены из операционной системы”.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;И последнее&lt;/font&gt;: не забывайте про лицензии, применимые к различным иконкам.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10229101" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=_t4RIFFfkS4:e-yJfk8vwL8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=_t4RIFFfkS4:e-yJfk8vwL8:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=_t4RIFFfkS4:e-yJfk8vwL8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?i=_t4RIFFfkS4:e-yJfk8vwL8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=_t4RIFFfkS4:e-yJfk8vwL8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/kichinsky/~4/_t4RIFFfkS4" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Design/">Design</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Icons/">Icons</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Windows+Phone/">Windows Phone</category></item><item><title>UX-гайдлайны для "Metro style"-приложений</title><link>http://blogs.msdn.com/b/kichinsky/archive/2011/10/24/ux-quot-metro-style-quot.aspx</link><pubDate>Sun, 23 Oct 2011 20:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10229079</guid><dc:creator>Константин Кичинский</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/kichinsky/rsscomments.aspx?WeblogPostID=10229079</wfw:commentRss><comments>http://blogs.msdn.com/b/kichinsky/archive/2011/10/24/ux-quot-metro-style-quot.aspx#comments</comments><description>&lt;p&gt;&lt;a class="fancybox" title="semanticzoom-bc" href="http://blendinsider.com/wp-content/uploads/2011/10/semanticzoom-bc1.png" rel="fancybox"&gt;&lt;img style="border: 0px currentColor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" title="semanticzoom-bc" border="0" alt="semanticzoom-bc" src="http://blendinsider.com/wp-content/uploads/2011/10/semanticzoom-bc_thumb1.png" width="595" height="273" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Если вы уже изучаете, как разрабатывать приложения для Windows 8,&amp;nbsp;в блоге &lt;a href="http://blendinsider.com/"&gt;BlendInsider&lt;/a&gt;&amp;nbsp;для вас собрана хорошая подборка ссылок на статьи в MSDN по проектированию дизайна: &lt;a title="Permalink to UX guidelines for Metro style app development" href="http://blendinsider.com/technical/ux-guidelines-for-metro-style-app-development-2011-10-21/" rel="bookmark"&gt;&lt;span class="caps"&gt;UX&lt;/span&gt; guidelines for Metro style app development&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10229079" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=fpiUtlhm6Oo:KyFIoRQzXzI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=fpiUtlhm6Oo:KyFIoRQzXzI:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=fpiUtlhm6Oo:KyFIoRQzXzI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?i=fpiUtlhm6Oo:KyFIoRQzXzI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=fpiUtlhm6Oo:KyFIoRQzXzI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/kichinsky/~4/fpiUtlhm6Oo" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Design/">Design</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/UX/">UX</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Windows+8/">Windows 8</category></item><item><title>Expression Design September 2011 Preview</title><link>http://blogs.msdn.com/b/kichinsky/archive/2011/10/20/expression-design-september-2011-preview.aspx</link><pubDate>Thu, 20 Oct 2011 14:57:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10228157</guid><dc:creator>Константин Кичинский</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/kichinsky/rsscomments.aspx?WeblogPostID=10228157</wfw:commentRss><comments>http://blogs.msdn.com/b/kichinsky/archive/2011/10/20/expression-design-september-2011-preview.aspx#comments</comments><description>&lt;p&gt;Кстати, если вы пользуетесь Expression Design, не забудьте попробовать &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=27579"&gt;сентябрьское обновление&lt;/a&gt; (знаю-знаю, уже скоро закончится октябрь, но лучше об этом написать, чем не написать).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://img-fotki.yandex.ru/get/4416/25193168.b/0_4b93e_915c3737_M.jpg"&gt;&lt;img style="max-width: 550px;" border="0" alt="" src="http://img-fotki.yandex.ru/get/4416/25193168.b/0_4b93e_915c3737_M.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;В обновлении есть несколько очень приятных плюшек:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Import EPS files&lt;/li&gt;
&lt;li&gt;Make multiple selection in the Layers palette&lt;/li&gt;
&lt;li&gt;Retain the adjusted position of an object&amp;rsquo;s registration point.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Export documents to the SVG format&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Скачать можно тут: &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=27579"&gt;http://www.microsoft.com/download/en/details.aspx?id=27579&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10228157" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=Tq3wz7rROOY:p7D6jz8HB0g:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=Tq3wz7rROOY:p7D6jz8HB0g:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=Tq3wz7rROOY:p7D6jz8HB0g:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?i=Tq3wz7rROOY:p7D6jz8HB0g:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=Tq3wz7rROOY:p7D6jz8HB0g:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/kichinsky/~4/Tq3wz7rROOY" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Expression/">Expression</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Expression+Design/">Expression Design</category></item><item><title>Второй мастер-класс "Дизайн для Windows Phone"</title><link>http://blogs.msdn.com/b/kichinsky/archive/2011/10/20/master_2D00_class_2D00_windows_2D00_phone_2D00_apps_2D00_design_2D00_2.aspx</link><pubDate>Thu, 20 Oct 2011 14:39:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10228150</guid><dc:creator>Константин Кичинский</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/kichinsky/rsscomments.aspx?WeblogPostID=10228150</wfw:commentRss><comments>http://blogs.msdn.com/b/kichinsky/archive/2011/10/20/master_2D00_class_2D00_windows_2D00_phone_2D00_apps_2D00_design_2D00_2.aspx#comments</comments><description>&lt;p&gt;Друзья, хорошая новость :) Учитывая большой спрос, мы решили провести еще один мастер-класс по дизайну приложений для Windows Phone.&lt;/p&gt;
&lt;p&gt;Основные темы:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Metro-дизайн, идеология и основные концепции&lt;/li&gt;
&lt;li&gt;Особенности платформы Windows Phone c точки зрения дизайна и UX&lt;/li&gt;
&lt;li&gt;Нововведения Mango-обновления, важные для дизайна приложений&lt;/li&gt;
&lt;li&gt;Использование Expression Blend для разработки интерфейса&lt;/li&gt;
&lt;li&gt;Классические ошибки в проектировании UI и UX приложений для WP7&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Для участия требуется регистрация (само участие бесплатное): &lt;a href="http://careerlab.ru/education/guru-academy/kichinsky/sem1/"&gt;http://careerlab.ru/education/guru-academy/kichinsky/sem1/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Мастер-класс будет проходить 29 октября (суббота) в нашем московском офисе в Крылатском.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Если у вас есть вопросы или специальные пожелания к мастер-классу, их можно оставлять в комментариях.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10228150" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=JrKfZclG1AI:olztQUFAXoY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=JrKfZclG1AI:olztQUFAXoY:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=JrKfZclG1AI:olztQUFAXoY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?i=JrKfZclG1AI:olztQUFAXoY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=JrKfZclG1AI:olztQUFAXoY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/kichinsky/~4/JrKfZclG1AI" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Windows+Phone/">Windows Phone</category></item><item><title>appmakr: Как сделать приложение для Windows Phone за 10 минут и без программирования</title><link>http://blogs.msdn.com/b/kichinsky/archive/2011/09/27/windows-phone-appmakr.aspx</link><pubDate>Tue, 27 Sep 2011 14:28:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10217208</guid><dc:creator>Константин Кичинский</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/kichinsky/rsscomments.aspx?WeblogPostID=10217208</wfw:commentRss><comments>http://blogs.msdn.com/b/kichinsky/archive/2011/09/27/windows-phone-appmakr.aspx#comments</comments><description>&lt;h2&gt;Что такое appmakr?&lt;/h2&gt;
&lt;p&gt;&lt;img src="http://img-fotki.yandex.ru/get/5813/25193168.a/0_4a885_12d83fb5_L.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://appmakr.com"&gt;appmakr&lt;/a&gt; &amp;mdash; это онлайн-сервис для создания мобильных приложений под разные платформы, включая Windows Phone. Особенность сервиса в том, что для создания приложения не надо ничего программировать -- он заточен под специальные сценарии потребления данных, которые позволяют генерировать приложения на основании указанных вами параметров (например, источника новостей в виде RSS-ленты).&lt;/p&gt;
&lt;h2&gt;Как это работает?&lt;/h2&gt;
&lt;p&gt;Первым делом, вам будет необходимо зарегистрироваться. После этого вы сможете попасть в &lt;a href="http://www.appmakr.com/app_manager/"&gt;панель управления&lt;/a&gt; (dashboard). Далее выберите создание нового приложения:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://img-fotki.yandex.ru/get/5309/25193168.a/0_4a85d_eb6a316d_L.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Чтобы сделать приложение под Windows Phone, выберите соответствующую опцию:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://img-fotki.yandex.ru/get/5308/25193168.a/0_4a85e_63dbaf5b_L.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;На следующем экране укажите источник для ваших данных (сайт на котором есть RSS/Atom или сразу ссылку на соответствующий фид) &amp;mdash; я буду создавать приложение для нашего &lt;a href="http://blogs.msdn.com/b/rustudents/"&gt;студенческого блога&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://img-fotki.yandex.ru/get/5411/25193168.a/0_4a86a_538119bb_L.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Далее необходимо сделать базовые настройки: указать название приложения, выбрать иконку и экран загрузки из числа предложенных изображений (поиск можно уточнить), по ссылке или с диска:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://img-fotki.yandex.ru/get/5308/25193168.a/0_4a86b_78dfdae_L.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Справа можно сразу посмотреть, как будет выглядеть ваше приложение в эмуляторе телефона:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://img-fotki.yandex.ru/get/4708/25193168.a/0_4a86c_2f8cf46b_L.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Далее можно перейти к настройкам содержания (вкладка Tabs). Здесь можно скорректировать и добавить источники для контента (я добавлю RSS для постов и комментариев, а также RSS нашего твиттера Imagine Cup):&lt;/p&gt;
&lt;p&gt;&lt;img src="http://img-fotki.yandex.ru/get/4612/25193168.a/0_4a86d_d868136e_L.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Следующий пункт &amp;mdash; кастомизация приложения. Здесь можно изменить шапку приложения, а также поменять цвета:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://img-fotki.yandex.ru/get/5812/25193168.a/0_4a86e_c55308ee_L.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Дальше остается добавить описание и во вкладке Publish сгенерировать приложение:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://img-fotki.yandex.ru/get/4413/25193168.a/0_4a86f_6bebed91_L.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;После этого приложение ставится в очередь на генерацию &amp;mdash; вам остается лишь подождать какое-то время, пока приложение будет собрано и разместить его в Marketplace для всех желающих!&lt;/p&gt;
&lt;p&gt;Готовый файл, генерируемый appmakr &amp;mdash; это обычный zip-архив, который необходимо переименовать в xap-файл.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://img-fotki.yandex.ru/get/4520/25193168.a/0_4a870_1a9603ce_M.jpg" /&gt; &lt;img src="http://img-fotki.yandex.ru/get/5308/25193168.a/0_4a875_302d0427_M.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://img-fotki.yandex.ru/get/4612/25193168.a/0_4a871_69a9748b_M.jpg" /&gt; &lt;img src="http://img-fotki.yandex.ru/get/5814/25193168.a/0_4a874_750ba846_M.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://img-fotki.yandex.ru/get/5308/25193168.a/0_4a872_6485e38b_M.jpg" /&gt; &lt;img src="http://img-fotki.yandex.ru/get/5813/25193168.a/0_4a873_58b6a371_M.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;При большом желании приложение можно дополнительно настроить с помощью CSS и JavaScript.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Итог: &lt;/strong&gt;если вы хотите быстро и без лишних затрат сделать приложение для Windows Phone, &lt;a href="http://appmakr.com"&gt;appmakr&lt;/a&gt; --&amp;nbsp;сделает для вас решение этой задачи очень простым! Все что вам нужно, это браузер, источники данных и, возможно, несколько картинок.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Ссылка для загрузки: &lt;a href="http://www.windowsphone.com/ru-RU/apps/4d7fd0e6-81f0-4cff-b8b0-b001bdeed765"&gt;http://www.windowsphone.com/ru-RU/apps/4d7fd0e6-81f0-4cff-b8b0-b001bdeed765&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10217208" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=WL3BXSeMO0M:wtob7mI2AqM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=WL3BXSeMO0M:wtob7mI2AqM:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=WL3BXSeMO0M:wtob7mI2AqM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?i=WL3BXSeMO0M:wtob7mI2AqM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=WL3BXSeMO0M:wtob7mI2AqM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/kichinsky/~4/WL3BXSeMO0M" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Windows+Phone/">Windows Phone</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/appmakr/">appmakr</category></item><item><title>Если вы хотите больше узнать про Metro-дизайн</title><link>http://blogs.msdn.com/b/kichinsky/archive/2011/09/22/metro.aspx</link><pubDate>Thu, 22 Sep 2011 15:14:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10215355</guid><dc:creator>Константин Кичинский</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/kichinsky/rsscomments.aspx?WeblogPostID=10215355</wfw:commentRss><comments>http://blogs.msdn.com/b/kichinsky/archive/2011/09/22/metro.aspx#comments</comments><description>&lt;p&gt;На прошедшей &lt;a title="Build" href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx/buildwindows.com/"&gt;конференции Build&lt;/a&gt; было объявлено много нового и чрезвычайно интерсного. Записи сессий уже &lt;a title="Build Sessions" href="http://channel9.msdn.com/Events/BUILD"&gt;доступны для просмотра на Channel 9&lt;/a&gt;. Если же вы интересуетесь дизайном и хотите лучше понимать концепцию Metro, очень рекомендую вот эту сессию с первого дня конференции:&lt;/p&gt;
&lt;h2&gt;&lt;a title="8 traits of great Metro style apps" href="http://channel9.msdn.com/events/BUILD/BUILD2011/BPS-1004"&gt;8 traits of great Metro style apps&lt;/a&gt;&amp;nbsp;//by Jensen Harris&lt;/h2&gt;
&lt;p&gt;&lt;video poster="http://media.ch9.ms/build/2011/thumbs/BigPicture-1_LG.jpg" controls="controls" width="600" height="340"&gt;&lt;source src="http://video.ch9.ms/build/2011/mp4/BigPicture-1.mp4" /&gt;&lt;object data="data:application/x-silverlight-2," width="600" type="application/x-silverlight-2" height="340"&gt;&lt;param name="minRuntimeVersion" value="4.0.50401.0" /&gt;&lt;param name="source" value="http://channel9.msdn.com/scripts/Channel9.xap?v=1.8" /&gt;&lt;param name="initParams" value="mediaurl=http://video.ch9.ms/build/2011/wmv/BigPicture-1.wmv,thumbnail=http://media.ch9.ms/build/2011/thumbs/BigPicture-1_LG.jpg,deliverymethod=progressivedownload,autoplay=false,entryid=d36ab3f8f0534d0b9e3b9f5d00bc5d12" /&gt;&lt;/object&gt;&lt;/video&gt;&lt;/p&gt;
&lt;p&gt;Также обратите внимание на доклад &lt;a title="&amp;quot;Windows Phone user experience design&amp;quot; от Bryan Agnetta" href="http://channel9.msdn.com/Events/BUILD/BUILD2011/APP-832T"&gt;"Windows Phone user experience design" от Bryan Agnetta&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10215355" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=NgubwoEO2Rc:ZHKFzYG4mAk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=NgubwoEO2Rc:ZHKFzYG4mAk:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=NgubwoEO2Rc:ZHKFzYG4mAk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?i=NgubwoEO2Rc:ZHKFzYG4mAk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/kichinsky?a=NgubwoEO2Rc:ZHKFzYG4mAk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/kichinsky?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/kichinsky/~4/NgubwoEO2Rc" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Design/">Design</category><category domain="http://blogs.msdn.com/b/kichinsky/archive/tags/Metro/">Metro</category></item></channel></rss>

